PhoenixmlDb.XQuery
XsdVersionControl
XSD 1.1 conditional inclusion (§4.2.2, the vc: versioning namespace), applied as the schema processor this engine uses: System.Xml's, which implements XSD 1.0. An element whose vc:minVersion is above 1.0, or whose vc:maxVersion is 1.0 or below, is not part of the schema for such a processor and is removed before loading.
#XsdVersionControl
Namespace: PhoenixmlDb.XQuery
XSD 1.1 conditional inclusion (§4.2.2, the
vc:
versioning namespace), applied as the schema processor this engine uses: System.Xml's, which implements XSD 1.0. An element whose
vc:minVersion
is above 1.0, or whose
vc:maxVersion
is 1.0 or below, is not part of the schema for such a processor and is removed before loading.
Schemas written for both versions mark their 1.1-only parts this way, typically
<xs:assert test="…" vc:minVersion="1.1"/>
. Loading them unprocessed failed outright ("The 'xs:assert' element is not supported in this context"), so the whole schema was lost for a construct the schema itself says a 1.0 processor must skip (W3C stream-107 and siblings).
#Methods
#Mentions(String)
True when the text declares the versioning namespace at all; otherwise it is left untouched.
#Fields
| Name | Description |
|---|---|
Xsd11BuiltIns
|
Built-in types XSD 1.1 added (and XPath 2.0 had first) that System.Xml's XSD 1.0 processor does not know, each with the 1.0 type it restricts. A schema referring to one failed to load at all ("Type 'xs:dayTimeDuration' is not declared"), losing every declaration in it for a single attribute (QT3 validateexpr-28..42, validate-*, cbcl-validateexpr-*: 48 cases on one shared schema). The reference is rewritten to the base type, so the schema loads and the value still validates lexically; a node validated against it is annotated with the base type rather than the 1.1 one. |