【发布时间】:2019-03-11 06:35:38
【问题描述】:
给定一个已在命名空间中实施版本控制方案的 xml 文档,我可以应用什么 xslt 来转换所有 uri,将文档映射到新版本?
我不知道文档将使用哪些命名空间,也不知道文档中引用的组织方式。
例如
<a:add
xmlns:a="urn:_2018_1.a"
xmlns:b="urn:_2018_1.b"
xmlns:c="urn:_2018_1.c"
....
>
...
到
<a:add
xmlns:a="urn:_2019_1.a"
xmlns:b="urn:_2019_1.b"
xmlns:c="urn:_2019_1.c"
....
>
...
【问题讨论】:
-
使用这样的命名空间的人应该在黎明时被枪杀,但我想如果每个人都正确设计他们的 XML,XSLT 将变得多余......
-
@MichaelKay 总是需要将为一个目的正确设计的 XML 转换为为另一个目的正确设计的另一个 XML。
-
@Chomah 你确定你需要这样做吗?将 nodes 从旧的命名空间转换为新的就足够了,并将其留给 XSLT 处理器来提供必要的命名空间声明。