我有两个输出 XML 数据的函数。理想情况下,我想将每个函数的输出组合成一个变量来解析数据。
在 SQL 术语中,每个函数都可以通过属性 PageId... 通过内部连接连接在一起,但在 XSLT 中不允许连接(或者至少据我所知)。
关于组合这些功能的最干净/最简单的方法有什么建议吗?我调用的函数是内置在 cms 中的,无法编辑。
更多信息:
第一个功能是站点地图。它列出了网站的网页 ID 及其级别。
第二个函数将我需要的网页 ID 及其元数据标签与站点地图结合起来。
我考虑为第二个函数 Page Ids 创建变量,但是带有元数据标签的页面数量发生了变化,我不相信这些变量支持动态名称。
如果我不够清楚,我很抱歉,因为 xslt 对我来说是新的。如果需要更多信息,请告诉我。
编辑:添加代码示例
<in:inputs xmlns:in="http://www.composite.net/ns/transformation/input/1.0">
<in:result name="SitemapXml">
<Page Id="a0a47ce1-6eba-4d29-a7a3-3749c768c7e7" isopen="true" xmlns="">
<Page Id="a3055286-0e90-4b04-99dd-fb1a61dde0bf" isopen='true' xmlns="">
<Page Id="da675b13-d4d3-42ab-acc1-82e2a5408100" isopen='true' iscurrent='true' Depth="2"/>
</Page>
</Page>
</in:result>
<in:result name="GetisrootXml">
<isroot PageId="a0a47ce1-6eba-4d29-a7a3-3749c768c7e7" Id="f8d4eea4-7070-4bc3-a804-e106697ffaa9" isroot="true" xmlns=""/>
<isroot PageId="f8e4adbc-2758-42d6-bc40-0192ba0107a6" Id="db62e132-3f3b-493f-917a-9e090f887f13" isroot="false" xmlns=""/>
</in:result>
</in:inputs>
我想要返回的内容:
<in:inputs xmlns:in="http://www.composite.net/ns/transformation/input/1.0">
<in:result name="SitemapXml">
<Page Id="a0a47ce1-6eba-4d29-a7a3-3749c768c7e7" isopen="true" xmlns="" isroot='true'>
</Page>
<Page Id="a3055286-0e90-4b04-99dd-fb1a61dde0bf" isopen='true' xmlns="">
<Page Id="da675b13-d4d3-42ab-acc1-82e2a5408100" isopen='true' iscurrent='true' Depth="2"/>
</in:result>
</in:inputs>
由此,我想进一步更改输出以满足我的需要(添加标签以供显示)。为了达到这一点,需要将 isroot 属性附加到站点地图。