2012-08-01 186 views
1

DTD中是否有一種方法可爲給定屬性指定「模式」。XML DTD爲屬性指定一個cdata /文本模式

實施例:我想有稱爲「位置」的屬性,其是形式「X,Y」的字符串。

我想有類似的東西在我DTD:

<!ATTLIST MyElement 
    myattribute "*,*" 
> 

(我知道,在這個例子中的兩個屬性X和Y肯定會更好,但是這只是突出了什麼我想千萬)

感謝

回答

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> 

valuexs:pattern是正則表達式。

+0

非常感謝。我想我可能會從DTD切換到模式,似乎更方便。 – Undo 2012-08-01 15:29:40