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.