XML DTD为属性指定cdata / text模式

时间:2012-08-01 13:42:58

标签: xml dtd xml-dtd

在DTD中,有没有办法指定"模式"对于给定的属性。

示例:我想要一个名为" position "的属性这是" X,Y" 形式的字符串。

我想在我的DTD中有类似的东西:

<!ATTLIST MyElement 
    myattribute "*,*"
>

(我知道,对于这个例子,两个属性X和Y肯定会更好,但这只是为了突出我想要做的事情)

由于

1 个答案:

答案 0 :(得分:1)

您无法使用DTD指定模式。您可以使用模式执行此操作:

  <xs:element name="MyElement">
    <xs:complexType>
      <xs:attribute name="myattribute" use="required">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:pattern value="[^,]+,[^,]+"/>
            </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>

value中的xs:pattern是正则表达式。