我有一個xsd文件,定義了xml模式,第二個包含擴展。我需要這樣的:使用兩個模式時xml中的命名空間
<ns:Node>
<InnerNode>
<Value1>value 1</Value1>
<Value2>value 2</Value2>
</InnerNode>
</ns:Node>
InnerNode的定義是在主文件中,在擴展名中的節點。我的擴展定義如下所示:
<xs:element name="Node">
<xs:complexType>
<xs:sequence>
<xs:element name="InnerNode" type="InnerNodeType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
命名空間在兩種模式中都有定義,我有兩種導入。當我使用示例xml驗證架構時,出現錯誤,並且InnerNode應該具有名稱空間,而不僅僅是Node元素。我嘗試使用帶有非限定值的表單屬性,但它沒有幫助 - 驗證器(XMLSpy)建議插入空的xmlns屬性。
是否可以定義不需要名稱空間(某些缺失屬性)的InnerNode元素?
編輯: 我沒有提到的是,在主XSD文件我用的是節點類型爲更大結構的一部分(這可能使得它更復雜一點):
<OuterNode> <!-- defined in main xsd -->
<ns:Node> <!-- defined in imported -->
<InnerNode> <!-- defined in main -->
<Value1>value 1</Value1>
<Value2>value 2</Value2>
</InnerNode>
</ns:Node>
</OuterNode>
是它有可能做到這一點?
一個小的技術性:你確實有一個架構由兩個模式文檔。但別擔心,沒有多少人知道這一點。 –