Nieuwe Generatie Webtoepassingen Xforms
Total Page:16
File Type:pdf, Size:1020Kb
Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Nieuwe generatie webtoepassingen XForms door Koen De Wolf Promotor: prof. dr. ir. R. Van de Walle Thesisbegeleider: lic. F. De Keukelaere W. De Jonge Afstudeerwerk ingediend tot het behalen van de graad van Licentiaat in de Informatica Academiejaar 2002–2003 Voorwoord Na een jaar ondergedompeld te zijn in de wereld van XML, XSL en XForms kan ik met enige trots het resultaat voorstellen. Dit proefschrift zou echter nooit tot een goed einde gekomen zijn zonder de steun van Frederik De Keukelaere die mij instrueerde hoe ik bepaalde moeilijkheden kon aanpakken en mij met zijn technische bagage door een aantal specifieke problemen loodste. Professor Van de Walle wil ik bedanken voor de motiverende en opbouwende kritiek in de loop van het jaar. Ook wil ik Walter De Jonge bedanken voor het aanbrengen van het onderwerp, Anthony en Liesbeth voor het nalezen en Sarah die onnoemelijk veel geduld heeft gehad tijdens het schrijven van dit proefschrift. Koen De Wolf, mei 2003 Toelating tot bruikleen “De auteur geeft de toelating deze scriptie voor consultatie beschikbaar te stellen en delen van de scriptie te kopi¨eren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrek- king tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze scriptie.” Koen De Wolf, mei 2003 Nieuwe generatie webtoepassingen XForms door Koen DE WOLF Scriptie ingediend tot het behalen van de academische graad van Licentiaat Informatica – optie: Software ontwikkeling Academiejaar 2002–2003 Promotor: Prof. Dr. R. Van de Walle Scriptiebegeleiders: Lic. F. De Keukelaere W. De Jonge Faculteit Toegepaste Wetenschappen Universiteit Gent Vakgroep Elektronica en Informatiesystemen Voorzitter: Prof. Dr. J. Van Campenhout Samenvatting In deze thesis wordt nagegaan in hoeverre XML Schema op generieke wijze kan getransformeerd worden naar XForms gebruikmakende van XSL Transformaties. Hierbij worden de problemen en tekortkomingen van de gebruikte technologie¨en belicht. Trefwoorden XML Schema, XForms, invulformulieren. i Inhoudsopgave 1 Inleiding 1 1.1 Situering . 2 1.2 Opbouw van deze thesis . 2 2 XSDL: XML Schema Definitie Taal 3 2.1 Inleiding . 4 2.2 Geschiedenis van XML Schema . 4 2.3 Gebruik van XML Schema . 5 2.3.1 Associatie – Validatie . 6 2.4 Opbouw......................................... 7 2.4.1 Het schema element . 7 2.4.2 Het annotation element . 8 2.4.3 Het element element . 9 2.4.4 het attribute element . 10 2.4.5 Het simpleType element . 11 2.4.6 Het complexType element . 14 2.4.7 het all element . 14 2.4.8 het sequence element . 15 2.4.9 het choice element . 15 2.4.10 het group element . 15 2.4.11 het attributeGroup element . 16 2.4.12 het include element . 17 2.4.13 het import element . 17 2.4.14 het redefine element . 18 2.4.15 minOccurs en maxOccurs ........................... 18 2.4.16 ref ....................................... 20 2.4.17 het default attribuut . 21 2.4.18 het fixed attribuut . 21 2.4.19 het mixed attribuut . 21 2.4.20 het nillable attribuut . 22 2.4.21 any . 23 2.4.22 anyAttribute . 23 2.4.23 anyType . 23 2.4.24 Globale versus lokale declaraties . 24 3 XForms: Inleiding 26 3.1 Formulieren . 27 3.1.1 Inleiding . 27 3.1.2 Geschiedenis van webformulieren . 27 3.1.3 Het gebruik van webformulieren . 30 3.1.4 Beperkingen . 31 3.2 Wat zijn XForms . 33 3.2.1 Geschiedenis van XForms . 33 3.2.2 Voordelen ten opzichte van HTML formulieren . 35 3.2.3 Extra functionaliteit . 36 3.2.4 Beperkingen . 38 3.2.5 Gebruik van XForms . 38 4 XForms: Structuur 39 4.1 model . 40 4.1.1 Het instantie element . 40 4.1.2 Bindingen, afhankelijkheden en voorwaarden . 42 4.1.3 Verzenden van het formulier: het submission element . 44 4.2 Presentatie . 45 4.2.1 Atomaire controlestructuren . 45 4.2.2 Samengestelde controlestructuren . 54 4.2.3 Actions en Events . 57 5 Generatie van XForms Document op basis van XML Schema 63 5.1 Inleiding . 64 5.2 Opdeling . 64 5.2.1 Beschrijving van het model . 64 5.2.2 Beschrijving van de gebruikersinterface . 69 5.3 Beperkingen . 75 5.3.1 Gebruik van het choice element . 75 5.3.2 Kardinaliteitsbeperkingen . 75 5.3.3 Gebruik van globaal gedefinieerde elementen . 76 5.3.4 Elementen met oneindige recursie . 76 5.3.5 Gebruik van het mixed attribuut . 77 5.3.6 Geavanceerde XML Schema structuren . 78 5.4 Gebruik . 78 5.4.1 Voorwaarden . 78 5.4.2 Gebruikte presentatietools . 79 5.4.3 Praktisch . 79 6 Generatie van XForms Document op basis van XML Schema: Alternatieven en Conclusie 82 6.1 Alternatieven . 83 6.1.1 Meerdere XSL transformaties . 83 6.1.2 Microsoft InfoPath 2003 . 83 6.2 Conlusie . 86 A Schema specificaties 90 A.1 Het <all> element . 91 A.2 Het <annotation> element . 91 A.3 Het <any> element . 91 A.4 Het <anyAttribute> element . 92 A.5 Het <appInfo> element . 92 A.6 Het <attribute> element . 93 A.7 Het <attributeGroup> element . 93 A.8 Het <choice> element . 94 A.9 Het <complexContent> element . 94 A.10 Het <complexType> element . 95 A.11 Het <documentation> element . 95 A.12 Het <element> element . 96 A.13 Het <extension> element voor complexContent . 97 A.14 Het <extension> element voor simpleContent ................... 97 A.15 Het <field> element . 97 A.16 Het <group> element . 98 A.17 Het <import> element . 98 A.18 Het <include> element . 98 A.19 Het <key> element . 99 A.20 Het <keyref> element . 99 A.21 Het <list> element . 99 A.22 Het <notation> element . 100 A.23 Het <redefine> element . 100 A.24 Het <restriction> element voor complexContent . 100 A.25 Het <restriction> element voor simpleContent . 101 A.26 het <schema> element . 101 A.27 Het <selector> element . ..