1、INCITS/ISO/IEC 19757-4:20062008 (ISO/IEC 19757-4:2006, IDT) Information technology Document Schema DefinitionLanguages (DSDL) Part 4: Namespace-based ValidationDispatching Language (NVDL)INCITS/ISO/IEC 19757-4:20062008(ISO/IEC 19757-4:2006, IDT)INCITS/ISO/IEC 19757-4:20062008 ii ITIC 2008 All rights
2、 reserved PDF disclaimer This PDF file may contain embedded typefaces. In accordance with Adobes licensing policy, this file may be printed or viewed but shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading t
3、his file, parties accept therein the responsibility of not infringing Adobes licensing policy. The ISO Central Secretariat accepts no liability in this area. Adobe is a trademark of Adobe Systems Incorporated. Details of the software products used to create this PDF file can be found in the General
4、Info relative to the file; the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given bel
5、ow. Adopted by INCITS (InterNational Committee for Information Technology Standards) as an American National Standard. Date of ANSI Approval: 7/1/2008 Published by American National Standards Institute, 25 West 43rd Street, New York, New York 10036 Copyright 2008 by Information Technology Industry C
6、ouncil (ITI). All rights reserved. These materials are subject to copyright claims of International Standardization Organization (ISO), International Electrotechnical Commission (IEC), American National Standards Institute (ANSI), and Information Technology Industry Council (ITI). Not for resale. No
7、 part of this publication may be reproduced in any form, including an electronic retrieval system, without the prior written permission of ITI. All requests pertaining to this standard should be submitted to ITI, 1250 Eye Street NW, Washington, DC 20005. Printed in the United States of America iiiCo
8、ntents PageForeword vIntroduction vi1 Scope. 12 Normative references 13 Terms and definitions. 24 Notation 35 Data model. 35.1 General. 35.2 Creating a data model from the infoset. 46 Syntax 66.1 General. 66.2 Full syntax. 66.3 Simple syntax 86.4 Simplification. 106.4.1 General. 106.4.2 Annotations.
9、 106.4.3 Whitespace 106.4.4 message attribute 106.4.5 mustSupport attribute. 106.4.6 schemaType attribute of rules elements 116.4.7 rules without mode children. 116.4.8 child mode elements of validate, allow, reject, attach, unwrap, attachPlaceholder, or context elements 116.4.9 namespace or anyName
10、space elements 116.4.10 mode inclusion 116.4.11 competition within mode . 126.4.12 default anyNamespace .126.4.13 allow and reject .126.4.14 useMode attribute. 137 Primitive operations 137.1 General. 137.2 Creating element sections and attribute sections. 137.3 Decomposition of element sections by t
11、rigger elements 157.4 Attaching attribute sections to elements 177.5 Attaching element sequences to elements. 177.6 Creating placeholder elements from element sections. 187.7 Converting attribute sections to empty elements 188 Semantics 188.1 General. 188.2 Preliminaries 198.3 Stage 1: Creating elem
12、ent and attribute sections 208.4 Stage 2: Constructing interpretations. 208.5 Stage 3: Combining sections. 208.6 Stage 4: Filtering of the combined sections. 228.7 Stage 5: Validation 228.7.1 General. 228.7.2 Determining schemas and schema languages 228.7.3 Schema rewriting for attribute sections 23
13、8.7.4 Options. 239 Conformance. 23INCITS/ISO/IEC 19757-4:20062008 ITIC 2008 All rights reserved iv C.2 RELAX NG schema. 35C.3 NVDL script 40Annex D (informative) Example 42D.1 General. 42D.2 RDF embedded within XHTML. 42D.2.1 Simplification. 42D.2.2 Dispatching 43D.2.2.1 General. 43D.2.2.2 Stage 1.
14、43D.2.2.3 Stage 2. 44D.2.2.4 Stage 3. 44D.2.2.5 Stage 4. 44D.2.2.6 Stage 5. 44D.3 XHTML 2.0 and XForms 44D.3.1 Simplification . 44D.3.2 Dispatching 47D.3.2.1 General. 47D.3.2.2 Stage 1. 47D.3.2.3 Stage 2. 47D.3.2.4 Stage 3. 48D.3.2.5 Stage 4. 48D.3.2.6 Stage 5. 49Bibliography. 50Annex A (normative)
15、Full syntax in RELAX NG 24Annex B (normative) Simple syntax in RELAX NG 31Annex C (informative) An NVDL script and RELAX NG schema for the full syntax 35C.1 General. 35INCITS/ISO/IEC 19757-4:20062008 ITIC 2008 All rights reservedvForeword ISO (the International Organization for Standardization) and
16、IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with
17、 particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have
18、 established a joint technical committee, ISO/IEC JTC 1. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint
19、technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. I
20、SO and IEC shall not be held responsible for identifying any or all such patent rights. ISO/IEC 19757-4 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 34, Document description and processing languages. ISO/IEC 19757 consists of the following parts, u
21、nder the general title Information technology Document Schema Definition Languages (DSDL): Part 1: Overview Part 2: Regular-grammar-based validation RELAX NG Part 3: Rule-based validation Schematron Part 4: Namespace-based Validation Dispatching Language (NVDL) The following parts are under preparat
22、ion: Part 5: Datatypes Part 6: Path-based integrity constraints Part 7: Character repertoire description language CRDL Part 8: Document schema renaming language DSRL Part 9: Datatype- and namespace-aware DTDs Part 10: Validation management INCITS/ISO/IEC 19757-4:20062008 ITIC 2008 All rights reserve
23、d vi IntroductionISO/IEC 19757 defines a set of Document Schema Definition Languages (DSDL) that can be used to specify oneor more validation processes performed against Extensible Markup Language (XML) documents. A number ofvalidation technologies are standardized in DSDL to complement those alread
24、y available as standards or fromindustry.The main objective of ISO/IEC 19757 is to bring together different validation-related technologies to form a singleextensible framework that allows technologies to work in series or in parallel to produce a single or a set ofvalidation results. The extensibil
25、ity of DSDL accommodates validation technologies not yet designed or specified.The motivations of this part of ISO/IEC 19757 are twofold. One is to allow the interworking of schemas describingdifferent markup vocabularies. The other is to allow these schemas to be written in different schema languag
26、es. Forthis purpose, this part of ISO/IEC 19757 specifies a Namespace-based Validation Dispatching Language (NVDL).The structure of this part of ISO/IEC 19757 is as follows. Clause 5 describes the data model, which is theabstraction of an XML document used throughout the rest of the document. Clause
27、 6 describes the full syntax andthe simple syntax of NVDL scripts, and further describes the transformation from the full syntax to the simplesyntax. Clause 7 describes primitive operations for the NVDL data model, which are used for defining the NVDLsemantics. Clause 8 describes the semantics of a
28、correct NVDL script in the simple syntax; the semantics specifyhow elements and attributes in a given document are dispatched to different validators and which schema is usedby each of these validators. Clause 9 describes conformance requirements for NVDL dispatchers. Annex A andAnnex B define the f
29、ull syntax and the simple syntax using RELAX NG, respectively. Annex C defines the fullsyntax using NVDL and RELAX NG. Finally, Annex D provides examples of the application of NVDL.The origin of NVDL is JIS TR X 00444, which was created and then submitted to ISO/IEC JTC1 as a fast-trackISO/IEC DTR 2
30、2250-25 by the Japanese national member body for SC 34.INCITS/ISO/IEC 19757-4:20062008 ITIC 2008 All rights reservedAMERICAN NATIONAL STANDARD INCITS/ISO/IEC 19757-4:200620081Information technology Document Schema Definition Languages (DSDL) Part 4: Namespace-based Validation Dispatching Language (N
31、VDL) 1 ScopeThis part of ISO/IEC 19757 specifies a Namespace-based Validation Dispatching Language (NVDL). An NVDLscript controls the dispatching of elements or attributes in a given XML document to different validators,depending on the namespaces of the elements or attributes. An NVDL script also s
32、pecifies which schemas areused by these validators. These schemas may be written in any schema languages, including those specified byISO/IEC 19757.2 Normative referencesThe following referenced documents are indispensable for the application of this document. For dated references,only the edition c
33、ited applies. For undated references, the latest edition of the referenced document (including anyamendments) applies.NOTE Each of the following documents has a unique identifier that is used to cite the document in the text. The uniqueidentifier consists of the part of the reference up to the first
34、 comma.ISO/IEC 19757-2, Information technology Document Schema Definition Languages (DSDL) Part 2:Regular-grammar-based validation RELAX NGW3C XML, Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation, 04 February 2004,available at http:/www.w3.org/TR/2004/REC-xml-20040204/W3C XM
35、L-Names, Namespaces in XML, W3C Recommendation, 14 January 1999, available athttp:/www.w3.org/TR/1999/REC-xml-names-19990114/W3C XML-Infoset, XML Information Set (Second Edition), W3C Recommendation, 4 February 2004, available athttp:/www.w3.org/TR/2004/REC-xml-infoset-20040204/W3C XML Schema Part 2
36、, XML Schema Part 2: Datatypes (Second Edition), W3C Recommendation, 28 October2004, available at http:/www.w3.org/TR/2004/REC-xmlschema-2-20041028/IETF RFC 2045, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies,Internet Standards Track Specification, November
37、 1996, available at http:/www.ietf.org/rfc/rfc2045.txtIETF RFC 2046, Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, Internet Standards TrackSpecification, November 1996, available at http:/www.ietf.org/rfc/rfc2046.txtIETF RFC 3023, XML Media Types, Internet Standards Track Speci
38、fication, August 1998, available athttp:/www.ietf.org/rfc/rfc3023.txtIETF RFC 3986, Uniform Resource Identifiers (URI): Generic Syntax, Internet Standards Track Specification,January 2005, available at http:/www.ietf.org/rfc/rfc3986.txtIETF RFC 3987, Internationalized Resource Identifiers (IRIs), In
39、ternet Standards Track Specification, January2005, available at http:/www.ietf.org/rfc/rfc3987.txt ITIC 2008 All rights reserved 2 For the purposes of this document, the terms and definitions given in ISO/IEC 19757-2 and the following apply.NOTE Where a term is defined in this part of ISO/IEC 19757
40、and in ISO/IEC 19757-2, the definition given in this part ofISO/IEC 19757 applies.3.1actiona validate, reject, allow, attach, unwrap, cancelNestedActions, or attachPlaceholder element within an NVDL script3.2attribute sectiona non-empty set of attributes having the same namespace name3.3attribute sl
41、ot nodea slot for an attribute section3.4NVDL dispatchersoftware module that determines whether an NVDL script is correct, creates validation candidates from aninstance, and invokes validators for these validation candidates3.5element sectionan element such that a single namespace name applies to it
42、self and all descendant elements3.6element slot nodea slot for an element section3.7full syntaxsyntax of an NVDL script before simplification3.8instanceXML document from which validation candidates are created3.9media typea two-part identifier specifying the nature of the referenced data3.10modea ma
43、pping from namespaces to actions3.11NVDL data modelabstract representation of an XML document defined by this part of ISO/IEC 197573.12NVDL scriptspecification for namespace-based validation dispatching3.13parent element sectionan element section containing a slot node for another section3.14path ex
44、pressiona list of one or more choices separated by |, where each choice is a list of one or more NCName tokens separatedby /, optionally preceded by /3 Terms and definitionsINCITS/ISO/IEC 19757-4:20062008 ITIC 2008 All rights reserved33.15RELAX NG data modelabstract representation of an XML document
45、 defined by ISO/IEC 19757-23.16sectioneither an attribute section or element section3.17simple syntaxsyntax of an NVDL script after simplification3.18simplificationtransformation of an NVDL script in the full syntax to a script in the simple syntax3.19slot nodeeither an attribute slot node or elemen
46、t slot node3.20validation candidatean element not having any slot nodes as descendantsNOTE Different elements in a validation candidate may belong to different namespaces. Different attributes of an elementin a validation candidate may belong to different namespaces.4 NotationThe following notations
47、 have been adopted in the formal definitions provided in this part of ISO/IEC 19757.: the context of an element in the NVDL data model,: the namespace name of an element in the NVDL data model(,): a sequence of elements,: a set of attributesx+y: the concatenation of two element sequences x and ye te
48、xt1text2text34INCITS/ISO/IEC 19757-4:20062008 ITIC 2008 All rights reservedWe use an XML-like syntax for representing data models, but there are two changes. First, in each start tag, the tag name isreplaced by a namespace name, local name, and context. Second, each end tag is represented by “.The d
49、ata model created from this document is shown below. (Whitespace is slightly changed for readability.) Every element inthis data model references to a context (say cx1) that maps ns1 to “http:/ and ns2 to“http:/ respectively.text1text2text3Observe that the XML declaration and any comments or processing instructions in the input XML document do not appear in thedata model and that there are no empty-eleme