2009-12-16 66 views
2

我的XML文件的結構如下圖所示我怎麼在我的XSD指定跳過屬性驗證的XML標籤

<outer> 
    <inner name="nam" attribute1="abc" attribute2="def" /> 
</outer> 

現在,我在「內部」標籤放心的唯一屬性是「名稱'屬性。除此之外,我不想對'內部'標籤的名稱或屬性數量應用任何限制。這將意味着,我的xml文件也可以像

<outer> 
     <inner name="nam2" wallace="abc" gromit="def" wererabbit="what" /> 
</outer> 

我仍然不過希望能夠利用這裏XSD.And來驗證我的XML文件的複雜類型我試圖在我的XSD做定義這個工作。但驗證失敗,因爲驗證程序顯然希望每個屬性都在xsd中指定,我無法這樣做,因爲屬性可以是任何內容,並且不是事先決定的。

<xs:complexType name="innerType"> 
<xs:attribute name="name" type="xs:string"/> 
</xs:complexType> 

這將讓我指定/忽略可變數量的屬性,併成功驗證XML我想知道是否有東西在XSD(如省略號吧?)。

感謝,

羅漢

回答

1

夥計們,

這是我的問題的有效XSD。感謝Mark。我對馬克道歉。我試圖讓anyAttribute在今天晚上全部工作,但由於某種原因,直到我按照下面的方式嘗試之後,它纔開始工作。如果您可以請重新發布您的答案,我會繼續並將其表決爲正確答案。

<xs:complexType name="innerType"> 
<xs:attribute name="name" type="xs:string" use="required"/> 
<xs:anyAttribute processContents="skip"/> 
</xs:complexType> 

感謝, 羅漢

+0

如何將轉換爲JAXB對象? – Aguid 2017-10-10 13:48:44