Как сбросить тип значения элемента XSD и сохранить атрибут?

#xml #xsd

#xml #xsd

Вопрос:

Я хочу установить, XSD что Parameter должно иметь значение только из типа XML

Если я заменю это:

  <xs:element name="Parameter">
   <xs:complexType mixed="true">
     <xs:attribute name="Name" use="required" type="xs:string"/>
   </xs:complexType>
 </xs:element>
  

с помощью этого:

 <xs:element name="Parameter">
  <xs:complexType>
    <xs:sequence>
      <xs:any minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
  

Я теряю Name атрибут… Как установить значение как единственно допустимое XML и сохранить атрибут Name ?

Ответ №1:

Просто установите определение атрибута после элемента sequence.

 <xs:element name="Parameter">
  <xs:complexType>
    <xs:sequence>
      <xs:any minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="Name" type="xs:string" use="required" />
  </xs:complexType>
</xs:element>