XML 架构工具:分析 XML 架构
最新更新日期:2006 年 10 月 21 日
返回 XML 架构工具入门指南
本教程的目的旨在介绍通过使用 XML 架构工具中提供的查询来对 XML 架构进行分析的各种方法。
注意:无论
图标出现在何处,都可以单击它来查看教程中所描述的步骤的详细交互式演示。
返回页首
开始之前的准备
在执行本教程中分析部分的操作之前,您必须完成一些准备工作。请确保在执行下一部分(查找架构组件的使用实例)的操作之前完成了本部分中的步骤。
准备任务包括:
- 添加两个复杂类型(HybridType 和 SportsCarType),以便扩展和限制样例架构中的复杂类型。
- 添加元素替换。
- 添加架构文件。
添加复杂类型组件 HybridType 和 SportsCarType:
- 如果在 IDE 中未打开 mySchemaPrj,请立即将其打开,然后打开 newLoanApplication 架构文件。
- 右键单击该文件的标签并从弹出式菜单中选择“最大化窗口”以将视图最大化。
通过将视图最大化,您可以在“架构”视图的列视图中查看有关架构的详细信息。
- 在“架构”视图中,单击列按钮
,以确保处于视图的列模式。
- 在 newLoanApplication 架构文件的“架构”视图中,右键单击“复杂类型”节点,然后选择“添加复杂类型”。
将打开“复杂类型”对话框。
- 执行以下操作:
- 在“名称”字段中,键入 HybridType。
- 在“类型定义”下面,选择“使用现有定义”单选按钮。
对话框的下面部分将发生变化以提供用于定义引用的选项。
- 在“全局引用”下面,选择“限制”单选按钮;在类型列表中,展开“复杂类型”节点,然后选择 "CarType" 节点。
请注意,IDE 会显示将为此定义添加的源代码的预览。
- 单击“确定”。
IDE 将添加一个新的复杂类型节点。该节点的标签是在“名称”字段中输入的名称 HybridType;它还提供了其他信息:(限制 CarType)。
查看演示
- 在 newLoanApplication 架构文件的“架构”视图中,右键单击“复杂类型”节点,然后选择“添加复杂类型”。
将打开“复杂类型”对话框。
- 执行以下操作:
- 在“名称”字段中,键入 SportsCarType。
- 在“类型定义”下面,选择“使用现有定义”单选按钮。
对话框的下面部分将发生变化以提供用于定义引用的选项。
- 在“全局引用”下面,选择“扩展”单选按钮;在类型列表中,展开“复杂类型”节点,然后选择 "CarType" 节点。
- 单击“确定”。
IDE 将添加一个新的复杂类型节点。该节点的标签是在“名称”字段中输入的名称 SportsCarType;它还提供了其他信息:(扩展 CarType)。
- 从 IDE 主菜单中,选择“文件”>“全部保存”。
查看演示
现在,“架构”视图会包含所添加的复杂类型的节点:"HybridType" 和 "SportsCarType"。
注意:如果架构中包含派生,则可以选择该派生(在本示例中为 HybridType 或 SportsCarType),单击鼠标右键,然后选择“转至”>“定义”以直接导航至源定义。
添加元素替换:
- 在 newLoanApplication 架构文件的“架构”视图中,单击“源”按钮。
- 在“源”视图中,在紧靠文件最后一行(该行用于结束架构定义)的前面添加以下行:
<xs:element name="carLoanApplication" substitutionGroup="autoLoanApplication">
</xs:element>
- 从 IDE 主菜单中,选择“文件”>“全部保存”。
查看演示
添加架构文件:
- 如果在 IDE 中未打开 mySchemaPrj,请立即将其打开。
- 在“项目”窗口中,展开 "mySchemaPrj" 项目节点,然后展开“源包”节点。
- 右键单击 "<缺省包>" 节点,然后选择“新建”>“文件/文件夹”。
将打开“新建文件”向导。
- 在“选择文件类型”页的“类别”列表中选择 "XML" 节点,在“文件类型”列表中选择“XML 架构”,然后单击“下一步”。
- 在向导的“名称和位置”页的“文件名”字段中键入 newLoanHistory,接受其他缺省值(文件夹:src,目标名称空间:http://xml.netbeans.org/schema/newLoanHistory),然后单击“完成”。
在“项目”窗口中,“源包”节点下面的 "<缺省包>" 节点现在会包含一个标记为 newLoanHistory.xsd 的子节点。同时,将选定新建的子节点,并且源代码编辑器中包含了 XML 架构文件 newLoanHistory.xsd 的标签。
- 在“架构”视图中,单击“源”按钮以转至该架构文件的“源”视图。
- 在“源”视图中,使用下面的样例代码替换现有内容。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://xml.netbeans.org/examples/targetNS"
xmlns:tns="http://xml.netbeans.org/examples/targetNS"
xmlns:la="http://xml.netbeans.org/examples/LoanApplication"
elementFormDefault="qualified">
<xsd:import namespace="http://xml.netbeans.org/examples/LoanApplication" schemaLocation="newLoanApplication.xsd"/>
<xsd:complexType name="PriorLoan">
<xsd:sequence>
<xsd:element name="Type" type="la:LoanType"></xsd:element>
<xsd:element name="State" type="la:StateType"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="History" type="tns:PriorLoan"></xsd:element>
</xsd:schema>
- 从 IDE 主菜单中,选择“文件”>“全部保存”。
查看演示
返回页首
查找架构组件的使用实例
在此过程中,将使用“查找使用实例”命令来显示项目的两个 XML 架构文件中的组件使用实例。
注意:“查找使用实例”命令将显示当前 IDE 项目的所有 XML 架构、WSDL 和 BPEL 文件中的组件使用实例。
查找架构组件的使用实例:
- 如果在 IDE 中未打开 mySchemaPrj,请立即将其打开,然后打开 newLoanApplication 架构文件。
- 右键单击该文件的标签并从弹出式菜单中选择“最大化窗口”以将视图最大化。
通过将视图最大化,您可以在“架构”视图的列视图中查看有关架构的详细信息。
- 在“架构”视图中,单击列按钮
,以确保处于视图的列模式。
- 在“架构”视图的第一列中,选择“复杂类型”节点。
- 在第二列中,选择 "AddressType" 节点,单击鼠标右键,然后从弹出式菜单中选择“查找使用实例”。
IDE 将在其下面部分打开“XML 使用实例”窗口。“XML 使用实例”窗口包含两个窗格,每个窗格都有其自己的工具栏。
- 左窗格(使用实例窗格)包含一个树,其中显示了 AddressType 的使用实例。
通过使用此窗格中的工具栏按钮,您可以刷新窗格中的信息,展开和折叠树中的节点以及浏览找到的使用实例。请注意,在此窗格中单击刷新按钮时,IDE 将刷新两个窗格中的数据。
- 右窗格(图形窗格)以图形方式显示了使用实例。如果调整窗口大小或将节点拖到窗格外部,您可以使用此窗格中的布局工具栏按钮
来刷新窗格中的图形。

有效工作提示
- 在图形窗格中,您可以右键单击某个架构组件(表示被查询组件的节点除外),然后从“转至”菜单中选择一个选项,以在“源”视图、“架构”视图或“设计”视图中直接导航至该组件。如果该架构组件扩展或限制了另一个架构组件,您可以从“转至”菜单中选择“定义”,以在 XML 架构编辑器的活动视图中直接导航至被扩展或限制的架构组件。
- 在“XML 使用实例”窗口的图形窗格中,可以使用以下信息来缩放、平移和拖动图形。
- 缩小:在图形中单击鼠标右键并向上拖动。
- 放大:在图形中单击鼠标右键并向下拖动。
- 平移:单击并朝任意方向拖动。
- 拖动节点:单击并拖动节点。
- 如果将节点拖到了显示区域以外,则可以使用以下任一方法将其拖回到显示区域内:
- 朝节点的方向平移图形,直至在显示区域再次看到该节点为止。
- 缩小图形,直至在显示区域看到该节点为止。
- 在“XML 使用实例”窗口的图形窗格工具栏中,单击布局按钮
。
- 要查找 LoanType 的使用实例,请执行以下操作:
- 在 newLoanApplication 架构文件的“架构”视图中,选择第一列的“简单类型”节点。
- 在视图的第二列中,选择 "LoanType" 节点,单击鼠标右键,然后从弹出式菜单中选择“查找使用实例”。
如果“XML 使用实例”窗口仍处于打开状态,IDE 将在其下面部分的“XML 使用实例”窗口中打开“查找 XML 使用实例”标签。结果会显示两个文件云,其中包含文件节点以及使用实例节点。在图形窗格中,您可以双击文件云以将其展开或折叠,也可以通过拖动云来移动云及其内容。
下面显示的图形窗格包含了展开的 newLoanHistory.xsd 和折叠的 newLoanApplication.xsd 文件云。

- 单击“XML 使用实例”窗口标题栏中的“关闭”按钮以关闭该窗口。
查看演示
返回页首
查找未使用的全局组件
在此过程中,将使用查询在样例贷款申请架构中查找在项目 mySchemaPrj 的任何架构文件中均未使用的全局组件。
将架构重构为单个根元素(“软百叶窗”设计模式)时,您可以使用此查询来标识顶级全局元素。
查找未使用的全局组件:
- 如果在 IDE 中未打开 mySchemaPrj,请立即将其打开。
- 在“项目”窗口中,选择 "newLoanApplication.xsd" 文件节点,单击鼠标右键,然后选择“查询”>“查找未使用的组件”。
将打开一个对话框,您可以在其中排除全局元素。
- 在此对话框中,选中“排除全局元素”复选框,然后单击“确定”。
将打开“XML 架构查询”窗口,其中包含一个结果树。查询找到 5 个未使用的组件:显示在“复杂类型”节点下面的 Borrow、HybridType、InternationalAddressType 和 SportsCarType 以及显示在“简单类型”节点下面的 Lend(如下图所示)。
状态栏还提供了有关查询结果的信息。

- 在“项目”窗口中,选择 "newLoanApplication.xsd" 文件节点,单击鼠标右键,然后选择“查询”>“查找未使用的组件”。
将打开一个对话框,您可以在其中排除全局元素。
- 在此对话框中,确保未选中“排除全局元素”复选框,然后单击“确定”。
IDE 将在“XML 架构查询”窗口(其中包含查询结果)中打开“查找未使用的”标签。请注意,结果现在会包含“元素”节点及其一个子节点 "carLoanApplication"。

- 在“XML 架构查询”窗口的“查找未使用的”标签中,选择 "carLoanApplication" 节点,单击鼠标右键,然后选择“转至”>“源”。
IDE 将打开“源”视图,并将光标置于 carLoanApplication 元素块的开始处。
- 单击“XML 架构查询”窗口标题栏中的“关闭”按钮以关闭该窗口。
查看演示
返回页首
查找复杂类型派生
在此过程中,将使用查询来查找在本教程的准备阶段所创建的派生。
查找全局复杂类型派生:
- 在“项目”窗口中,选择 "newLoanApplication.xsd" 文件节点,单击鼠标右键,然后选择“查询”>“查找复杂类型派生”。
将打开“查找派生”对话框。
- 在复杂类型列表中,选择 "CarType",然后单击“确定”。
将打开“XML 架构查询”,其中包含查询结果。该窗口中显示了您先前为 CarType 创建的派生。
状态栏提供了有关结果的其他信息:在 CarType 上找到 1 个扩展和 1 个限制。

- 单击“XML 架构查询”窗口标题栏中的“关闭”按钮以关闭该窗口。
查看演示
返回页首
查找替换组
在此过程中,将使用查询来查找在本教程的准备阶段所创建的元素替换。
查找替换组:
- 在“项目”窗口中,选择 "newLoanApplication.xsd" 文件节点,单击鼠标右键,然后选择“查询”>“查找替换组”。
IDE 将在“XML 架构查询”窗口中显示您先前创建的替换,并且还在状态栏中提供结果信息(找到一个替换组)。在本示例中,autoLoanApplication 是头标元素,可以使用 carLoanApplication 来替换 autoLoanApplication。

- 单击“XML 架构查询”窗口标题栏中的“关闭”按钮以关闭该窗口。
查看演示
返回页首
后续步骤
检索和引用外部 XML 资源中的步骤说明了如何将外部资源检索到 IDE 项目中,然后在 XML 架构中引用这些资源。
返回页首