如何有条件地导入 xslt 中的样式表?

2023-11-23

有没有办法在检查某些条件后导入样式表?

例如,如果变量 $a 的值 =“1”,则导入 1.xsl,否则导入 2.xsl。


大家好,请问有什么办法可以导入吗? 检查一些样式表后 状况?

就像,如果变量 $a 的值=“1” 然后导入 1.xsl 或者导入 2.xsl。

No, the <xsl:import>指令仅是编译时的.

在 XSLT 2.0 中可以使用use-when有限条件编译的属性。

例如:

<xsl:import href="module-A.xsl" 
     use-when="system-property('xsl:vendor')='vendor-A'"/>

的局限性use-when属性的优点是在评估属性时不存在动态上下文——特别是这意味着没有定义范围内的变量。

非 XSLT 解决方案是动态改变href的属性<xsl:import>调用转换之前的声明:

  1. 将 xsl 样式表解析为 XML 文件

  2. 评估确定应导入哪个样式表的条件。

  3. 设置值href的属性<xsl:import>声明动态确定的要导入的样式表的 URI。

  4. 使用刚刚修改的内存中 xsl 样式表调用转换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何有条件地导入 xslt 中的样式表? 的相关文章

随机推荐

  • 如何为 Java 程序创建 .msi 文件? (蚀)

    我有一个java项目 我希望将其打包并出售 如何创建 msi 文件来将我的程序安装到其他 Windows 计算机上 如果有任何教程 请指导我 如果 Eclipse 对如何创建 msi 文件有任何影响 我也会使用 Eclipse Thanks
  • 触发在 Windows 上运行的 1.5 JVM 的堆转储

    我正在尝试诊断 Sun One 9 1 应用程序服务器中的 PermGen 内存泄漏问题 为此 我需要获取 JVM 进程的堆转储 不幸的是 JVM 进程是在 Windows 上运行的 1 5 版本 显然 触发堆转储的方法都不支持该设置 我可
  • 一元运算符 ~ 在 numpy 中做什么?

    我使用 Python 的 numpy 发现了一行代码 如下所示 array 0 1 2 3 4 5 4 3 2 1 0 1 2 它给出了输出 array 1 2 3 4 5 6 5 4 3 2 1 0 1 一元运算符 是否采用数组并应用 A
  • 无法合并 dex Ionic 3

    上次我成功构建 但在添加了无法构建的页面数后 我确实搜索了很多该错误 但对我来说没有任何作用 例如 添加和删 除平台 离子科尔多瓦清洁 离子科尔多瓦构建 etc 运行时遇到以下错误 离子科尔多瓦构建Android 什么地方出了错 任务 执行
  • Eclipse 中的 Gradle 项目构建正常,但 java 文件显示编译错误

    这是我的第一个 Gradle 项目 我在用构建 Eclipse 插件对于 gradle 在我的构建 gradle文件 我应用了以下插件 apply plugin java apply plugin eclipse apply plugin
  • 从 iOS 中的 Twitter 帐户获取关注者和关注者 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 大家 如何从 iOS 中用户登录的 Twitter 帐户获取所有关注者和关注者 有没有相
  • KVO 和 NSMutableArray

    如何设置 KVO 键值观察 NSMutableArray 我希望在数组中出现更改时收到通知 我以前从未将 KVO 与数组之类的集合一起使用过 我想你会对以下问题的答案感兴趣这个问题 关键是你无法直接观察数组上的任何属性 数组只是存储 但是你
  • GHC 抱怨类型检查器强制执行的非详尽模式

    我有以下代码 LANGUAGE DataKinds GADTs TypeOperators data Vect v a where Nil Vect a Vec a gt Vect v a gt Vect v a instance Eq a
  • 使用curl上传多个文件

    如何使用数组上传多个文件CURLFile and curl setopt 使用数据数组 因为它会抛出错误 无法将数组转换为字符串 并且http build query上的数据会损坏CURLFile对象 我必须上传的数据如下所示 mode g
  • 使用 Bootstrap 折叠插件进行 Javascript 切换

    我尝试以编程方式使用 Bootstrap 折叠插件的切换功能 当我单击手风琴标题中的链接时 我设法切换 div 但它只能工作一次 也就是说我无法再次单击来隐藏 div 这是我的代码 div class accordion div class
  • 下载前 1000 字节

    我需要使用 C 从互联网下载文本文件 文件大小可能相当大 而我需要的信息始终在前 1000 字节内 这可能吗 被盗自here string GetWebPageContent string url string result string
  • 如何为每个组选择固定行数?

    这是 mysql 表中的一些示例数据 a b distance 15 44 250 94 31 250 30 41 250 6 1 250 95 18 250 72 84 500 14 23 500 55 24 500 95 8 500 5
  • Python 全局变量和类功能

    我正在创建一个简单的 python 程序 它提供 SMS Inbox 的基本功能 我创建了一个 SMS Inbox 方法 store message count 0 class sms store def add new arrival s
  • 如何在使用单个测试项目时将所有 QtTestLib 单元测试结果组合到单个文件中?

    在我们的项目中 我们使用 QtTestLib 进行单元测试 原因是整个项目已经尽可能使用Qt 并且它是一个GUI应用程序 所以我们希望具有测试GUI界面的能力 我们的项目是由 MSVC 编译的 因此我们不想为每个测试都有一个单独的项目文件
  • 从数组中获取过滤后的值(范围为 10-20 之间的值)

    如何获得过滤值来自范围 10 20 之间的类似数组的值 我的数组包含 10 15 18 25 88 20 我只想打印 10 20 范围内的内容 use array intersect with range input array 10 15
  • 将 pandas 数据帧转换为 utf8

    如何将 pandas 数据帧转换为 unicode messages pandas read csv data SMSSpamCollection sep t quoting csv QUOTE NONE names label messa
  • JS/HTML5 WebSocket:无需 HTTP 调用即可连接

    好吧 我刚刚尝试了 HTML 5 中的新 WebSocket 类 并且对它们的存在感到非常兴奋 然而 我看不出它们比 AJAX 更有价值 因为它们仍然发起 HTTP 调用并且not就像传统的插座一样 这就是我在这里问的原因 有没有办法使用
  • Android Room + 窗口功能

    我尝试在房间查询中使用窗口函数 解析器抱怨我的查询 我只是尝试在 select 语句中添加 ROW NUMBER OVER ORDER BY column 表达式 如果没有此表达式 查询将正确运行 解析器错误 extraneous inpu
  • 我可以检测浏览器中可用的 async/await 吗? [复制]

    这个问题在这里已经有答案了 如标题 如何检测浏览器中的 async await es7 支持 那可能吗 与任何其他语法特征一样 应该对其进行评估才能被检测到 自从eval可以被限制 当启用 CSP 时这可能是不可能的 let isAsync
  • 如何有条件地导入 xslt 中的样式表?

    有没有办法在检查某些条件后导入样式表 例如 如果变量 a 的值 1 则导入 1 xsl 否则导入 2 xsl 大家好 请问有什么办法可以导入吗 检查一些样式表后 状况 就像 如果变量 a 的值 1 然后导入 1 xsl 或者导入 2 xsl