![]()
Vad är SpeXML? |
Varför SpeXML? |
Hur fungerar SpeXML? |
Hur skriver man Vad är SpeXML?SpeXML (SpeX Markup Language) är ett XML-baserat markup language för att skriva manus. XML (eXtensible Markup Language) är en standard för språk av den här typen och den försäkrar att språken blir entydiga och går att parsa enkelt. XML är i sin tur baserat på gamla goa SGML (för alla er som läst Text&Bild borde det ringa en klocka nu).SpeXML är såsom XML-språk helt presentationsoberoende och det är endast strukturen man beskriver när man skriver i SpeXML, alltså inte hur det skall se ut. Presentationen sköts sedan med hjälp av olika formatmallar beskrivna i något som kallas för XSL (eXtensible Style Language). Formatmallarna skrivs bara en gång och de gäller sedan för alla upptänkliga filer skrivna i det aktuella språket. Idag finns det formatmallar för konvertering av SpeXML till HTML och till TeX. Varför SpeXML?Från början skrevs alla manus i Microsoft Word och egentligen krävs väl ingen förklaring varför inte det gick så bra, men här kommer ändå en: På grund av alla olika versioner av dyngan och alla plattformar det går att köra på, var vi försäkrade om att få något som inte riktigt fungerade i slutändan. Det hände med jämna mellanrum att någon sparade manus i senaste Word-formatet som han eller hon hade fått på jobbet och då kunde helt plötsligt inte vi vanliga dödliga läsa det längre. Stundtals var det också någon som råkade kopiera filerna i Unix-miljö och då försvann hälften av informationen eftersom Unix sällan klarar av Mac-filer. Summa summarum behövde vi något nytt.I och med Hermans Historia så började vi skriva manus i HTML i stället, och även om betydligt fler har möjlighet att läsa och skriva HTML oavsett vilka program man använder så fungerar det nu om möjligt ännu sämre. En del sitter och skriver omsorgsfullt i sin texteditor för att få lättläst kod, medan nästa person för att slippa alla formatkoder och annat skräp kickar igång en WYSIWYG-editor. Koden blir därefter helt oläslig och som för att strö salt i såren har några av oss använt vår gamla trotjänare Word som WYSIWYG-editor, bara för att upptäcka att repliker försvunnit eller förökat sig helt på egen hand. Kort sagt, vi behövde återigen något bättre. Med SpeXML så är manus beskrivet enbart i termer av struktur och helt oberoende av presentationen (till skillnad från HTML). Strukturen, med alla repliker och scenbeskrivningar, kan sedan enkelt konverteras med formatmallar till i princip vad som helst. I dagsläget finns konvertering till HTML och TeX, men om behovet finns går det lätt att utöka med flera format. Information och presentation är alltså skilda från varandra; informationen kan skrivas och läsas lätt av alla, medan presentationen fixas automatiskt. Inte illa! Hur fungerar SpeXML?Det börjar med att man som manusskribent skriver en .spexml-fil. Den innehåller manus på ett presentationsoberoende format som lätt kan presenteras på flera olika sätt utan att den för den sakens skull behöver ändras. .spexml-filen i sig är en vanlig textfil och kan som sådan skrivas med vilken texteditor som helst. När den är färdigskriven så konverterar man den till HTML eller till TeX med kommandona spexml2html respektive spexml2tex. Kommandona är shellscript under Unix och körs alltså vid kommandoprompten. Syntaxen är som följer:datan> spexml2html [indata] -o [utdata] Om vi just har skrivit akt 3 i SpeXML och vill fixa en HTML-representation av den skriver vi alltså: datan> spexml2html akt3.spexml -o akt3.html
Svårare än så är det inte! spexml2tex fungerar precis likadant,
fast utdata blir en TeX-fil istället. Det är viktigt att poängtera att
.spexml-filen alltid är mastern som man säger i branschen. Det är
alltså den som man gör alla ändringar i och underhåller. HTML- eller
TeX-representationer konverterar man bara fram vid behov. I framtiden
kommer också vanliga webbrowsers att stödja XML/XSL vilket innebär att man
inte behöver konvertera till HTML som vi gör idag, utan den processen görs
automatiskt bara browsern kan komma åt formatmallen.
Förhoppningsvis är exempelfilerna tämligen självförklarande, men det finns också en komplett lista över alla tagar i SpeXML och hur de skall användas. Listan innehåller också de specialtecken som finns i SpeXML.
Observera att eftersom &, < samt > är
reserverade tecken i XML så får du inte använda dem när du skriver din text
i SpeXML. Du skall naturligtvis ha < och > i dina
tagar, men inte i den löpande texten för då kommer konverteringen att
misslyckas. När du skriver i SpeXML så spelar indenteringen ingen som helst
roll, men tänk på att de blir enklare för nästa person att skriva in nya
saker om du linjerar din kod prydligt.
Frågor och synpunkterOm det skulle vara något så skicka en rad per mail. Jag har inte gått in på hur SpeXML är implementerat och det helt medvetet eftersom gemene manusskribent inte behöver veta och förmodligen inte heller är intresserad. Om du ändå undrar något så maila och fråga, eller ännu hellre kom på nästa skrivarmöte och fråga där.Lycka till med SpeXML! / Napoleon <d94-pax@nada.kth.se>
SpeXML? | Vad finns det för intressanta SpexML-saker? | Frågor och synpunkter
|