【发布时间】:2014-01-16 11:50:10
【问题描述】:
我有两个 .xsd 文件。在主 xsd (main.xsd) 中,我导入了第二个 xsd (foo.xsd),因此我可以使用在那里定义的类型。见例子:
file:main.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:foo="Foo"
>
<xs:import schemaLocation="foo.xsd" namespace="Foo" />
<xs:complexType name="someType">
<xs:sequence>
<xs:element type="Foo:anElementType" name="someElement" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
file:foo.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="Foo"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="anElement" type="anElementType" />
<xs:complexType name="anElementType">
<xs:attribute name="yesOrNo" type="xs:boolean"/>
</xs:complexType>
</xs:schema>
如何在 main.xsd 上执行 Xpath 查询,以返回 foo.xsd 中的 anElementType 的属性。
目前,我加载 main.xsd 并希望 DOMXPath 知道导入,但这不起作用。我已经用 Google 搜索了一个小时,但没有找到更多建议。
【问题讨论】: