我想声明一个要包含在复杂类型声明中的元素,并且该元素具有强制属性:"option = MyOption",但"option"属性的值可以是任何值,具体取决于上下文.
也就是说:在使用包含此元素的复杂类型的任何文档中,具有某些未知值的属性"选项"应该是必需的.
例:
<xs:element name="SpecialOption" type="xs:string"/>
<xs:complexType name="SpecialOptions">
<xs:sequence>
<xs:element ref="SpecialOption" minOccurs="1" maxOccurs="100"/>
<xs:element ref="XXX"/>
</xs:sequence>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,复杂类型"SpecialOptions"中的"SpecialOption"元素应具有此必需属性.
我不知道如何在XSD中声明元素的强制属性,或者如何指定属性必须具有尚未知的值.
我有以下 XSD,当我尝试从中生成 XML 时,出现上述错误:错误!!!type 属性不能与 simpleType 或 complexType 一起出现。 在解决问题时需要您的帮助建议。
`<?xml version="1.0" encoding="utf-8"?><xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="InvoiceData" type="InvoiceData">
<xs:complexType name="InvoiceData">
<xs:sequence>
<xs:element name="HeaderFields" type="HeaderFields">
<xs:complexType name="HeaderFields">
<xs:sequence>
<xs:element name="CompanyId" type="xs:string" />
<xs:element name="ImageID" type="xs:string" />
<xs:element name="Incident" type="xs:string" />
<xs:element name="FacilityID" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>`
Run Code Online (Sandbox Code Playgroud)