2015-01-15 36 views
0

鉴于将以下两个结构之间映射的DataMapper节点:骡ESB的DataMapper可以生成XSLT

晶格结构答:

<item> 
    <id>123</id> 
    <price>1</price> 
    <quantity>1</quantity> 
</item> 
<item> 
    <id>124</id> 
    <price>2</price> 
    <quantity>1</quantity> 
</item> 
<item> 
    <id>125</id> 
    <price>3</price> 
    <quantity>1</quantity> 
</item> 

结构B:

<total> 
    <totalPrice>6</totalPrice> 
</total> 

的骡ESB DataMapper将生成一个CTL2(Clover)转换。

能骡子ESB的DataMapper也产生XSLT

回答

1

你的意思是执行XML转换?因为如果是这种情况,那么是的。

如果您的意思是生成XSLT,技术上我可以,但是没有意义,因为XSLT并不意味着包含信息,而是要转换它。

+0

维克多:我所问的是谓能数据映射器被用来之间的两个XSD的地图,但不实际使用DataMapper的节点,但是生成XSLT,然后在使用它XSLT节点。可能吗? – user3407479 2015-01-15 22:05:03

+0

不,我是fraid datamapper根本不是XSLT编辑器。 – 2015-01-15 23:07:16

0

您可以使用XSLT组件并提供一个xsl文件。这个xsl文件将在2种不同的sml格式之间转换。

下面是同样的骡子流的例子。

<file:connector name="File" autoDelete="true" streaming="true" validateConnections="true" doc:name="File"/> 
<flow name="xsltexampleFlow"> 
    <file:inbound-endpoint path="D:\Mule_Work\Input" connector-ref="File" responseTimeout="10000" doc:name="File"/> 
    <logger message="------------------File Read------------" level="INFO" doc:name="Logger"/> 
    <mulexml:xslt-transformer xsl-file="D:\Mule_Work\Output\transform.xsl" maxIdleTransformers="2" maxActiveTransformers="5" doc:name="XSLT"/> 
    <logger level="INFO" doc:name="Logger" message="--------------XSL Transformation---------------------"/> 
    <file:outbound-endpoint path="D:\Mule_Work\Output" outputPattern="Output_transform.xml" connector-ref="File" responseTimeout="10000" doc:name="File"/> 
</flow>