向XSD添加字符串限制

时间:2016-08-18 02:44:14

标签: xml xsd xsd-validation xml-validation

我有以下Languages元素。对于每种语言,我希望该属性为" Subbed"或"被称为"。例如:

<Languages>
    <Language Type="Subbed">EN</Language>
    <Language Type="Dubbed">FR</Language>
</Languages>

这是我目前拥有的XSD - 我将如何添加&#34; subbed |配音&#34;限制?

<xs:element name="Languages">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="Language" maxOccurs="unbounded" minOccurs="0">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute type="xs:string" name="Type" use="optional"/>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

1 个答案:

答案 0 :(得分:1)

您可以使用枚举来实现目标:

<强>替换

def function(var, vartwo = var*2):
    return vartwo


print(function(7)) #should print 14
print(function(7,6)) #should print 6

<强>与

<xs:attribute type="xs:string" name="Type" use="optional"/>

并添加

<xs:attribute type="LanguageType" name="Type" use="optional"/>

<xs:simpleType name="LanguageType"> <xs:restriction base="xs:string"> <xs:enumeration value="Subbed"/> <xs:enumeration value="Dubbed"/> </xs:restriction> </xs:simpleType> 限制为Language/@TypeSubbed之一。

以上是适用于完整XSD的上述调整:

Dubbed

这将根据要求验证您的XML。