首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

<转>替 SOAP 更新 XML Schema

2013-03-06 
转为 SOAP 更新 XML Schema?可视化 Schema 编辑如果您将 XSD Schema Infoset Model 和 Eclipse Modeling

<转>为 SOAP 更新 XML Schema


<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema?



<转>替 SOAP 更新 XML Schema可视化 Schema 编辑

如果您将 XSD Schema Infoset Model 和 Eclipse Modeling Framework (EMF) 插件安装到您的 Eclipse 中,您可以在您的工作台中看到样本编辑器。 ( 注意:要浏览这个编辑器不需要遵循本文)。在 Navigator 中右键单击 schema.xsd 文件,然后选择 Open With... , 然后是 Sample XML Schema Editor 。您将看到一个标准 Eclipse 编辑器,显示了常见的 Source 视图 ——这就是您打开的 .xsd 文件的具体 DOM 表示。

在编辑器的底部,在 Source 视图后面有两个标签——Semantics 和 Syntax 。这两个树形视图显示了 Schema 组件之间的抽象 Infoset 关联。例如,在 Semantics 视图,您可以看到 Type 的顶层条目—— 这就是所有的 Schema 声明的类型(简单类型和复杂类型),还不仅仅局限于顶层条目,也不仅仅局限于该文档(例如,通过包含或者导入来打开 Schema 文档)。

在本例中,我将把这个问题稍微简化一下。 MakeSoapCompatible.java 是一个程序,试图从 Schema 中获取 attributeDeclarations ,然后转换成为基本对等的 elementDeclaration s ,并显示一些提示。

很显然,如果在 complexType 的 particle 中已经存在同名的元素,一开始您无法将属性转变成为元素。因此,首先检查命名冲突,然后拒绝更改这些属性。为了简化这个实例,任意声明一些条件,使得 Schema 和程序不匹配。我并不更改那些带通配符的 Schema ,因为需要进行复杂的命名检查,才能确保更改的属性不会和元素发生冲突。也不更新那些使用了 #all 或者 #choice 作为排序的组,因为这将以无法预期的方式更改组的含义。

?

<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema?



<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema?



<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema?



<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema?



<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema?



<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema<转>替 SOAP 更新 XML Schema
<转>替 SOAP 更新 XML Schema?



样本代码

本文提供了一个样本程序 MakeSoapCompatible.java ,显示了一个实例。任何有更多兴趣的人可以从那里阅读更清楚的注释。另外,也包含了一个简单的 Schema 文档 MakeSoapCompatible.xsd ,显示了一个基本的订单,其中的属性将转变为元素;对您的其他 Schema 文档也可以运行该样本程序。如果要独立运行,至少需要 XSD Schema Infoset Model 和 Eclipse Modeling Framework 。

您可以下载样本 Zip 文件中的样本程序和实用程序(参见 参考资料)。

在 XSD Schema Infoset Model(版本 1.0.1 或者更高版本)中通常附带了其他两个实用 .java 文件,其中附带注释的代码也显示了其他一些实用技术。它们包括:

XSDSchemaQueryTools.java 展示了其他查询 Schema 组件的高级方法。

XSDSchemaBuildingTools.java 有一些易用的方法,可以通过编程来构建 Schema 。

?

热点排行