FeaturesPluginsDocs & SupportCommunityPartners

XML 架构工具:分析 XML 架构

返回 XML 架构工具入门指南

本教程的目的旨在介绍通过使用 XML 架构工具中提供的查询来对 XML 架构进行分析的各种方法。

注意:无论 图标出现在何处,都可以单击它来查看教程中所描述的步骤的详细交互式演示。

返回页首


开始之前的准备

在执行本教程中分析部分的操作之前,您必须完成一些准备工作。请确保在执行下一部分(查找架构组件的使用实例)的操作之前完成了本部分中的步骤。

准备任务包括:

  1. 添加两个复杂类型HybridTypeSportsCarType),以便扩展和限制样例架构中的复杂类型。
  2. 添加元素替换
  3. 添加架构文件

添加复杂类型组件 HybridTypeSportsCarType

  1. 如果在 IDE 中未打开 mySchemaPrj,请立即将其打开,然后打开 newLoanApplication 架构文件。
  2. 右键单击该文件的标签并从弹出式菜单中选择“最大化窗口”以将视图最大化。
    通过将视图最大化,您可以在“架构”视图的列视图中查看有关架构的详细信息。
  3. 在“架构”视图中,单击列按钮 “架构”视图中的列按钮,以确保处于视图的列模式。
  4. newLoanApplication 架构文件的“架构”视图中,右键单击“复杂类型”节点,然后选择“添加复杂类型”。
    将打开“复杂类型”对话框。
  5. 执行以下操作:
    1. 在“名称”字段中,键入 HybridType
    2. 在“类型定义”下面,选择“使用现有定义”单选按钮。
      对话框的下面部分将发生变化以提供用于定义引用的选项。
    3. 在“全局引用”下面,选择“限制”单选按钮;在类型列表中,展开“复杂类型”节点,然后选择 "CarType" 节点。
      请注意,IDE 会显示将为此定义添加的源代码的预览。
    4. 单击“确定”。
      IDE 将添加一个新的复杂类型节点。该节点的标签是在“名称”字段中输入的名称 HybridType;它还提供了其他信息:(限制 CarType)

    查看演示

  6. newLoanApplication 架构文件的“架构”视图中,右键单击“复杂类型”节点,然后选择“添加复杂类型”。
    将打开“复杂类型”对话框。
  7. 执行以下操作:
    1. 在“名称”字段中,键入 SportsCarType
    2. 在“类型定义”下面,选择“使用现有定义”单选按钮。
      对话框的下面部分将发生变化以提供用于定义引用的选项。
    3. 在“全局引用”下面,选择“扩展”单选按钮;在类型列表中,展开“复杂类型”节点,然后选择 "CarType" 节点。
    4. 单击“确定”。
      IDE 将添加一个新的复杂类型节点。该节点的标签是在“名称”字段中输入的名称 SportsCarType;它还提供了其他信息:(扩展 CarType)
    5. 从 IDE 主菜单中,选择“文件”>“全部保存”。

    查看演示

    现在,“架构”视图会包含所添加的复杂类型的节点:"HybridType" 和 "SportsCarType"。
    注意:如果架构中包含派生,则可以选择该派生(在本示例中为 HybridTypeSportsCarType),单击鼠标右键,然后选择“转至”>“定义”以直接导航至源定义。

添加元素替换:

  1. newLoanApplication 架构文件的“架构”视图中,单击“源”按钮。
  2. 在“源”视图中,在紧靠文件最后一行(该行用于结束架构定义)的前面添加以下行:
    <xs:element name="carLoanApplication" substitutionGroup="autoLoanApplication">
    </xs:element>
    
  3. 从 IDE 主菜单中,选择“文件”>“全部保存”。

查看演示

