Ich versuche, mit Typen zu wählen Elemente, die Untertypen sind, so habe ich ein Testdokument mit Untertypen von xs: Ganzzahl und xs: float.So richten Sie Schema-aware XQuery ein
Wie kann ich XQuery mitteilen, dass die in meinem Schema definierten Typen verwendet werden sollen?
(Es könnte von Bedeutung sein, dass ich oXygen und Saxon-SA bin mit)
Eingabedokument:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="test-inherit.xsd">
<int>4</int>
<rest-int>5</rest-int>
<rest-float>6</rest-float>
</root>
WXS Schema:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="int" type="xs:integer"/>
<xs:element name="rest-int" type="rest-int"/>
<xs:element name="rest-float" type="rest-float"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="rest-int">
<xs:restriction base="xs:integer">
<xs:maxInclusive value="10"></xs:maxInclusive>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="rest-float">
<xs:restriction base="xs:float">
<xs:maxInclusive value="10"></xs:maxInclusive>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:schema>
XQuery:
for $integer in doc("test-inherit.xml")//element(xs:integer)
return <integer>{$integer}</integer>