我有一个 xsd 文件。对于 xs:sequence 中的每个 xs:element,我想将它们转换为<Class></Class>
. 所以对于下面的这个文件,输出应该包含 3 倍的<Class></Class>
.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="contacts">
<xs:complexType>
<xs:sequence>
<xs:element ref="contact"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="contact">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:NCName"/>
<xs:element name="lastname" type="xs:NCName"/>
</xs:sequence>
<xs:attribute name="citizen" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:schema>
但相反,我得到了这个:
$ zorba -i -f -q test.xqy
<?xml version="1.0" encoding="UTF-8"?>
<Class/>
<Class/>
这个输出看起来很奇怪。我<Class/>
在 xqy 文件中没有。
xqy 文件:
for $x in doc("test.xsd")/xs:schema/xs:element/xs:complexType/xs:sequence
return <Class>
</Class>