XML DTD Укажите шаблон данных / текст для атрибута.
Есть ли способ, в DTD, указать "шаблон" для данного атрибута.
Пример: я хочу иметь атрибут с именем "position", который представляет собой строку вида "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>
value
в xs:pattern
это регулярное выражение.