[BTS]在Mapping中使用Xslt

BizTalk Mapping中Xslt的应用

什么是XSLT

在计算机科学中, XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称,这是一种对XML文档进行转化的语言,XSLT中的T代表英语中的“转换”(transformation)。它是XSL(Extensible stylesheet language)规范的一部分。XSL规范的另外一部分是XSLF(F代表代表格式化对象Formatting Objects),又称XSL-FO或XSLFO。

为什么要用XSLT

我们已经知道,XML是一种电脑程序间交换原始数据的简单而标准的方法。它的成功并不在于它容易被人们书写和阅读,更重要的是,它从根本上解决了应用系统间的信息交换。因为XML满足了两个基本的需求:

(1).将数据和表达形式分离。就象天气预报的信息可以显示在不同的设备上,电视,手机或者其它。
(2).在不同的应用之间传输数据。电子商务数据交换的与日俱增使得这种需求越来越紧迫。
   
为了使数据便于人们的阅读理解,我们需要将信息显示出来或者打印出来,例如将数据变成一个HTML文件,一个PDF文件,甚至是一段声音;同样,为了使数据适合不同的应用程序,我们必须有能够将一种数据格式转换为另一种数据格式,比如需求格式可能是一个文本文件,一个SQL语句,一个HTTP信息,一定顺序的数据调用等。而XSLT就是我们用来实现这种转换功能的语言。将XML转换为HTML,是目前XSLT最主要的功能。

在BizTalk中有Mapping,其实,它也是一种被编译了的Xslt,在Mapping中还可以使用更高级的一些功能。但有是,可能您的业务数据已经定义好了,并在先前已经定义好了xslt文件,来对数据进行转换,这时,就没有必须再去一点一点的去画线了,直接引用定义好的xslt就可以了。

并且,对于Xslt很熟悉的开发人员来说,比使用Mapping更方便,更个性(自定义)化。

XSLT开发工具 MapForce

开发Xslt的工具很简单,记事本、XmlSpy、VS、etc。但我向大家强烈推荐使用Altova出品的MapForce,功能根相当强大。
主要功能,界面化的定义Xslt。另外,它可以完成下面几种应用场景:
1.XML - XML
2.XML - TEXT
3.DB - XML
4.DB - TEXT
5.TEXT - TEXT
它还集成了EDI、X12的数据定义。

EDI的定义
BizTalk Xslt Mapping


XML->TEXT的定义
BizTalk Xslt Mapping



Mapping中使用XSLT

下面举一个非常简单的例子


1. 定义输入消息

BizTalk Xslt Mapping

2. 定义输出消息

BizTalk Xslt Mapping


3. 使用MapForce完成一个Mapping功能

BizTalk Xslt Mapping


4. 得到Xslt数据

BizTalk Xslt Mapping


5. 保存成Xslt文件,在BizTalk Mapping中会用到。

BizTalk Xslt Mapping


6. 定义Mapping,在Custom Xsl Path中输入前面定义的xslt文件。

BizTalk Xslt Mapping

7. 保存,测试,可以得到2中的输出消息。


提示: 如果在Mapping中使用了xslt,那么,之前在Map中定义所有映射关系将不起作用了。


原文地址:https://www.cnblogs.com/xuzhong/p/814617.html