XSD.类型定义不正确



我写了一个XML类型定义,但它不正确。我的错误在哪里?如何重写?

  <xs:complexType name="resourceKeyName">
    <xs:simpleContent>
      <xs:restriction base="xs:string">
        <xs:maxLength value="30"/>
        <xs:minLength value="5"/>
        <xs:pattern value="^ref-"/>
      </xs:restriction>   
    </xs:simpleContent>
  </xs:complexType>

====

==================================

更新

我像这样重写了我的代码:

<xs:complexType name="_inner">
    <xs:simpleContent>
      <xs:extension base="xs:string">
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>  
  <xs:complexType name="resourceKeyName">
    <xs:simpleContent>
      <xs:restriction base="_inner">
        <xs:maxLength value="30"/>
        <xs:minLength value="5"/>
        <xs:pattern value="^ref-"/>     
      </xs:restriction>   
    </xs:simpleContent>
  </xs:complexType>

代码现在是正确的,但我不喜欢这样的解决方案。

为什么不:

<xs:simpleType name="resourceKeyName">
    <xs:restriction base="xs:string">
        <xs:maxLength value="30" />
        <xs:minLength value="5" />
        <xs:pattern value="^ref-" />
    </xs:restriction>
</xs:simpleType>

您想要具有嵌套元素的类型,还是仅具有文本内容?如果你想要文本 - 你应该创建xs:simpleType.

最新更新