我想檢查一個屬性是否存在於另一個xml中,來自另一個xml中的xsd。
爲例我有此XSD如何驗證跨文檔引用?
<xs:schema version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="models">
<xs:complexType>
<xs:sequence>
<xs:element name="model" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="uniqueModelName">
<xs:selector xpath="./model"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
和我有另一個XSD
<xs:element name="language">
<xs:complexType>
<xs:sequence>
<xs:element name="word" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="value" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:attribute name="lange" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="key" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
,我想確保該屬性命名在第一XSD命名model
元件name
是存在在屬性key
的元素value
中的第二個xsd
換句話說,如果有屬性值名爲name
在第一個xsd中沒有存在於第二個xsd中,必須發生錯誤。
XML例子:
XML爲第一XSD:
<model name="A"/>
<model name="B"/>
XML爲第二XSD:
<word key="A">
<value lange="english">Add</value>
<value lange="frensh">ajouter</value>
</word>
它必須告訴有一個錯誤,因爲在具有第二XML沒有標籤word
一個屬性B
這可能發生在xsd :)?
雖然這是一個正確的
<word key="A">
<value lange="english">Add</value>
<value lange="frensh">ajouter</value>
</word>
<word key="B">
<value lange="english">Add</value>
<value lange="frensh">ajouter</value>
</word>
我有同樣的問題,PLZ幫助我們!!!! – Steve