为什么要使用 XML Schema?
- Vorherige Seite Einführung in XSD
- Nächste Seite Wie verwendet man XSD?
XML Schema 比 DTD 更强大。
XML Schema 支持数据类型
XML Schema 最重要的能力之一就是对数据类型的支持。
通过对数据类型的支持:
- 可更容易地描述允许的文档内容
- 可更容易地验证数据的正确性
- 可更容易地与来自数据库的数据一并工作
- 可更容易地定义数据约束(data facets)
- 可更容易地定义数据模型(或称数据格式)
- 可更容易地在不同的数据类型间转换数据
编者注:数据约束,或称 facets,是 XML Schema 原型中的一个术语,中文可译为“面”,用来约束数据类型的容许值。
XML Schema 使用 XML 语法
另一个关于 XML Schema 的重要特性是,它们由 XML 编写。
由 XML 编写 XML Schema 有很多好处:
- 不必学习新的语言
- 可使用 XML 编辑器来编辑 Schema 文件
- 可使用 XML 解析器来解析 Schema 文件
- 可通过 XML DOM 来处理 Schema
- 可通过 XSLT 来转换 Schema
XML Schema 可保护数据通信
当数据从发送方被发送到接受方时,其要点是双方应有关于内容的相同的“期望值”。
通过 XML Schema,发送方可以用一种接受方能够明白的方式来描述数据。
一种数据,比如 "03-11-2004",在某些国家被解释为11月3日,而在另一些国家为当作3月11日。
但是一个带有数据类型的 XML 元素,比如:<date type="date">2004-03-11</date>,可确保对内容一致的理解,这是因为 XML 的数据类型 "date" 要求的格式是 "YYYY-MM-DD"。
XML Schema 可扩展
XML Schema 是可扩展的,因为它们由 XML 编写。
通过可扩展的 Schema 定义,您可以:
- 在其他 Schema 中重复使用您的 Schema
- Erstellen Sie Ihre eigenen Datentypen, die von Standardtypen abgeleitet sind
- Mehrere Schemas im gleichen Dokument referenzieren
Gut geformt ist nicht genug
Wir nennen Dokumente, die der XML-Syntax entsprechen, gut geformte XML-Dokumente, z.B.:
- Es muss mit einer XML-Deklaration beginnen
- Es muss eine eindeutige Wurzelelemente haben
- Der Anfangs-Tag muss mit dem End-Tag übereinstimmen
- Elemente sind auf Groß- und Kleinschreibung empfindlich
- Alle Elemente müssen geschlossen werden
- Alle Elemente müssen korrekt verschachtelt sein
- Spezielle Zeichen müssen durch Entitäten verwendet werden
Selbst wenn das Dokument in guter Form ist, kann nicht garantiert werden, dass es keine Fehler enthält, und diese Fehler können schwerwiegende Konsequenzen haben.
Überlegen Sie sich nachfolgendes Szenario: Sie haben 5 Packungen Laserdrucker bestellt, anstatt 5 Stück. Mit XML Schema werden die meisten solcher Fehler von Ihrem Validierungssoftware erfasst.
- Vorherige Seite Einführung in XSD
- Nächste Seite Wie verwendet man XSD?