< 上一课 | 下一课 >

课程 1.3:编辑并验证 XML 模式

开始之前,必须先完成课程 1.2:添加模式组件

进行更改并查看重构的工作方式

当模式变得更大和更复杂时,它将具有更多类型定义以及对那些类型的引用。因此,在已定义类型并创建对该类型的十个引用之后,并且您想要更改该类型的名称,那将会发生什么?XML 模式编辑器具有内置的重构机制,它将自动传播更改,意味着您不必进行任何手工更新。下列步骤说明了此功能。

在 University.xsd 文件中,已经定义了称为 Faculties 的简单类型。在 Student 复杂类型中具有对此类型的引用。您已经决定将简单类型的名称更改为 Faculty:

  1. 在“设计”视图中,右键单击 Faculties 简单类型,然后选择重构 > 重命名
  2. 新建名称字段中,输入 Faculty 并单击确定
  3. 现在,切换至“源代码”视图,此视图使您能够查看源代码。注意 major 元素的类型已自动更改为 tns:Faculty。

更改名称空间前缀和目标名称空间

名称空间提供了一种方法,用以标识元素或属性的出处。

在 University.xsd 模式中,目标名称空间是 http://www.example.org/University。它是由模式元素中的 targetNamespace 属性指示的。这意味着在此模式中定义的所有类型都属于目标名称空间 http://www.example.org/University。

模式元素中的下一行定义此目标名称空间的前缀 tns:
xmlns:tns="http://www.example.org/University"
要引用在此模式中定义的类型,必须使用这个已定义的前缀。查看“源代码”视图,并注意 major 元素和 student 元素如何引用该类型,如下所示:
<element name="major" type="tns:Faculty"/>
<element name="student" type="tns:Student"/>

如果要更改模式的名称空间前缀或目标名称空间,您可以使用“设计”视图。请执行以下步骤:

  1. 在“设计”视图中选择 University 模式。
  2. 转至“属性”视图并将前缀更改为 univ
  3. 将目标名称空间更改为 http://www.utoronto.ca
  4. 查看“源代码”视图。注意,将自动更改模式元素的属性和所有类型的前缀。
现在,您的代码看起来应类似如下:
“源代码”视图

验证模式

XML 模式编辑器的另一个有用功能是增量验证功能。在您保存 XML 模式文件后,您可以在“导航器”视图中右键单击该文件,然后单击验证。任何验证错误都报告在“问题”视图中,且“源代码”视图中的相应行将带有红色标记。

课程要点

XML 模式编辑器提供一些工具,使能够在一步之内即可轻松做出将影响多个依赖项的更改。此外,该编辑器还提供一些简单方法,用以指定名称空间详细信息并验证文件语法。

在本课中,您已学习如何执行下列操作:
  • 进行更改并查看重构的工作方式
  • 更改名称空间前缀和目标名称空间
  • 验证 XML 模式
< 上一课 | 下一课 >