问题标签 [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 - xslt 分组问题
我有一个xml
Child2 总是和 child1 在一起。我需要知道如何使用 xsl:foreach 循环并创建 XML 输出示例。我可能有其他节点,<OtherChild>
但我关心的只是 Child1 和 Chid2 节点
我的问题是如何在 XSLT 中循环考虑 Child2 节点将始终跟随 Child1?
xslt - 什么是 XSLT 结果树
我正在读一本关于 XSLT 2.0 的书。我在 XSLT 结果树一章。坦白说,我有点不明白。什么是结果树?这有什么用途?它为什么如此重要?
xml - 在解析之前测试文档是否格式正确
我需要分析几千个 XML 文档,看看其中一些是否包含某种结构。问题是某些文档不包含格式良好的 XML。
基本思想是fn:collection()
在返回的节点内使用和搜索。但这仅适用于集合中的所有文档格式正确的情况。
是否可以做类似的事情,但只解析格式良好的文档?
这是我的简化版 XSLT,如果其中的所有文档格式正确,它就可以工作$dir
:
是否可以在转换开始之前不手动整理格式不正确的文档来做这样的事情?也许您对解决方案有更好的建议?
c# - XSLT 与 ASP.NET MVC 框架
我正在建立一个非常可扩展的网站。我到了必须在 XSLT 和使用 asp.net MVC 框架和辅助函数之间进行选择的地步。我的数据已经是 XML 格式,并且会一直保持这种格式。我的数据是 XML 格式的原因是因为它会更容易进行更改,我只需要进行一次数据库查询。
我正在使用 asp.net mvc 2 并想知道哪种方法最不占用资源。我将在一分钟内获得许多页面浏览量。如果我采用 asp.net mvc 方式,我将被迫使用 linq to xml,如果我采用 xslt 方式,我只会将 xslt 扔到 xml 中,它会对其进行转换。
xslt-2.0 - 将具有相同名称和相同属性的以下兄弟姐妹分组会导致撒克逊语中的异常
我有一些必须转换为 xsl-fo 的 xml 文档(类似于 docbook)。一些文件包含诗歌,并且诗歌的行被写在单独的 p 标记中。经文由 br 标签分隔。有一些“页面”标签是不相关的,应该被忽略。
典型代码示例:
对于 xsl-fo 输出,我想将一节经文的所有文本收集到一个 fo:block 中。目前,该机制适用于上述代码结构,但也有一些例外。这样做的实际方法是决定每个 p 标签: - 我是诗句的第一行吗?- 如果是:收集这节经文的所有文本并将其写入一个 fo:block,使用实际(第一个)p 标签的属性来设置块的格式 - 如果不是:内容被更早地处理,什么也不做。
第一行是紧接在 h4 或 br 标记之前的 ap 标记(或本身紧接在 br 标记之前的页面标记)。那个很容易开发。
对于给定的示例,收集经文的文本很容易:将所有以下兄弟姐妹分组,定义以 h4 或 br 标记结尾的组,然后我取第一组并使用所有 p 标记(忽略页面标记之间或结尾 h4 或br 标签)。
在代码中:
现在来看一个类似的代码示例:
现在居中的 p 就像以下经文的副标题。它不是真正的诗句,但就我的目的而言,如果它与真正的诗句文本分开就足够了。因此,获取当前经文的所有文本的稍微不同的规则是:将所有以下兄弟姐妹分组,定义组以 h4 或 br 标签或具有另一个类的 ap 标签结尾,然后是当前的 p 标签,然后我取第一组并使用所有 p 标签(忽略页面标签之间或结束 h4 或 br 标签)。
因此,我将当前 p 标签的类属性的值存储在一个名为 attributes 的变量中,并将组规则定义为:
反过来,当试图确定 ap 标签是否是经文的第一行时,它不仅前面有一个 h4 或 br,而且还有另一个具有不同类属性值的 p 标签。
现在,这在我使用 Saxon-B9.1.0.6 的 Oxygen 测试环境中运行良好。但是必须使用 Saxon9.jar 在 java 中执行转换,并且在 xsl:for-each-group 的 group-ending-with 属性中使用变量会导致异常。
现在我有点卡住了。
能否以更好的方式定义分组条件?或者这可能根本不应该通过分组来完成,而是采用完全不同的方法?
源文件原样,标记可能不是最佳的,但它就是原样。这种转变并不新鲜,但后来适应了我们的需求。之前简单地避免了带有诗歌的源代码,但我想为此找到解决方案。
任何帮助将不胜感激。
此致,
克里斯蒂安·基尔霍夫
xml - 混合字符串值的字母数字排序
给定以下 XML 片段:
我需要按 form_name 的字母顺序对 FORM 节点进行排序,以便将 form_name 中包含“AI OM”的所有表单分组在一起,然后在其中按整数按数字顺序排列(其他表单也是如此)。
form_name 可以是开放季节,因为字母和数字可以按任意顺序排列:
XX ## ##
XX XX ##
XX XX ###
XX XX ## ##
XX ###
XX XXXX
'## XXX
XXX###
我认为需要发生的是字符串需要在字母和数字之间拆分。我想,数字部分可能会被删除任何空格来排序。
鉴于“form_name”格式没有规则,我不知道如何拆分字符串然后涵盖所有排序/分组组合。
我们正在使用 XSLT 2.0。谢谢。
xslt - 在 XSLT 中按范围限制输出
我正在创建一个 XSLT,并且我想选择一个特定节点,前提是它的一个子元素的值在一个范围之间。范围将使用 xsl 文件中的参数指定。
XML文件就像
到目前为止的 XSLT 是
我想限制处理 < Chief > 节点的值不在范围内的 org 节点
xslt-2.0 - 相似节点的分组
在使用 xsl 对类似节点进行分组时,我遇到了以下问题:
输入:
输出应该是:
所有没有 imideate 前面的兄弟作为“Bullet”的“Bullet”元素都应该包含在“UL”和“Li”元素中。
我正在尝试这样的事情,但无法获得结果:
请帮忙。
---相关问题----
这适用于给定的 xml 输入,但是 1. 在我的实际 xml 中,这些<Bullet>
标签可以出现在概念节点下的任何位置,因此<p>
在这种情况下与元素分组不起作用。
目前,我正在处理除“Bullet”节点之外的所有节点,因此我只需要匹配
<Bullet>
具有紧随其后的兄弟节点的节点,<Bullet>
并将序列包装在<ul>
和 each<Bullet>
in 中<li>
。我当前的上下文节点是<concept>
.当前样式表如下:
实际的 XML 模式:
php - 将 PHP XSLT 处理器升级到 XSLT 2.0
升级 PHP 库以使用 XSLT 2.0 是否可能/容易?
当前设置:
xslt - Saxon XSLT 2.0 和 RFC 822 日期格式
将 xs:dateTime 格式化为 RFC 822 的正确方法是什么?