1、BRITISH STANDARDBS ISO/IEC 19757-4:2006Information technology Document Schema Definition Languages (DSDL) Part 4: Namespace-based Validation Dispatching Language (NVDL)ICS 35.240.30g49g50g3g38g50g51g60g44g49g42g3g58g44g55g43g50g56g55g3g37g54g44g3g51g40g53g48g44g54g54g44g50g49g3g40g59g38g40g51g55g3g3
2、6g54g3g51g40g53g48g44g55g55g40g39g3g37g60g3g38g50g51g60g53g44g42g43g55g3g47g36g58Incorporating corrigendum September 2008National forewordThis British Standard is the UK implementation of ISO/IEC 19757-4:2006, incorporating corrigendum September 2008.The start and finish of text introduced or altere
3、d by corrigendum is indicated in the text by tags. Text altered by ISO/IEC corrigendum September 2008 is indicated in the text by .The UK participation in its preparation was entrusted to Technical Committee IST/41, Document description and processing language.A list of organizations represented on
4、this committee can be obtained on request to its secretary.This publication does not purport to include all the necessary provisions of a contract. Users are responsible for its correct application.Compliance with a British Standard cannot confer immunity from legal obligations.BS ISO/IEC 19757-4:20
5、06This British Standard, was published under the authority of the Standards Policy and Strategy Committee on 30 June 2006 BSI 2009ISBN 978 0 580 60732 5Amendments/corrigenda issued since publicationDate Comments 31 July 2009 Implementation of ISO/IEC corrigendum September 2008Reference numberISO/IEC
6、 19757-4:2006(E)INTERNATIONAL STANDARD ISO/IEC19757-4First edition2006-06-01Information technology Document Schema Definition Languages (DSDL) Part 4: Namespace-based Validation Dispatching Language (NVDL) Technologies de linformation Langages de dfinition de schma de documents (DSDL) Partie 4: Lang
7、age de diffusion de validation despace de nom orient (NVDL) BS ISO/IEC 19757-4:2006ii iiiContents 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
8、 Full syntax. 66.3 Simple syntax 86.4 Simplification. 106.4.1 General. 106.4.2 Annotations. 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,
9、reject, attach, unwrap, attachPlaceholder, or context elements 116.4.9 namespace or anyNamespace 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 Cre
10、ating element sections and attribute sections. 137.3 Decomposition of element sections by trigger 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 e
11、mpty elements 188 Semantics 188.1 General. 188.2 Preliminaries 198.3 Stage 1: Creating element 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
12、Determining schemas and schema languages 228.7.3 Schema rewriting for attribute sections 238.7.4 Options. 239 Conformance. 23BS ISO/IEC 19757-4:2006iv 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.
13、2 Dispatching 43D.2.2.1 General. 43D.2.2.2 Stage 1. 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
14、.2.6 Stage 5. 49Bibliography. 50Annex A (normative) 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. 35BS ISO/IEC 19757-4:2006vForeword ISO (the International Organization for Standar
15、dization) and 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 organizatio
16、n to deal with 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, IS
17、O and IEC have 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
18、 by the joint 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 pa
19、tent rights. ISO 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 foll
20、owing parts, under 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
21、under preparation: 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 BS ISO/IEC 19757-4:2006vi IntroductionISO/IEC
22、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 already available as standards
23、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 extensibility of DSDL accommodates
24、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 languages. Forthis purpose, this
25、 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 6 describes the full syn
26、tax 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 correct NVDL script in th
27、e 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 full syntax and the simple
28、 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 22250-25 by the Japanese n
29、ational member body for SC 34.BS ISO/IEC 19757-4:20061Information technology Document Schema Definition Languages (DSDL) Part 4: Namespace-based Validation Dispatching Language (NVDL) 1 ScopeThis part of ISO/IEC 19757 specifies a Namespace-based Validation Dispatching Language (NVDL). An NVDLscript
30、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 specifies which schemas areused by these validators. These schemas may be written in any schema languages, including those
31、 specified byISO/IEC 19757.2 Normative referencesThe following referenced documents are indispensable for the application of this document. For dated references,only the edition cited applies. For undated references, the latest edition of the referenced document (including anyamendments) applies.NOT
32、E 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 comma.ISO/IEC 19757-2, Information technology Document Schema Definition Languages (DSDL) Part 2:Regular-grammar-based v
33、alidation 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 XML-Names, Namespaces in XML, W3C Recommendation, 14 January 1999, available athttp:/www.w3.org/TR/1999/REC-xml-names-19990
34、114/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, XML Schema Part 2: Datatypes (Second Edition), W3C Recommendation, 28 October2004, available at http:/www.w3.org/TR/200
35、4/REC-xmlschema-2-20041028/IETF RFC 2045, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies,Internet Standards Track Specification, November 1996, available at http:/www.ietf.org/rfc/rfc2045.txtIETF RFC 2046, Multipurpose Internet Mail Extensions (MIME) Part Tw
36、o: Media Types, Internet Standards TrackSpecification, November 1996, available at http:/www.ietf.org/rfc/rfc2046.txtIETF RFC 3023, XML Media Types, Internet Standards Track Specification, August 1998, available athttp:/www.ietf.org/rfc/rfc3023.txtIETF RFC 3986, Uniform Resource Identifiers (URI): G
37、eneric Syntax, Internet Standards Track Specification,January 2005, available at http:/www.ietf.org/rfc/rfc3986.txtIETF RFC 3987, Internationalized Resource Identifiers (IRIs), Internet Standards Track Specification, January2005, available at http:/www.ietf.org/rfc/rfc3987.txtBS ISO/IEC 19757-4:2006
38、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 and in ISO/IEC 19757-2, the definition given in this part ofISO/IEC 19757 applies.3.1actiona validate, reject, allow, attach, unw
39、rap, cancelNestedActions, or attachPlaceholder element within an NVDL script3.2attribute sectiona non-empty set of attributes having the same namespace name3.3attribute slot nodea slot for an attribute section3.4NVDL dispatchersoftware module that determines whether an NVDL script is correct, create
40、s validation candidates from aninstance, and invokes validators for these validation candidates3.5element sectionan element such that a single namespace name applies to itself and all descendant elements3.6element slot nodea slot for an element section3.7full syntaxsyntax of an NVDL script before si
41、mplification3.8instanceXML document from which validation candidates are created3.9media typea two-part identifier specifying the nature of the referenced data3.10modea mapping from namespaces to actions3.11NVDL data modelabstract representation of an XML document defined by this part of ISO/IEC 197
42、573.12NVDL scriptspecification for namespace-based validation dispatching3.13parent element sectionan element section containing a slot node for another section3.14path expressiona list of one or more choices separated by |, where each choice is a list of one or more NCName tokens separatedby /, opt
43、ionally preceded by /3 Terms and definitionsBS ISO/IEC 19757-4:200633.15RELAX NG data modelabstract representation of an XML document defined by ISO/IEC 19757-23.16sectioneither an attribute section or element section3.17simple syntaxsyntax of an NVDL script after simplification3.18simplificationtra
44、nsformation of an NVDL script in the full syntax to a script in the simple syntax3.19slot nodeeither an attribute slot node or element slot node3.20validation candidatean element not having any slot nodes as descendantsNOTE Different elements in a validation candidate may belong to different namespa
45、ces. Different attributes of an elementin a validation candidate may belong to different namespaces.4 NotationThe following notations 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 eleme
46、nt in the NVDL data model(,): a sequence of elements,: a set of attributesx+y: the concatenation of two element sequences x and ye text1text2text34BS ISO/IEC 19757-4:2006We use an XML-like syntax for representing data models, but there are two changes. First, in each start tag, the tag name isreplac
47、ed by a namespace name, local name, and context. Second, each end tag is represented by “.The data 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“
48、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-element tags.EXAMPLE 2 The following XML document is obtained by adding attributes to the document in t
49、he previous example.text1text2text3The data model created from this document is shown below. cx1 is the same as in Example 1. Each attribute name is replacedby a namespace name and local name.text15BS ISO/IEC 19757-4:2006text2text36 Syntax6.1 GeneralNVDL has the full syntax and the simple syntax. A correct NVDL script is always required to be in the full syntaxdescribed in 6.2. Meanwhile, the simple syntax described in 6.3 is purely an internal artifact for specifying these