• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在当今使用XML解决真正的商业问题

发布: 2008-9-27 11:39 | 作者: 不详 | 来源: 测试时代 采编 | 查看: 18次 | 进入软件测试论坛讨论

领测软件测试网

  在这一步中我们要解决的最大的问题是怎样将我们的数据转变成合作者指定的格式。在这个例子中合作伙伴A要求运送详细信息如下:

<SHIPTO>
   <SHIPTONAME>John Doe</SHIPTONAME>
   <ADDRESS1>Street Address1</ADDRESS1>
   <ADDRESS2>Apt 1</ADDRESS2>
   <CITY>CityName</CITY>
   <STATE>ST</STATE>
   <ZIP>88888</ZIP>
   <COUNTRY>US</COUNTRY>
   <SHIPPING_METHOD>ups_ground</SHIPPING_METHOD>
</SHIPTO>

伙伴B的要求是:

<OrderShippingDetails>
   <Address line="1">John Doe</Address>
   <Address line="2">Street Address1</Address>
   <Address line="3">Apt 1</Address>
   <Address line="4">CityName,ST 88888</Address>
   <Address line="5">US</Address>
</OrderShippingDetails>
  
  这儿,我们看到问题存在于转换运送信息的时候。一个完全的订单是相当复杂的。让我们看一下XSL代码也就是转换我们的运送信息到输出适合合作伙伴A的需要:

<SHIPTO>
   <SHIPTONAME>
      <xsl:value-of select="OrderShipping_Details/Name"/>
   </SHIPTONAME>
   <ADDRESS1>
      <xsl:value-of select="OrderShipping_Details/Address1"/>
   </ADDRESS1>
   <ADDRESS2>
      <xsl:value-of select="OrderShipping_Details/Address2"/>
   </ADDRESS2>
   <CITY>
      <xsl:value-of select="OrderShipping_Details/City"/>
   </CITY>
   <STATE>
      <xsl:value-of select="OrderShipping_Details/State"/>
   </STATE>
   <ZIP>
      <xsl:value-of select="OrderShipping_Details/PostalCode"/>
   </ZIP>
   <COUNTRY>
      <xsl:value-of select="OrderShipping_Details/Country"/>
   </COUNTRY>
   <xsl:apply templates select="OrderShipping_Details/ShipMethod"/>
</SHIPTO>

还有转换我们的运送方法到合作者,我们调用这个模板:

<xsl:template match="ShipMethod">
   <xsl:element name="SHIPPING_METHOD">
   <xsl:choose>
      <xsl:when test=".[.='UPS Next Day Air Saver']">ups_next_day</xsl:when>
      <xsl:when test=".[.='Standard Shipping']">ups_ground</xsl:when>
      <xsl:when test=".[.='US Postal Service']">us_firstclass</xsl:when>
      <xsl:when test=".[.='Federal Express']">us_fedex_priority</xsl:when>
      <xsl:otherwise>UNKNOWN ?<xsl:value-of select="."/></xsl:otherwise>
   </xsl:choose>
   </xsl:element>
</xsl:template>

  XSL文件是这个应用程序真正的心脏。在步骤一中,处理程序知道如何把我们的数据转入我们内部的XML订单文档。文档元素之一指示了XSL文件的目录位置。在此步骤中,处理程序整理此文件,并使用它来转换到数据包和标签。在步骤三中,此处理程序动态地使用这些在标签中的信息来发送数据包。

  尽管,当前的系统要求支持发送订单给两个合作伙伴,我们能够简单的扩展这个应用程序支持多个伙伴。系统总是以同样的方式做步骤一和步骤二。我们可以简单地写一个XSL文件,这个文件将用来解决转换我们的数据时的细节问题。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

43/4<1234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网