分享
 
 
 

WebLogic Workshop 8.1中处理不带命名空间模式

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

摘要

将遗留应用程序或集成系统与BEA WebLogic Workshop集成在一起时,经常要用到XML和模式。然而,某些遗留系统在最初设计时并没有包括处理XML命名空间的功能。相反,这些遗留系统只接受不带目标命名空间的无格式XML消息,而这可能导致在WebLogic Workshop中出现冲突。事实上,可以在多个模式中定义名称相同的全局类型或元素。

本文描述了如何通过WebLogic Workshop和XMLBeans简单而有效地解决这个问题。本文假定您对XML模式和XMLBeans有一些基本了解。您可以下载本文中使用的示例。

简介

XMLBeans提供了一种处理XML的方法,即操作代表XML的Java类。这些类是使用XML适合的模式来创建的。可以使用XMLBeans来编译一个或多个模式文件,从而生成Java类型。

集成遗留解决方案时碰到的一个常见问题是,要与不同来源的多个模式打交道,而这些模式均未带有指定的目标命名空间。假如这些模式共享元素名称,WebLogic Workshop模式项目就无法成功编译生成的Java类型,而且还会出现诸如“Duplicate global type”或“Duplicate global element”这样的错误。下面举例说明这样一个场景。

场景实例

假设您使用WebLogic Workshop创建了一个新的应用程序。通常您会创建一个模式项目,导入您的模式,然后WebLogic Workshop将自动把这个模式编译为XMLBeans:

<xs:schema xmlns:po="http://openuri.org/easypo"

xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

<xs:element name="purchase-order" type="customer"/>

<xs:complexType name="customer"> <xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="address" type="xs:string"/>

</xs:sequence> </xs:complexType></xs:schema>

清单 1: Schema1.xsd

Schema1没有目标命名空间,所得到的XML文档中带有元素名称name和address,如下所示:

<?xml version="1.0" encoding="UTF-8"?><purchase-order

xmlns:po="http://openuri.org/easypo"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

<name>John</name>

<address>123 North First St</address></purchase-order>

清单 2: Sample1.xml

假如您尝试从这个模式生成Java类型,它将被正确地编译为一个XMLBean。现在可以导入另一个模式:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:foo="http://openuri.org/clientdb"

elementFormDefault="qualified">

<xs:element name="client-record" type="customer"/>

<xs:complexType name="customer"> <xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="address" type="xs:string"/>

<xs:element name="phone" type="xs:string"/>

</xs:sequence> </xs:complexType>

<xs:element name="purchase-order" type="customer"/></xs:schema>

清单 3: Schema2.xsd

Schema2 同样没有目标命名空间。下面的XML文档就是这个模式的一个实例,它带有元素名称name, address和 phone:

<?xml version="1.0" encoding="UTF-8"?><client-record

xmlns:foo="http://openuri.org/clientdb"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<name>Susan</name>

<address>6789 South Second St</address>

<phone>408-123-4567</phone></client-record>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有