【发布时间】:2015-02-11 13:40:46
【问题描述】:
请帮助解决这张地图。这里我有带有 HDR、DTL、FTR 的 XML; DTL 具有成对的 ITEM-BANK、ITEM-BANK、ITEM-BANK 详细信息。我需要将其展平以在一条记录中输出。
业务规则: 1) 如果 ID 元素为空,则为 COMMENT,并将在 COMMENT 输出 XML 中聚合“Party 的地址 + Party 的邮政编码 + 派对的 Postbus”。 2) 如果ID为BANK则有银行明细,TAG元素ID有ID值参考上面的ITEM。
XSD POCProducts : http://pastebin.com/XNaq40vZ
POC 地图:
预期/希望出局:
<ns0:PRODUCTS xmlns:ns0="http://TEST.Schema.FlatFile.POCProducts">
<PRODUCT ProdName="Wonder Power" ProdDesc="Wonder power DESC">
<ITEMS>
<ITEMS>
<ID>1010</ID>
<CODE>KG</CODE>
<UNIT>C0001</UNIT>
<DESC>Wonder Power 10*10ml</DESC>
<BankCode>A1</BankCode>
<BankDesc>Bank XXXX Code</BankDesc>
</ITEMS>
<ITEMS>
<ID>2020</ID>
<CODE>KG</CODE>
<UNIT>C0001</UNIT>
<DESC>Wonder Supper 50*50ml</DESC>
<BankCode>A2</BankCode>
<BankDesc>Bank yyyyy Code</BankDesc>
</ITEMS>
</ITEMS>
<VAT>5390</VAT>
<AMT>880099</AMT>
<Comment>Address of Party + Zipcode of Party + Postbus of Party</Comment>
</PRODUCT>
</ns0:PRODUCTS>
当前输出 XML:
<ns0:PRODUCTS xmlns:ns0="http://TEST.FlatFile.POCProducts">
<PRODUCT ProdName="Wonder Power" ProdDesc="Wonder power DESC">
<ITEMS>
<ITEMS>
<ID>1010</ID>
<CODE>KG</CODE>
<UNIT>C0001</UNIT>
<DESC>Wonder Power 10*10ml</DESC>
</ITEMS>
<ITEMS>
<ID>2020</ID>
<CODE>KG</CODE>
<UNIT>C0001</UNIT>
<DESC>Wonder Supper 50*50ml</DESC>
</ITEMS>
</ITEMS>
<VAT>5390</VAT>
<AMT>880099</AMT>
<Comments>Address of Party</Comments>
<Comments>Zipcode of Party</Comments>
<Comments>Postbus of Party</Comments>
</PRODUCT>
</ns0:PRODUCTS>
输入 XML:
<POC xmlns="http://TEST.Schema.FlatFile.POC">
<HDR xmlns="">
<ProdName>Wonder Power</ProdName>
<ProdDesc>Wonder power DESC</ProdDesc>
<Filler></Filler>
</HDR>
<DTL xmlns="">
<ID>1010</ID>
<CODE>KG</CODE>
<TAG>C0001</TAG>
<DESC>Wonder Power 10*10ml</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID>BANK</ID>
<CODE>A1</CODE>
<TAG>1010</TAG>
<DESC>Bank XXXX Code</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID>2020</ID>
<CODE>KG</CODE>
<TAG>C0001</TAG>
<DESC>Wonder Supper 50*50ml</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID>BANK</ID>
<CODE>A2</CODE>
<TAG>2020</TAG>
<DESC>Bank yyyyy Code</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID></ID>
<CODE></CODE>
<TAG>Address of Party</TAG>
<DESC></DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID></ID>
<CODE></CODE>
<TAG></TAG>
<DESC>Zipcode of Party</DESC>
<FILLER></FILLER>
</DTL>
<DTL xmlns="">
<ID></ID>
<CODE></CODE>
<TAG></TAG>
<DESC>Postbus of Party</DESC>
<FILLER></FILLER>
</DTL>
<FTR xmlns="">
<VAT>5390</VAT>
<TOTAL>880099</TOTAL>
<FILLER></FILLER>
</FTR>
</POC>
【问题讨论】:
-
POCProduct.xsd 中的 Comment 节点在哪里??
-
对不起,我错误地上传了MAP的旧图
-
“Party的地址+Party的Zipcode+Party的Postbus”只是需要硬编码还是来自输入?
-
它不是硬编码的...它来自输入文件它可以是输入文件中的任何值...
-
XSD POCProducts : pastebin.com/XNaq40vZ
标签: xml xsd biztalk biztalk-mapper