xslt地图 [英] xslt map
问题描述
我正在尝试下面的映射,
I am trying to do below mapping,
来源dataformat
source dataformat
< ns0:Root xmlns:ns0 =" http://schemas.microsoft.com/BizTalk/2003/aggschema">
  ; < InputMessagePart_0>
&NBSP; < ns1:Root xmlns:ns1 =" http://TestMap.bb_in">
&NBSP; &NBSP; < value> value_0< / value>
< value> value1< / value>
< value> value2< / value>
< value> value3< / value>
< value> value4< / value>
&NBSP; < / ns1:Root>
< / InputMessagePart_0>
< InputMessagePart_1>
&NBSP; < ns2:sp_in xmlns:ns2 =" http://TestMap.sp_in">
&NBSP; &NBSP; < id> 111< / id>
&NBSP; &NBSP; < name> vvv< / name>
&NBSP; &NBSP; < class> tenth< / class>
&NBSP; &NBSP; < school> schoolzphs< / school>
&NBSP; < / ns2:sp_in>
< / InputMessagePart_1>
< / ns0:Root>
<ns0:Root xmlns:ns0="http://schemas.microsoft.com/BizTalk/2003/aggschema">
<InputMessagePart_0>
<ns1:Root xmlns:ns1="http://TestMap.bb_in">
<value>value_0</value>
<value>value1</value>
<value>value2</value>
<value>value3</value>
<value>value4</value>
</ns1:Root>
</InputMessagePart_0>
<InputMessagePart_1>
<ns2:sp_in xmlns:ns2="http://TestMap.sp_in">
<id>111</id>
<name>vvv</name>
<class>tenth</class>
<school>schoolzphs</school>
</ns2:sp_in>
</InputMessagePart_1>
</ns0:Root>
映射:见下面的截图
目的地结果:
< ns0:Root
xmlns:ns0 =" http://TestMap.output">
< In> 111< / In>
<> vvv< / In>
< In> tenth< / In>
<> schoolzphs< / In>
< In> value_0< / In>
< In> 111< / In>
<> vvv< / In>
<>< tenth< / In>
<> schoolzphs< / In>
< ;在& gt; value1< / In>
<> 111< / In>
<> vvv< / In>
<> ;第十< / In>
<> schoolzphs< / In>
< In> value2< / In>
< In> 111< / In>
< In> vvv< / In>
< In> tenth< / In>
<> schoolzphs< ; / In>
< In> value3< / In>
< In> 111< / In>
<> vvv< /在>
< In> tenth< / In>
<> schoolzphs< / In>
<> ; value4< / In>
< / ns0:Root>
<ns0:Root
xmlns:ns0="http://TestMap.output">
<In>111</In>
<In>vvv</In>
<In>tenth</In>
<In>schoolzphs</In>
<In>value_0</In>
<In>111</In>
<In>vvv</In>
<In>tenth</In>
<In>schoolzphs</In>
<In>value1</In>
<In>111</In>
<In>vvv</In>
<In>tenth</In>
<In>schoolzphs</In>
<In>value2</In>
<In>111</In>
<In>vvv</In>
<In>tenth</In>
<In>schoolzphs</In>
<In>value3</In>
<In>111</In>
<In>vvv</In>
<In>tenth</In>
<In>schoolzphs</In>
<In>value4</In>
</ns0:Root>
预期结果应为:
< ns0:Root
xmlns :ns0 =" http://TestMap.output">
<> 111< / In>
< In> vvv< / In>
< In>十分< / In>
<> schoolzphs< / In>
< In> value_0< / In>
< In> value_1< / In>
< In> value_2< / In>
< In> value_3< / In>
< /跨度>& lt;> value_4< / In>
$
< / ns0:Root>
<ns0:Root
xmlns:ns0="http://TestMap.output">
<In>111</In>
<In>vvv</In>
<In>tenth</In>
<In>schoolzphs</In>
<In>value_0</In>
<In>value_1</In>
<In>value_2</In>
<In>value_3</In>
<In>value_4</In>
</ns0:Root>
此处" value" ;来自源和"In"的元素。来自目的地的元素是无界的。(xml数组类型的字段)
here "value" element from source and "In" element from destination is unbounded.(xml array kind of field)
请一些人帮我使用xslt或任何解决方案。
please some body help me with xslt or any solution.
问候,vishal
推荐答案
试试这个xslt:
Try this xslt:
<?xml version="1.0" encoding="utf-16"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:source="http://schemas.microsoft.com/BizTalk/2003/aggschema" xmlns:ns0="http://TestMap.output" xmlns:ns1="http://TestMap.bb_in" xmlns:ns2="http://TestMap.sp_in" version="1.0" exclude-result-prefixes="source">
<xsl:template match="source:Root">
<ns0:Root>
<xsl:variable name="part0" select="InputMessagePart_0/ns1:Root" />
<xsl:variable name="part1" select="InputMessagePart_1/ns2:sp_in" />
<In>
<xsl:value-of select="
part1 / id" />
< / In>
< In>
< xsl:value-of select ="
part1/id" /> </In> <In> <xsl:value-of select="
part1 / name" />
< / In>
< In>
< xsl:value-of select ="
part1/name" /> </In> <In> <xsl:value-of select="
这篇关于xslt地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!