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 это регулярное выражение.

Другие вопросы по тегам