0 0

命名空间与类如何相互绑定?0

我有两个xsd文件,分别是one.xsd和two.xsd,并且在one.xsd中import了two.xsd,如one.xsd中有如下引用:
<xs:import namespace="urn:test:two" schemaLocation="two.xsd"/>
one.xsd中有个complex type名叫OneType,它依赖two.xsd中的一个complex type.如
<complexType name="OneType">
<sequence>
<element name="two" type="two:TwoType"/>
</sequence>
</complexType>


假如这两个文件是由web service服务器提供的,客户端根据这两个文件生成java代码,指定的包为同一个包名,如com.test.singlepackage,而服务端生成代码时分别为两个文件指定了不同的包名,如com.test.one和com.test.two,这样,客户端代码中是one.setTwo(com.test.singlepackage.Two),而服务端是one.setTwo(com.test.two.Two),这样客户端的代码转换为xml,然后传输到服务端后,能否正确的转换成服务端的代码形式,它是如何做到这一点的?

问题补充:大概知道是如何绑定的了。我们客户端在调用服务端的webservice时,要指定命名空间,可以算作入口命名空间,这样java在生成xml时,会从此入口命名空间开始依次找到各类型的的命名空间。

问题补充:所以即便两边对同样xsd指定包名不同也无所谓。
SOA 
2012年9月09日 09:58

1个答案 按时间排序 按投票排序

0 0

1、XML命名空间 用于避免元素命名冲突的,比如a:user b:user 两个user属于不同的命名空间,请参考
http://www.w3school.com.cn/xml/xml_namespaces.asp

2、xml绑定到Java对象。
   1、首先根据命名空间和元素名找相应的XML数据;
   2、通过反射赋值到Java对象上(如通过Field/Property等)。

XML:是用于描述和交换数据的,是一种文本形式,语言无关;

Java对象---->XML----->Java对象
       a.User------->×××----->b.User
       1 从a.User----->XML 会转化成如<user><id></id></user>
      2、XML----->b.User 可以读取标签 然后解析(此处利用了XML与语言无关做到的,只要符合某些规则即可);

2012年9月09日 10:49

