千家信息网

如何使用XSL翻译Web服务应用程序

发表于:2025-11-18 作者:千家信息网编辑
千家信息网最后更新 2025年11月18日,这篇文章主要为大家展示了"如何使用XSL翻译Web服务应用程序",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用XSL翻译Web服务应用程序"这篇文章
千家信息网最后更新 2025年11月18日如何使用XSL翻译Web服务应用程序

这篇文章主要为大家展示了"如何使用XSL翻译Web服务应用程序",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用XSL翻译Web服务应用程序"这篇文章吧。

Web服务应用程序存在的一个常见问题是,真正的后端软件不支持xml(或者至少不支持你Web服务所使用的标准化的XML)。要解决这个问题,很多架构都实施了一个翻译阶段,用来解释收到的XML,并将它转换成为后端系统能够识别的更加适当的格式。虽然将XML翻译成不同的格式有很多种方式法,但是可扩展样式表语言(eXtensibleStylesheet Language,XSL)提供了一个强健的、标准的和对XML友好的解决方案。

一些常见的问题
在XML消息和将要处理它的应用程序之间,存在着很多种可能需要翻译的地方。但是,这也存在着很多常见的问题,包括:

查询(Lookup)
映射(Mapping)
聚合(Aggregation)
分割(Splitting)
公式(Formulas)
重排序(Reordering)
查询处理会接受收到的值,并为目标系统将它映射到不同的值。例如,你的XML有一个值是309,但是应用程序需要的值是"Uber Widget"。

映射在本质上是将来自一个字段的值重新分配为另一个值。例如,在XML里,你可能有一个AccountNumber元素,它需要被重新分配成为一个叫做CustomerAccountNumber的新元素。

聚合处理是将两个或者更多来自XML的项目组合成一个用于后端系统的单个项目。一个常见的例子是将姓和名字段组合成单一的姓名(字段)。分割是聚合的逆向操作,它是将XML的一个值分成两个或者更多分开的组件。

公式处理一般涉及对一个或者更多XML值的计算,以获得一个用于新应用程序的值。一个例子是利用XML里子定单来计算定单的总量。

最后,重排序是更改XML里项目的序列或者结构的处理,这样它们就能够符合目标系统所期望的序列或者结构。

映射举例
现在让我们用一个例子来更加仔细地看看这个过程。我们假设收到的XML就像Listing 1里的一样:

Listing 1: webserviceorder.xml

  8100  99213      2388    Uber Widget    15    10.95        6273    Flangeoid    10    52.00      

现在,我们的订单系统需要一个稍有不同的格式。我们所需要做的是将从Web服务收到的订单转换成为Listing 2里的这种格式。

Listing 2: applicationorder.xml

  99213  8100            2388      10.95      15      164.25              6273      52.00      10      520      

翻译

由于这是一个经过简化的例子,所以我们在转换格式的时候需要对XSL模板所做的只有不多的一些事情。我们要注意的第一件事是:我们必须映射一些元素:

把Order映射成NewOrder
把AccountNumber映射成CustomerAccountNumber
把OrderNumber映射成CustomerOrderNumber
把Item映射成OrderItem
把PricePer映射成CustomerPrice
然后,我们需要将OrderItem元素重新安排到一个叫做OrderItems的新元素之下。最后,我们加入一个叫做Subtotal的新元素,它会根据(商品)单价和数量进行计算。

映射翻译是最简单的,因为你只需要简单地在模板里定义新元素,并指明这个新元素拥有来自收到的XML文档里元素的值。对Items的重排序是通过将Item子模板调用放进一个叫做OrderItems的新元素里实现的。最后,使用一个简单的XPath表达式来进行计算。Listing 3显示了用来将收到的XML转换成针对应用程序的XML的XSL文档。

Listing 3: translate.xsl

                                                                                            

以上是"如何使用XSL翻译Web服务应用程序"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

元素 应用程序 程序 应用 服务 格式 系统 例子 常见 更多 问题 处理 不同 内容 模板 篇文章 项目 两个 公式 字段 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 机器 大数据库 软件开发需要什么电脑 门头沟区网络营销软件开发供应 连云港app手机软件开发 软件开发专业创业计划书 c 程序连接数据库脚本 腾讯微信服务器不保留聊天记录吗 进博会网络安全保卫工作 常熟什么是网络技术创新服务 云盟网络技术限公司 奉贤区品牌软件开发哪家好 华南农业大学种质资源数据库 为进一步维护网络安全 三道杠服务器视频教程 乱世王者服务器是什么 SPEEDFAN下载软件开发 气象网络安全检查表 华工数据库实验报告三 可上传视频的阿里云服务器 tof数据库 数据库怎么在电脑上运行 服务器显示器怎么进入 腾讯微信服务器不保留聊天记录吗 软件开发以用户需求为导向 电子软件开发学校费用 高中网络技术应用几本书 浙江巨声网络技术有限公司马俊 淄川企业管理软件开发报价 大数据库开发技术 马鞍山java软件开发
0