Как сгенерировать "выбор 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 вы можете выписывать параметры так, как вам удобно.