草庐IT

xslt-tools

全部标签

xml - 如何在 XSLT 中获取行号?

当我们将XSLT应用于XML时,是否可以获取行号?当在XML中找到特定的模板匹配项时,我需要知道行号。是否可以检索行号? 最佳答案 如果您指的是源文档中节点的行号,Saxon使用扩展函数提供此信息saxon:line-number(),前提是源文档是通过报告行号的接口(interface)(例如SAX解析器)提供的。对此没有标准的XSLT机制。 关于xml-如何在XSLT中获取行号?,我们在StackOverflow上找到一个类似的问题: https://st

xml - XSLT-选择以下项目直到特定标签

假设我有这个XML文件:JohnSmithAndyGooJosephLeeKennyMariaZoeMartin现在我想选择1st之间的元素和第二所以输出将是:GooJosephLeeKenny我所知道的是我们可以“复制”选择“z[1]”的“以下sibling”但我不知道如何在“z[2]”上停止它 最佳答案 选择以下两个节点集的交集:第一个z之后的所有节点第二个z之前的所有节点这两个集合的交集将是第一个和第二个z元素之间的所有节点。使用以下表达式:/*/z/following-sibling::*[count(.|/*/z[2]/p

xml - 使用 XSLT 从 XML 中检索所有属性值

我不知道如何从XML文档访问标记中的所有属性。假设我有以下XML:我想要以下输出:洛基巴尔博亚,伊万德拉戈,我目前拥有的是:我想知道的是,是否可以只用一个select值来执行此操作,而不必执行其中三个。所以澄清一下,我希望能够用一个单一的选择值输出标签中的所有属性。这可能吗?谢谢。 最佳答案 尝试以下操作: 关于xml-使用XSLT从XML中检索所有属性值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

xml - XSLT 转换从 soap :env 中剥离所有命名空间

我有这个输入XML,我需要对其应用XSL并将其转换为另一个更高版本的XML。让我们说V3。所以输入XML的版本是V1。1114我申请的XSL是我得到的输出是1114它从xmlns:NS1="http://www.test1/Error/v1"xmlns:NS2="http://www.test1/Error/schema/SCRIPT"xmlns中剥离所有命名空间声明:tns="http://www.test1/webservice/Service/v1"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.

xml - XSLT value() 和 position() 给出了不正确的索引

谁能解释一下为什么我将以下xsl文件应用于xml文件得到以下输出。12345678====================================of======================================2of174of176of178of1710of1712of1714of1716of17我不太明白为什么输出不是1of8、2of8等等。 最佳答案 尝试添加strip-space如下所示:of这给出了以下输出:1of82of83of84of85of86of87of88of8这是由于空格问题造成的,如do

xml - 使用 xslt 2.0 拆分大型 xml 文件

我有这个源xml文件。USVaUSVbUSV10....元素“KE”大约出现了30000次。我想每5000个“KE”创建一个新的XML文件。在30000个KE元素的情况下,结果必须是6个单独的xml文件,并且结构是源xml的副本。如何使用XSLT2.0实现这一点?我正在使用saxonhe9-5-1-3j。非常感谢... 最佳答案 使用XSLT2.0功能xsl:for-each-group和KE元素位置的模数。然后,使用xsl:result-document元素生成输出文档。我的示例XSLT代码为3个KE元素的组创建了一个新的结果文档

xml - 在 xslt 中添加两个有时可以为 null 的值

我想使用xslt将值从一个xml添加到另一个。我正在使用xml版本1。如果value1或value2有时为空并产生NaN,我该如何做?我知道我可以使用if和when来查看value1或value2是否不为空,但假设我无法检查它。我该如何解决这个问题?我想做的是,如果“number(/fields/field[@name='value2'])”会产生一个NaN,它应该是数字0那么它就可以工作。最好的问候乔 最佳答案 if"number(/fields/field[@name='value2'])"wouldproduceaNaNits

xml - 为什么现代 Web 浏览器不支持 XSLT 2.0?

我们正在考虑使用AltovaStyleVision。我们可以用它创建一个好的报告模板。Altova的默认浏览器很好地展示了我们的工作。但是,现代网络浏览器不支持生成的XSLT文件。有什么建议吗? 最佳答案 “为什么”的问题总是很复杂,因为通常没有单一的答案。但我认为部分答案是没有用C或C++编写的XSLT2.0的良好实现,就像libxslt那样。(xsltproc的后端)和XalanXSLT1.0存在。我无意挑起一场语言war,但无论好坏,大多数浏览器都是用C或C++编写的。 关于xml

xml - 由于命名空间 "xmlns",无法使用 XSLT 转换 XML

我一直在尝试使用XSLT转换XML文件,但由于某些问题,即“xmlns”,它没有转换。我这辈子都找不到问题所在。XML文件:4000001TestSEF12012-07-25T08:57:00ZRestoreCreditOnSEF40001231CM1account112这是XSLT文件:预期输出:4000001TestSEF12012-07-25T08:57:00ZRestoreCreditOnSEF40001231cb12444CM1acc1account1结果输出:4000001testSEF12012-07-25T08:57:00ZRestoreCreditOnSEF40001

java - 我如何在 JBoss eap 6.1 服务器中启用 XSLT 2.0 处理器,以消除 XSLT 2.0 函数不可用等错误

我正在尝试在XSLT2.0中设置日期格式。当我尝试在我的工作区中运行它时,它运行良好并且我得到了正确的响应。但是,当我在JBosseap6.1上部署我的jar后尝试实现相同的目标时,出现以下错误:16:35:02,311错误[XSLTUtil](DefaultQuartzScheduler-camel-12_Worker-2)XSLTUtil|0|TransformerException:使用xslt文件转换xml时出错:javax.xml.transform.TransformerException:org.xml.sax.SAXException:找不到函数:format-date