【发布时间】:2011-10-21 17:34:50
【问题描述】:
需要将系统A的请求转化为fint系统B的请求。
假设我有一个来自系统 A 的 XML 文档,如下所示:
<root>
<Bundle>
<authors>
<author>
<authorID>100</authorID>
<authorName>Kathisiera</authorName>
</author>
<author>
<authorID>200</authorID>
<authorName>Bates</authorName>
</author>
<author>
<authorID>300</authorID>
<authorName>Gavin King</authorName>
</author>
</authors>
<books>
<book>
<bookOrderID>1111</bookOrderID>
<bookName>Head First Java</bookName>
<bookRefID>100</bookRefID>
</book>
<book>
<bookOrderID>5555</bookOrderID>
<bookName>Head First Servlets</bookName>
<bookRefID>200</bookRefID>
</book>
<book>
<bookOrderID>1111</bookOrderID>
<bookName>Hibernate In Action</bookName>
<bookRefID>300</bookRefID>
</book>
</books>
</Bundle>
我必须把这个请求放入系统B的请求结构中:
<root>
<Bundle>
<authors>
<author>
<authorID>100</authorID>
<authorName>Kathisiera</authorName>
</author>
<author>
<authorID>300</authorID>
<authorName>Gavin King</authorName>
</author>
</authors>
<books>
<book>
<bookOrderID>1111</bookOrderID>
<bookName>Head First Java</bookName>
<bookRefID>100</bookRefID>
</book>
<book>
<bookOrderID>1111</bookOrderID>
<bookName>Hibernate In Action</bookName>
<bookRefID>300</bookRefID>
</book>
</books>
</Bundle>
<Bundle>
<authors>
<author>
<authorID>200</authorID>
<authorName>Bates</authorName>
</author>
</authors>
<books>
<book>
<bookOrderID>5555</bookOrderID>
<bookName>Head First Servlets</bookName>
<bookRefID>200</bookRefID>
</book>
</books>
</Bundle>
首先,我必须根据bookOrderID 将book 分组到Bundle 中。然后通过将bookRefID 与authorID 进行比较,将author 分组到Bundle 中。
我尝试使用 xslt 的key() generate-id() 函数。但无法得到预期的结果。
请帮助我解决问题。
【问题讨论】: