SlideShare a Scribd company logo
1 of 10
Download to read offline
WORD ALS XML-AUTEURSOMGEVING
                     "THE INSIDE STORY"

                     door Geert Josten en Peter Kester,
                     GeertJosten@daidalos.n1 Peter.Kester@daidalos.nl

                     "Is Microsoft Word geschikt als XML/SGML-auteursomgeving?" Deze vraag is door onze klanten
                     de afgelopen jaren vaak aan ons gesteld, maar ze Iaat zich niet zo eenvoudig beantwoorden.
                     Waarom uberhaupt voor Word kiezen? Hoe moet het deel uitmaken van de werkwijze en de
                     workflow? In hoeverre moet de auteur van ondersteunende functionaliteit voorzien worden?
                     Etc. etc. Elk van deze vragen belicht een ander aspect van de oorspronkelijke vraag.


                     Dit artikel probeert inzicht te geven in een aantal van    specialisten zijn. In veel gevallen is men zelfs nauwelijks
                     deze aspecten, baserend op de binnen Daidalos opgeda-      bekend met SGML of XML. Softwarepaldketten als Word
                     ne ervaring. Met deze informatie moet het naar onze        zijn algemeen bekend en beschikbaar en deze applica-
                     mening mogelijk zijn om de bovenstaande vraag voor         ties kennen een lage drempel, zeker vergeleken met de
                     jezelf te beantwoorden, maar ook om een idee te krijgen    meeste bekende volwaardige SGML/XML-editors. Door de
                     welke vorm de auteurstool moet hebben. Tevens wordt        informatie uit de XML/SGML-documenten op een speci-
                     aandacht besteed aan Microsoft Word 2003, waarop vele      fieke manier te presenteren in Word, is het voor auteurs
                     ogen verwachtingsvol gericht zijn. Microsoft claimt dat    mogelijk deze informatie te bewerken, zonder dat ze
                     het ingebouwde XML-ondersteuning biedt. Is dit inder-      daar feitelijk XML- of SGML-kennis voor nodig hebben.
                     daad zo en biedt dit nieuwe perspectieven in relatie tot   Hiermee wordt het mogelijk de bewerking door auteurs
                     de bovengestelde vraag?                                    aan te sluiten op geautomatiseerde workflow-systemen.
                                                                                De brede beschikbaarheid en de algemene bekendheid
                     Achtergrond                                                van Word en het feit dat de meeste auteurs al in een der-
                                                                                gelijk pakket werken, is voor de meeste klanten de door-
                     Bij Daidalos is op diverse manieren ervaring opgedaan      slag om in ieder geval een poging te wagen, het bewer-
                     met het bewerken van SGML en XML via Microsoft Word.       ken van XML/SGML met Word te proberen.
                     Dit omvat verschillende conversietrajecten van en naar
                     RTF alsmede sjablonen en plugins voor Word. De ont-        Implicaties gebruik Word
                     wikkelingen van Microsoft op het gebied van XML-func-
                     tionaliteit worden hiervoor nauwlettend in de gaten        De keuze om Word als XML auteursomgeving te gebrui-
                     gehouden.                                                  ken heeft enige implicaties. Word moet geschikt
                                                                                gemaakt worden om de activiteiten die de auteurs die-
                     Waarom Word?                                               nen te verrichten mogelijk te maken. Daarvoor is de vol-
                                                                                gende functionaliteit van belang:
                     Indien iemand vraagt of Word zonder meer geschikt is       n inlezen en wegschrijven van XML/SGML,
                     als SGML/XML editor, is het meest voor de hand liggende    n auteursondersteunende functionaliteit.
                     antwoord: "Nee". In ieder geval voor de versies ouder
                     dan 2003. Word is een opmaakgericht pakket; What you       Deze punten worden hieronder toegelicht.
                     see is what you (expect to) get. Een auteur wordt niet
                     gedwongen om een bepaalde volgorde of structuur te         Inlezen en wegschrijven van XMLISGML
                     hanteren en kan naar believen stijlen en opmaak toevoe-
                     gen, wijzigen of verwijderen. Puur het feit dat Word       Om XML of SGML te kunnen bewerken met Microsoft
                     Been SGML of XML kan inlezen is voldoende om de stel-      Word, moet het ingelezen kunnen worden. Hiervoor zijn
                     ling te staven, versie 2003 buiten beschouwing gelaten.    twee mogelijkheden:
                     Is Word dan helemaal niet geschikt om SGML/XML te          n rechtstreeks (via Word-API en Worddocument objectmo-
                     bewerken? Nee, dat ook weer niet. De bovengenoemde            del),
                     opmerkingen druisen echter sterk in tegen de ideeen        n indirect (via tijdelijk bestand met Word-compatible
                     achter SGML en XML. XML en SGML zijn juist bedoeld           bestandsformaat).
                     om content te abstraheren van opmaak. Dan is het dus
                     niet bepaald voor de hand liggend om in een pakket als     Het is mogelijk om XML of SGML rechtstreeks in te
                     Word SGML of XML te bewerken. Bovendien is er altijd       lezen. Met Word 2003 is dat (voor XML) eenvoudig, maar
                     een vertaling van SGML/XML naar een voor Word lees-        dit pakket is duur en zwaarlijvig (dit komt later nog aan
                     baar formaat nodig.                                        de orde). Bij oudere versies van Word moet daarvoor zelf

       PAG
        4
             1)10,   Daar staat tegenover dat veel auteurs geen SGML/XML-       functionaliteit uitgewerkt worden. Dat legt nogal wat

<!ELEMENT
JAARGANG 10 • NR 2
     1--I
beperkingen op, aangezien je athankelijk bent van de         een XML-versie van het document bijgewerkt moet wor-
functionaliteit die Microsoft je biedt om het                den bij iedere muisklik of toetsaanslag van de auteur.
Worddocument-objectmodel (de programmeerinterface            Het is ook mogelijk om een handmatig te starten functie
die Microsoft biedt) te bewerken, wat bij de oudere ver-     beschikbaar te stellen die de validiteit van het document
sies van Word erg beperkt is.                                op verschillende aspecten controleert. Indien technisch
Daarom is de meest gebruikelijke methode nog altijd          mogelijk, moet in ieder geval een validatie op basis van
om het eerst om te zetten naar een bestandsformaat dat       het SGML/XML-eindresultaat tot de mogelijkheden beho-
Word kan inlezen en wegschrijven. En daarvoor zijn           ren. Verder kan een controle op bijvoorbeeld stijlvolgor-
slechts een beperkt aantal alternatieven beschikbaar,        de of correct gebruik van tabellen en figuren beschik-
waarvan feitelijk alleen HTML en RTF interessant zijn.       baar gesteld worden.

De meeste andere formaten (onder andere Word en              Omdat Word niet specifiek bedoeld is om als SGML/XML-
WordPerfect) zijn binair en op speciale wijze gecodeerd.     auteursomgeving te dienen, zijn vaak speciale of bewer-
Dit maakt de technische verwerking onnodig ingewik-          kelijke handelingen vereist om bepaalde structuren in te
keld indien je de vertaling naar een ander formaat bui-      voegen. Denk daarbij aan het invoegen van afbeeldin-
ten Word om wilt realiseren. De overige tekstuele forma-     gen, tabellen, kruisverwijzingen of veel voorkomende
ten (onder andere DOS-tekst, eventueel met beperkte          stramienen om uit te werken. Daarom zijn naast contro-
opmaak) bevatten te weinig structurele en opmaakgere-        lefuncties ook bewerk- en invoegfuncties wenselijk. Een
lateerde informatie.                                         controlefunctie kan de auteur begeleiden bij het bewer-
HTML en RTF zijn beide tekstueel en bevatten beide in        ken door te waarschuwen voor onjuiste werkwijzen,
redelijke mate opmaak en structuur informatie.               maar minstens zo handig zijn functies die automatisch
Voldoende om daarmee bewerking van SGML/XML met              dergelijke structuren op de juiste wijze invoegen. Deze
Word mogelijk te maken. HTML is wat eenvoudiger qua          functies zijn betrekkelijk eenvoudig uit te werken en
opzet, RTF biedt meer mogelijkheden om informatie uit        worden hoog gewaardeerd.
te wisselen.
Bij Daidalos is in de meeste gevallen gekozen voor RTF       Integratie met Word
waartoe het verdere verhaal zich dan ook beperkt.
Problemen rond het werken met RTF komen later in dit         Zoals hierboven uitgelegd, is inlezen en wegschrijven
verhaal ter sprake. Microsoft Word 2003 komt afzonder-       van XML/SGML niet zonder meer mogelijk. Daarvoor
lijk nog ter sprake.                                         moeten conversies uitgevoerd worden van XML/SGML
                                                             naar bijvoorbeeld RTF en vice versa. Men kan zich de
Auteursondersteunende functionaliteit                        vraag stellen of de conversie vanuit Word gestuurd moet
                                                             kunnen worden (geintegreerde conversie) of dat deze
Het converteren van XML of SGML naar RTF heeft als           buiten Word om plaats moet vinden.
effect dat de hierarchische structuur (grotendeels) verlo-
ren gaat. Anders gezegd, de hierarchische structuur          Kort gezegd kan men spreken van vier gradaties waarin
wordt veelal vertaald naar een voor de structuur ken-        integratie met Word kan worden doorgevoerd:
merkende (lineaire) volgorde van opmaakprofielen. Een        n geen integratie,
onjuiste volgorde heeft bij terugvertaling een invalide      n gescheiden conversie en bewerking,
structuur tot gevolg.                                        n geintegreerde conversie,
Dit heeft zijn weerslag in het bewerken van de structuur     n toekomst: geen conversie?
in Word. Van de auteur zal gevraagd worden op een spe-
cifieke manier zijn document van 'impliciete' structuur      Voor auteursondersteunende functionaliteit is deze
te voorzien, door onder andere specifieke stijlen in de      vraag uiteraard niet aan de orde, aangezien deze altijd
juiste volgorde te hanteren. Het is zinvol om de auteur      geIntegreerd moet zijn met Word. Maar het vraagstuk,
daarbij te ondersteunen middels functies voor automati-      afzonderlijk of geintegreerde conversie, heeft wel dege-
sche controle op correctheid en voor het wijzigen of         lijk zijn weerslag op de mogelijkheden met betrekking
invoegen van ingewikkelde structuren.                        tot deze functionaliteit. Dit hangt samen met de archi-
                                                             tectuur van de auteurstool.
De automatische controle kan een continue controle           De verschillende gradaties worden hieronder nader
zijn, die bij iedere bewerking van de auteur controleert     besproken.
of het resultaat nog klopt. Dit is de manier waarop de
meeste XML editors te werk gaan. Zij verbieden daarbij       Geen integratie
vaak bewerkingen die een invalide situatie kunnen ver-
oorzaken. Dit kan ook een mogelijkheid zijn in Word als      Door niet met Word te integreren wordt het eenvoudig-
auteurstool, maar het dwingt de auteur daarbij heel          ste systeem gerealiseerd. Dit heeft belangrijke voordelen.
sterk bewerkingen in een specifieke volgorde uit te voe-     Licentie-, installatie- en updateperikelen zijn aan
ren om te zorgen dat de `structuur' te allen tijde valide    auteurszijde niet aan de orde en zij kunnen in grote lij-
is. Dit zal snel als onprettig ervaren worden als de         nen doorgaan met de gebruikelijke werkwijze. Het geeft
auteur daardoor gedwongen is of te wijken van zijn           ook veel vrijheden ten aanzien van de integratie van de
gebruikelijke werkwijze. Bovendien kan dit veel van het      conversies in de workflow aan de niet-auteurszijde.
systeem eisen, vooral indien hiervoor op de achtergrond      Vooral bij grote en wisselende groepen (freelance)
                                                                                                                                 PAG
                                                                                                                                  5
                                                                                                                          <!ELEMENT
                                                                                                                          JAARGANG 10 • NR 2
                                                                                                                               I-1
auteurs kan dit van doorslaggevend belang zijn. Fen           lige kwestie zijn als er geen formele installatie is uitge-
                       aangepaste auteursinstructie moet afdekken dat een            werkt van dergelijke sjablonen en deze sjablonen als
                       auteur om kan gaan met de 'impliciete' structuur in de        losse bestanden rondgestuurd worden.
                       documenten. Ook voor auteurs die om de een of andere          Ook voor deze variant geldt dat het geconverteerde XML
                       reden niet over willen stappen op een volwaardige             of SGML door de auteur geopend en bewerkt wordt in
                       XML/SGML-editor is dit een optie.                             Word. Dit document in tussenformaat, oftewel RTF, kan
                                                                                     net als bij de vorige variant ergens klaargezet zijn voor
                                                                                     bewerking of het wordt toegezonden per e-mail.

                                                                                     Het belangrijkste nadeel aan deze aanpak is dat slechts
                                                                                     beperkte ondersteunende functionaliteit mogelijk is.
                                                                          Bewerken
                                                                                     Deze kan zich namelijk uitsluitend op het tussenfor-
                                                                           in Word   maat en op de binnen Word beschikbare mogelijkheden
                                                                                     richten. Bijvoorbeeld een functie die referenties in de
                                                                                     lopende tekst automatisch herkent en markeert, kan dat
                                                                                     alleen uitgevoerd worden conform de auteursinstructies
                                                                                     voor het tussenformaat. Deze functionaliteit is dus
                                                                                     direct afhankelijk van de wijze waarop structuur gere-
                       Figuur 1: Geen integratie van conversie i n Word              presenteerd wordt in het tussenformaat. Met geinte-
                                                                                     greerde conversie is het mogelijk dit op de XML/SGML
                       Deze aanpak heeft echter als belangrijk nadeel, dat geen      structuur te doen en dat opnieuw naar RTF te vertalen,
                       auteursondersteunende functionaliteit geboden kan             zonder dat de auteur bier veel van merkt.
                       worden. Deze moet namelijk met Word geintegreerd
                       worden. Deze variant omvat dan ook uitsluitend een
                       conversie van en naar XML/SGML, waarbij het geconver-
                       teerde XML/SGML in alle vrijheid geopend en bewerkt
                       kan worden in Word of desgewenst in een ander pakket
                       dat RTF ondersteunt. Let wel: ook macrofuncties in een                                  Tussen-
                       Wordsjabloon zijn feitelijk een vorm van integratie met          Opslag
                                                                                                               formaat
                       Word.
                       Dit heeft niet alleen effect op de auteur die ondersteu-
                       nende functionaliteit moet ontberen, maar ook een
                       geautomatiseerde terugconversie kan hierdoor voor pro-
                       blemen komen te staan. Omdat de auteur niet gestuurd
                       wordt in zijn werk, kan deze gemakkelijk en ongemerkt         Figuur 2: Geen conversie maar wel bewerkfuncties in Word
                       louten . maken. De juistheid van de volgorde van stijlen
                       is voor een mens niet altijd even gemakkelijk te beoorde-     MCV2 is het praktijkvoorbeeld dat bier het meest bij
                       len, maar is voor een geautomatiseerde terugconversie         aansluit. Dit voorbeeld komt verderop aan de orde.
                       van cruciaal belang. Handmatige interventie kan al snel
                       noodzakelijk zijn.                                            Geintegreerde conversie
                       Kortom, in deze variant wordt de auteur veel bewegings-
                       vrijheid gegeven, maar wellicht teveel om de workflow         Als nog een stap verder gegaan wordt, door de conversie
                       goed te automatiseren.                                        met Word te integreren, komt deze niet alleen binnen
                                                                                     handbereik van de auteur, maar is het ook mogelijk om
                       Het praktijkvoorbeeld MCV2 zonder het gebruik van             auteursondersteunende functionaliteit aan te bieden die
                       Word-sjablonen is hiervan een voorbeeld. Het praktijk-        zich richt op de echte XML/SGML-structuur.
                       voorbeeld WordShadow, indien een redacteur                    Denk aan iets eenvoudigs als de XML/SGML-structuur
                       WordShadow als conversietool gebruikt en het RTF door-        weergegeven in een boomweergave, vergelijkbaar aan de
                       stuurt naar een auteur, is hiervan een ander voorbeeld.       Documentstructuur, maar dan gebaseerd op de struc-
                       Deze voorbeelden komen onder het kopje 'De Praktijk'          tuur die we kennen van XML/SGML.
                       uitgebreid aan de orde.                                       Het is mogelijk om een controlefunctie toe te voegen die
                                                                                     zich niet of niet alleen richt op stijlvolgorde, maar ook
                       Gescheiden conversie en bewerking                             op de XML/SGML-structuur (na bewerking en conversie).
                                                                                     Hierdoor kan aan de gebruiker (auteur of redacteur)
                       Het is echter mogelijk beperkte auteursondersteunende         direct feedback gegeven worden over onjuistheden in
                       functionaliteit ter beschilddng te stellen, bijvoorbeeld in   het document, of kan de gebruiker aan de hand van de
                       de vorm van macrofuncties in een Wordsjabloon of van          XML/SGML-structuur zelf beoordelen of de huidige sta-
                       een stijlvolgorde-controlefunctie. Dit houdt de licentie-     tus van het document het gewenste resultaat in de
                       kosten en tijd die besteed moet worden aan installaties       XML/SGML-structuur zal opleveren.
                       beperkt. Dergelijke sjablonen zijn bovendien veelal zo te     Ook functies om bewerkingen op de XML/SGML-struc-
                       maken dat ze compatibel zijn met meerdere versies van         tuur uit te voeren of functies die een preview van het
(1
4    PAG
       6
                       Word. Het distribueren van updates kan echter een nete-       document in de uiteindelijke layout tonen, behoren nu

<!EL€MENT
JAARGANG 10   • NR 2
tot de mogelijkheden. Dit zijn dus alle zeer interessante    voor de auteurs te verbergen. Nu kunnen ook met deze
voordelen, hoewel wellicht niet alle interessant voor een    volwaardige editors dergelijke coderingen ofwel markup
auteur, maar misschien eerder voor een redacteur.            verborgen en de informatie aantrekkelijk gepresenteerd
                                                             worden, maar vergeet dan niet dat deze applicaties rela-
Deze functionaliteit kan in een ActiveX DLL (plugin)         tief zwaar zijn. Er moet veelal geconfigureerd worden en
gevangen en via een Word-sjabloon (met bijvoorbeeld          ze brengen vaak hoge licentiekosten met zich mee, voor-
een knoppenbalk) toegankelijk gemaakt worden. Het            al als deze breed uitgerold moeten worden onder een
belangrijkste nadeel is dat deze variant een degelijke       grote hoeveelheid auteurs en redacteuren. Verder is de
installatie vereist en mogelijk licentiekosten met zich      werkwijze principieel anders. In plaats van op een
meebrengt. Updates, ook van de conversie zelf, moeten        opmaakgericht document te werken, werkt men in feite
expliciet naar alle gebruikers van de auteurstool uitge-     op een hierarchische structuur. En ook al ziet de gebrui-
rold worden. Bovendien wordt de conversie door de            ker dat niet direct, hij zal dat wel merken aan de manier
gebruiker van de auteurstool gestuurd en is dus niet         waarop hij bewerkingen mag doorvoeren.
zonder meer te integreren in een geautomatiseerde
workflow.                                                    Komt dan nu eindelijk Word 2003 ter sprake? Ja, maar
                                                             voorlopig nog slechts kort. Met Word 2003 kunnen XML-
                                                             bestanden (geen SGML!), al dan niet met een eigen DTD
                                                Preview      (feitelijk Schema), geimporteerd, bewerkt en weer opge-
                                                             slagen worden. Het biedt daarnaast alle reeds van eerde-
                                                             re versies van Word bekende functionaliteiten om de
                                                             daarin aanwezige informatie te voorzien van opmaak.
                          Bewerken             Structuur-    Ook zijn enkele nieuwe mogelijkheden toegevoegd om
   Opslag                                                    bijvoorbeeld dynamisch informatie te tonen. Dit sluit
                          in Word              weergave
                                                             dus uitstekend aan bij ons geschetste ideaal, maar is dit
                                                             ideaal wel zo ideaal als het lijkt?
                                                Tussen-      Het punt is namelijk dat als het document waar een
                                                formaat
                                                             auteur aan werkt in feite het XML-document is, dan zal
                                                             dit, net als in iedere XMLISGML-editor, hoe dan ook
Figuur 3: Geintegreerde conversie in Word                    merkbaar zijn voor de auteur. Veel bewerkfuncties zul-
                                                             len een XML-achtige insteek hebben. Denk bijvoorbeeld
Een interessante mogelijkheid is om bijvoorbeeld een         aan functies als het bewerken van attributen. Ook zoiets
redactie (`front-office') uit te rusten met een dergelijke   als een selectie maken in het document kan niet langer
applicatie. Zij converteren dan de te bewerken documen-      willekeurig. Deze worden automatisch aangepast om
ten en sturen die (als RTF of Word-doc) naar de relevante    altijd stukken zogeheten well formed XML te omvatten.
auteurs. De auteurs werken in een reguliere Word-versie      Nu kunnen in Word 2003 beide tactieken gehanteerd
of vergelijkbare applicatie en sturen het bewerkte docu-     worden: zowel een opmaakgericht document bewerken,
ment terug. De front-office controleert het werk met         of een hierarchisch (XML) document. Bij de tweede tac-
behulp van de controlefuncties en converteert de docu-       tiek gebruik je Word echter als een ordinaire XML-edi-
menten weer naar XML/SGML. Dit voorkomt grootschali-         tor, hetgeen nu juist niet de bedoeling is. Bij de eerste
ge installaties en hoge licentiekosten en maakt een          tactiek zul je toch weer het een en ander moeten pro-
gecontroleerde verbinding tussen auteurs en workflow         grammeren.
mogelijk.
                                                             We zullen later in dit artikel nog uitgebreid terugkomen
WordShadow is het praktijkvoorbeeld dat hier het meest       op het werken met Microsoft Word 2003.
bij aansluit. Dit voorbeeld komt nog aan de orde.
                                                             Conversieperikelen
