FeaturesPluginsDocs & SupportCommunityPartners

工作手册:NetBeans Enterprise Pack 5.5 XML 架构工具演示

本文档用作工作手册,您可以使用它来复现 NetBeans Enterprise Pack 5.5 XML 架构工具演示中演示的操作。

有关使用 NetBeans IDE 的详细信息,请参见 NetBeans Web 站点中的文档页。

先决条件

本工作手册假定您具备了 XML(Extensible Markup Language,可扩展标记语言)的一些知识和经验。

系统要求

本工作手册假定您的系统满足 NetBeans Enterprise Pack 5.5 发行说明系统要求主题中指定的要求。

本工作手册所需的软件

在开始之前,您需要在计算机中安装以下软件:

  • 包含 NetBeans Enterprise Pack 5.5 的 NetBeans IDE 5.5(下载
  • 在本工作手册中,您将直接从 Internet 检索 UBL Order 架构。如果要脱机逐步执行本工作手册,您应该下载 Java WSDP。

目录

返回页首


创建 WebApplication 项目

通常,XML 架构用于定义在 Web 服务中使用的类型,因此,您将使用 Web 项目来包含我们的文档。

注意:在演示中不显示此步骤。

  1. 在 IDE 中,选择“文件”>“新建项目”。
  2. 在“类别”列表中,选择 "Web" 节点。
  3. 在“项目”列表中,选择“Web 应用程序”,然后单击“下一步”。
  4. 在“名称和位置”页的“项目名称”字段中,输入 WebApplication,然后指定项目位置。
  5. 接受所有其他缺省值和设置,然后单击“完成”。
    现在,“项目”窗口会包含一个标记为 WebApplication 的项目节点,并且在源代码编辑器中打开了 index.jsp 文件。
  6. 在源代码编辑器中,关闭 index.jsp

返回页首


添加 courier XML 架构文件

您将从创建 XML 架构文档入手,此文档用于定义包传送服务。

  1. 在 IDE 中打开 WebApplication 项目。
  2. 在“项目”窗口中,展开 "WebApplication" 项目节点。
  3. 选择“源包”节点,单击鼠标右键,然后选择“新建”>“文件/文件夹”。
    将打开“新建文件”向导。
  4. 在“选择文件类型”页的“类别”列表中选择 "XML" 节点,在“文件类型”列表中选择“XML 架构”,然后单击“下一步”。
  5. 在向导的“名称和位置”页的“文件名”字段中,键入 courier
  6. 接受其他缺省值,然后单击“完成”。
    在 XML 架构编辑器的“架构”视图中,将打开新文件 courier.xsd
  7. 右键单击该文件的标签并从弹出式菜单中选择“最大化窗口”以最大化“架构”视图。
    通过将视图最大化,您可以查看有关架构的详细信息。

返回页首


填充 courier XML 架构文件

您可以使用“设计”视图来快速填充架构,而无需了解如何定义 XML 架构的复杂细节。

  1. 在“架构”视图中,单击“设计”按钮以切换至“设计”视图。
    注意:如果看不到“组件面板”窗口,请从 IDE 主菜单中选择“窗口”>“组件面板”。
  2. 通过执行以下操作,添加一个名为 CourierType 的全局复杂类型:
    1. 在组件面板的“XML 架构组件”类别中,单击“复杂类型”图标,然后将其拖到架构设计区域中,紧靠在“复杂类型”节点的下面。
    2. 键入 CourierType,然后按 Enter 键。
  3. 通过执行以下操作,在 CourierType 复杂类型中添加一个名为 name 的元素:
    1. 在组件面板的“XML 组件”类别中,单击“元素”图标,然后将其拖到 CourierType 复杂类型上。
      请注意,IDE 会自动添加一个 Sequence 组件。
    2. 键入 name,然后按 Enter 键。
  4. 通过执行以下操作,在 CourierType 复杂类型中添加其他两个元素(startDatevehicle):
    1. 在组件面板的“XML 组件”类别中,单击“元素”图标,然后将其拖到 CourierType 复杂类型上。
    2. 键入 startDate,然后按 Enter 键。
    3. 在组件面板的“XML 组件”类别中,单击“元素”图标,然后将其拖到 CourierType 复杂类型上。
    4. 键入 vehicle,然后按 Enter 键。
  5. 通过执行以下操作,在 name 元素中添加两个属性(firstlast):
    1. 在组件面板的“XML 组件”类别中,单击“属性”图标,然后将其拖到 name 元素上。
    2. 键入 first,然后按 Enter 键。
    3. 在组件面板的“XML 组件”类别中,单击“属性”图标,然后将其拖到 name 元素上。
    4. 键入 last,然后按 Enter 键。

返回页首


更改 startDate 架构组件

您可以按名称、属性值来搜索 XML 架构组件,甚至使用正则表达式进行搜索。IDE 将突出显示搜索结果以便于进行浏览。

  1. 在“设计”视图中,单击“架构”按钮以切换至“架构”视图。
  2. 在“架构”视图中,单击树按钮 “架构”视图中的树按钮 以切换至视图的树模式。
  3. 单击“查找”工具栏按钮。
    您也可以从 IDE 主菜单中选择“编辑”>“查找”或按 Ctrl-F 组合键。
    “架构”视图底部将显示“查找”栏。
  4. 在“查找”框中单击鼠标左键,键入 startDate,然后按 Enter 键。
    IDE 将选定第一个匹配实例(与源代码中显示的一样)。
  5. 单击“查找”栏中的红色 "x" 图标 关闭“查找”栏 以关闭“查找”栏。
  6. 在“架构”视图中,右键单击 "startDate" 节点,然后从弹出式菜单中选择“定制”。
    将打开“本地元素定制器”对话框。
  7. 在“类型”下面,选择“使用现有类型”单选按钮,在列表中展开“内置类型”节点,选择 "date",然后单击“确定”。

返回页首


在“架构”视图中添加 courier 架构组件

与“设计”视图一样,您也可以在“架构”视图中方便地创建新的架构组件。

  1. 在“架构”视图的树模式中,选择“元素”节点,单击鼠标右键,然后从弹出式菜单中选择“添加元素”。
    将打开“元素”对话框。
  2. 在“名称”字段中,键入 courier
  3. 在“类型”下面,选择“使用现有类型”单选按钮,然后在列表中展开“复杂类型”节点。
  4. 选择 "CourierType",然后单击“确定”。

返回页首


检索外部资源

通常,重用 Internet 上提供的现有 XML 架构会更为方便。在本示例中,您将检索由 OASIS 组织定义的 UBL Order 架构。

注意:如果要脱机逐步执行本部分,您应该下载 Java WSDP。

  1. 如果未显示“输出”窗口,请选择“窗口”>“输出”。
    在 IDE 检索资源时,“输出”窗口中将显示信息消息。
  2. 在“项目”窗口中,展开 "WebApplication" 项目节点,然后展开“源包”节点。
  3. 选择“源包”节点,单击鼠标右键,然后选择“新建”>“文件/文件夹”。
  4. 在“新建文件”对话框的“类别”下面选择 "XML" 节点,然后在“文件类型”列表中选择“外部的 XML 架构文档”。
  5. 单击“下一步”。
    将打开“新建检索文档”页。
  6. 在“指定资源位置”页中,执行以下操作:
    1. 选择 "URL" 单选按钮。
    2. 在 "URL" 单选按钮下面的文本字段中,键入 http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Order-1.0.xsd
      在本示例中,您将直接从 URL 检索 UBL 样例架构(包含在 Java WSDP 2.0 版中)。
    3. 接受“保存到文件夹”字段的缺省值,然后单击“完成”。
    请注意在“输出”窗口中显示的信息。IDE 将显示要复制到项目文件夹中的文件,如果有任何错误,则会在“输出”窗口中显示它们。
  7. 单击“输出”窗口标题栏中的“关闭”按钮以关闭该窗口。

返回页首


引用外部架构

现在,您将添加一个 import 以引用刚检索的外部架构文件。

  1. courier.xsd 文件的“架构”视图中,选择“引用的架构”节点,单击鼠标右键,然后选择“添加”>“导入”。
    将打开“导入”对话框。
  2. 在“位置”列表中,依次展开“按名称空间”节点、"urn:oasis:names:specification:ubl:schema:xsd:Order-1.0" 节点,然后选择 "UBL-Order-1.0.xsd" 节点。
    IDE 将填充“位置”列表下面的“名称空间”字段,该字段包含以下值:urn:oasis:names:specification:ubl:schema:xsd:Order-1.0
  3. 在“新建前缀”字段中,键入 order,然后单击“确定”。
    IDE 将在架构文件中添加 import

返回页首


在“架构”视图中添加 delivery 架构组件

现在,您将添加另一个元素,该元素用于定义其自己的嵌套复杂类型。

  1. 在“架构”视图中,选择“元素”节点,单击鼠标右键,然后从弹出式菜单中选择“添加元素”。
    将打开“元素”对话框。
  2. 在“名称”字段中,键入 delivery
  3. 在“类型”下面,选择“内联复杂类型”单选按钮,然后单击“确定”。

返回页首


添加元素引用

元素可以由对其他元素的引用组成,即使这些元素是在其他架构文档中定义的。

  1. 在“架构”视图中,选择并右键单击 "delivery" 节点,然后从弹出式菜单中选择“添加”>“元素引用”。
    将打开“元素引用”对话框。
  2. 展开“引用的架构”节点 > import 节点 >“元素”节点。
  3. 选择 "Order" 节点,然后单击“确定”。
    IDE 将添加元素引用。该节点具有以下标签:Order [1..1](->)
  4. 在“架构”视图中,选择并右键单击 "delivery" 节点,然后从弹出式菜单中选择“添加”>“元素引用”。
    将打开“元素引用”对话框。
  5. 展开“元素”节点。
  6. 选择 "courier (CourierType 的实例)" 节点,然后单击“确定”。
    将在架构中添加新的元素引用。其标签为 courier [1..1](->)

返回页首


查找架构组件的使用实例

您将使用“转至”>“定义”命令以查看定义特定架构组件的位置。或者,也可以使用“查找使用实例”功能在 UBL-Order-1.0.xsd 架构文件中查找 Order 架构组件的所有使用实例。

  1. 选择并右键单击 "Order [1..1](->)" 节点,然后选择“转至”>“定义”。
    IDE 将在 XML 架构编辑器中打开 UBL-Order-1.0.xsd,并在该架构文件中突出显示 Order 元素。
  2. UBL-Order-1.0.xsd 文件的“架构”视图中,右键单击 Order 节点,然后选择“查找使用实例”。
    将在 IDE 的下面部分打开“XML 使用实例”窗口。
  3. 在“XML 使用实例”窗口的树窗格(左窗格)中,双击 (本地元素) ... 节点。
    IDE 将导航至 courier.xsd 文件的“源”视图,并突出显示元素引用定义块的第一行。
  4. 单击“XML 使用实例”窗口标题栏中的“关闭”按钮以关闭该窗口。

返回页首


应用设计模式

现在,您将使用设计模式向导来转换 XML 架构文件。

  1. 在“项目”窗口中,选择并右键单击 "courier.xsd" 节点,然后从弹出式菜单中选择“应用设计模式”。
    将打开“应用设计模式”对话框。
  2. 在“类型”下面,选择“不创建类型”单选按钮,然后单击“完成”。
    这会将“意大利香肠片”模式应用于架构文件。

返回页首


保存工作

现在,您将保存所做的工作,然后再继续执行本工作手册的下一部分。

  • 单击“全部保存”工具栏按钮。
    您也可以从 IDE 主菜单中选择“文件”>“全部保存”。

返回页首


添加 delivery XML 文档文件

您将在项目中添加一个受 XML 架构约束的文档文件(名为 delivery)以了解架构的使用方式。

  1. 在“项目”窗口中,展开 "WebApplication" 项目节点。
  2. 展开“源包”节点,右键单击 "<缺省包>" 节点,然后选择“新建”>“文件/文件夹”。
    将打开“新建文件”向导。
  3. 在“选择文件类型”页的“类别”列表中选择 "XML" 节点,在“文件类型”列表中选择“XML 文档”,然后单击“下一步”。
  4. 在“名称和位置”页的“文件名”字段中,键入 delivery
  5. 接受其他缺省值,然后单击“下一步”。
  6. 在“选择文档类型”页中,选择“受 XML 架构约束的文档”单选按钮,然后单击“下一步”。
  7. 在“架构选项”页中,单击“架构 URI”字段旁边的“浏览”按钮。
  8. 导航至 path-to-project\WebApplication\src\java,选择 "courier.xsd",然后单击“确定”。
    现在,IDE 已填充了“架构选项”页的字段。
  9. 从“根元素”下拉列表中选择 "delivery"。
  10. 单击“完成”。
    现在,源代码编辑器中包含了 delivery.xml 文件的标签,并且该标签是活动标签。

返回页首


使用代码完成

在源代码编辑器中键入时,IDE 将提示您从可用架构元素和属性中进行选择。这既节省了时间,又降低了出现键入错误的可能性。

  1. delivery.xml 文件的源代码编辑器中,将光标放在紧靠 </delivery> 行的上面。
  2. 键入 <(小于号)。
    将打开代码完成框。
  3. 选择 "courier",然后按 Enter 键。
  4. 键入右尖括号 (>)。
  5. 从代码完成框中选择 "</courier>",然后按 Enter 键。
  6. 将光标放在 <courier></courier> 标记之间,然后按 Enter 键以插入一行。
  7. 键入 <(小于号)。
    将打开代码完成框。
  8. 选择 "name",然后按 Enter 键。
  9. 按空格键。
    现在,将打开代码完成框,其中包含为 name 定义的属性的列表。
  10. 选择 "first",然后按 Enter 键。
  11. 按空格键。
    将打开代码完成框,其中包含为 name 定义的属性的列表。
  12. 选择 "last",然后按 Enter 键。
  13. 键入 />(正斜杠后跟大于号)以关闭定义。
  14. 单击“全部保存”工具栏按钮。
    您也可以从 IDE 主菜单中选择“文件”>“全部保存”。

返回页首


添加 schedule WSDL 文件

XML 架构通常由 Web 服务使用。现在,您将使用“新建 WSDL 文件”向导来创建基于 XML 架构文件的 Web 服务。

  1. 在“项目”窗口中,展开 "WebApplication" 项目节点。
  2. 选择“Web 页”节点,单击鼠标右键,然后选择“新建”>“文件/文件夹”。
    将打开“新建文件”向导。
  3. 在“选择文件类型”页的“类别”列表中选择“Web 服务”节点,在“文件类型”列表中选择 "WSDL",然后单击“下一步”。
  4. 在“名称和位置”页的“文件名”字段中,键入 schedule
  5. 选中“导入 XML 架构文件”复选框,然后单击“浏览”按钮以选择 "src/java/courier.xsd"。
  6. 单击“下一步”。
    将打开“抽象配置”页。
  7. 在“输入”下面的“消息部件名称”列中,将 "part1" 更改为 date,然后按 Enter 键。
  8. 在“输入”下面的“元素或类型”列中,单击省略号按钮。
    将打开“选择元素或类型”对话框。
  9. 展开“内置架构类型”节点,选择 "date" 节点,然后单击“确定”。
    现在,类型为 xsd:date
  10. 在“输出”下面的“消息部件名称”列中,将 "part1" 更改为 confirmed,然后按 Enter 键。
  11. 单击“完成”。
    现在,源代码编辑器中包含了 schedule.wsdl 文件的标签,并且该标签是活动标签。"WSDL" 视图是 WSDL 编辑器中的活动视图。

返回页首


在 schedule WSDL 文件中引用 XML 架构文件

通过使用 XML 架构中定义的元素,您可以创建新的 WSDL 消息部件,从而不仅可以指定内置类型,而且还可以指定在导入的文件中定义的那些类型。

  1. 从 IDE 主菜单中,选择“窗口”>“属性”以打开“属性”窗口。
  2. 在 "WSDL" 视图的“消息”节点下面,选择 "scheduleOperationRequest",单击鼠标右键,然后从弹出式菜单中选择“添加”>“部件”。
    IDE 将添加一个标记为 part1 的子节点。
  3. 选择新的 "part1" 节点,然后在属性窗口中执行以下操作:
    1. 将“名称”属性更改为 customer
    2. 在“元素或类型”属性中,单击省略号按钮。
      将打开“customer [部件] - 元素或类型”对话框。
    3. 展开“内置架构类型”节点,在“内置类型”节点下面选择 "string" 节点,然后单击“确定”。
      现在,类型为 xsd:string
  4. 在 "WSDL" 视图的“消息”节点下面,选择 "scheduleOperationReply",单击鼠标右键,然后从弹出式菜单中选择“添加”>“部件”。
    IDE 将添加一个标记为 part1 的子节点。
  5. 选择新的 "part1" 节点,然后在属性窗口中执行以下操作:
    1. 将“名称”属性更改为 courier
    2. 在“元素或类型”属性中,单击省略号按钮。
      将打开“courier [部件] - 元素或类型”对话框。
    3. 展开“内联架构类型”> "http://j2ee.netbeans.org/wsdl/schedule" >“引用的架构”> import >“元素”节点。
    4. 选择 "courier" 节点,然后单击“确定”。
      现在,类型为 ns1:courier

返回页首


使用验证

为确保您的文档符合定义的标准,您可以对该文件进行验证,并检查是否存在任何警告或错误。如果发现了任何问题,输出将直接提供指向源代码编辑器中的错误代码行的超级链接。

  • 单击“验证 XML”验证 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   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by