【发布时间】:2016-08-08 05:42:44
【问题描述】:
我是xslt 的新手,我需要动态更改标签名称。如 Source XML 所示,G_1 将包含 MapID 和 STAGE_COLUMN_NAME ,我们需要从这里获取 VO_ATTRIBUTE_NAME 并将其替换为 G_2 中的 Tag 名称。
源 XML -
<?xml version="1.0" encoding="UTF-8"?>
<DATA_DS>
<G_1>
<MapID>100</MapID>
<STAGE_COLUMN_NAME>XXDATE001</STAGE_COLUMN_NAME>
<VO_ATTRIBUTE_NAME>StartDate</VO_ATTRIBUTE_NAME>
</G_1>
<G_1>
<MapID>100</MapID>
<STAGE_COLUMN_NAME>XXDATE002</STAGE_COLUMN_NAME>
<VO_ATTRIBUTE_NAME>EndDate</VO_ATTRIBUTE_NAME>
</G_1>
<G_1>
<MapID>100</MapID>
<STAGE_COLUMN_NAME>XXVAL001</STAGE_COLUMN_NAME>
<VO_ATTRIBUTE_NAME>OrgID</VO_ATTRIBUTE_NAME>
</G_1>
<G_1>
<MapID>100</MapID>
<STAGE_COLUMN_NAME>XXVAL002</STAGE_COLUMN_NAME>
<VO_ATTRIBUTE_NAME>DepName</VO_ATTRIBUTE_NAME>
</G_1>
<G_1>
<MapID>200</MapID>
<STAGE_COLUMN_NAME>XXDATE001</STAGE_COLUMN_NAME>
<VO_ATTRIBUTE_NAME>StartDate Two</VO_ATTRIBUTE_NAME>
</G_1>
<G_1>
<MapID>200</MapID>
<STAGE_COLUMN_NAME>XXDATE002</STAGE_COLUMN_NAME>
<VO_ATTRIBUTE_NAME>EndDate Two</VO_ATTRIBUTE_NAME>
</G_1>
<G_1>
<MapID>200</MapID>
<STAGE_COLUMN_NAME>XXVAL001</STAGE_COLUMN_NAME>
<VO_ATTRIBUTE_NAME>DepID</VO_ATTRIBUTE_NAME>
</G_1>
<G_1>
<MapID>200</MapID>
<STAGE_COLUMN_NAME>XXVAL002</STAGE_COLUMN_NAME>
<VO_ATTRIBUTE_NAME>Division Name</VO_ATTRIBUTE_NAME>
</G_1>
<G_2>
<PHYSICAL_LINE_ID>123456789</PHYSICAL_LINE_ID>
<MapID>100</MapID>
<XXVAL002>Emergency Dept.-East - 400750</XXVAL002>
<XXDATE001>1951-01-01T00:00:00.000+00:00</XXDATE001>
<XXDATE002>4712-12-31T00:00:00.000+00:00</XXDATE002>
</G_2>
<G_2>
<PHYSICAL_LINE_ID>123456789</PHYSICAL_LINE_ID>
<MapID>200</MapID>
<XXVAL002>Emergency Division - 4353</XXVAL002>
<XXDATE001>1951-01-01T00:00:00.000+00:00</XXDATE001>
<XXDATE002>4712-12-31T00:00:00.000+00:00</XXDATE002>
</G_2>
</DATA_DS>
目标 XML
<?xml version="1.0" encoding="UTF-8"?>
<DATA_DS>
<G_2>
<PHYSICAL_LINE_ID>100000007956555</PHYSICAL_LINE_ID>
<DepName>Emergency Dept.-East - 400750</DepName>
<StartDate>1951-01-01T00:00:00.000+00:00</StartDate>
<EndDate>4712-12-31T00:00:00.000+00:00</EndDate>
</G_2>
<G_2>
<PHYSICAL_LINE_ID>100000007956555</PHYSICAL_LINE_ID>
<Division Name>Emergency Division - 4353</Division Name>
<StartDate Two>1951-01-01T00:00:00.000+00:00</StartDate Two>
<EndDate Two>4712-12-31T00:00:00.000+00:00</EndDate Two>
</G_2>
</DATA_DS>
如果可能,请帮助我提供xslt 代码或任何有关此方向的提示。
【问题讨论】: