可以用任意数量的元素定义XML模式吗?

可以用任意数量的元素定义XML模式吗?,xml,xsd,schema,sequence,Xml,Xsd,Schema,Sequence,这是到目前为止我的代码,我的问题是如何在序列中定义元素? (序列中的每个元素还需要具有属性“name”和“Position”) ... 有许多方法可以定义序列中任意数量的元素。这里有一个简单的方法: <?xml version="1.0" encoding="UTF-8" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="FieldData">

这是到目前为止我的代码,我的问题是如何在序列中定义元素? (序列中的每个元素还需要具有属性“name”和“Position”)


...

有许多方法可以定义序列中任意数量的元素。这里有一个简单的方法:

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="FieldData">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="e1" type="eType"/>
        <xs:element name="e2" type="eType"/>
        <xs:element name="e3" type="eType"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="eType">
    <xs:attribute name="name" use="required"/>
    <xs:attribute name="Position" use="required"/>
  </xs:complexType>

</xs:schema>


如果这不符合您的需要,请提供更多详细信息。

我建议您查看。正如您将看到的,使用xs:attribute可以轻松地做您想做的事情。如果您说您不关心元素的名称,只要它具有正确的属性,那么在XSD 1.0中就无法做到这一点。但是我在这里疯狂地猜测,你的问题需要更加清楚。是的,所以我不关心每个元素的名称,只要其余属性是一致的。我想要的只是能够定义任意数量的元素。奇怪的是,使用标记也就足够了吗?是的,但是您将无法要求特定的属性,至少在XSD 1.0中是这样。
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="FieldData">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="e1" type="eType"/>
        <xs:element name="e2" type="eType"/>
        <xs:element name="e3" type="eType"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="eType">
    <xs:attribute name="name" use="required"/>
    <xs:attribute name="Position" use="required"/>
  </xs:complexType>

</xs:schema>