工作手册:NetBeans Enterprise Pack 5.5 XML 架构工具演示
最新更新日期:2006 年 10 月 24 日
本文档用作工作手册,您可以使用它来复现 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 项目来包含我们的文档。
注意:在演示中不显示此步骤。
- 在 IDE 中,选择“文件”>“新建项目”。
- 在“类别”列表中,选择 "Web" 节点。
- 在“项目”列表中,选择“Web 应用程序”,然后单击“下一步”。
- 在“名称和位置”页的“项目名称”字段中,输入 WebApplication,然后指定项目位置。
- 接受所有其他缺省值和设置,然后单击“完成”。
现在,“项目”窗口会包含一个标记为 WebApplication 的项目节点,并且在源代码编辑器中打开了 index.jsp 文件。
- 在源代码编辑器中,关闭 index.jsp。
返回页首
添加 courier XML 架构文件
您将从创建 XML 架构文档入手,此文档用于定义包传送服务。
- 在 IDE 中打开 WebApplication 项目。
- 在“项目”窗口中,展开 "WebApplication" 项目节点。
- 选择“源包”节点,单击鼠标右键,然后选择“新建”>“文件/文件夹”。
将打开“新建文件”向导。
- 在“选择文件类型”页的“类别”列表中选择 "XML" 节点,在“文件类型”列表中选择“XML 架构”,然后单击“下一步”。
- 在向导的“名称和位置”页的“文件名”字段中,键入 courier。
- 接受其他缺省值,然后单击“完成”。
在 XML 架构编辑器的“架构”视图中,将打开新文件 courier.xsd。
- 右键单击该文件的标签并从弹出式菜单中选择“最大化窗口”以最大化“架构”视图。
通过将视图最大化,您可以查看有关架构的详细信息。
返回页首
填充 courier XML 架构文件
您可以使用“设计”视图来快速填充架构,而无需了解如何定义 XML 架构的复杂细节。
- 在“架构”视图中,单击“设计”按钮以切换至“设计”视图。
注意:如果看不到“组件面板”窗口,请从 IDE 主菜单中选择“窗口”>“组件面板”。
- 通过执行以下操作,添加一个名为 CourierType 的全局复杂类型:
- 在组件面板的“XML 架构组件”类别中,单击“复杂类型”图标,然后将其拖到架构设计区域中,紧靠在“复杂类型”节点的下面。
- 键入 CourierType,然后按 Enter 键。
- 通过执行以下操作,在 CourierType 复杂类型中添加一个名为 name 的元素:
- 在组件面板的“XML 组件”类别中,单击“元素”图标,然后将其拖到 CourierType 复杂类型上。
请注意,IDE 会自动添加一个 Sequence 组件。
- 键入 name,然后按 Enter 键。
- 通过执行以下操作,在 CourierType 复杂类型中添加其他两个元素(startDate 和 vehicle):
- 在组件面板的“XML 组件”类别中,单击“元素”图标,然后将其拖到 CourierType 复杂类型上。
- 键入 startDate,然后按 Enter 键。
- 在组件面板的“XML 组件”类别中,单击“元素”图标,然后将其拖到 CourierType 复杂类型上。
- 键入 vehicle,然后按 Enter 键。
- 通过执行以下操作,在 name 元素中添加两个属性(first 和 last):
- 在组件面板的“XML 组件”类别中,单击“属性”图标,然后将其拖到 name 元素上。
- 键入 first,然后按 Enter 键。
- 在组件面板的“XML 组件”类别中,单击“属性”图标,然后将其拖到 name 元素上。
- 键入 last,然后按 Enter 键。
返回页首
更改 startDate 架构组件
您可以按名称、属性值来搜索 XML 架构组件,甚至使用正则表达式进行搜索。IDE 将突出显示搜索结果以便于进行浏览。
- 在“设计”视图中,单击“架构”按钮以切换至“架构”视图。
- 在“架构”视图中,单击树按钮
以切换至视图的树模式。
- 单击“查找”工具栏按钮。
您也可以从 IDE 主菜单中选择“编辑”>“查找”或按 Ctrl-F 组合键。
“架构”视图底部将显示“查找”栏。
- 在“查找”框中单击鼠标左键,键入 startDate,然后按 Enter 键。
IDE 将选定第一个匹配实例(与源代码中显示的一样)。
- 单击“查找”栏中的红色 "x" 图标
以关闭“查找”栏。
- 在“架构”视图中,右键单击 "startDate" 节点,然后从弹出式菜单中选择“定制”。
将打开“本地元素定制器”对话框。
- 在“类型”下面,选择“使用现有类型”单选按钮,在列表中展开“内置类型”节点,选择 "date",然后单击“确定”。
返回页首
在“架构”视图中添加 courier 架构组件
与“设计”视图一样,您也可以在“架构”视图中方便地创建新的架构组件。
- 在“架构”视图的树模式中,选择“元素”节点,单击鼠标右键,然后从弹出式菜单中选择“添加元素”。
将打开“元素”对话框。
- 在“名称”字段中,键入 courier。
- 在“类型”下面,选择“使用现有类型”单选按钮,然后在列表中展开“复杂类型”节点。
- 选择 "CourierType",然后单击“确定”。
返回页首
检索外部资源
通常,重用 Internet 上提供的现有 XML 架构会更为方便。在本示例中,您将检索由 OASIS 组织定义的 UBL Order 架构。
注意:如果要脱机逐步执行本部分,您应该下载 Java WSDP。
- 如果未显示“输出”窗口,请选择“窗口”>“输出”。
在 IDE 检索资源时,“输出”窗口中将显示信息消息。
- 在“项目”窗口中,展开 "WebApplication" 项目节点,然后展开“源包”节点。
- 选择“源包”节点,单击鼠标右键,然后选择“新建”>“文件/文件夹”。
- 在“新建文件”对话框的“类别”下面选择 "XML" 节点,然后在“文件类型”列表中选择“外部的 XML 架构文档”。
- 单击“下一步”。
将打开“新建检索文档”页。
- 在“指定资源位置”页中,执行以下操作:
- 选择 "URL" 单选按钮。
- 在 "URL" 单选按钮下面的文本字段中,键入 http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Order-1.0.xsd。
在本示例中,您将直接从 URL 检索 UBL 样例架构(包含在 Java WSDP 2.0 版中)。
- 接受“保存到文件夹”字段的缺省值,然后单击“完成”。
请注意在“输出”窗口中显示的信息。IDE 将显示要复制到项目文件夹中的文件,如果有任何错误,则会在“输出”窗口中显示它们。
- 单击“输出”窗口标题栏中的“关闭”按钮以关闭该窗口。
返回页首
引用外部架构
现在,您将添加一个 import 以引用刚检索的外部架构文件。
- 在 courier.xsd 文件的“架构”视图中,选择“引用的架构”节点,单击鼠标右键,然后选择“添加”>“导入”。
将打开“导入”对话框。
- 在“位置”列表中,依次展开“按名称空间”节点、"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。
- 在“新建前缀”字段中,键入 order,然后单击“确定”。
IDE 将在架构文件中添加 import。
返回页首
在“架构”视图中添加 delivery 架构组件
现在,您将添加另一个元素,该元素用于定义其自己的嵌套复杂类型。
- 在“架构”视图中,选择“元素”节点,单击鼠标右键,然后从弹出式菜单中选择“添加元素”。
将打开“元素”对话框。
- 在“名称”字段中,键入 delivery。
- 在“类型”下面,选择“内联复杂类型”单选按钮,然后单击“确定”。
返回页首
添加元素引用
元素可以由对其他元素的引用组成,即使这些元素是在其他架构文档中定义的。
- 在“架构”视图中,选择并右键单击 "delivery" 节点,然后从弹出式菜单中选择“添加”>“元素引用”。
将打开“元素引用”对话框。
- 展开“引用的架构”节点 > import 节点 >“元素”节点。
- 选择 "Order" 节点,然后单击“确定”。
IDE 将添加元素引用。该节点具有以下标签:Order [1..1](->)。
- 在“架构”视图中,选择并右键单击 "delivery" 节点,然后从弹出式菜单中选择“添加”>“元素引用”。
将打开“元素引用”对话框。
- 展开“元素”节点。
- 选择 "courier (CourierType 的实例)" 节点,然后单击“确定”。
将在架构中添加新的元素引用。其标签为 courier [1..1](->)。
返回页首
查找架构组件的使用实例
您将使用“转至”>“定义”命令以查看定义特定架构组件的位置。或者,也可以使用“查找使用实例”功能在 UBL-Order-1.0.xsd 架构文件中查找 Order 架构组件的所有使用实例。
- 选择并右键单击 "Order [1..1](->)" 节点,然后选择“转至”>“定义”。
IDE 将在 XML 架构编辑器中打开 UBL-Order-1.0.xsd,并在该架构文件中突出显示 Order 元素。
- 在 UBL-Order-1.0.xsd 文件的“架构”视图中,右键单击 Order 节点,然后选择“查找使用实例”。
将在 IDE 的下面部分打开“XML 使用实例”窗口。
- 在“XML 使用实例”窗口的树窗格(左窗格)中,双击 (本地元素) ... 节点。
IDE 将导航至 courier.xsd 文件的“源”视图,并突出显示元素引用定义块的第一行。
- 单击“XML 使用实例”窗口标题栏中的“关闭”按钮以关闭该窗口。
返回页首
应用设计模式
现在,您将使用设计模式向导来转换 XML 架构文件。
- 在“项目”窗口中,选择并右键单击 "courier.xsd" 节点,然后从弹出式菜单中选择“应用设计模式”。
将打开“应用设计模式”对话框。
- 在“类型”下面,选择“不创建类型”单选按钮,然后单击“完成”。
这会将“意大利香肠片”模式应用于架构文件。
返回页首
保存工作
现在,您将保存所做的工作,然后再继续执行本工作手册的下一部分。
- 单击“全部保存”工具栏按钮。
您也可以从 IDE 主菜单中选择“文件”>“全部保存”。
返回页首
添加 delivery XML 文档文件
您将在项目中添加一个受 XML 架构约束的文档文件(名为 delivery)以了解架构的使用方式。
- 在“项目”窗口中,展开 "WebApplication" 项目节点。
- 展开“源包”节点,右键单击 "<缺省包>" 节点,然后选择“新建”>“文件/文件夹”。
将打开“新建文件”向导。
- 在“选择文件类型”页的“类别”列表中选择 "XML" 节点,在“文件类型”列表中选择“XML 文档”,然后单击“下一步”。
- 在“名称和位置”页的“文件名”字段中,键入 delivery。
- 接受其他缺省值,然后单击“下一步”。
- 在“选择文档类型”页中,选择“受 XML 架构约束的文档”单选按钮,然后单击“下一步”。
- 在“架构选项”页中,单击“架构 URI”字段旁边的“浏览”按钮。
- 导航至 path-to-project\WebApplication\src\java,选择 "courier.xsd",然后单击“确定”。
现在,IDE 已填充了“架构选项”页的字段。
- 从“根元素”下拉列表中选择 "delivery"。
- 单击“完成”。
现在,源代码编辑器中包含了 delivery.xml 文件的标签,并且该标签是活动标签。
返回页首
使用代码完成
在源代码编辑器中键入时,IDE 将提示您从可用架构元素和属性中进行选择。这既节省了时间,又降低了出现键入错误的可能性。
- 在 delivery.xml 文件的源代码编辑器中,将光标放在紧靠 </delivery> 行的上面。
- 键入 <(小于号)。
将打开代码完成框。
- 选择 "courier",然后按 Enter 键。
- 键入右尖括号 (>)。
- 从代码完成框中选择 "</courier>",然后按 Enter 键。
- 将光标放在 <courier> 和 </courier> 标记之间,然后按 Enter 键以插入一行。
- 键入 <(小于号)。
将打开代码完成框。
- 选择 "name",然后按 Enter 键。
- 按空格键。
现在,将打开代码完成框,其中包含为 name 定义的属性的列表。
- 选择 "first",然后按 Enter 键。
- 按空格键。
将打开代码完成框,其中包含为 name 定义的属性的列表。
- 选择 "last",然后按 Enter 键。
- 键入 />(正斜杠后跟大于号)以关闭定义。
- 单击“全部保存”工具栏按钮。
您也可以从 IDE 主菜单中选择“文件”>“全部保存”。
返回页首
添加 schedule WSDL 文件
XML 架构通常由 Web 服务使用。现在,您将使用“新建 WSDL 文件”向导来创建基于 XML 架构文件的 Web 服务。
- 在“项目”窗口中,展开 "WebApplication" 项目节点。
- 选择“Web 页”节点,单击鼠标右键,然后选择“新建”>“文件/文件夹”。
将打开“新建文件”向导。
- 在“选择文件类型”页的“类别”列表中选择“Web 服务”节点,在“文件类型”列表中选择 "WSDL",然后单击“下一步”。
- 在“名称和位置”页的“文件名”字段中,键入 schedule。
- 选中“导入 XML 架构文件”复选框,然后单击“浏览”按钮以选择 "src/java/courier.xsd"。
- 单击“下一步”。
将打开“抽象配置”页。
- 在“输入”下面的“消息部件名称”列中,将 "part1" 更改为 date,然后按 Enter 键。
- 在“输入”下面的“元素或类型”列中,单击省略号按钮。
将打开“选择元素或类型”对话框。
- 展开“内置架构类型”节点,选择 "date" 节点,然后单击“确定”。
现在,类型为 xsd:date。
- 在“输出”下面的“消息部件名称”列中,将 "part1" 更改为 confirmed,然后按 Enter 键。
- 单击“完成”。
现在,源代码编辑器中包含了 schedule.wsdl 文件的标签,并且该标签是活动标签。"WSDL" 视图是 WSDL 编辑器中的活动视图。
返回页首
在 schedule WSDL 文件中引用 XML 架构文件
通过使用 XML 架构中定义的元素,您可以创建新的 WSDL 消息部件,从而不仅可以指定内置类型,而且还可以指定在导入的文件中定义的那些类型。
- 从 IDE 主菜单中,选择“窗口”>“属性”以打开“属性”窗口。
- 在 "WSDL" 视图的“消息”节点下面,选择 "scheduleOperationRequest",单击鼠标右键,然后从弹出式菜单中选择“添加”>“部件”。
IDE 将添加一个标记为 part1 的子节点。
- 选择新的 "part1" 节点,然后在属性窗口中执行以下操作:
- 将“名称”属性更改为 customer。
- 在“元素或类型”属性中,单击省略号按钮。
将打开“customer [部件] - 元素或类型”对话框。
- 展开“内置架构类型”节点,在“内置类型”节点下面选择 "string" 节点,然后单击“确定”。
现在,类型为 xsd:string。
- 在 "WSDL" 视图的“消息”节点下面,选择 "scheduleOperationReply",单击鼠标右键,然后从弹出式菜单中选择“添加”>“部件”。
IDE 将添加一个标记为 part1 的子节点。
- 选择新的 "part1" 节点,然后在属性窗口中执行以下操作:
- 将“名称”属性更改为 courier。
- 在“元素或类型”属性中,单击省略号按钮。
将打开“courier [部件] - 元素或类型”对话框。
- 展开“内联架构类型”> "http://j2ee.netbeans.org/wsdl/schedule" >“引用的架构”> import >“元素”节点。
- 选择 "courier" 节点,然后单击“确定”。
现在,类型为 ns1:courier。
返回页首
使用验证
为确保您的文档符合定义的标准,您可以对该文件进行验证,并检查是否存在任何警告或错误。如果发现了任何问题,输出将直接提供指向源代码编辑器中的错误代码行的超级链接。
- 单击“验证 XML”
按钮。
“输出”窗口中将显示验证结果。
返回页首
更多文档
返回页首