相关推荐

    Absolute C++中文版(原书第2版)-完美的C++教程,文档中还包含英文版

    1.5 库与命名空间 24 1.5.1 库与include命令 24 1.5.2 命名空间 25 第2章 流程控制 30 2.1 布尔表达式 30 2.1.1 创建布尔表达式 30 2.1.2 布尔表达式求值 31 2.1.3 优先级原则 33 2.2 分支机制 37 2.2.1 ...

    asp.net学习积累的代码段

    查询.net的命名空间.txt 打印页面.txt 调用记事本.txt 定义连接类的静态方法.txt 动态添加控件.txt 读取xml数据文件代码.txt 对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度?).txt 根据不同的...

    asp.net面试题

    类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的...

    Silverlight2.0功能展示Demo源码

    通过 System.ServiceModel.Syndication 命名空间下的类处理 RSS/ATOM 数据 18、Silverlight(20) - 2.0通信之WebClient, 以字符串的形式上传/下载数据, 以流的方式上传/下载数据 介绍 Silverlight 2.0 详解WebClient...

    Spring.3.x企业应用开发实战(完整版).part2

    9.5.3 基于tx/aop命名空间的配置 9.6 使用注解配置声明式事务 9.6.1 使用@Transactional注解 9.6.2 通过AspectJ LTW引入事务切面 9.7 集成特定的应用服务器 9.7.1 BEA WebLogic 9.7.2 BEA WebLogic 9.8 小结 第10章 ...

    Spring3.x企业应用开发实战(完整版) part1

    9.5.3 基于tx/aop命名空间的配置 9.6 使用注解配置声明式事务 9.6.1 使用@Transactional注解 9.6.2 通过AspectJ LTW引入事务切面 9.7 集成特定的应用服务器 9.7.1 BEA WebLogic 9.7.2 BEA WebLogic 9.8 小结 第10章 ...

    DistributedTransactions

    .NET 中的分布式事务 什么是交易? 事务将多个任务绑定在一起。 例如,假设一个应用...System.Transactions 命名空间包含允许您编写自己的事务应用程序和资源管理器的类。 具体来说,您可以创建和参与一个或多个参与

    asp.net知识库

    C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    13.5.3表空间脱机与恢复 13.6本章小结 第14章 RAC安全性 14.1数据访问安全性 14.1.1 Oracle安全性解决方案 14.1.2 VPD和OLS策略 14.2 Database Vault部署 14.2.1 Database Vault软件安装 14.2.2 Database ...

    C#全能速查宝典

    分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用的属性、方法、类和各种技术,...

    C#微软培训资料

    15.5 抽象类与接口 .195 15.6 小 结 .196 第十六章 组织应用程序 .198 16.1 基 本 概 念 .198 16.2 使用名字空间 .200 16.3 使用指示符 .203 16.4 程 序 示 例 .206 16.5 小 结 .213 第十七章 文 件 ...

    CLR.via.C#.(中文第3版)(自制详细书签)Part1

    4.3 命名空间和程序集 4.4 运行时的相互联系 第5章 基元类型、引用类型和值类型 5.1 编程语言的基元类型 5.1.1 checked和unchecked基元类型操作 5.2 引用类型和值类型 5.3 值类型的装箱和拆箱 5.3.1 使用...

    CLR.via.C#.(中文第3版)(自制详细书签)

    4.3 命名空间和程序集 4.4 运行时的相互联系 第5章 基元类型、引用类型和值类型 5.1 编程语言的基元类型 5.1.1 checked和unchecked基元类型操作 5.2 引用类型和值类型 5.3 值类型的装箱和拆箱 5.3.1 使用接口...

    CLR.via.C#.(中文第3版)(自制详细书签)Part3

    4.3 命名空间和程序集 4.4 运行时的相互联系 第5章 基元类型、引用类型和值类型 5.1 编程语言的基元类型 5.1.1 checked和unchecked基元类型操作 5.2 引用类型和值类型 5.3 值类型的装箱和拆箱 5.3.1 使用...

    CLR.via.C#.(中文第3版)(自制详细书签)Part2

    4.3 命名空间和程序集 4.4 运行时的相互联系 第5章 基元类型、引用类型和值类型 5.1 编程语言的基元类型 5.1.1 checked和unchecked基元类型操作 5.2 引用类型和值类型 5.3 值类型的装箱和拆箱 5.3.1 使用...

    JavaScript王者归来part.1 总数2

     5.6.3 值与引用的相互转换:装箱和拆箱   5.7 类型识别与类型转换   5.7.1 运行时类型识别--两个运行的类型识别的例子   5.7.2 类型的自动转换及其例子   5.7.3 强制类型转换及其例子   5.7.4 高级用法-...

    Windows 系统错误代码简单分析

     0031 与系统连接的设备不能正常运转。  0032 其他进程正使用该文件,因此现在无法访问。  0033 另一进程已锁定该文件的某一部分,因此现在无法访问。  0034 驱动器中的软盘不正确。请将 %2 (卷标序列号:...

    Spring.net框架

    如果在你的设计中,类与类存在很强的相互关联,那么你会发现在重用这些组件时就存在很严重的问题。在 Step1到Step3-Reflection的例子中,我们试图 利用“针对接口编程”以及自己设计的Ioc对系统进行解耦。在Step3到...

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    科汛cms实现了“网站模板与程序完全分离”的新概念,独创ajax输出和JS标签跨站调用,支持不同频道、栏目、专题、内容页应用不同的模板,支持批量绑定模板,模板换肤更是一键之谈。 模板制作也非常方便,用户可以...

    开源中国源码

    用户之间相互解答,分享产品使用心得,只向用户推送自己关心的消息,扩大价值,压缩干扰。 &gt; 使用说明:请保留页面底部的 *powered by 28844. com* 感谢支持 在线地址: [28844.com](http://www.28844.com) | ...

Global site tag (gtag.js) - Google Analytics