添加架构文件:

  1. 如果在 IDE 中未打开 mySchemaPrj,请立即将其打开。
  2. 在“项目”窗口中,展开 "mySchemaPrj" 项目节点,然后展开“源包”节点。
  3. 右键单击 "<缺省包>" 节点,然后选择“新建”>“文件/文件夹”。
    将打开“新建文件”向导。
  4. 在“选择文件类型”页的“类别”列表中选择 "XML" 节点,在“文件类型”列表中选择“XML 架构”,然后单击“下一步”。
  5. 在向导的“名称和位置”页的“文件名”字段中键入 newLoanHistory,接受其他缺省值(文件夹:src,目标名称空间:http://xml.netbeans.org/schema/newLoanHistory),然后单击“完成”。
    在“项目”窗口中,“源包”节点下面的 "<缺省包>" 节点现在会包含一个标记为 newLoanHistory.xsd 的子节点。同时,将选定新建的子节点,并且源代码编辑器中包含了 XML 架构文件 newLoanHistory.xsd 的标签。
  6. 在“架构”视图中,单击“源”按钮以转至该架构文件的“源”视图。
  7. 在“源”视图中,使用下面的样例代码替换现有内容。
    <?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>
    
  8. 从 IDE 主菜单中,选择“文件”>“全部保存”。

查看演示

返回页首


查找架构组件的使用实例

在此过程中,将使用“查找使用实例”命令来显示项目的两个 XML 架构文件中的组件使用实例。

注意:“查找使用实例”命令将显示当前 IDE 项目的所有 XML 架构、WSDL 和 BPEL 文件中的组件使用实例。

查找架构组件的使用实例:

  1. 如果在 IDE 中未打开 mySchemaPrj,请立即将其打开,然后打开 newLoanApplication 架构文件。
  2. 右键单击该文件的标签并从弹出式菜单中选择“最大化窗口”以将视图最大化。
    通过将视图最大化,您可以在“架构”视图的列视图中查看有关架构的详细信息。
  3. 在“架构”视图中,单击列按钮 “架构”视图中的列按钮,以确保处于视图的列模式。
  4. 在“架构”视图的第一列中,选择“复杂类型”节点。
  5. 在第二列中,选择 "AddressType" 节点,单击鼠标右键,然后从弹出式菜单中选择“查找使用实例”。
    IDE 将在其下面部分打开“XML 使用实例”窗口。“XML 使用实例”窗口包含两个窗格,每个窗格都有其自己的工具栏。
    • 左窗格(使用实例窗格)包含一个树,其中显示了 AddressType 的使用实例。
      通过使用此窗格中的工具栏按钮,您可以刷新窗格中的信息,展开和折叠树中的节点以及浏览找到的使用实例。请注意,在此窗格中单击刷新按钮时,IDE 将刷新两个窗格中的数据。
    • 右窗格(图形窗格)以图形方式显示了使用实例。如果调整窗口大小或将节点拖到窗格外部,您可以使用此窗格中的布局工具栏按钮 来刷新窗格中的图形。

    “XML 使用实例”窗口,单击以放大

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

      “XML 使用实例”窗口,包含 2 个文件节点的图形窗格

  7. 单击“XML 使用实例”窗口标题栏中的“关闭”按钮以关闭该窗口。

查看演示

返回页首


查找未使用的全局组件

在此过程中,将使用查询在样例贷款申请架构中查找在项目 mySchemaPrj 的任何架构文件中均未使用的全局组件。

将架构重构为单个根元素(“软百叶窗”设计模式)时,您可以使用此查询来标识顶级全局元素。

查找未使用的全局组件:

  1. 如果在 IDE 中未打开 mySchemaPrj,请立即将其打开。
  2. 在“项目”窗口中,选择 "newLoanApplication.xsd" 文件节点,单击鼠标右键,然后选择“查询”>“查找未使用的组件”。
    将打开一个对话框,您可以在其中排除全局元素。
  3. 在此对话框中,选中“排除全局元素”复选框,然后单击“确定”。
    将打开“XML 架构查询”窗口,其中包含一个结果树。查询找到 5 个未使用的组件:显示在“复杂类型”节点下面的 BorrowHybridTypeInternationalAddressTypeSportsCarType 以及显示在“简单类型”节点下面的 Lend(如下图所示)。
    状态栏还提供了有关查询结果的信息。

    查找未使用的全局组件,排除全局元素,找到 5 个未使用的组件

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

    查找未使用的全局组件,包含全局元素,找到 6 个未使用的组件

  6. 在“XML 架构查询”窗口的“查找未使用的”标签中,选择 "carLoanApplication" 节点,单击鼠标右键,然后选择“转至”>“源”。
    IDE 将打开“源”视图,并将光标置于 carLoanApplication 元素块的开始处。
  7. 单击“XML 架构查询”窗口标题栏中的“关闭”按钮以关闭该窗口。

查看演示

返回页首


查找复杂类型派生

在此过程中,将使用查询来查找在本教程的准备阶段所创建的派生。

查找全局复杂类型派生:

  1. 在“项目”窗口中,选择 "newLoanApplication.xsd" 文件节点,单击鼠标右键,然后选择“查询”>“查找复杂类型派生”。
    将打开“查找派生”对话框。
  2. 在复杂类型列表中,选择 "CarType",然后单击“确定”。
    将打开“XML 架构查询”,其中包含查询结果。该窗口中显示了您先前为 CarType 创建的派生。
    状态栏提供了有关结果的其他信息:在 CarType 上找到 1 个扩展和 1 个限制

    “XML 架构查询”窗口中的派生

  3. 单击“XML 架构查询”窗口标题栏中的“关闭”按钮以关闭该窗口。

查看演示

返回页首


查找替换组

在此过程中,将使用查询来查找在本教程的准备阶段所创建的元素替换。

查找替换组:

  1. 在“项目”窗口中,选择 "newLoanApplication.xsd" 文件节点,单击鼠标右键,然后选择“查询”>“查找替换组”。
    IDE 将在“XML 架构查询”窗口中显示您先前创建的替换,并且还在状态栏中提供结果信息(找到一个替换组)。在本示例中,autoLoanApplication 是头标元素,可以使用 carLoanApplication 来替换 autoLoanApplication

    “XML 架构查询”窗口中的替换组

  2. 单击“XML 架构查询”窗口标题栏中的“关闭”按钮以关闭该窗口。

查看演示

返回页首


后续步骤

检索和引用外部 XML 资源中的步骤说明了如何将外部资源检索到 IDE 项目中,然后在 XML 架构中引用这些资源。



返回页首


Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Open ESB - The Open Enterprise Service Bus Powered by