不必对术语“架构”望而生畏。架构只不过是一种包含某些规则的 XML 文件,这些规则用来定义 XML 数据文件中能包含哪些内容,不能包含哪些内容。架构文件通常使用 .xsd 文件扩展名,而 XML 数据文件使用 .xml 扩展名。
程序可以使用架构来验证数据。架构为数据提供了结构框架,可以帮助创建者和任何其他用户理解数据。例如,如果用户输入无效数据(例如,在日期字段中输入文本),程序就会提示用户输入正确的数据。只要 XML 文件中的数据遵循给定架构中的规则,任何支持 XML 的程序都可以使用该架构读取、解释和处理这些数据。例如,如下图所示,Excel 和 Word 都可以根据 CAT 架构来验证 <CAT> 数据。
架构可能非常复杂,教您怎样创建架构并不属于本文的范畴。(另外,IT 部门人员应该知道如何创建架构。)不过,了解架构的外观还是有用的。下面的架构定义了 <CAT> ... </CAT> 标记集的规则。
- <xsd:element name="CAT"> <xsd:complexType>
- <xsd:sequence> <xsd:element name="NAME" type="xsd:string"/>
- <xsd:element name="BREED" type="xsd:string"/> <xsd:element name="AGE" type="xsd:positiveInteger"/>
- <xsd:element name="ALTERED" type="xsd:boolean"/> <xsd:element name="DECLAWED" type="xsd:boolean"/>
- <xsd:element name="LICENSE" type="xsd:string"/> <xsd:element name="OWNER" type="xsd:string"/>
- </xsd:sequence> </xsd:complexType>
- </xsd:element>
如果不理解上面示例中的内容,不必担心。只需要记住以下事项:
-示例架构中的行项目被称为“声明”。如果需要有关宠物的其他信息(例如其颜色或斑纹),IT 部门可能需要向架构中添加声明。您可以根据业务需求的变化来更改 XML 系统。
-声明对数据结构具有较强的控制能力。例如,<xsd:sequence> 声明表示 <NAME> 和 <BREED> 等标记必须按照上面列出的顺序显示。声明也可以控制用户输入的数据类型。例如,上面的架构要求猫的年龄必须为正数,而对于 ALTERED 和 DECLAWED 标记则必须为布尔值(TRUE 或 FALSE)。
-当 XML 文件中的数据遵循架构所提供的规则时,数据就是有效数据。根据架构检查 XML 数据文件的过程称为“验证”(逻辑意义上)。架构的突出优点是可以帮助防止数据损坏。使用架构也可以很容易地发现损坏的数据,因为 XML 遇到问题时将会停止运行。