xml - 通过匹配其他组的节点来查找组中的节点
问题描述
我有这样的 XML 文档:
<groups>
<group id="A">
<file id="kr3" href="..."/>
<file id="6ft" href="..."/>
...
</group>
<group id="B">
<file id="8dg" href="..."/>
<file id="g32" href="..."/>
...
</group>
</groups>
<structs>
<struct id="abc1">
<filepointer id="kr3"/>
<filepointer id="8dg"/>
...
</struct>
<struct id="abc2">
<filepointer id="6ft"/>
<filepointer id="g32"/>
...
</struct>
</struct>
在 XSLT 中,我想找到 targetFileUrl。
struct
定义了不同group
节点的文件之间的映射。所以我提供 asourceUrl
和 a targetGroupId
。我想取出映射到的匹配节点struct
。
所以我需要这样:
- 来源hUrl =
'http://...'
- 目标组 ID =
'B'
- 源文件 ID =
//file[@href=$sourcehUrl]/@id
- 结构 ID =
//struct/filepointer[@id=$sourceFileId]/../@id
- 目标文件 ID = ???
- 目标文件网址 =
//file[@id=$targetFileId]/@href
如何找到与filepointer
给定结构中的一个匹配的正确文件 ID?
解决方案
推荐阅读
- c# - C# 将我的 JsonSchema 的属性转换为 Json Schema 并动态添加新字段
- angular - Angular 库编译:错误:无法读取未定义的属性“then”
- python - 加速文本文件的 DASK 包处理?
- dll - 缺少 api-ms-win-core-winrt-string-l1-1-0.dll
- python - 将列表拆分为最少数量的集合的最快方法,枚举所有可能的解决方案
- java - 将“Togglz”功能切换库添加到 Spring Boot REST API
- mysql - 带有 UNIX 时间戳的 MySQL 表 - 按时间戳排序并计算一行与前一行之间的差异
- google-apps-script - Google App Script:如何显示带有模板化 HTML 链接的 google 驱动器文件
- google-sheets - 在 Google 表格中按逗号分隔列表中的单个条目进行过滤
- html - 超过链接时移除手形光标