Nieuwe Generatie Webtoepassingen Xforms

Total Page:16

File Type:pdf, Size:1020Kb

Nieuwe Generatie Webtoepassingen Xforms 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 . ..
Recommended publications
  • Schematron Overview Excerpted from Leigh Dodds’ 2001 XSLT UK Paper, “Schematron: Validating XML Using XSLT”
    Schematron: validating XML using XSLT Schematron Overview excerpted from Leigh Dodds’ 2001 XSLT UK paper, “Schematron: validating XML using XSLT” Leigh Dodds, ingenta ltd, xmlhack.com April 2001 Abstract Schematron [Schematron] is a structural based validation language, defined by Rick Jelliffe, as an alternative to existing grammar based approaches. Tree patterns, defined as XPath expressions, are used to make assertions, and provide user-centred reports about XML documents. Expressing validation rules using patterns is often easier than defining the same rule using a content model. Tree patterns are collected together to form a Schematron schema. Schematron is a useful and accessible supplement to other schema languages. The open-source XSLT implementation is based around a core framework which is open for extension and customisation. Overview This paper provides an introduction to Schematron; an innovative XML validation language developed by Rick Jelliffe. This innovation stems from selecting an alternative approach to validation than existing schema languages: Schematron uses a tree pattern based paradigm, rather than the regular grammars used in DTDs and XML schemas. As an extensible, easy to use, open source tool Schematron is an extremely useful addition to the XML developers toolkit. The initial section of this paper conducts a brief overview of tree pattern validation, and some of the advantages it has in comparison to a regular grammar approach. This is followed by an outline of Schematron and the intended uses which have guided its design. The Schematron language is then discussed, covering all major elements in the language with examples of their 1 of 14 Schematron: validating XML using XSLT usage.
    [Show full text]
  • Markup UK 2021 Proceedings
    2021 Proceedings A Conference about XML and Other Markup Technologies Markup UK 2021 Proceedings 2 Markup UK 2021 Proceedings 3 Markup UK 2021 Proceedings Markup UK Sister Conferences A Conference about XML and Other Markup Technologies https://markupuk.org/ Markup UK Conferences Limited is a limited company registered in England and Wales. Company registration number: 11623628 Registered address: 24 Trimworth Road, Folkestone, CT19 4EL, UK VAT Registration Number: 316 5241 25 Organisation Committee Geert Bormans Tomos Hillman Ari Nordström Andrew Sales Rebecca Shoob Markup UK 2021 Proceedings Programme Committee by B. Tommie Usdin, David Maus, Syd Bauman – Northeastern University Alain Couthures, Michael Kay, Erik Digital Scholarship Group Siegel, Debbie Lapeyre, Karin Bredenberg, Achim Berndzen – <xml-project /> Jaime Kaminski, Robin La Fontaine, Abel Braaksma – Abrasoft Nigel Whitaker, Steven Pemberton, Tony Peter Flynn – University College Cork Graham and Liam Quin Tony Graham – Antenna House Michael Kay – Saxonica The organisers of Markup UK would like to Jirka Kosek – University of Economics, thank Antenna House for their expert and Prague unstinting help in preparing and formatting Deborah A. Lapeyre – Mulberry the conference proceedings, and their Technologies generosity in providing licences to do so. David Maus – State and University Library Hamburg Antenna House Formatter is based on the Adam Retter – Evolved Binary W3C Recommendations for XSL-FO and B. Tommie Usdin – Mulberry Technologies CSS and has long been recognized as Norman Walsh – MarkLogic the most powerful and proven standards Lauren Wood – XML.com based formatting software available. It is used worldwide in demanding applications Thank You where the need is to format HTML and XML into PDF and print.
    [Show full text]
  • Xml Schema Viewer Eclipse
    Xml Schema Viewer Eclipse Archy exchanging worshipfully. Angelico have her sabra causelessly, intoxicant and unarranged. Is Thebault rugose or nonchalant when precluded some mesa hurts contrary? Some problems where the next button to elements and stored as we help you speed up xml schema support for working group In xml to. For anyone interested, I can give up altove xmlspy, copy and paste this URL into your RSS reader. Dtd schema viewer and xml query systems that corresponds to modify or personal. The Dictionary panel allows you to customize the dictionary that the Spell tool uses to identify misspelled words. Our plugin communicate with the analyzer through an XML file. Mac os x in multiple namespaces may appear in doing so that are very heavy use plugin i deal with eclipse dali java classes available enable increased automation. It uses to define and editor can be defined using xml is a full unicode support for example will go inside this interview he discusses specifying xml? Xsd schemas face when each row to xml using xml production implementations to. Strive to be All Powerful? Distinction between wood type definition and lobby of ring type: unlike XDR, a token was implemented that maps XInterfaces to a class framework in Java, a full eclipse install guide be overkill. XML bean definition files. This schema viewer for eclipse ide or sets. Kerberos realm of schemas will remain interoperable by running the viewer. UML associations and myself use interleave properly. This sentence exists because of the design problem; lacking a concept for what a primitive data type is, documentation can be written to provide some information on that element.
    [Show full text]
  • Introduction to Schematron
    Introduction to Schematron Wendell Piez and Debbie Lapeyre Mulberry Technologies, Inc. 17 West Jefferson St. Suite 207 Rockville MD 20850 Phone: 301/315-9631 Fax: 301/315-8285 [email protected] http://www.mulberrytech.com Version 90-1.0 (November 2008) © 2008 Mulberry Technologies, Inc. Introduction to Schematron Administrivia...................................................................................................................... 1 Schematron is a ................................................................................................................. 1 Reasons to use Schematron............................................................................................... 1 What Schematron is used for............................................................................................ 2 Schematron is an XML vocabulary................................................................................... 2 Schematron specifies, it does not perform........................................................................ 2 Simple Schematron processing architecture...................................................................... 3 Schematron validation in action........................................................................................ 4 Basic Schematron building blocks................................................................................. 4 How Schematron works.................................................................................................. 4 Outline of a simple Schematron
    [Show full text]
  • A Key for Document Interoperability?
    ELAN Electronic Government and Applications Feature Based Document Profiling - A Key for Document Interoperability? Bibliografische Information der Deutschen Nationalbibliothek: Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.deabrufbar. 1.Auflage Juni 2012 Alle Rechte vorbehalten © Fraunhofer-Institut für Offene Kommunikationssysteme FOKUS, Juni 2012 Fraunhofer-Institut für Offene Kommunikationssysteme FOKUS Kaiserin-Augusta-Allee31 10589 Berlin Telefon: +49-30-3436-7115 Telefax: +49-30-3436-8000 [email protected] www.fokus.fraunhofer.de Dieses Werk ist einschließlich aller seiner Teile urheberrechtlich geschützt. Jede Ver- wertung, die über die engen Grenzen des Urheberrechtsgesetzes hinausgeht, ist ohne schriftliche Zustimmung des Instituts unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen sowie die Speicherung in elektronischen Systemen. Die Wiedergabe von Warenbezeichnungen und Handels- namen in diesem Buch berechtigt nicht zu der Annahme, dass solche Bezeichnungen im Sinne der Warenzeichen-und Markenschutz-Gesetzgebung als frei zu betrachten wären und deshalb von jedermann benutzt werden dürften. Soweit in diesem Werk direkt oder indirekt auf Gesetze, Vorschriften oder Richt-linien (z.B. DIN, VDI) Bezug genommen oder aus ihnen zitiert worden ist, kann das Institut keine Gewähr für Richtigkeit, Vollständigkeit oder Aktualität übernehmen. ISBN 978-3-00-038675-6
    [Show full text]
  • XML in 10 Points
    The QAML FAQ file:///Users/trc/Desktop/QAML-playground/qaml-faq.html The QAML FAQ The QAML F.A.Q. Table of Contents The QAML F.A.Q. A. General A.1. What is a FAQ? A.2. What is a Markup Language? A.3. What is QAML? This FAQ is about QAML, a markup A.4. Who wrote QAML? A.5. Why not just use HTML? language for internet FAQs. B. About Writing QAML Documents QAML is the Question and Answer B.1. How can I write a QAML document? Markup Language. B.2 What is the smallest QAML document? B.3. How can I make a list in [Table of Contents] QAML? B.4. What stylesheets are available for QAML? B.5. How can I make a hypertext link? A. General B.6. What is the relationship between QAML metadata and Dublin Core? [ A.1. What is a FAQ? ] B.7. What is the gist attribute? B.8. Why is the email address of the author mandatory? B.9. How can I include graphics? Rick Jelliffe, [email protected] C. Processing QAML documents C.1. What can I use QAML documents for? A FAQ is the nickname for a "Frequently C.2. What are text processing languages? Asked Questions" document. There are D. QAML and Standards thousands of FAQs available on the D.1. Are Standards Useful? World Wide Web on many different D.2. What is XML? D.3. What is I18n? topics. The basic format of a FAQ is that D.4. What is Accessability? D.5.
    [Show full text]
  • XML – Grammatiken Und Xforms Von Astrid Sackel
    XML – Grammatiken und XForms von Astrid Sackel im Rahmen des Seminars XML und intelligente Systeme bei Sebastian Wrede und Ingo Lütkebohle Uni Bielefeld Wintersemester 2005|06 31. Oktober 2005 XML – GRAMMATIKEN UND XFORMS ASTRID SACKEL XML und intelligente Systeme Uni Bielefeld WS 2005 | 06 Wozu eigentlich Grammatiken? Einleitung DTD XML Schema RelaxNG XForms Fazit Quellen 2 | 45 XML – GRAMMATIKEN UND XFORMS ASTRID SACKEL XML und intelligente Systeme Uni Bielefeld WS 2005 | 06 Wozu eigentlich Grammatiken? Fallbeispiel: „Hans und Peter arbeiten an einer Adressbuch- Datenbank, sie haben die ähnliche Vorstellung von der Struktur, aber nicht exakt dieselbe“ Einleitung DTD XML Schema RelaxNG XForms Fazit Quellen 3 | 45 DTD XML DTD XML – GRAMMATIKEN UND XFORMS ASTRID SACKEL XML und intelligente Systeme Uni Bielefeld WS 2005 | 06 Wozu eigentlich Grammatiken? Fallbeispiel: „Hans und Peter arbeiten an einer Adressbuch- Datenbank, sie haben die ähnliche Vorstellung von der Struktur, aber nicht exakt dieselbe“ Einleitung DTD XML Schema RelaxNG XForms Fazit Quellen 4 | 45 XML – GRAMMATIKEN UND XFORMS ASTRID SACKEL XML und intelligente Systeme Uni Bielefeld WS 2005 | 06 Wozu eigentlich Grammatiken? Fallbeispiel: „Hans und Peter arbeiten an einer Adressbuch- Datenbank, sie haben die ähnliche Vorstellung von der Struktur, aber nicht exakt dieselbe“ „Peter muss seine Dateien bearbeiten, Hans muss die Eingaben seiner Freunde korrigieren / validieren“ Einleitung DTD XML Schema RelaxNG XForms Fazit Quellen 5 | 45 XML – GRAMMATIKEN UND XFORMS ASTRID SACKEL XML und intelligente Systeme Uni Bielefeld WS 2005 | 06 DTD <!ELEMENT addressbook (description,contact*)> Document Type Definition <!ELEMENT description ANY> <!ELEMENT contact (firstname,lastname,fon*,address,comment ?)> <?xml version=“1.0“ encoding=“UTF-8“?> <!DOCTYPE addressbook SYSTEM „addressbook.
    [Show full text]
  • Tutorial on Jsontron for JSON Semantic Validation
    Tutorial on Jsontron for JSON Semantic Validation Dr. Amer Ali Dr. Lixin Tao School of Computer Science and Information Systems Pace University Westchester November 14, 2018 Table of Contents 1 Introduction ............................................................................................................................. 2 1.1 Constraint Specification in Schematron.......................................................................... 3 1.2 Element schema .............................................................................................................. 3 1.3 Element phase ................................................................................................................. 3 1.4 Element pattern ............................................................................................................... 3 1.5 Element rule .................................................................................................................... 4 1.6 Element assert or report ................................................................................................. 4 2 Setting Up and Running Jsontron ........................................................................................... 4 2.1 Installing node.js ............................................................................................................. 4 2.2 Installing module jsontron .............................................................................................. 5 2.3 Module jsontron structure ..............................................................................................
    [Show full text]
  • XML Schema, Xlink, Xpointer
    Alternatives to XML Schema, XLink, XPointer Patryk Czarnik XML and Applications 2013/2014 Week 15 – 27.01.2014 Some drawbacks of XML Schema Verbose syntax, specification hard to understand Restricted power of expression deterministic model required no choice between: text content and element content attribute and element content-aware model not available (in 1.0) no value-aware constraints other than identity constraints (in 1.0) Extending types only by appending model fragments at the end of a sequence no direct support for adding new elements to a choice available with other techniques: element groups or substitution groups 2 / 32 Alternatives DTD – obviously RELAX NG (Regular Language for XML Next Generation) by James Clark and Murata Makoto OASIS (2001) and ISO (2003) standard Schematron by Rick Jelliffe (1999), developed at Academia Sinica (Taiwan), ISO standard (2006) Examplotron by Eric van der Vlist, project active in 2001-2003 XML Schema 1.1 W3C Recommendation, 2012 borrows some ideas from the alternatives, mainly Schematron 3 / 32 Simple example in all standards DTD <!ELEMENT person (first-name+, last-name)> <!ELEMENT first-name (#PCDATA)> <!ELEMENT last-name (#PCDATA)> XML Schema <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="person" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="first-name" type="xs:string" maxOccurs="unbounded" /> <xs:element name="last-name" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> 4 / 32 Simple example
    [Show full text]
  • Schematron Based Semantic Constraints Specification Framework & Validation Rules Engine for JSON Advisor: Dr
    Schematron Based Semantic Constraints Specification Framework & Validation Rules Engine for JSON Advisor: Dr. Lixin Tao Student: Dr. Amer Ali DPS 2014 Abstract • JavaScript Object Notation (JSON) has emerged as a popular format for business data exchange. It has a grammar-based schema language called – JSON Schema (IETF draft 7). The JSON Schema provides facilities to specify syntax constraints on the JSON data. There are a number of tools available in a variety of programming languages for JSON Schema validation. However, JSON does not have a standard or a framework to specify the semantic constraints, neither it has any reusable validation tool for semantic rules. In order for JSON data validation to be effective, it needs both syntax and semantic specification standards/frameworks and validation toolset[2]. • XML is another popular format for business data exchange that preceded JSON. XML has a mature ecosystem for specifying and validating syntax and semantic constraints. It has XML Schema and several other syntax constraints specification standards. It has Schematron as a semantic constraints specification language which is an ISO standard [ISO/IEC 19757-3]. • This study proposes a framework for specifying semantic constraints for JSON data in JSON format, drawing upon the power, simplicity, and semantics of Schematron standard. A reusable JavaScript/NodeJS based validation tool was also developed to process the JSON semantic rules. • The framework assumes that due to inherent differences between XML and JSON data formats, not all Schematron concepts will be applicable to this study. 2 Why Business Data Validation? • $ 1 billion Automotive Industry losses – National Institute of Standards and Technology (NIST) study[9] • 10-25% of total revenue losses for an org – Larry English [4] • 40% initiatives fail due to invalid data – Gartner 2011 report [11] When to Validate Data ? • 26 – 32 % bad data in orgs – Experian 2015 study [12] – The SiriusDecisions 1-10-100 Rule • $3.1 trillion estimated total cost – W.
    [Show full text]
  • The Docbook Schema Working Draft V5.0B5, 12 April 2006
    The DocBook Schema Working Draft V5.0b5, 12 April 2006 Document identifier: docbook-5.0b5-spec-wd-01 Location: http://www.oasis-open.org/docbook/specs Editor: Norman Walsh, Sun Microsystems, Inc. <[email protected]> Abstract: DocBook is a general purpose [XML] schema particularly well suited to books and papers about computer hardware and software (though it is by no means limited to these applications). The Version 5.0 release is a complete rewrite of DocBook in RELAX NG. The intent of this rewrite is to produce a schema that is true to the spirit of DocBook while simultaneously removing inconsistencies that have arisen as a natural consequence of DocBook's long, slow evolution.The Technical Committee has taken this opportunity to simplify a number of content models and tighten constraints where RELAX NG makes that possible. The Technical Committee provides the DocBook 5.0 schema in other schema languages, including W3C XML Schema and an XML DTD, but the RELAX NG Schema is now the normative schema. Status: This is a Working Draft. It does not necessarily represent the consensus of the committee. Please send comments on this specification to the <[email protected]> list. To subscribe, please use the OASIS Subscription Manager. The errata page for this specification is at http://www.oasis-open.org/docbook/specs/docbook5-er- rata.html. Copyright © 2001, 2002, 2003, 2004, 2005, 2006 The Organization for the Advancement of Structured In- formation Standards [OASIS]. All Rights Reserved. Table of Contents 1. Introduction .................................................................................................................................... 2 2. Terminology .................................................................................................................................... 2 3. The DocBook RELAX NG Schema V5.0 .............................................................................................
    [Show full text]
  • A Hands-On Introduction to Schematron Directly Express Rules Without Creating a Whole Grammatical Infrastructure
    A hands-on introduction to Schematron Directly express rules without creating a whole grammatical infrastructure Skill Level: Intermediate Uche Ogbuji ([email protected]) Consultant and Co-Founder Fourthought 02 Sep 2004 Meet Schematron, a schema language that allows you to directly express rules without creating a whole grammatical infrastructure. Schematron is useful whenever you wish to apply and check against rules for the contents of XML documents. Schematron is extraordinarily flexible in the variety of rules you can express, and it's even more expressive than other schema languages such as DTD, W3C XML Schema (WXS) and RELAX NG. In this tutorial, author Uche Ogbuji uses detailed examples to illustrate Schematron's use, and offers recipes for common schema needs. Section 1. Tutorial introduction Who should take this tutorial? Most developers of XML-based applications want a way to be sure that all XML instances follow certain rules. For this, many people immediately turn to schema languages such as DTD, W3C XML Schema (WXS), and RELAX NG. The best solution might be to apply simple rules to XML instances. Schematron is a language that allows you to directly express rules without creating a whole grammatical infrastructure. All developers of XML vocabularies and software that uses XML in any significant way should learn Schematron, and this tutorial is a great way to get started. Even if you already use schema languages such as RELAX NG and WXS, you may need to augment them with Schematron rules, which are more general and more flexible. A hands-on introduction to Schematron © Copyright IBM Corporation 1994, 2008.
    [Show full text]