【发布时间】:2011-07-07 13:36:06
【问题描述】:
我有一个 XML 文件,它在许多地方使用 base 属性来继承多个文档中的数据类型。我想要的是使用 XSLT 处理文档,就好像它正在处理继承了所有内容的文档一样。尽管我对 XSLT 的了解非常少,但我还没有看到明显的方法来做到这一点。
当我说继承时,我指的是允许数据类型从另一个数据类型继承的 XML 基本属性。例如;
<parameter name="DeviceLog" access="readOnly">
<description>Vendor-specific log(s).</description>
</parameter>
<parameter base="DeviceLog" access="readOnly" activeNotify="canDeny">
</parameter>
这里的描述标签应该被第二个参数继承。因此,当我的 XSLT 脚本处理第二个参数时,它会将其读取为
<parameter name="DeviceLog" access="readOnly" activeNotify="canDeny">
<description>Vendor-specific log(s).</description>
</parameter>
也许这不能做?
编辑: 我所说的继承不是标准的。它只是由生成我正在处理的 XML 文件的人创建的东西。我必须编写自己的解决方案来合并所有“继承”的元素和属性。
【问题讨论】:
-
“XML 继承”没有一个广为人知的概念。你这是什么意思?您的问题高度缺乏诸如源 XML 文档、转换的所需输出以及转换的所有所需属性/规则/要求的解释等必要组成部分。请编辑问题并提供这些。
-
@Dimitre 自从我更新了我的问题以来,您的评论得到了很多赞成票,所以我一定遗漏了一些东西。我不明白还需要什么来回答这个问题。也许你能帮帮我?
-
您没有提到是否存在属性继承。此外,如果基础和派生都具有相同名称的元素/属性,会发生什么情况?另外,“多个文档”是什么意思?请给出一个完整的例子来回答所有这些问题。
-
另外,更正提供的 XML -- 这不是一个格式良好的 XML 文档,甚至不是一个格式良好的 XML 片段。