Как сгенерировать "выбор HTML" из определения XSD

Я пытаюсь сгенерировать HTML-код из XSD и планирую создать выборку с определенными значениями. Я мог бы использовать ограничение в XSD, но мне тоже нужны значения опций.

<select name="Pizza" size="5">
      <option value="P101">Pizza Napoli</option>
      <option value="P102">Pizza Funghi</option>
</select>

Каким будет правильный XSD для определения HTML-выбора с параметрами и значениями?

1 ответ

Стандарт xs:restriction позволит вам разметить значения, но для описания я бы просто использовал пользовательское пространство имен поверх схемы. Что-то вроде этого сделало бы это:

 <xs:element name="Pizza" xmlns:pizza="http://my.custom.namespace/pizza">
   <xs:simpleType>
     <xs:restriction base="xs:string">
       <xs:enumeration value="P101" pizza:description="Pizza Napoli"/>
       <xs:enumeration value="P102" pizza:description="Pizza Funghi"/>
     </xs:restriction>
   </xs:simpleType>
 </xs:element> 

XML является расширяемым и поэтому является XML-схемой.

Преимущество этого подхода заключается в том, что вы все равно можете легко проверять данные по схеме (валидатор просто игнорирует пользовательское пространство имен), но при преобразовании в HTML вы можете выписывать параметры так, как вам удобно.

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