Extensible 3D (X3D) encodings
Part 1: Extensible Markup Language (XML) encoding
Annex C
(informative)
X3D XML Schematron
Editors note: further information available at
X3D Schematron Validation and Quality Assurance (QA)
This annex provides a detailed description of the grammar for each syntactic element in this part of ISO/IEC 19776. Table C.1 lists the topics in this clause:
Table C.1 — Topics in this clause
C.1 Table of contents and introduction C.1.1 Topics C.1.2 Introduction C.2 X3D XML Schematron |
XML Schematron [I19757-3] is a language for making assertions about the presence or absence of patterns in linked XML documents. If assertions for correct behavior fail, then error and warning messages are provided.
X3D XML Schematron checks the syntax of an X3D scene expressed in XML form, in particular verifying correct values and dependency relationships among attribute values. It is designed to complement the expressive power of X3D XML Document Type Definition (DTD) and X3D XML Schema.
The X3D XML Schematron is defined by an XML tagset using an XML-based grammar as specified in [SCHEMATRON.1] [SCHEMATRON.2].
While not fully exhaustive in nature, the X3D XML Schematron typically has sufficient expressive power to:
key
and keyValue
arrays shall have the same length,
Editors note: adding explanatory excerpts from X3D XML Schematron source seems like unnecessary detail.
Current versions of X3D XML Schematron files are maintained at
[X3DSCHEMATRON].
Additional capabilities for validation of field values are provided by XML Document Type Definition (DTD), XML Schema, and X3D Regular Expressions (regexes) [X3DREGEX].
NOTE Additional information about X3D XML scene structure, allowed field values, data type restrictions, authoring hints, warnings, and errors can be found in X3D Tooltips [X3DTOOLTIPS] and X3D Unified Object Model [X3DUOM]. Validation assets are maintained in human-readable and machine-readable forms, in version control, and with corresponding documentation at [X3DVALIDATION].
X3dSchematronValidityChecks.sch is the X3D XML Schematron file that validates model correctness for X3D versions 3.0, 3.1, 3.2, 3.3, and 4.0 content.
Editors note: copying source document excerpts here seems superfluous.
<!-- for readability, source document (6500 lines) not included -->