知道XSD用于验证程序的XML配置文件

时间:2015-07-22 20:16:52

标签: python xml deployment xsd

我知道如何编写XML和XSD文件,但这是我第一次在开发中实际使用它们。属性schemaLocation(例如<note xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com note.xsd">)有什么意义,因为它不能用于加载XML文件应该遵守的XSD文件?

这是我的情况。项目要求是具有输入XML配置文件,并为其提供XSD文件。程序运行时,它首先根据XSD架构验证XML。我的问题是,该程序如何知道XSD文件?它是通过命令行参数传递的,通过解析schemaLocation的字符串获得,还是可以硬编码到程序中,因为输入文件的模式永远不会改变(或者至少它的名称不会改变) ?

验证程序的xml配置文件的“常用做法”是什么?

1 个答案:

答案 0 :(得分:1)

  

属性schemaLocation

的重点是什么

xsd:schema/@schemaLocation属性提供了有关用于此XML文档的XSD位置的提示。

  

因为它不能用于加载XML文件应该遵守的XSD文件吗?

是的,它确实可用于查找和加载XML应该遵守的XSD文件。

  

我的问题是,程序如何知道XSD文件?

最常见的方法是将schemaLocation用于命名空间XML,将noNamespaceSchemaLocation用于没有命名空间的XML。默认情况下,符合XML的解析器通常会使用这些属性来定位XSD。

  

是否通过解析获得的命令行参数传递   schemaLocation的字符串,或者可以将其硬编码到程序中   输入文件的模式永远不会改变(或至少它的名称   不会改变)?

所有这些选项都是可能的,但如上所述,schemaLocationnoNamespaceSchemaLocation是最常见的。