on" type="person_type"> <xsd:attribute name="shoes" type="shoe_color"/> </xsd:element>
<!ATTLIST person shoes (red | green | blue | yellow)>
DTD属性声明看来还算不错(可能在简明性方面更好),但如果您的模型在元素内容中放入 shoe_color ,DTD 就变得很直截了当:
清单 5:用于枚举元素的 XML模式语法
<xsd:element name="shoes" type="shoe_color"> W3C XML Schema 可以让 XML程序员表达一组新的对文档的声明性约束,而这是 DTD做得不够的地方。对许多程序员来说,在模式中使用 XML 实例语法还会对XML任务的不同部分产生更大的不一致性(当然,其他人不同意这种说法)。模式的目标当然是随着它们为人们逐步了解,以及开发者增强更多用于它们的工具,而在重要性和作用域方面得到增长。
一种在模式工作开始时得到飞跃的方法是将从现有 DTD 到 XML模式格式的转换自动化。很明显,自动转换无法对 XML模式本身添加新的表达能力;但自动化可以创建好的模板,从中指定人们希望施加的特定类型约束。 参考资料部分提供了到自动 DTD至模式转换工具的两个链接。 上一页 [1] [2] 上一页 [1] [2] [3]
|
|