我想寫一個帶有未知命名元素的XML,其中包含一些已知屬性和無限數量的未知屬性。這是如何完成的,如下所示?要求具有未知名稱的元素的屬性?
XML
<Nodes>
<COM.US.BattleShip UUID="adaKAj62ja" "X="4" Y="4" cannons="5" crew="50">
<COM.US.Cruiser UUID="dhRTV53ga" "X="4" Y="4" destroyed="true">
</Nodes>
XSD
<xsd:element name="Nodes">
<xsd:complexType>
<xsd:sequence>
<xsd:element>
<xsd:complexType>
<xsd:attribute name="UUID" type="xsd:string" use="required"/>
<xsd:attribute name="X" type="xsd:int" use="required"/>
<xsd:attribute name="Y" type="xsd:int" use="required"/>
<xsd:attribute type="xsd:string" maxOccurs="unbounded"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
一些誤解先清除掉。在XML Schema中,所有元素都被命名。我懷疑你的意思是'名字未知的元素'而不是'匿名元素'。其次,在XML模式中,元素的類型決定了其內容。您無法描述具有未知名稱但已知內容的元素。最後,XML屬性不能重複,因此屬性聲明中的maxOccurs = unbounded是非法的。 – kimbert
謝謝我編輯過。所以如果我想擁有未知數量的屬性,我應該將它們添加爲內部標籤? – Josephus87