2013-09-23 46 views
0

我有一个XML文档,我想从中提取某些值,其中之一是一个以管道分隔的值。我想借此管道分隔值,并把它变成两个属性......我希望有人用更熟悉XML转换可以帮助...XSLT - 如何将属性值分成2个属性

这里是我的XML:

<XML> 
    <FXTRANSACTION QUANTITY="1291.03" > 
    <INTERFACE TEMPLATEID="FX" /> 
    <WORKFLOWPROCESSING STPAUTHORIZE="TRUE" /> 
    <FXLEG LEGID="1" CUSTOMERID="|C|A|B"/> 
    </FXTRANSACTION> 
</XML> 

我想要将其转换为:

<XML Quantity="1291.03" TemplateId="FX" STPAUTHORIZE="TRUE" LEGID="1" CUSTOMERID1="A" CUSTOMERID1="B" CUSTOMERID1="C" LEGID="1"> 

任何帮助将不胜感激。我似乎无法创建正确的转换,这将同时提取我需要的值以及拆分我的CustomerId属性。

感谢您抽出时间来看看

+0

您的结果XML格式不正确,它包含具有相同名称的多个属性:'CUSTOMERID1'。属性名称必须是唯一的。 –

回答

0

在XSLT 1.0你需要一个递归模板来做到这一点。幸运的是它已经存在。转到www.exslt.org并查找str:tokenize模板。