(注:这将是研究为了你们的产业而现存的标准的良好场所。检查大纲(Schema,译注:描述XML文件信息结构的文件,用来替代DTD的功能)或是DTD库(译注:DTD是文档类型声明,全称是Document Type Declaration)。这样你就不必做重复劳动了。)( 译注:在国内还不可能有行业标准Schema)
步骤二
处理程序依次整理在发件箱中的内部订单,并载入 XML 数据。于是它使用 XML DOM(译注,DOM是文档对象模型,全称是Document Object Model)查询文档,并且查找到合作伙伴指定的XSL文件的位置。处理程序载入正确的XSL文件并且将它合并入内部的XML订单数据来建立待发送的订单XML文档。如果这儿出现任何错误,处理程序保存内部XML订单到内部订单出错目录中。如果没有错误发生,内部的XML订单文档则被保存到存档目录中,并且新的外送文档将存在于合作者的发件箱目录中。
外送订单XML文档的特性:
这个文件包含了处理程序为了分发订单到给定合作伙伴的所需知道的所有信息。它包括两个主要的元素:标签和数据包
标签包含一个分发的方法(例如:"PostAsForm",或是"FTP")
标签包含任何所需的分发参数(例如:"PostToURL",或是"FTPassword")
数据包是为了加工合作伙伴订单数据的一个容器元素
数据包是合作伙伴指定格式的数据
在此给出的应用程序,订单数据从我们内部XML格式转化为合作者指定的XML格式
在这一步中我们要解决的最大的问题是怎样将我们的数据转变成合作者指定的格式。在这个例子中合作伙伴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的需要:
文章来源于领测软件测试网 https://www.ltesting.net/