问题标签 [xslt-2.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xslt - 查找单词及其上下文
我需要在 xml 中搜索一个单词及其上下文。例如
寻找“和”,三个词的上下文:
我能怎么做?我写了一些 xslt 来查找单词,但我无法返回 3 个单词来设置跨度。这是我的 xslt:
这是一个示例 xml: http: //pastebin.com/eAVM9CDQ。
我还必须在前面的标签上搜索上下文,例如:
所以,寻找“和”,三个词的上下文:
有重叠的问题,但现在这不是问题(我想我知道如何管理它)。如何搜索单词及其上下文?非常感谢。
xslt - 使用 XSL 按顺序查找值
我想检查一个值是否存在于定义为的序列中
过去,我在 Priscilla Walmsleys function方面取得了成功。为了清楚起见,我在这里复制如下:
但是,这一次我需要进行不区分大小写的比较,因此我尝试将$value
和都$seq
用lower-case()
. 显然,这并没有多大帮助,因为$seq
它是一个序列并且lower-case()
只接受字符串。
问题:1)构造小写字符串序列或 2)进行类似于$value=$seq
上述的不区分大小写比较的最佳方法是什么?蒂亚!
xslt-2.0 - 如何检查一个节点是否是另一个节点的子节点?
我想获取文本节点的所有“generateId”值,它们是属性“id”值已知的特定节点的子节点。我可以使用 XSL 测试这种情况吗?
xslt-2.0 - XSL 中的 as="element()+" 和 as="element()*" 有什么区别?
在 xsl:variable 中使用 as="element(data)+" 和 as="element(data) " 有什么区别。如果使用“+”,则以下 XSL 解决方案有效,但当我使用“ ”时无效。有人可以澄清一下。
xslt - 如何使用 XSL 选择特定元素节点中的所有文本节点?
如何使用 XSL 选择特定元素节点中的所有文本节点?
输入xml:
输入参数:要检索其 txt 节点的元素节点的 id 列表。
预期输出:
文本节点1
文本节点2
文本节点3
文本节点4
文本节点5
文本节点6
如何使用 XSL 实现这一点?请分享你的想法。
xslt-2.0 - 如何使用 XSL 修改指定节点集中的文本内容?
我有一个节点 ID 列表。我想将“-Selected”附加到给定节点ID集中的所有文本节点。请让我知道我们如何使用 XSL 实现相同的目标?
输入:
输入参数:节点 ID 列表
如果输入参数具有节点“a”,那么我需要将所有文本节点附加为选定的。
预期输出:
xslt-2.0 - 如何使用 XSL 检索 xml 根节点的 id 属性?
如何使用 XSL 检索 xml 根节点的 id 属性?
java - 如何在 Java 中选择撒克逊 TransformerFactory
在我的 Web 应用程序中,我需要使用 Saxon TransformerFactory 才能使用 XSLT 2.0,但我不能使用 setProperty 方法,因为我在 Web 服务器上没有此权限并且有一个安全管理器。
所以我读到应该可以这样做:
如果可用,请使用服务 API(如 JAR 规范中所述)来确定类名。服务 API 将在运行时可用的 jar 中的 META-INF/services/javax.xml.transform.TransformerFactory 文件中查找类名。
我在 WEB-INF/lib/saxon9.jar 中找到了这个文件,但是当我建立一个 TransformerFactory 时,总是选择默认工厂而不是 Saxon 工厂。
如何选择撒克逊变压器厂?
谢谢
xslt-2.0 - 为什么 Saxon 评估结果文档 URI 相同?
我的 XSL 源文档如下所示
我想为每台机器创建一个结果文档,因此我使用以下样式表,将 modelDir 作为结果文档的路径作为参数。
正如我的消息显示的那样,这似乎工作正常 - 如果 saxon 不会将结果文档的 URI 评估为相同并因此给出以下输出。
关于如何解决这个问题的任何想法?
variables - 如何在 XSLT 中创建不是文档片段的变量?
考虑以下 XSLT 2.0 模板
这个模板的输出是
第一行输出 1(而不是我最初预期的 3),因为var1
它是一个包含<elem>
子元素的文档片段。现在我的问题:
如何创建不包含文档片段的变量?我可以像我那样做var2
,只是省略了谓词。但也许有一种不使用第二个变量的方法。或者,作为替代方案:如何在过滤掉某些元素的同时将文档片段保留在变量中?
背景信息:我将在递归函数中使用变量内容,该函数检查第一个元素var1
是否符合某些条件。如果满足条件或元素列表为空,则返回一个值。否则它会调用自己并var1
删除第一个元素(就像我在 中所做的那样var2
)。当var1
用作包含文档片段的参数时,我的模板中的 XPath 表达式将不匹配。