Toekomst: geen conversie?
                                                             Down-conversie (conversie van gestructureerd, lees XML of
Het ideaal lijkt dan uiteraard de situatie waarin conver-    SGML, naar `ongestructureerd', lees niet-XML)SGML)
sie niet nodig is en XML/SGML rechtstreeks in te lezen is,   betekent kwaliteitsverlies. Een conversie van XML/SGML
zonder dat daar functionaliteit voor geschreven hoeft te     naar RTF is te vergelijken met een conversie van een
worden. Ook de aanwezigheid van auteursondersteunen-         BMP-afbeelding naar een JPG-afbeelding. Een deel van de
de functies als generieke bewerkfuncties en de controle-     details gaat verloren. Dit moet zo goed mogelijk onder-
functie op de XML/SGML-structuur, zonder dat daar            vangen worden, want het is in deze situatie de bedoe-
werk voor verricht hoeft te worden, hoort uiteraard bij      ling om na de bewerking door de auteur alle oorspron-
dit ideaal.                                                  kelijke details, voor zover niet gewijzigd, te herstellen.
                                                             Dit wordt ook wel round-trippen genoemd.
De tools die hier geheel aan voldoen, zijn de volwaardige    Zoals al eerder uitgelegd, biedt RTF relatief veel moge-
XML/SGML-editors. Maar daar waren de auteurs nu juist        lijkheden om informatie te presenteren. Het heeft ech-
niet erg bekend mee (zie inleiding). Het is dus tevens het   ter ook zijn beperkingen, die het round-trippen gecompli-
                                                                                                                                       4
doel om in zo'n auteurstool de XML/SGML-coderingen
                                                                                                                                 PAG
                                                                                                                                  7
                                                                                                                                       />
                                                                                                                          <!ELEMENT
                                                                                                                          JAARGANG 10 • NR 2
ceerd maken. Deze worden in de onderstaande paragra-       op basis van de informatie uit het RTF. (Zie ook afbeel-
                     fen uit de doeken gedaan.                                  ding bij Conversieperikelen.)

                                                                                Hiervoor biedt RTF hoofdzakelijk de volgende middelen:
                                              Round-                            n paragraaf en karakterstijlen (kunnen niet genest
                                                                                   worden!),
                                                                                n paragraaf en karakteropmaak (nadruk, kleur,
                                                                                   marges, uitlijning, omkadering, etc.),
                                                                                n hyperlinks en verschillende andere typen velden,
                                                                                   waaronder gelinkte afbeeldingen,
                                                                                n verborgen tekst,
                                                                                n sectie structuur met de mogelijkheid secties te
                                                                                   beveiligen tegen bewerking,
                                                                                n tabellen en kolomindelingen,
                     Figuur 4: Round-trippen tussen SGML/XML en RTF             n opsommingen en dergelijke.

                     Nog een belangrijke beperking, die niet voor RTF speci-    In veel gevallen wordt besloten niet alle informatie te
                     fiek geldt, is de DTD-afhankelijkheid van de conversies    behouden bij de heen- en terugconversie. In een aantal
                     van en naar XML/SGML. Theoretisch moet bij iedere wij-     gevallen wordt deze informatie naderhand met de hand
                     ziging van de DTD de conversie aangepast worden of ten     en/of deels geautomatiseerd teruggeplaatst in het
                     minste opnieuw getest. Dit is vooral vervelend voor de     bewerkte document. Zie bijvoorbeeld praktijkvoorbeeld
                     oplossingen met een geintegreerde conversie, aangezien     MCV2.
                     voor deze oplossingen geldt dat de auteurstools opnieuw    Uit ervaring is gebleken dat vertaling naar stijlen en ver-
                     uitgerold moeten worden naar alle gebruikers.              der zoveel mogelijk gebruik maken van RTF-eigen
                                                                                opmaakfuncties de beste tactiek is. Verborgen
                • Complicaties gebruik RTF                                      SGML/XML-codes of attribuutgegevens ingevoegd als ver-
                                                                                borgen tekst zijn bijvoorbeeld zeer gevoelig voor onge-
                     Het gebruik van RTF biedt veel mogelijkheden voor het      wenste bewerking.
                     presenteren van informatie, maar heeft uiteraard ook       Omdat dit maar beperkte middelen biedt, heeft dit bij
                     zijn beperkingen. Het is principieel niet bedoeld om       een round-trip (een heen- en een terugconversie) bijna
                     structurele informatie te presenteren. Bijvoorbeeld spe-   altijd verarming van de structuur van de content tot
                     cifieke XML/SGML-zaken als commentaren, procesin-          gevolg.
                     structies, attributen en structurering van elementen
                     zijn niet op normale wijze weer te geven. En dat is        RTF is plat, XMLISGML is diep
                     logisch ook, want RTF is opmaakgericht. Dit toch tonen
                     zal de opmaak van het document verstoren en deze           RTF kent geen dieptestructuur. RTF bestaat uit een
                     informatie zal niet beveiligd zijn tegen ongewenste wij-   lange, lineaire lijst van alinea's, eventueel onderverdeeld
                     zigingen. Het gaat hierbij om conceptuele problemen (in    in meerdere, niet verder verdiepte secties. De diepte-
                     tegenstelling tot technische).                             structuur zoals zichtbaar in de weergave van de
                                                                                Documentstructuur in Word is gebaseerd op een stati-
                     De belangrijkste problemen zijn:                           sche niveau-indicatie die gekoppeld is aan stijlnamen.
                     n RTF is opmaakgeorienteerd,                               De feitelijke inhoud is lineair. Dit heeft twee gevolgen
                     n RTF kent geen dieptestructuur,                           voor terugconversie:
                     n RTF kent onhandige notatie voor tabellen en              n de impliciete structuur moet expliciet gemaakt
                        dergelijke,                                                 worden,
                     n RTF biedt beperkte mogelijkheden voor inline             n geen ruimte voor `onzichtbare' structuur.
                        structuur,
                     n RTF biedt beperkte mogelijkheden voor bescherming        De impliciete structuur is erg beperkend. De `diepte' van
                        tegen ongewenste bewerkingen.                           een alinea is, zoals gezegd, afgeleid van een statisch
                                                                                niveau. Elementen kunnen daarentegen in veel gevallen
                     Deze worden hieronder besproken.                           op verschillende dieptes voorkomen. Daarnaast wordt
                                                                                met stijlen over het algemeen - omdat dat natuurlijker
                     Opmaak versus round-trippen                                overkomt - uitsluitend het begin van elementen aange-
                                                                                duid, maar niet het einde. Kopstijlen geven daarbij aan
                     Alle informatie uit de bronbestanden moet opgeslagen       dat mogelijk een wisseling in diepte plaatsvindt. Deze
                     worden in het RTF-bestand om bij terugconversie her-       geven echter niet altijd aan in welke richting en aange-
                     steld te kunnen worden (het round-trippen). Deze moet      zien het einde van elementen veelal niet weergegeven
                     geprojecteerd worden op opmaakgerelateerde informa-        wordt in RTF, leidt dit al snel tot ambiguiteiten. Ook
                     tie of anders voorzien worden van tekstuele markerin-      bevatten SGML/XML-documenten veel elementen die
                     gen. RTF biedt geen andere mogelijkheden. Hierdoor         slechts andere elementen omhullen om deze op een
                     moet de codering uit de bron volledig hersteld worden      logische manier onder te verdelen. Deze elementen
                                                                                bevatten dus geen tekst en zijn derhalve niet zomaar te
       PAG



<!ELEMENT
JAARGANG 10 • NR 2
representeren in RTF. Deze zijn dus zogezegd `onzicht-       geprojecteerd kunnen worden, zijn lastig. Onderscheid
baar' in het RTF-formaat.                                    tussen allerlei verschillende typen verwijzingen of ver-
                                                             wijzingen binnen verwijzingen vereisen al trucjes om
Het is mogelijk om voor iedere keer dat een element          dit op overzichtelijke wijze aan een auteur te presente-
opent en sluit een alinea met een label en een stip in te    ren. Vaak moet een compromis gezocht worden tussen
voegen, maar dat maakt het voor de auteur niet over-         behoud van structuur en bewerkbaarheid voor auteur.
zichtelijker en het komt niet logisch over. Bovendien        Hoe complexer de DTD-structuur binnen alinea's, hoe
wordt dan van de auteur geeist dat deze ook op die           lastiger dit probleem. (Zie ook het volgende punt.)
manier te werk gaat, hetgeen een gedegen kennis van de
toegestane structurering oftewel van de DTD vereist. En      Weinig bescherming tegen ongewenste
een van de uitgangspunten is juist dat de auteurs die
kennis veelal niet hoeven te hebben.
                                                             bewerkingen
                                                             RTF biedt slechts beperkte mogelijkheden om te voorko-
Om de diepte die in zogezegd alle bronbestanden aanwe-       men dat een auteur ongewenste bewerkingen uitvoert.
zig is, te herstellen en zo goed mogelijk te anticiperen     RTF kent de mogelijkheid secties te beveiligen, zodat een
op ambigue situaties, dienen dus ingewikkelde algorit-       document als een soort invulformulier te gebruiken is,
mes uitgewerkt te worden, die vaak geheel afwijken van       maar dit is onvoldoende om te beschermen tegen onge-
de algoritmes die de vertaling naar RTF realiseren. Het      wenste wijzigingen binnen een alinea.
herstellen van de dieptestructuur is dan ook werkelijk       Als bijvoorbeeld een verwijzing gepresenteerd wordt als
een complexe opgave.                                         een hyperlink en de inhoud van de hyperlink is een spe-
Een van de meest flexibele methodes die we bij Daidalos      ciale code die niet gewijzigd mag worden, dan biedt RTF
hebben uitgewerkt, hanteert een configuratiebestand          noch Word de mogelijkheid om dit te verbieden voor die
waarin een hierarchische beschrijving van de stijlvolgor-    specifieke hyperlink.
de is opgenomen, in de vorm van een BNF-grammatica
(BNF staat voor Backus Naur Form). Daaruit is dus bijvoor-   Ook als met kleurcoderingen of andere opmaakeigen-
beeld af te leiden dat twee verschillende stijlen hierar-    schappen gewerkt wordt om de terugconversie te sturen,
chisch onder elkaar of juist naast elkaar horen. Hiermee     dan kan niet voorkomen worden, dat de auteur de
is in hoge mate mogelijk de originele structuur te herlei-   gebruikelijke Word-functionaliteit gebruikt om dit te
den. Deze aanpak wordt gebruikt in het praktijkvoor-         wijzigen. Niet zonder de Word-functionaliteit ingrijpend
beeld MCV2.                                                  te wijzigen met een'plugin.
                                                             Als verbogen codes worden opgenomen, om bijvoorbeeld
RTF tabellen onhandig gestructureerd                         attribuutinformatie te bewaren, dan kan niet voorko-
                                                             men worden dat een auteur deze, onbewust, kan verwij-
Bronbestanden bevatten vaak tabellen, gecodeerd op           deren. In ieder geval niet als deze in de lopende tekst
specifieke wijzen (denk aan standaarden als CALS). De        voorkomen.
wijze waarop tabellen uitgewerkt zijn in RTF - ingewik-
keld en onlogisch - wijkt daar hoe dan ook van af, wat       De praktijk
ingewikkelde algoritmes om dat te vertalen en te her-
stellen noodzakelijk maakt. Hetzelfde geldt voor zaken       Het bovenstaande, theoretische verhaal is voortgevloeid
als afbeeldingen, lijsten, kruisverwijzingen, voetnoten      uit de ervaringen die we in tal van projecten, waarin
en dergelijke.                                               auteursprocessen centraal stonden, hebben opgedaan.
Voor tabellen is een expliciete vertaling tussen SGML en     We lichten er twee projecten uit waarin we nagenoeg
RTF gerealiseerd. Deze probeert zoveel mogelijk eigen-       alle genoemde kenmerken en constateringen tegen zul-
schappen van een SGML-tabel over te zetten naar eigen-       len komen. Het MCV2-project als voorbeeld van een
schappen van de RTF-tabel en vice versa bij de terugver-     gescheiden conversie en bewerking. En de WordShadow
taling. Nadeel is echter dat iedere DTD een andere tabel-    implementatie als typisch voorbeeld van een geinte-
definitie kan hanteren. Voor iedere definitie moet de        greerde conversie. Beide voorbeelden hanteren met suc-
vertaling opnieuw uitgewerkt worden, eventueel deels         ces RTF als tussenformaat om bewerking van XML/SGML
gebaseerd op een bestaande vergelijkbare vertaling.          met Word mogelijk te maken.
Gelukkig valt dit in de praktijk nogal mee, aangezien        Daarna komen ook de nieuwste ontwikkelingen van
het CALS-tabelmodel populair is en de meeste andere          Microsoft op gebied van XML-ondersteuning aan de
tabelmodellen hierop lijken.                                 orde. Hiervoor wordt ingegaan op wat de (on)mogelijkhe-
                                                             den zijn met Microsoft Word 2003.
Vrijwel geen structuur binnen RTF alinea's
                                                             Het MCV2-project
In veel gevallen wordt binnen alinea's een diepe struc-
tuur toegestaan, mogelijk zelfs recursief. Denk aan voet-    Bij Kluwer is een content management systeem ontwik-
noten binnen opsommingen of citaten, die wellicht zelf       keld met een productiestraat en een workflow-systeem
ook weer in een voetnoot staan, niet vergetend dat op de     voor creatie en beheer van SGML-documenten van ver-
meeste plaatsen ook nog zaken als nadruk toegestaan          schillende uitgaven van Kluwer. Binnen het workflow-
zijn. Dit is lastig weer te geven in RTF. Vooral construc-   systeem wordt Word voor een deel van de uitgaven inge-
ties die niet op natuurlijke wijze op het RTF-formaat        zet als hulpmiddel voor de auteurs waarmee ze nieuwe
                                                                                                                                PAG
                                                                                                                                 9
                                                                                                                         <!ELEMENT
                                                                                                                         JAARGANG 10 • NR 2
content kunnen aanmaken en bestaande content kun-               In figuur 5 ziet u een vereenvoudigd schema van het
                     nen bewerken. Voor het andere deel wordt, overigens             workflow-systeem. Alle voor dit artikel niet relevante
                     ook met succes, gebruikgemaakt van een auteurstool              zaken zijn hier weggelaten. Onder het schema volgt een
                     genaamd Styler (ontwikkeld door Mavim in opdracht van           korte toelichting bij de stappen van dit bewerkproces.
                     Kluwer).                                                        De SGML-bestanden worden door een in Omnimark ont-
                     De Styler-applicatie is in feite voorbeeld van een geinte-      wikkelde tool vertaald naar RTF. Hiervoor wordt een
                     greerde conversie en biedt invoeg- en bewerkfunctiona-          zogeheten mappingbestand en een van het
                     liteit alsmede een op stijlenvolgorde gebaseerde contro-        Wordsjabloon afgeleid RTF-template uitgelezen. Het
                     lefunctie. Deze applicatie is echter niet gebaseerd op          mappingbestand beschrijft hoe elementen naar stijlen
                     Word en wordt daarom in het kader van dit artikel ver-          vertaald moeten worden, het RTF-template bevat de defi-
                     der niet besproken.                                             nities van de stijlen. Hiermee wordt volledig automa-
                                                                                     tisch een SGML-bestand naar RTF vertaald.
                     De aanpak met Wordsjablonen is gebaseerd op een                 Dit RTF is gekoppeld aan het bedoelde Wordsjabloon
                     gescheiden conversie en bewerking. Het uitgangsfor-             waarin DTD-specifieke functionaliteit is uitgewerkt. De
                     maat is SGML en als tussenformaat wordt RTF gehan-              bewerker kan het bestand openen in Word en de wijzi-
                     teerd. De auteurs zijn voorzien van een Wordsjabloon            gingen doorvoeren. Als de bewerker klaar is met zijn
                     met ondersteunende functionaliteit. Dit omvat invoeg-           taak wordt het bestand opgeslagen als RTF. Dit resultaat
                     en bewerkfuncties, alsmede een stijlvolgorde controle-          in RTF wordt door een tweede, ook in Omnimark ont-
                     functie.                                                        wikkelde tool, vertaald naar SGML.
                     Om alle informatie zo goed mogelijk te behouden bij de
                     round-trip, is een forse list van stijlen gedefinieerd. Ieder   Om er voor te zorgen dat de alineaopmaakprofielen niet
                     soort kop en ieder teksttype heeft een eigen stijl. Verder      door elkaar gebruikt worden maar de structuur van de
                     worden zaken als voetnoten, tabellen en nadruk op een           DTD volgen, is er gebruik gemaakt van een Word plugin
                     zo natuurlijk mogelijke wijze in RTF weergegeven. De            die de volgorde van de gebruikte stijlen kan controleren
                     betrokken DTD bevat echter ook vele typen verwijzingen          en aangeeft waar bepaalde delen toegevoegd mogen
                     en die worden niet vertaald. Ook kent de DTD in hoge            worden. Na bewerking kan met behulp van deze plugin,
                     mate dieptestructuur, zowel buiten als binnen alinea's.         genaamd Programmar, de impliciete structuur van het
                     Ook deze is moeilijk weer te geven in RTF. De terugverta-       Word-bestand - de volgorde waarin de verschillende ali-
                     ling is dan ook geen eenvoudige klus. Bovendien gaat            neaopmaakprofielen voorkomen - gecontroleerd wor-
                     een belangrijke hoeveelheid (meta)informatie bij verta-         den. De plugin werkt met een grammatica (BNF-notatie),
                     ling naar RTF verloren en deze moet bij de terugconver-         die afgeleid is van de structuur van de gebruikte DTD. In
                     sie hersteld worden.                                            deze grammatica is op hierarchische vastgelegd in welke




                                       Opslag                                                    RTF             Bewerken




                     Figuur 5: MCV2-Workflow in een notendop

       PAG
       10
<!ELEMENT
JAARGANG 10 • OR 2
volgorde de alineaopmaakprofielen voor mogen komen            DTD van het XML- of SGML-formaat en niet meer tegen
in het Word bestand.                                          een afgeleide definitie (vergelijk MCV2).
Door een handige aanpak bij de terugconversie kan
dezelfde grammatica gebruikt worden voor de vertaling         Met het XML/SGML-conversieresultaat binnen handbe-
van RTF naar SGML. Ook de mapping van elementen               reik is het niet moeilijk om ook deze vanuit Word voor
naar stijlen van de conversie van SGML naar RTF wordt         de gebruiker toegankelijk te maken in de vorm van een
hergebruikt. Met deze informatie is de tweede conversie-      XML/SGML-Structuurvenster, waarin bewerkingen uitge-
tool in staat de oorspronkelijke SGML-structuur van de        voerd kunnen worden. De overige functionaliteit is
bewerkte tekst in grote mate te herleiden.                    zoveel mogelijk eenvoudig en generiek gehouden en
                                                              bestaat, naast allerlei van Word geleende functies, voor-
Omdat bij vertaling van SGML naar RTF reeds structuur-        namelijk uit een zogeheten Stijlenmenu waarin de te
informatie verloren is gegaan en de conversie van RTF         gebruiken stijlen min of meer in toegestane volgorde
naar SGML geen gegarandeerd succes is, is een (semi-)         opgesomd worden.
handmatige nabewerking noodzakelijk. Met behulp van
een geavanceerde compare-tool (speciaal hiervoor ontwik-      Voor de vertaling van XML/SGML naar RTF (het importe-
keld door PlantijnCasparie) wordt op nauwkeurige wijze        ren) wordt, vergelijkbaar aan het MCV2-verhaal, gebruik-
het oorspronkelijke met het bewerkte SGML vergeleken.         gemaakt van een mappingbestand en een RTF-template.
Verloren gegane verwijzingsmarkeringen, attributen en         Qua conversies is het verhaal dan ook niet veel anders
procesinformatie worden daarbij hersteld. Dit levert een      dan bij MCV2. De gekozen techniek waarin de conversie
SGML-bestand op dat in principe terug kan in de opslag.       uit wordt gevoerd is echter geheel anders, namelijk
                                                              MetaMorphosis, een boomgeorienteerde programmeertaal
Voordelen:                                                    (met een soort van W3C DOM-objecten), waar Omnimark
n ook zonder gebruik van Wordsjabloon en plugin               juist Stream-geOrienteerd is (min of meer het W3C SAX-
   bewerken mogelijk,                                         model). Ook hierbij geldt dat informatie reeds bij verta-
n lage systeemeisen, door op RTF-gerichte ondersteu-          ling van XML/SGML naar RTF verloren gaat.
   nende functionaliteit,
n bulksgewijze conversie mogelijk.                            De vertaling van RTF naar XML/SGML (het exporteren) is
                                                              zoals reeds gezegd een ingewikkeld verhaal. De ontwik-
Nadelen:                                                      keling van de applicatie heeft niet hetzelfde niveau
n heen- en terugconversies alsmede Wordsjabloon               bereikt als de tool van de equivalente stap in MCV2. Dit
   moeten goed op elkaar afgestemd zijn,                      zorgt ervoor dat het uitwerken van de exportfunctie van
n verlies van informatie, veroorzaakt door complexiteit       WordShadow voor een nieuwe DTD relatief arbeidsinten-
   van DTD,                                                   sief is en veel kennis van de taal MetaMorphosis vereist.
n beperkte auteursondersteunende functionaliteit en           Deze applicatie is met succes ingezet in projecten waar-
   alleen stijlvolgorde controle,                             in documenten met een redelijk eenduidige en niet al te
n bewerkelijke nabehandeling om verloren informatie           diepe alineastructuur, zodat vrijwel alle oorspronkelijke
   te herstellen.                                             structuurinformatie te herleiden is uit het RTF. Dit voor-
                                                              komt dat een handmatige nabewerking noodzakelijk is.
WordShadow
                                                              Voordelen:
Nog voor aanvang van het MCV2-project is gewerkt aan          n geintegreerde conversie brengt eindresultaat binnen
een Word-plugin, uitgewerkt in Visual Basic, die het             handbereik van auteur,
mogelijk maakt om XML (of SGML) `rechtstreeks' te ope-        n ondersteunende functionaliteit kan bier op toege-
nen, bewerken en opslaan met Word, maar die de inter-            spitst warden,
face en de werking van Word hierbij zoveel mogelijk           n en daardoor zeer geschikt voor kleinschalige projec-
intact laat. Dit is dus een voorbeeld van een oplossing          ten en/of minder complexe DTD's.
met een geintegreerde conversie.
                                                              Nadelen:
De eerste implementatie ervan voerde reeds een verta-         n vereist (iets zwaardere) installatie,
ling naar RTF uit voor het inlezen, maar benutte het          n hogere systeemeisen,
objectmodel voor het vertalen naar XML/SGML. Voor de          n minder geschikt voor al te complexe DTD's, omdat
gebruikers was een validatiefunctie beschikbaar gesteld,         de beperkingen van RTF nabewerking soms noodza-
die vergelijkbaar aan de Programmar-tool stijlvolgordes          kelijk maken,
op basis van een soort grammatica (in feite uitgewerkt        n het gebruik van de taal MetaMorphosis voor de con-
als een DTD!) kon controleren.                                   versie, waarvan de ontwikkeling sinds 2002 gediscon-
In een later stadium is gekozen om ook voor de verta-            tinueerd is.
ling naar XML/SGML een route via RTF te kiezen omdat
de functionaliteit die Word biedt om het objectmodel          Microsoft Word 2003
uit te lezen te beperkt is. Alleen voor de validatiefunctie
is om performanceredenen gekozen via het objectmodel          De komst van Word 2003 brengt nieuwe mogelijkheden
te blijven werken. Het verschil is echter dat vanaf deze      met zich mee en vereenvoudigt een aantal zaken.
versie de validatie uitgevoerd wordt tegen de volledige       Word 2003 biedt ingebouwde XML-functionaliteit (SGML
                                                                                                                                  PAG
                                                                                                                                   11
                                                                                                                           <!ELEMENT
                                                                                                                           1PARGANG 10 • Nil
wordt niet ondersteund). Conversie van en naar XML is       structuur en opmaak, zoals in een Cascading Styles Sheet
                     eenvoudig, want Word 2003 kan XML rechtstreeks inle-        (alleen ondersteund in Word voor HTML-documenten).
                     zen en wegschrijven, hetgeen (onnodig) verlies van infor-
                     matie voorkomt. Ook staan op XML gerichte middelen          Toch biedt Word 2003 nog een interessante mogelijk-
                     voor het afdwingen van structuur ter beschikking. Word      heid. Alle overige oplossingen worstelen met het pro-
                     2003 kan een continue validatie tegen een of meer sche-     bleem om XML/SGML om te zetten in een voor Word
                     ma's uitvoeren (geen DTD-ondersteuning helaas) en           leesbaar formaat. Met Word 2003 is dat specifieke deel
                     eventuele fouten presenteren op een manier die verge-       niet meer nodig. Word 2003 kan zonder problemen XML
                     lijkbaar is met de manier waarop spellingsfouten weer-      inlezen en opslaan als RTF of Word-doc, al dan niet
                     gegeven worden. Een XML-structuurweergave is stan-          geconverteerd met behulp van een XSL-stylesheet. Ook
                     daard beschikbaar en ook het objectmodel, waarover in       kan een Word-document in een Microsoft XML-formaat
                     het begin kort is gesproken, is uitgebreid met toegang      weggeschreven worden: WordML. Dit kan een goed jump-
                     tot de XML-structuur (min of meer) conform W3C DOM-         start vormen voor conversie van Word-documenten naar
                     standaard. Ook is het mogelijk om op enkele momenten        XML/SGML.
                     op eenvoudige wijze een XSL-conversie te laten uitvoe-
                     ren, bijvoorbeeld bij het openen van een bestand of bij     Voordelen:
                     het opslaan.                                                n potentieel geen verlies meer van informatie,
                                                                                 n conversie naar tussenformaat overbodig,
                     Deze nieuwe features zorgen ervoor dat Word eenvoudi-       n ingebouwde XML-gerichte functionaliteit, zoals vali-
                     ger ingezet kan worden als XML-auteurstool. Conversie          datie en XML-structuurweergave,
                     naar een tussenformaat is niet nodig en het uitwerken       n eenvoudig updatemechanisme (Expansion Packs),
                     van auteursondersteunende functionaliteit is door de        n nieuwe gebruikersinterface mogelijkheden (onder
                     beschikbaarheid van het XML-document en ingebouwde             andere Smart Documents en Task Pane).
                     XML-functionaliteit eenvoudiger.
                     Daarnaast zijn nieuwe features toegevoegd zoals een         Nadelen:
                     concept genaamd Expansion Packs waarmee gebruikers          n zware systeemeisen en installatie,
                     zelf uitbreidingen voor Word kunnen installeren, active-    n hoge licentiekosten (minimaal Professional Edition
                     ren en updaten. Ook is het gebruikersinterface uitge-          vereist),
                     breid met een zogeheten Task Pane waarin ruimte gere-       n XML wordt als XML gepresenteerd en moet op XML
                     serveerd is om document- (en dus schema)-afhankelijke          manier bewerkt worden,
                     functionaliteit beschikbaar te stellen. Dit is de zogehe-   n XML-bewerkfunctionaliteit is niet volwaardig (bepaal-
                     ten Smart Document-functionaliteit. Dit maakt verfraaiing      de acties niet mogelijk),
                     van de auteurstool erg eenvoudig.                           n dynamische koppeling opmaak en XML-structuur
                                                                                    ontbreekt, hetgeen out-of-the-box gebruik als auteur-
                     Op het eerste oog lijkt hiermee het bewerken van XML           stool in de weg start.
                     werkelijk binnen handbereik van reguliere Word-gebrui-
                     kers te komen. Echter, zoals al bij het onderwerp           Conclusie
                     Integratie met Word' aan bod is gekomen, vereist XML-
                     functionaliteit enige XML-vaardigheid of -begrip van de     Word kan worden ingezet om het bewerken van
                     gebruiker. En het uitgangspunt was juist, dat auteurs       XML/SGML-informatie voor auteurs met beperkte of geen
                     deze niet hoeven te hebben. Een deel van de gebruikers      XML/SGML-kennis mogelijk te maken, zonder dat dit
                     van WordShadow gaf aan dat enige XML/SGML gerela-           aansluiting op geautomatiseerde workflow-systemen in
                     teerde informatie, zoals een structuurweergave door         de weg hoeft te staan.
                     hen gewaardeerd werd, maar dat het afbreuk doet aan         Dit betekent echter dat de XMLISGML-bestanden vertaald
                     de auteurstool als dit de reguliere werlcwijze in Word -    moeten worden naar een formaat dat Word in kan
                     namelijk het bewerken van de tekst - beinvloedt. Denk       lezen, uitgezonderd voor Word versie 2003 en eventuele
                     aan de genoemde opmerkingen over attribuutbewerking         toekomstige versies. RTF is hiervoor naar onze mening
                     en het maken van selecties.                                 het meest geschikte tussenformaat. Door ondersteunen-
                                                                                 de functionaliteit in Word in te bouwen, kan het bewer-
                     Helaas is de geboden XML-functionaliteit nog niet           ken door de auteur gestroomlijnd en aansluiting op de
                     geheel volwaardig en uitsluitend beschikbaar als een        workflow gegarandeerd worden.
                     XML-document geopend wordt en niet bij het openen
                     van een afgeleide representatie zoals een RTF-document.     Deze functionaliteit kan in meerdere gradaties geinte-
                     Daarnaast gelden zware systeemeisen voor Word 2003          greerd worden met Word:
                     en dient minimaal de Professional Edition geinstalleerd     n Geen ondersteunende functionaliteit aanbieden en
                     te worden om de volledige XML-functionaliteit ter              alleen een conversie van en naar het tussenformaat
                     beschikking te hebben. De te verwachten installed-base         hanteren is de goedkoopste oplossing. Dit vergt ech-
                     voor deze versie zal daarom sterk kleiner zijn dan de          ter veel discipline van de auteurs.
                     huidige. En ondanks alle moeite die Microsoft in de         n Dit aanvullen met een Wordsjabloon met beperkte
                     XML-ondersteuning heeft gestoken, zijn ze vergeten na          functionaliteit, is een relatief goedkope uitbreiding
                     te denken over een dynamische koppeling tussen XML-            die, athankelijk van de geboden functionaliteit, de
                                                                                    eisen aan discipline en nauwgezetheid sterk kan ver-

<!ELEMENT
JAARGANG 10 • NR 2
lagen. De geboden functionaliteit beperkt zich ech-           wat wij als een belangrijk beoordelingscriterium voor
  ter noodzakelijkerwijs tot het tussenformaat (bijvoor-        een auteurshulpmiddel beschouwen.
  beeld geen validatie tegen DTD). Beter geschikt voor          De geintegreerde oplossing is zeer geschikt voor klein-
  grote groepen en/of sterk wisselende auteurs, vanwe-          tot middelschalige inzet bij auteurs en als gebruikers-
  ge beperkte uitrol. Zie ook het praktijkvoorbeeld             vriendelijke applicatie bij de redactie. Bij grootschalige-
  MCV2.                                                         re inzet (denk aan 100 of meer gebruikers), gaan uitrol
n Integratie van de conversie in Word, maakt het                en onderhoud duidelijk een overwegende rol spelen. In
  mogelijk de auteur veel meer functionaliteit te bie-          die situaties kan geld bespaard worden door voor niet-
  den, zoals op XML/SGML gebaseerde zoek-, bewerk- en           geintegreerde oplossingen te kiezen.
  preview-functies en op DTD gebaseerde validatie.
  Brengt hogere systeemeisen en zwaardere uitrol met            Wellicht valt op dat web-applicaties geheel niet
  zich mee. Licentiekosten spelen ook een belangrijke           genoemd zijn in dit verhaal, hoewel deze vanuit licentie-
  rol. Zeer geschikt voor kleinschaligere projecten. Zie        en onderhoudsoogpunt zeer interessant zijn. Een
  het praktijkvoorbeeld WordShadow.                             belangrijk nadeel aan auteurshulpmiddelen met een
n Inzet van Word 2003, waarbij integratie niet meer             web-interface is echter, dat deze nog veel beperkender
  nodig zou zijn, valt in feite of door de zware systeem-       zijn dan het gebruik van het RTF-tussenformaat.
  eisen en de hoge licentiekosten. Out-of-the-box is het        Uitgezonderd de situatie waarin er voor gekozen wordt
  wel bruikbaar, maar niet auteursvriendelijk.                  om via het web-interface toch weer een (thin-client) XML-
                                                                editor aan te bieden. Wellicht dat in een toekomstig arti-
Het gebruik van RTF als tussenformaat brengt complica-          kel in <!ELEMENT nader op deze applicaties en de
ties met zich mee. Deze omvatten problemen met het              manier waarop ze in auteursomgevingen kunnen wor-
round-trippen van informatie, de DTD-afhankelijkheid van        den ingezet, kan worden ingegaan.
het tussenformaat en de conversie, het ontbreken van
dieptestructuur in RTF, ingewikkelde tabelnotatie in            Meer informatie
RTF, de beperkte structuur binnen alinea's en de beperk-
te mogelijkheden van bescherming tegen ongewenste               n Voor meer over het gebruik van Word processors om
bewerkingen. Op verschillende van deze punten zijn met            SGML te bewerken: http://heim.ifi.uio.norpaalso/
redelijk succes oplossingen uitgewerkt. Verarming van             artikler/styles/new-version/pap.html.
de structuur bij round - trippen is echter zo goed als onver-   n Voor een gedetailleerd overzicht van vele beschikba-
mijdelijk en de vraag is in hoeverre hierin compromis-            re auteurstools: "Onderzoeksrapport Auteurs- en
sen gemaakt kunnen worden.                                        Redactietools" te vinden op http://www.daidalos.nl/
                                                                  area.webview?area=publicaties.
Als antwoord op de vraag: "Is Microsoft Word geschikt als       n Voor meer over Microsoft Word, zie:
XML/SGML auteursomgeving?" geven wij het volgende mee.            http://www.microsoft.com/office/word/.
Met name de integratie van de conversie in een auteurs-         n Voor meer over RTF, zie: http://msdn.microsoft.com/
hulpmiddel vergroot de potentie van de auteurstool in             library/default.asp?ur1=/library/en-us/dnrtfspec/html/
hoge mate. Het gevarieerde aanbod van ondersteunende              rtfspec.asp
functionaliteit van het voorbeeld WordShadow toont dit            en ook: http://interglacial.com/rtfi.
hopelijk aan. De nadruk ligt echter op potentie, want           n Voor meer over Office 2003, zie: First Look Microsoft
niet alle auteurstools die verder op de markt te vinden           Office 2003, Katherine Murray, Microsoft Press, 2003.
zijn (al dan niet Word-gebaseerd), benutten deze poten-           (Waarschijnlijk zijn bij het verschijnen van dit artikel
tie ten voile. De meesten slechts ten dele. Dit is dan ook        recentere boeken verkrijgbaar.): http://www.micro-
                                                                  soft.com/office/VVord/prodinfo/default.mspx.


                                                                     111	Geert Josten en Peter Kester (Daidalos) staan
                                                                   bekend als conversie- en contentspecialisten. Beiden hebben
                                                                   ruime kennis en ervaring op het gebied van conversietalen
                                                                   zoals Omnimark en MetaMorphosis, als ook XML-gerela-
                                                                   teerde standaarden als XSL en de hierop gebaseerde conver-
                                                                   sieoplossingen die in dit artikel aan de orde zijn gekomen.
                                                                          sn




                                                                                                                                 <!ELEMENT
                                                                                                                                 JAARGANG 10 • NR 2

More Related Content

Similar to Word als XML-auteursomgeving (&lt;!Element j10 nr2 2004)

Pembertons gelijk
Pembertons gelijkPembertons gelijk
Pembertons gelijkDino Seelig
 
Eenvoudig ontwikkelen van web applicaties met Javascript Frameworks
Eenvoudig ontwikkelen van web applicaties met Javascript FrameworksEenvoudig ontwikkelen van web applicaties met Javascript Frameworks
Eenvoudig ontwikkelen van web applicaties met Javascript FrameworksRasin Bekkevold
 
How to use .xml and InDesign
How to use .xml and InDesignHow to use .xml and InDesign
How to use .xml and InDesignMarisca
 
Database Platformen Versus Etl Tools
Database Platformen Versus Etl ToolsDatabase Platformen Versus Etl Tools
Database Platformen Versus Etl ToolsAlexander van Helm
 
Usabilityweb magazine nr. 7
Usabilityweb magazine nr. 7Usabilityweb magazine nr. 7
Usabilityweb magazine nr. 7srprs.me
 
Congres NN Open - Johan Hiemstra
Congres NN Open - Johan HiemstraCongres NN Open - Johan Hiemstra
Congres NN Open - Johan Hiemstrannopen
 

Similar to Word als XML-auteursomgeving (&lt;!Element j10 nr2 2004) (6)

Pembertons gelijk
Pembertons gelijkPembertons gelijk
Pembertons gelijk
 
Eenvoudig ontwikkelen van web applicaties met Javascript Frameworks
Eenvoudig ontwikkelen van web applicaties met Javascript FrameworksEenvoudig ontwikkelen van web applicaties met Javascript Frameworks
Eenvoudig ontwikkelen van web applicaties met Javascript Frameworks
 
How to use .xml and InDesign
How to use .xml and InDesignHow to use .xml and InDesign
How to use .xml and InDesign
 
Database Platformen Versus Etl Tools
Database Platformen Versus Etl ToolsDatabase Platformen Versus Etl Tools
Database Platformen Versus Etl Tools
 
Usabilityweb magazine nr. 7
Usabilityweb magazine nr. 7Usabilityweb magazine nr. 7
Usabilityweb magazine nr. 7
 
Congres NN Open - Johan Hiemstra
Congres NN Open - Johan HiemstraCongres NN Open - Johan Hiemstra
Congres NN Open - Johan Hiemstra
 

Word als XML-auteursomgeving (&lt;!Element j10 nr2 2004)

  • 1. WORD ALS XML-AUTEURSOMGEVING "THE INSIDE STORY" door Geert Josten en Peter Kester, GeertJosten@daidalos.n1 Peter.Kester@daidalos.nl "Is Microsoft Word geschikt als XML/SGML-auteursomgeving?" Deze vraag is door onze klanten de afgelopen jaren vaak aan ons gesteld, maar ze Iaat zich niet zo eenvoudig beantwoorden. Waarom uberhaupt voor Word kiezen? Hoe moet het deel uitmaken van de werkwijze en de workflow? In hoeverre moet de auteur van ondersteunende functionaliteit voorzien worden? Etc. etc. Elk van deze vragen belicht een ander aspect van de oorspronkelijke vraag. Dit artikel probeert inzicht te geven in een aantal van specialisten zijn. In veel gevallen is men zelfs nauwelijks deze aspecten, baserend op de binnen Daidalos opgeda- bekend met SGML of XML. Softwarepaldketten als Word ne ervaring. Met deze informatie moet het naar onze zijn algemeen bekend en beschikbaar en deze applica- mening mogelijk zijn om de bovenstaande vraag voor ties kennen een lage drempel, zeker vergeleken met de jezelf te beantwoorden, maar ook om een idee te krijgen meeste bekende volwaardige SGML/XML-editors. Door de welke vorm de auteurstool moet hebben. Tevens wordt informatie uit de XML/SGML-documenten op een speci- aandacht besteed aan Microsoft Word 2003, waarop vele fieke manier te presenteren in Word, is het voor auteurs ogen verwachtingsvol gericht zijn. Microsoft claimt dat mogelijk deze informatie te bewerken, zonder dat ze het ingebouwde XML-ondersteuning biedt. Is dit inder- daar feitelijk XML- of SGML-kennis voor nodig hebben. daad zo en biedt dit nieuwe perspectieven in relatie tot Hiermee wordt het mogelijk de bewerking door auteurs de bovengestelde vraag? aan te sluiten op geautomatiseerde workflow-systemen. De brede beschikbaarheid en de algemene bekendheid Achtergrond van Word en het feit dat de meeste auteurs al in een der- gelijk pakket werken, is voor de meeste klanten de door- Bij Daidalos is op diverse manieren ervaring opgedaan slag om in ieder geval een poging te wagen, het bewer- met het bewerken van SGML en XML via Microsoft Word. ken van XML/SGML met Word te proberen. Dit omvat verschillende conversietrajecten van en naar RTF alsmede sjablonen en plugins voor Word. De ont- Implicaties gebruik Word wikkelingen van Microsoft op het gebied van XML-func- tionaliteit worden hiervoor nauwlettend in de gaten De keuze om Word als XML auteursomgeving te gebrui- gehouden. ken heeft enige implicaties. Word moet geschikt gemaakt worden om de activiteiten die de auteurs die- Waarom Word? nen te verrichten mogelijk te maken. Daarvoor is de vol- gende functionaliteit van belang: Indien iemand vraagt of Word zonder meer geschikt is n inlezen en wegschrijven van XML/SGML, als SGML/XML editor, is het meest voor de hand liggende n auteursondersteunende functionaliteit. antwoord: "Nee". In ieder geval voor de versies ouder dan 2003. Word is een opmaakgericht pakket; What you Deze punten worden hieronder toegelicht. see is what you (expect to) get. Een auteur wordt niet gedwongen om een bepaalde volgorde of structuur te Inlezen en wegschrijven van XMLISGML hanteren en kan naar believen stijlen en opmaak toevoe- gen, wijzigen of verwijderen. Puur het feit dat Word Om XML of SGML te kunnen bewerken met Microsoft Been SGML of XML kan inlezen is voldoende om de stel- Word, moet het ingelezen kunnen worden. Hiervoor zijn ling te staven, versie 2003 buiten beschouwing gelaten. twee mogelijkheden: Is Word dan helemaal niet geschikt om SGML/XML te n rechtstreeks (via Word-API en Worddocument objectmo- bewerken? Nee, dat ook weer niet. De bovengenoemde del), opmerkingen druisen echter sterk in tegen de ideeen n indirect (via tijdelijk bestand met Word-compatible achter SGML en XML. XML en SGML zijn juist bedoeld bestandsformaat). om content te abstraheren van opmaak. Dan is het dus niet bepaald voor de hand liggend om in een pakket als Het is mogelijk om XML of SGML rechtstreeks in te Word SGML of XML te bewerken. Bovendien is er altijd lezen. Met Word 2003 is dat (voor XML) eenvoudig, maar een vertaling van SGML/XML naar een voor Word lees- dit pakket is duur en zwaarlijvig (dit komt later nog aan baar formaat nodig. de orde). Bij oudere versies van Word moet daarvoor zelf PAG 4 1)10, Daar staat tegenover dat veel auteurs geen SGML/XML- functionaliteit uitgewerkt worden. Dat legt nogal wat <!ELEMENT JAARGANG 10 • NR 2 1--I
  • 2. beperkingen op, aangezien je athankelijk bent van de een XML-versie van het document bijgewerkt moet wor- functionaliteit die Microsoft je biedt om het den bij iedere muisklik of toetsaanslag van de auteur. Worddocument-objectmodel (de programmeerinterface Het is ook mogelijk om een handmatig te starten functie die Microsoft biedt) te bewerken, wat bij de oudere ver- beschikbaar te stellen die de validiteit van het document sies van Word erg beperkt is. op verschillende aspecten controleert. Indien technisch Daarom is de meest gebruikelijke methode nog altijd mogelijk, moet in ieder geval een validatie op basis van om het eerst om te zetten naar een bestandsformaat dat het SGML/XML-eindresultaat tot de mogelijkheden beho- Word kan inlezen en wegschrijven. En daarvoor zijn ren. Verder kan een controle op bijvoorbeeld stijlvolgor- slechts een beperkt aantal alternatieven beschikbaar, de of correct gebruik van tabellen en figuren beschik- waarvan feitelijk alleen HTML en RTF interessant zijn. baar gesteld worden. De meeste andere formaten (onder andere Word en Omdat Word niet specifiek bedoeld is om als SGML/XML- WordPerfect) zijn binair en op speciale wijze gecodeerd. auteursomgeving te dienen, zijn vaak speciale of bewer- Dit maakt de technische verwerking onnodig ingewik- kelijke handelingen vereist om bepaalde structuren in te keld indien je de vertaling naar een ander formaat bui- voegen. Denk daarbij aan het invoegen van afbeeldin- ten Word om wilt realiseren. De overige tekstuele forma- gen, tabellen, kruisverwijzingen of veel voorkomende ten (onder andere DOS-tekst, eventueel met beperkte stramienen om uit te werken. Daarom zijn naast contro- opmaak) bevatten te weinig structurele en opmaakgere- lefuncties ook bewerk- en invoegfuncties wenselijk. Een lateerde informatie. controlefunctie kan de auteur begeleiden bij het bewer- HTML en RTF zijn beide tekstueel en bevatten beide in ken door te waarschuwen voor onjuiste werkwijzen, redelijke mate opmaak en structuur informatie. maar minstens zo handig zijn functies die automatisch Voldoende om daarmee bewerking van SGML/XML met dergelijke structuren op de juiste wijze invoegen. Deze Word mogelijk te maken. HTML is wat eenvoudiger qua functies zijn betrekkelijk eenvoudig uit te werken en opzet, RTF biedt meer mogelijkheden om informatie uit worden hoog gewaardeerd. te wisselen. Bij Daidalos is in de meeste gevallen gekozen voor RTF Integratie met Word waartoe het verdere verhaal zich dan ook beperkt. Problemen rond het werken met RTF komen later in dit Zoals hierboven uitgelegd, is inlezen en wegschrijven verhaal ter sprake. Microsoft Word 2003 komt afzonder- van XML/SGML niet zonder meer mogelijk. Daarvoor lijk nog ter sprake. moeten conversies uitgevoerd worden van XML/SGML naar bijvoorbeeld RTF en vice versa. Men kan zich de Auteursondersteunende functionaliteit vraag stellen of de conversie vanuit Word gestuurd moet kunnen worden (geintegreerde conversie) of dat deze Het converteren van XML of SGML naar RTF heeft als buiten Word om plaats moet vinden. effect dat de hierarchische structuur (grotendeels) verlo- ren gaat. Anders gezegd, de hierarchische structuur Kort gezegd kan men spreken van vier gradaties waarin wordt veelal vertaald naar een voor de structuur ken- integratie met Word kan worden doorgevoerd: merkende (lineaire) volgorde van opmaakprofielen. Een n geen integratie, onjuiste volgorde heeft bij terugvertaling een invalide n gescheiden conversie en bewerking, structuur tot gevolg. n geintegreerde conversie, Dit heeft zijn weerslag in het bewerken van de structuur n toekomst: geen conversie? in Word. Van de auteur zal gevraagd worden op een spe- cifieke manier zijn document van 'impliciete' structuur Voor auteursondersteunende functionaliteit is deze te voorzien, door onder andere specifieke stijlen in de vraag uiteraard niet aan de orde, aangezien deze altijd juiste volgorde te hanteren. Het is zinvol om de auteur geIntegreerd moet zijn met Word. Maar het vraagstuk, daarbij te ondersteunen middels functies voor automati- afzonderlijk of geintegreerde conversie, heeft wel dege- sche controle op correctheid en voor het wijzigen of lijk zijn weerslag op de mogelijkheden met betrekking invoegen van ingewikkelde structuren. tot deze functionaliteit. Dit hangt samen met de archi- tectuur van de auteurstool. De automatische controle kan een continue controle De verschillende gradaties worden hieronder nader zijn, die bij iedere bewerking van de auteur controleert besproken. of het resultaat nog klopt. Dit is de manier waarop de meeste XML editors te werk gaan. Zij verbieden daarbij Geen integratie vaak bewerkingen die een invalide situatie kunnen ver- oorzaken. Dit kan ook een mogelijkheid zijn in Word als Door niet met Word te integreren wordt het eenvoudig- auteurstool, maar het dwingt de auteur daarbij heel ste systeem gerealiseerd. Dit heeft belangrijke voordelen. sterk bewerkingen in een specifieke volgorde uit te voe- Licentie-, installatie- en updateperikelen zijn aan ren om te zorgen dat de `structuur' te allen tijde valide auteurszijde niet aan de orde en zij kunnen in grote lij- is. Dit zal snel als onprettig ervaren worden als de nen doorgaan met de gebruikelijke werkwijze. Het geeft auteur daardoor gedwongen is of te wijken van zijn ook veel vrijheden ten aanzien van de integratie van de gebruikelijke werkwijze. Bovendien kan dit veel van het conversies in de workflow aan de niet-auteurszijde. systeem eisen, vooral indien hiervoor op de achtergrond Vooral bij grote en wisselende groepen (freelance) PAG 5 <!ELEMENT JAARGANG 10 • NR 2 I-1
  • 3. auteurs kan dit van doorslaggevend belang zijn. Fen lige kwestie zijn als er geen formele installatie is uitge- aangepaste auteursinstructie moet afdekken dat een werkt van dergelijke sjablonen en deze sjablonen als auteur om kan gaan met de 'impliciete' structuur in de losse bestanden rondgestuurd worden. documenten. Ook voor auteurs die om de een of andere Ook voor deze variant geldt dat het geconverteerde XML reden niet over willen stappen op een volwaardige of SGML door de auteur geopend en bewerkt wordt in XML/SGML-editor is dit een optie. Word. Dit document in tussenformaat, oftewel RTF, kan net als bij de vorige variant ergens klaargezet zijn voor bewerking of het wordt toegezonden per e-mail. Het belangrijkste nadeel aan deze aanpak is dat slechts beperkte ondersteunende functionaliteit mogelijk is. Bewerken Deze kan zich namelijk uitsluitend op het tussenfor- in Word maat en op de binnen Word beschikbare mogelijkheden richten. Bijvoorbeeld een functie die referenties in de lopende tekst automatisch herkent en markeert, kan dat alleen uitgevoerd worden conform de auteursinstructies voor het tussenformaat. Deze functionaliteit is dus direct afhankelijk van de wijze waarop structuur gere- Figuur 1: Geen integratie van conversie i n Word presenteerd wordt in het tussenformaat. Met geinte- greerde conversie is het mogelijk dit op de XML/SGML Deze aanpak heeft echter als belangrijk nadeel, dat geen structuur te doen en dat opnieuw naar RTF te vertalen, auteursondersteunende functionaliteit geboden kan zonder dat de auteur bier veel van merkt. worden. Deze moet namelijk met Word geintegreerd worden. Deze variant omvat dan ook uitsluitend een conversie van en naar XML/SGML, waarbij het geconver- teerde XML/SGML in alle vrijheid geopend en bewerkt kan worden in Word of desgewenst in een ander pakket dat RTF ondersteunt. Let wel: ook macrofuncties in een Tussen- Wordsjabloon zijn feitelijk een vorm van integratie met Opslag formaat Word. Dit heeft niet alleen effect op de auteur die ondersteu- nende functionaliteit moet ontberen, maar ook een geautomatiseerde terugconversie kan hierdoor voor pro- blemen komen te staan. Omdat de auteur niet gestuurd wordt in zijn werk, kan deze gemakkelijk en ongemerkt Figuur 2: Geen conversie maar wel bewerkfuncties in Word louten . maken. De juistheid van de volgorde van stijlen is voor een mens niet altijd even gemakkelijk te beoorde- MCV2 is het praktijkvoorbeeld dat bier het meest bij len, maar is voor een geautomatiseerde terugconversie aansluit. Dit voorbeeld komt verderop aan de orde. van cruciaal belang. Handmatige interventie kan al snel noodzakelijk zijn. Geintegreerde conversie Kortom, in deze variant wordt de auteur veel bewegings- vrijheid gegeven, maar wellicht teveel om de workflow Als nog een stap verder gegaan wordt, door de conversie goed te automatiseren. met Word te integreren, komt deze niet alleen binnen handbereik van de auteur, maar is het ook mogelijk om Het praktijkvoorbeeld MCV2 zonder het gebruik van auteursondersteunende functionaliteit aan te bieden die Word-sjablonen is hiervan een voorbeeld. Het praktijk- zich richt op de echte XML/SGML-structuur. voorbeeld WordShadow, indien een redacteur Denk aan iets eenvoudigs als de XML/SGML-structuur WordShadow als conversietool gebruikt en het RTF door- weergegeven in een boomweergave, vergelijkbaar aan de stuurt naar een auteur, is hiervan een ander voorbeeld. Documentstructuur, maar dan gebaseerd op de struc- Deze voorbeelden komen onder het kopje 'De Praktijk' tuur die we kennen van XML/SGML. uitgebreid aan de orde. Het is mogelijk om een controlefunctie toe te voegen die zich niet of niet alleen richt op stijlvolgorde, maar ook Gescheiden conversie en bewerking op de XML/SGML-structuur (na bewerking en conversie). Hierdoor kan aan de gebruiker (auteur of redacteur) Het is echter mogelijk beperkte auteursondersteunende direct feedback gegeven worden over onjuistheden in functionaliteit ter beschilddng te stellen, bijvoorbeeld in het document, of kan de gebruiker aan de hand van de de vorm van macrofuncties in een Wordsjabloon of van XML/SGML-structuur zelf beoordelen of de huidige sta- een stijlvolgorde-controlefunctie. Dit houdt de licentie- tus van het document het gewenste resultaat in de kosten en tijd die besteed moet worden aan installaties XML/SGML-structuur zal opleveren. beperkt. Dergelijke sjablonen zijn bovendien veelal zo te Ook functies om bewerkingen op de XML/SGML-struc- maken dat ze compatibel zijn met meerdere versies van tuur uit te voeren of functies die een preview van het (1 4 PAG 6 Word. Het distribueren van updates kan echter een nete- document in de uiteindelijke layout tonen, behoren nu <!EL€MENT JAARGANG 10 • NR 2
  • 4. tot de mogelijkheden. Dit zijn dus alle zeer interessante voor de auteurs te verbergen. Nu kunnen ook met deze voordelen, hoewel wellicht niet alle interessant voor een volwaardige editors dergelijke coderingen ofwel markup auteur, maar misschien eerder voor een redacteur. verborgen en de informatie aantrekkelijk gepresenteerd worden, maar vergeet dan niet dat deze applicaties rela- Deze functionaliteit kan in een ActiveX DLL (plugin) tief zwaar zijn. Er moet veelal geconfigureerd worden en gevangen en via een Word-sjabloon (met bijvoorbeeld ze brengen vaak hoge licentiekosten met zich mee, voor- een knoppenbalk) toegankelijk gemaakt worden. Het al als deze breed uitgerold moeten worden onder een belangrijkste nadeel is dat deze variant een degelijke grote hoeveelheid auteurs en redacteuren. Verder is de installatie vereist en mogelijk licentiekosten met zich werkwijze principieel anders. In plaats van op een meebrengt. Updates, ook van de conversie zelf, moeten opmaakgericht document te werken, werkt men in feite expliciet naar alle gebruikers van de auteurstool uitge- op een hierarchische structuur. En ook al ziet de gebrui- rold worden. Bovendien wordt de conversie door de ker dat niet direct, hij zal dat wel merken aan de manier gebruiker van de auteurstool gestuurd en is dus niet waarop hij bewerkingen mag doorvoeren. zonder meer te integreren in een geautomatiseerde workflow. Komt dan nu eindelijk Word 2003 ter sprake? Ja, maar voorlopig nog slechts kort. Met Word 2003 kunnen XML- bestanden (geen SGML!), al dan niet met een eigen DTD Preview (feitelijk Schema), geimporteerd, bewerkt en weer opge- slagen worden. Het biedt daarnaast alle reeds van eerde- re versies van Word bekende functionaliteiten om de daarin aanwezige informatie te voorzien van opmaak. Bewerken Structuur- Ook zijn enkele nieuwe mogelijkheden toegevoegd om Opslag bijvoorbeeld dynamisch informatie te tonen. Dit sluit in Word weergave dus uitstekend aan bij ons geschetste ideaal, maar is dit ideaal wel zo ideaal als het lijkt? Tussen- Het punt is namelijk dat als het document waar een formaat auteur aan werkt in feite het XML-document is, dan zal dit, net als in iedere XMLISGML-editor, hoe dan ook Figuur 3: Geintegreerde conversie in Word merkbaar zijn voor de auteur. Veel bewerkfuncties zul- len een XML-achtige insteek hebben. Denk bijvoorbeeld Een interessante mogelijkheid is om bijvoorbeeld een aan functies als het bewerken van attributen. Ook zoiets redactie (`front-office') uit te rusten met een dergelijke als een selectie maken in het document kan niet langer applicatie. Zij converteren dan de te bewerken documen- willekeurig. Deze worden automatisch aangepast om ten en sturen die (als RTF of Word-doc) naar de relevante altijd stukken zogeheten well formed XML te omvatten. auteurs. De auteurs werken in een reguliere Word-versie Nu kunnen in Word 2003 beide tactieken gehanteerd of vergelijkbare applicatie en sturen het bewerkte docu- worden: zowel een opmaakgericht document bewerken, ment terug. De front-office controleert het werk met of een hierarchisch (XML) document. Bij de tweede tac- behulp van de controlefuncties en converteert de docu- tiek gebruik je Word echter als een ordinaire XML-edi- menten weer naar XML/SGML. Dit voorkomt grootschali- tor, hetgeen nu juist niet de bedoeling is. Bij de eerste ge installaties en hoge licentiekosten en maakt een tactiek zul je toch weer het een en ander moeten pro- gecontroleerde verbinding tussen auteurs en workflow grammeren. mogelijk. We zullen later in dit artikel nog uitgebreid terugkomen WordShadow is het praktijkvoorbeeld dat hier het meest op het werken met Microsoft Word 2003. bij aansluit. Dit voorbeeld komt nog aan de orde. Conversieperikelen Toekomst: geen conversie? Down-conversie (conversie van gestructureerd, lees XML of Het ideaal lijkt dan uiteraard de situatie waarin conver- SGML, naar `ongestructureerd', lees niet-XML)SGML) sie niet nodig is en XML/SGML rechtstreeks in te lezen is, betekent kwaliteitsverlies. Een conversie van XML/SGML zonder dat daar functionaliteit voor geschreven hoeft te naar RTF is te vergelijken met een conversie van een worden. Ook de aanwezigheid van auteursondersteunen- BMP-afbeelding naar een JPG-afbeelding. Een deel van de de functies als generieke bewerkfuncties en de controle- details gaat verloren. Dit moet zo goed mogelijk onder- functie op de XML/SGML-structuur, zonder dat daar vangen worden, want het is in deze situatie de bedoe- werk voor verricht hoeft te worden, hoort uiteraard bij ling om na de bewerking door de auteur alle oorspron- dit ideaal. kelijke details, voor zover niet gewijzigd, te herstellen. Dit wordt ook wel round-trippen genoemd. De tools die hier geheel aan voldoen, zijn de volwaardige Zoals al eerder uitgelegd, biedt RTF relatief veel moge- XML/SGML-editors. Maar daar waren de auteurs nu juist lijkheden om informatie te presenteren. Het heeft ech- niet erg bekend mee (zie inleiding). Het is dus tevens het ter ook zijn beperkingen, die het round-trippen gecompli- 4 doel om in zo'n auteurstool de XML/SGML-coderingen PAG 7 /> <!ELEMENT JAARGANG 10 • NR 2
  • 5. ceerd maken. Deze worden in de onderstaande paragra- op basis van de informatie uit het RTF. (Zie ook afbeel- fen uit de doeken gedaan. ding bij Conversieperikelen.) Hiervoor biedt RTF hoofdzakelijk de volgende middelen: Round- n paragraaf en karakterstijlen (kunnen niet genest worden!), n paragraaf en karakteropmaak (nadruk, kleur, marges, uitlijning, omkadering, etc.), n hyperlinks en verschillende andere typen velden, waaronder gelinkte afbeeldingen, n verborgen tekst, n sectie structuur met de mogelijkheid secties te beveiligen tegen bewerking, n tabellen en kolomindelingen, Figuur 4: Round-trippen tussen SGML/XML en RTF n opsommingen en dergelijke. Nog een belangrijke beperking, die niet voor RTF speci- In veel gevallen wordt besloten niet alle informatie te fiek geldt, is de DTD-afhankelijkheid van de conversies behouden bij de heen- en terugconversie. In een aantal van en naar XML/SGML. Theoretisch moet bij iedere wij- gevallen wordt deze informatie naderhand met de hand ziging van de DTD de conversie aangepast worden of ten en/of deels geautomatiseerd teruggeplaatst in het minste opnieuw getest. Dit is vooral vervelend voor de bewerkte document. Zie bijvoorbeeld praktijkvoorbeeld oplossingen met een geintegreerde conversie, aangezien MCV2. voor deze oplossingen geldt dat de auteurstools opnieuw Uit ervaring is gebleken dat vertaling naar stijlen en ver- uitgerold moeten worden naar alle gebruikers. der zoveel mogelijk gebruik maken van RTF-eigen opmaakfuncties de beste tactiek is. Verborgen • Complicaties gebruik RTF SGML/XML-codes of attribuutgegevens ingevoegd als ver- borgen tekst zijn bijvoorbeeld zeer gevoelig voor onge- Het gebruik van RTF biedt veel mogelijkheden voor het wenste bewerking. presenteren van informatie, maar heeft uiteraard ook Omdat dit maar beperkte middelen biedt, heeft dit bij zijn beperkingen. Het is principieel niet bedoeld om een round-trip (een heen- en een terugconversie) bijna structurele informatie te presenteren. Bijvoorbeeld spe- altijd verarming van de structuur van de content tot cifieke XML/SGML-zaken als commentaren, procesin- gevolg. structies, attributen en structurering van elementen zijn niet op normale wijze weer te geven. En dat is RTF is plat, XMLISGML is diep logisch ook, want RTF is opmaakgericht. Dit toch tonen zal de opmaak van het document verstoren en deze RTF kent geen dieptestructuur. RTF bestaat uit een informatie zal niet beveiligd zijn tegen ongewenste wij- lange, lineaire lijst van alinea's, eventueel onderverdeeld zigingen. Het gaat hierbij om conceptuele problemen (in in meerdere, niet verder verdiepte secties. De diepte- tegenstelling tot technische). structuur zoals zichtbaar in de weergave van de Documentstructuur in Word is gebaseerd op een stati- De belangrijkste problemen zijn: sche niveau-indicatie die gekoppeld is aan stijlnamen. n RTF is opmaakgeorienteerd, De feitelijke inhoud is lineair. Dit heeft twee gevolgen n RTF kent geen dieptestructuur, voor terugconversie: n RTF kent onhandige notatie voor tabellen en n de impliciete structuur moet expliciet gemaakt dergelijke, worden, n RTF biedt beperkte mogelijkheden voor inline n geen ruimte voor `onzichtbare' structuur. structuur, n RTF biedt beperkte mogelijkheden voor bescherming De impliciete structuur is erg beperkend. De `diepte' van tegen ongewenste bewerkingen. een alinea is, zoals gezegd, afgeleid van een statisch niveau. Elementen kunnen daarentegen in veel gevallen Deze worden hieronder besproken. op verschillende dieptes voorkomen. Daarnaast wordt met stijlen over het algemeen - omdat dat natuurlijker Opmaak versus round-trippen overkomt - uitsluitend het begin van elementen aange- duid, maar niet het einde. Kopstijlen geven daarbij aan Alle informatie uit de bronbestanden moet opgeslagen dat mogelijk een wisseling in diepte plaatsvindt. Deze worden in het RTF-bestand om bij terugconversie her- geven echter niet altijd aan in welke richting en aange- steld te kunnen worden (het round-trippen). Deze moet zien het einde van elementen veelal niet weergegeven geprojecteerd worden op opmaakgerelateerde informa- wordt in RTF, leidt dit al snel tot ambiguiteiten. Ook tie of anders voorzien worden van tekstuele markerin- bevatten SGML/XML-documenten veel elementen die gen. RTF biedt geen andere mogelijkheden. Hierdoor slechts andere elementen omhullen om deze op een moet de codering uit de bron volledig hersteld worden logische manier onder te verdelen. Deze elementen bevatten dus geen tekst en zijn derhalve niet zomaar te PAG <!ELEMENT JAARGANG 10 • NR 2
  • 6. representeren in RTF. Deze zijn dus zogezegd `onzicht- geprojecteerd kunnen worden, zijn lastig. Onderscheid baar' in het RTF-formaat. tussen allerlei verschillende typen verwijzingen of ver- wijzingen binnen verwijzingen vereisen al trucjes om Het is mogelijk om voor iedere keer dat een element dit op overzichtelijke wijze aan een auteur te presente- opent en sluit een alinea met een label en een stip in te ren. Vaak moet een compromis gezocht worden tussen voegen, maar dat maakt het voor de auteur niet over- behoud van structuur en bewerkbaarheid voor auteur. zichtelijker en het komt niet logisch over. Bovendien Hoe complexer de DTD-structuur binnen alinea's, hoe wordt dan van de auteur geeist dat deze ook op die lastiger dit probleem. (Zie ook het volgende punt.) manier te werk gaat, hetgeen een gedegen kennis van de toegestane structurering oftewel van de DTD vereist. En Weinig bescherming tegen ongewenste een van de uitgangspunten is juist dat de auteurs die kennis veelal niet hoeven te hebben. bewerkingen RTF biedt slechts beperkte mogelijkheden om te voorko- Om de diepte die in zogezegd alle bronbestanden aanwe- men dat een auteur ongewenste bewerkingen uitvoert. zig is, te herstellen en zo goed mogelijk te anticiperen RTF kent de mogelijkheid secties te beveiligen, zodat een op ambigue situaties, dienen dus ingewikkelde algorit- document als een soort invulformulier te gebruiken is, mes uitgewerkt te worden, die vaak geheel afwijken van maar dit is onvoldoende om te beschermen tegen onge- de algoritmes die de vertaling naar RTF realiseren. Het wenste wijzigingen binnen een alinea. herstellen van de dieptestructuur is dan ook werkelijk Als bijvoorbeeld een verwijzing gepresenteerd wordt als een complexe opgave. een hyperlink en de inhoud van de hyperlink is een spe- Een van de meest flexibele methodes die we bij Daidalos ciale code die niet gewijzigd mag worden, dan biedt RTF hebben uitgewerkt, hanteert een configuratiebestand noch Word de mogelijkheid om dit te verbieden voor die waarin een hierarchische beschrijving van de stijlvolgor- specifieke hyperlink. de is opgenomen, in de vorm van een BNF-grammatica (BNF staat voor Backus Naur Form). Daaruit is dus bijvoor- Ook als met kleurcoderingen of andere opmaakeigen- beeld af te leiden dat twee verschillende stijlen hierar- schappen gewerkt wordt om de terugconversie te sturen, chisch onder elkaar of juist naast elkaar horen. Hiermee dan kan niet voorkomen worden, dat de auteur de is in hoge mate mogelijk de originele structuur te herlei- gebruikelijke Word-functionaliteit gebruikt om dit te den. Deze aanpak wordt gebruikt in het praktijkvoor- wijzigen. Niet zonder de Word-functionaliteit ingrijpend beeld MCV2. te wijzigen met een'plugin. Als verbogen codes worden opgenomen, om bijvoorbeeld RTF tabellen onhandig gestructureerd attribuutinformatie te bewaren, dan kan niet voorko- men worden dat een auteur deze, onbewust, kan verwij- Bronbestanden bevatten vaak tabellen, gecodeerd op deren. In ieder geval niet als deze in de lopende tekst specifieke wijzen (denk aan standaarden als CALS). De voorkomen. wijze waarop tabellen uitgewerkt zijn in RTF - ingewik- keld en onlogisch - wijkt daar hoe dan ook van af, wat De praktijk ingewikkelde algoritmes om dat te vertalen en te her- stellen noodzakelijk maakt. Hetzelfde geldt voor zaken Het bovenstaande, theoretische verhaal is voortgevloeid als afbeeldingen, lijsten, kruisverwijzingen, voetnoten uit de ervaringen die we in tal van projecten, waarin en dergelijke. auteursprocessen centraal stonden, hebben opgedaan. Voor tabellen is een expliciete vertaling tussen SGML en We lichten er twee projecten uit waarin we nagenoeg RTF gerealiseerd. Deze probeert zoveel mogelijk eigen- alle genoemde kenmerken en constateringen tegen zul- schappen van een SGML-tabel over te zetten naar eigen- len komen. Het MCV2-project als voorbeeld van een schappen van de RTF-tabel en vice versa bij de terugver- gescheiden conversie en bewerking. En de WordShadow taling. Nadeel is echter dat iedere DTD een andere tabel- implementatie als typisch voorbeeld van een geinte- definitie kan hanteren. Voor iedere definitie moet de greerde conversie. Beide voorbeelden hanteren met suc- vertaling opnieuw uitgewerkt worden, eventueel deels ces RTF als tussenformaat om bewerking van XML/SGML gebaseerd op een bestaande vergelijkbare vertaling. met Word mogelijk te maken. Gelukkig valt dit in de praktijk nogal mee, aangezien Daarna komen ook de nieuwste ontwikkelingen van het CALS-tabelmodel populair is en de meeste andere Microsoft op gebied van XML-ondersteuning aan de tabelmodellen hierop lijken. orde. Hiervoor wordt ingegaan op wat de (on)mogelijkhe- den zijn met Microsoft Word 2003. Vrijwel geen structuur binnen RTF alinea's Het MCV2-project In veel gevallen wordt binnen alinea's een diepe struc- tuur toegestaan, mogelijk zelfs recursief. Denk aan voet- Bij Kluwer is een content management systeem ontwik- noten binnen opsommingen of citaten, die wellicht zelf keld met een productiestraat en een workflow-systeem ook weer in een voetnoot staan, niet vergetend dat op de voor creatie en beheer van SGML-documenten van ver- meeste plaatsen ook nog zaken als nadruk toegestaan schillende uitgaven van Kluwer. Binnen het workflow- zijn. Dit is lastig weer te geven in RTF. Vooral construc- systeem wordt Word voor een deel van de uitgaven inge- ties die niet op natuurlijke wijze op het RTF-formaat zet als hulpmiddel voor de auteurs waarmee ze nieuwe PAG 9 <!ELEMENT JAARGANG 10 • NR 2
  • 7. content kunnen aanmaken en bestaande content kun- In figuur 5 ziet u een vereenvoudigd schema van het nen bewerken. Voor het andere deel wordt, overigens workflow-systeem. Alle voor dit artikel niet relevante ook met succes, gebruikgemaakt van een auteurstool zaken zijn hier weggelaten. Onder het schema volgt een genaamd Styler (ontwikkeld door Mavim in opdracht van korte toelichting bij de stappen van dit bewerkproces. Kluwer). De SGML-bestanden worden door een in Omnimark ont- De Styler-applicatie is in feite voorbeeld van een geinte- wikkelde tool vertaald naar RTF. Hiervoor wordt een greerde conversie en biedt invoeg- en bewerkfunctiona- zogeheten mappingbestand en een van het liteit alsmede een op stijlenvolgorde gebaseerde contro- Wordsjabloon afgeleid RTF-template uitgelezen. Het lefunctie. Deze applicatie is echter niet gebaseerd op mappingbestand beschrijft hoe elementen naar stijlen Word en wordt daarom in het kader van dit artikel ver- vertaald moeten worden, het RTF-template bevat de defi- der niet besproken. nities van de stijlen. Hiermee wordt volledig automa- tisch een SGML-bestand naar RTF vertaald. De aanpak met Wordsjablonen is gebaseerd op een Dit RTF is gekoppeld aan het bedoelde Wordsjabloon gescheiden conversie en bewerking. Het uitgangsfor- waarin DTD-specifieke functionaliteit is uitgewerkt. De maat is SGML en als tussenformaat wordt RTF gehan- bewerker kan het bestand openen in Word en de wijzi- teerd. De auteurs zijn voorzien van een Wordsjabloon gingen doorvoeren. Als de bewerker klaar is met zijn met ondersteunende functionaliteit. Dit omvat invoeg- taak wordt het bestand opgeslagen als RTF. Dit resultaat en bewerkfuncties, alsmede een stijlvolgorde controle- in RTF wordt door een tweede, ook in Omnimark ont- functie. wikkelde tool, vertaald naar SGML. Om alle informatie zo goed mogelijk te behouden bij de round-trip, is een forse list van stijlen gedefinieerd. Ieder Om er voor te zorgen dat de alineaopmaakprofielen niet soort kop en ieder teksttype heeft een eigen stijl. Verder door elkaar gebruikt worden maar de structuur van de worden zaken als voetnoten, tabellen en nadruk op een DTD volgen, is er gebruik gemaakt van een Word plugin zo natuurlijk mogelijke wijze in RTF weergegeven. De die de volgorde van de gebruikte stijlen kan controleren betrokken DTD bevat echter ook vele typen verwijzingen en aangeeft waar bepaalde delen toegevoegd mogen en die worden niet vertaald. Ook kent de DTD in hoge worden. Na bewerking kan met behulp van deze plugin, mate dieptestructuur, zowel buiten als binnen alinea's. genaamd Programmar, de impliciete structuur van het Ook deze is moeilijk weer te geven in RTF. De terugverta- Word-bestand - de volgorde waarin de verschillende ali- ling is dan ook geen eenvoudige klus. Bovendien gaat neaopmaakprofielen voorkomen - gecontroleerd wor- een belangrijke hoeveelheid (meta)informatie bij verta- den. De plugin werkt met een grammatica (BNF-notatie), ling naar RTF verloren en deze moet bij de terugconver- die afgeleid is van de structuur van de gebruikte DTD. In sie hersteld worden. deze grammatica is op hierarchische vastgelegd in welke Opslag RTF Bewerken Figuur 5: MCV2-Workflow in een notendop PAG 10 <!ELEMENT JAARGANG 10 • OR 2
  • 8. volgorde de alineaopmaakprofielen voor mogen komen DTD van het XML- of SGML-formaat en niet meer tegen in het Word bestand. een afgeleide definitie (vergelijk MCV2). Door een handige aanpak bij de terugconversie kan dezelfde grammatica gebruikt worden voor de vertaling Met het XML/SGML-conversieresultaat binnen handbe- van RTF naar SGML. Ook de mapping van elementen reik is het niet moeilijk om ook deze vanuit Word voor naar stijlen van de conversie van SGML naar RTF wordt de gebruiker toegankelijk te maken in de vorm van een hergebruikt. Met deze informatie is de tweede conversie- XML/SGML-Structuurvenster, waarin bewerkingen uitge- tool in staat de oorspronkelijke SGML-structuur van de voerd kunnen worden. De overige functionaliteit is bewerkte tekst in grote mate te herleiden. zoveel mogelijk eenvoudig en generiek gehouden en bestaat, naast allerlei van Word geleende functies, voor- Omdat bij vertaling van SGML naar RTF reeds structuur- namelijk uit een zogeheten Stijlenmenu waarin de te informatie verloren is gegaan en de conversie van RTF gebruiken stijlen min of meer in toegestane volgorde naar SGML geen gegarandeerd succes is, is een (semi-) opgesomd worden. handmatige nabewerking noodzakelijk. Met behulp van een geavanceerde compare-tool (speciaal hiervoor ontwik- Voor de vertaling van XML/SGML naar RTF (het importe- keld door PlantijnCasparie) wordt op nauwkeurige wijze ren) wordt, vergelijkbaar aan het MCV2-verhaal, gebruik- het oorspronkelijke met het bewerkte SGML vergeleken. gemaakt van een mappingbestand en een RTF-template. Verloren gegane verwijzingsmarkeringen, attributen en Qua conversies is het verhaal dan ook niet veel anders procesinformatie worden daarbij hersteld. Dit levert een dan bij MCV2. De gekozen techniek waarin de conversie SGML-bestand op dat in principe terug kan in de opslag. uit wordt gevoerd is echter geheel anders, namelijk MetaMorphosis, een boomgeorienteerde programmeertaal Voordelen: (met een soort van W3C DOM-objecten), waar Omnimark n ook zonder gebruik van Wordsjabloon en plugin juist Stream-geOrienteerd is (min of meer het W3C SAX- bewerken mogelijk, model). Ook hierbij geldt dat informatie reeds bij verta- n lage systeemeisen, door op RTF-gerichte ondersteu- ling van XML/SGML naar RTF verloren gaat. nende functionaliteit, n bulksgewijze conversie mogelijk. De vertaling van RTF naar XML/SGML (het exporteren) is zoals reeds gezegd een ingewikkeld verhaal. De ontwik- Nadelen: keling van de applicatie heeft niet hetzelfde niveau n heen- en terugconversies alsmede Wordsjabloon bereikt als de tool van de equivalente stap in MCV2. Dit moeten goed op elkaar afgestemd zijn, zorgt ervoor dat het uitwerken van de exportfunctie van n verlies van informatie, veroorzaakt door complexiteit WordShadow voor een nieuwe DTD relatief arbeidsinten- van DTD, sief is en veel kennis van de taal MetaMorphosis vereist. n beperkte auteursondersteunende functionaliteit en Deze applicatie is met succes ingezet in projecten waar- alleen stijlvolgorde controle, in documenten met een redelijk eenduidige en niet al te n bewerkelijke nabehandeling om verloren informatie diepe alineastructuur, zodat vrijwel alle oorspronkelijke te herstellen. structuurinformatie te herleiden is uit het RTF. Dit voor- komt dat een handmatige nabewerking noodzakelijk is. WordShadow Voordelen: Nog voor aanvang van het MCV2-project is gewerkt aan n geintegreerde conversie brengt eindresultaat binnen een Word-plugin, uitgewerkt in Visual Basic, die het handbereik van auteur, mogelijk maakt om XML (of SGML) `rechtstreeks' te ope- n ondersteunende functionaliteit kan bier op toege- nen, bewerken en opslaan met Word, maar die de inter- spitst warden, face en de werking van Word hierbij zoveel mogelijk n en daardoor zeer geschikt voor kleinschalige projec- intact laat. Dit is dus een voorbeeld van een oplossing ten en/of minder complexe DTD's. met een geintegreerde conversie. Nadelen: De eerste implementatie ervan voerde reeds een verta- n vereist (iets zwaardere) installatie, ling naar RTF uit voor het inlezen, maar benutte het n hogere systeemeisen, objectmodel voor het vertalen naar XML/SGML. Voor de n minder geschikt voor al te complexe DTD's, omdat gebruikers was een validatiefunctie beschikbaar gesteld, de beperkingen van RTF nabewerking soms noodza- die vergelijkbaar aan de Programmar-tool stijlvolgordes kelijk maken, op basis van een soort grammatica (in feite uitgewerkt n het gebruik van de taal MetaMorphosis voor de con- als een DTD!) kon controleren. versie, waarvan de ontwikkeling sinds 2002 gediscon- In een later stadium is gekozen om ook voor de verta- tinueerd is. ling naar XML/SGML een route via RTF te kiezen omdat de functionaliteit die Word biedt om het objectmodel Microsoft Word 2003 uit te lezen te beperkt is. Alleen voor de validatiefunctie is om performanceredenen gekozen via het objectmodel De komst van Word 2003 brengt nieuwe mogelijkheden te blijven werken. Het verschil is echter dat vanaf deze met zich mee en vereenvoudigt een aantal zaken. versie de validatie uitgevoerd wordt tegen de volledige Word 2003 biedt ingebouwde XML-functionaliteit (SGML PAG 11 <!ELEMENT 1PARGANG 10 • Nil
  • 9. wordt niet ondersteund). Conversie van en naar XML is structuur en opmaak, zoals in een Cascading Styles Sheet eenvoudig, want Word 2003 kan XML rechtstreeks inle- (alleen ondersteund in Word voor HTML-documenten). zen en wegschrijven, hetgeen (onnodig) verlies van infor- matie voorkomt. Ook staan op XML gerichte middelen Toch biedt Word 2003 nog een interessante mogelijk- voor het afdwingen van structuur ter beschikking. Word heid. Alle overige oplossingen worstelen met het pro- 2003 kan een continue validatie tegen een of meer sche- bleem om XML/SGML om te zetten in een voor Word ma's uitvoeren (geen DTD-ondersteuning helaas) en leesbaar formaat. Met Word 2003 is dat specifieke deel eventuele fouten presenteren op een manier die verge- niet meer nodig. Word 2003 kan zonder problemen XML lijkbaar is met de manier waarop spellingsfouten weer- inlezen en opslaan als RTF of Word-doc, al dan niet gegeven worden. Een XML-structuurweergave is stan- geconverteerd met behulp van een XSL-stylesheet. Ook daard beschikbaar en ook het objectmodel, waarover in kan een Word-document in een Microsoft XML-formaat het begin kort is gesproken, is uitgebreid met toegang weggeschreven worden: WordML. Dit kan een goed jump- tot de XML-structuur (min of meer) conform W3C DOM- start vormen voor conversie van Word-documenten naar standaard. Ook is het mogelijk om op enkele momenten XML/SGML. op eenvoudige wijze een XSL-conversie te laten uitvoe- ren, bijvoorbeeld bij het openen van een bestand of bij Voordelen: het opslaan. n potentieel geen verlies meer van informatie, n conversie naar tussenformaat overbodig, Deze nieuwe features zorgen ervoor dat Word eenvoudi- n ingebouwde XML-gerichte functionaliteit, zoals vali- ger ingezet kan worden als XML-auteurstool. Conversie datie en XML-structuurweergave, naar een tussenformaat is niet nodig en het uitwerken n eenvoudig updatemechanisme (Expansion Packs), van auteursondersteunende functionaliteit is door de n nieuwe gebruikersinterface mogelijkheden (onder beschikbaarheid van het XML-document en ingebouwde andere Smart Documents en Task Pane). XML-functionaliteit eenvoudiger. Daarnaast zijn nieuwe features toegevoegd zoals een Nadelen: concept genaamd Expansion Packs waarmee gebruikers n zware systeemeisen en installatie, zelf uitbreidingen voor Word kunnen installeren, active- n hoge licentiekosten (minimaal Professional Edition ren en updaten. Ook is het gebruikersinterface uitge- vereist), breid met een zogeheten Task Pane waarin ruimte gere- n XML wordt als XML gepresenteerd en moet op XML serveerd is om document- (en dus schema)-afhankelijke manier bewerkt worden, functionaliteit beschikbaar te stellen. Dit is de zogehe- n XML-bewerkfunctionaliteit is niet volwaardig (bepaal- ten Smart Document-functionaliteit. Dit maakt verfraaiing de acties niet mogelijk), van de auteurstool erg eenvoudig. n dynamische koppeling opmaak en XML-structuur ontbreekt, hetgeen out-of-the-box gebruik als auteur- Op het eerste oog lijkt hiermee het bewerken van XML stool in de weg start. werkelijk binnen handbereik van reguliere Word-gebrui- kers te komen. Echter, zoals al bij het onderwerp Conclusie Integratie met Word' aan bod is gekomen, vereist XML- functionaliteit enige XML-vaardigheid of -begrip van de Word kan worden ingezet om het bewerken van gebruiker. En het uitgangspunt was juist, dat auteurs XML/SGML-informatie voor auteurs met beperkte of geen deze niet hoeven te hebben. Een deel van de gebruikers XML/SGML-kennis mogelijk te maken, zonder dat dit van WordShadow gaf aan dat enige XML/SGML gerela- aansluiting op geautomatiseerde workflow-systemen in teerde informatie, zoals een structuurweergave door de weg hoeft te staan. hen gewaardeerd werd, maar dat het afbreuk doet aan Dit betekent echter dat de XMLISGML-bestanden vertaald de auteurstool als dit de reguliere werlcwijze in Word - moeten worden naar een formaat dat Word in kan namelijk het bewerken van de tekst - beinvloedt. Denk lezen, uitgezonderd voor Word versie 2003 en eventuele aan de genoemde opmerkingen over attribuutbewerking toekomstige versies. RTF is hiervoor naar onze mening en het maken van selecties. het meest geschikte tussenformaat. Door ondersteunen- de functionaliteit in Word in te bouwen, kan het bewer- Helaas is de geboden XML-functionaliteit nog niet ken door de auteur gestroomlijnd en aansluiting op de geheel volwaardig en uitsluitend beschikbaar als een workflow gegarandeerd worden. XML-document geopend wordt en niet bij het openen van een afgeleide representatie zoals een RTF-document. Deze functionaliteit kan in meerdere gradaties geinte- Daarnaast gelden zware systeemeisen voor Word 2003 greerd worden met Word: en dient minimaal de Professional Edition geinstalleerd n Geen ondersteunende functionaliteit aanbieden en te worden om de volledige XML-functionaliteit ter alleen een conversie van en naar het tussenformaat beschikking te hebben. De te verwachten installed-base hanteren is de goedkoopste oplossing. Dit vergt ech- voor deze versie zal daarom sterk kleiner zijn dan de ter veel discipline van de auteurs. huidige. En ondanks alle moeite die Microsoft in de n Dit aanvullen met een Wordsjabloon met beperkte XML-ondersteuning heeft gestoken, zijn ze vergeten na functionaliteit, is een relatief goedkope uitbreiding te denken over een dynamische koppeling tussen XML- die, athankelijk van de geboden functionaliteit, de eisen aan discipline en nauwgezetheid sterk kan ver- <!ELEMENT JAARGANG 10 • NR 2
  • 10. lagen. De geboden functionaliteit beperkt zich ech- wat wij als een belangrijk beoordelingscriterium voor ter noodzakelijkerwijs tot het tussenformaat (bijvoor- een auteurshulpmiddel beschouwen. beeld geen validatie tegen DTD). Beter geschikt voor De geintegreerde oplossing is zeer geschikt voor klein- grote groepen en/of sterk wisselende auteurs, vanwe- tot middelschalige inzet bij auteurs en als gebruikers- ge beperkte uitrol. Zie ook het praktijkvoorbeeld vriendelijke applicatie bij de redactie. Bij grootschalige- MCV2. re inzet (denk aan 100 of meer gebruikers), gaan uitrol n Integratie van de conversie in Word, maakt het en onderhoud duidelijk een overwegende rol spelen. In mogelijk de auteur veel meer functionaliteit te bie- die situaties kan geld bespaard worden door voor niet- den, zoals op XML/SGML gebaseerde zoek-, bewerk- en geintegreerde oplossingen te kiezen. preview-functies en op DTD gebaseerde validatie. Brengt hogere systeemeisen en zwaardere uitrol met Wellicht valt op dat web-applicaties geheel niet zich mee. Licentiekosten spelen ook een belangrijke genoemd zijn in dit verhaal, hoewel deze vanuit licentie- rol. Zeer geschikt voor kleinschaligere projecten. Zie en onderhoudsoogpunt zeer interessant zijn. Een het praktijkvoorbeeld WordShadow. belangrijk nadeel aan auteurshulpmiddelen met een n Inzet van Word 2003, waarbij integratie niet meer web-interface is echter, dat deze nog veel beperkender nodig zou zijn, valt in feite of door de zware systeem- zijn dan het gebruik van het RTF-tussenformaat. eisen en de hoge licentiekosten. Out-of-the-box is het Uitgezonderd de situatie waarin er voor gekozen wordt wel bruikbaar, maar niet auteursvriendelijk. om via het web-interface toch weer een (thin-client) XML- editor aan te bieden. Wellicht dat in een toekomstig arti- Het gebruik van RTF als tussenformaat brengt complica- kel in <!ELEMENT nader op deze applicaties en de ties met zich mee. Deze omvatten problemen met het manier waarop ze in auteursomgevingen kunnen wor- round-trippen van informatie, de DTD-afhankelijkheid van den ingezet, kan worden ingegaan. het tussenformaat en de conversie, het ontbreken van dieptestructuur in RTF, ingewikkelde tabelnotatie in Meer informatie RTF, de beperkte structuur binnen alinea's en de beperk- te mogelijkheden van bescherming tegen ongewenste n Voor meer over het gebruik van Word processors om bewerkingen. Op verschillende van deze punten zijn met SGML te bewerken: http://heim.ifi.uio.norpaalso/ redelijk succes oplossingen uitgewerkt. Verarming van artikler/styles/new-version/pap.html. de structuur bij round - trippen is echter zo goed als onver- n Voor een gedetailleerd overzicht van vele beschikba- mijdelijk en de vraag is in hoeverre hierin compromis- re auteurstools: "Onderzoeksrapport Auteurs- en sen gemaakt kunnen worden. Redactietools" te vinden op http://www.daidalos.nl/ area.webview?area=publicaties. Als antwoord op de vraag: "Is Microsoft Word geschikt als n Voor meer over Microsoft Word, zie: XML/SGML auteursomgeving?" geven wij het volgende mee. http://www.microsoft.com/office/word/. Met name de integratie van de conversie in een auteurs- n Voor meer over RTF, zie: http://msdn.microsoft.com/ hulpmiddel vergroot de potentie van de auteurstool in library/default.asp?ur1=/library/en-us/dnrtfspec/html/ hoge mate. Het gevarieerde aanbod van ondersteunende rtfspec.asp functionaliteit van het voorbeeld WordShadow toont dit en ook: http://interglacial.com/rtfi. hopelijk aan. De nadruk ligt echter op potentie, want n Voor meer over Office 2003, zie: First Look Microsoft niet alle auteurstools die verder op de markt te vinden Office 2003, Katherine Murray, Microsoft Press, 2003. zijn (al dan niet Word-gebaseerd), benutten deze poten- (Waarschijnlijk zijn bij het verschijnen van dit artikel tie ten voile. De meesten slechts ten dele. Dit is dan ook recentere boeken verkrijgbaar.): http://www.micro- soft.com/office/VVord/prodinfo/default.mspx. 111 Geert Josten en Peter Kester (Daidalos) staan bekend als conversie- en contentspecialisten. Beiden hebben ruime kennis en ervaring op het gebied van conversietalen zoals Omnimark en MetaMorphosis, als ook XML-gerela- teerde standaarden als XSL en de hierop gebaseerde conver- sieoplossingen die in dit artikel aan de orde zijn gekomen. sn <!ELEMENT JAARGANG 10 • NR 2