我尝试从 XSD 生成 HTML 代码,并计划生成具有定义值的选择。我可以在 XSD 中使用限制,但我也需要选项的值。
<select name="Pizza" size="5">
<option value="P101">Pizza Napoli</option>
<option value="P102">Pizza Funghi</option>
</select>
用选项和值定义 HTML 选择的正确 XSD 是什么?
我尝试从 XSD 生成 HTML 代码,并计划生成具有定义值的选择。我可以在 XSD 中使用限制,但我也需要选项的值。
<select name="Pizza" size="5">
<option value="P101">Pizza Napoli</option>
<option value="P102">Pizza Funghi</option>
</select>
用选项和值定义 HTML 选择的正确 XSD 是什么?
一个标准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 时,您可以按照您想要的方式写出选项。