草庐IT

xslt-transformer

全部标签

java - 增量/流式 XSLT 转换?

我通常使用JDK(JDK7)中的XSLT支持进行XSLT转换。最近我遇到了一个相当大的XML文档,对此应用XSLT转换(即使是非常基本的转换)会导致使用大量内存。我一直很小心地进行所有处理流,但似乎JDK中的XSLT引擎(似乎是经过修改的Xalan)总是首先在内存中构建DOM。显然这不是我想要的。现在我发现单独提供的Xalan(2007年的2.7.1!)确实有一个用于执行增量转换的API。因此,虽然这看起来确实有效,但我实际上希望我的代码在标准JDK上运行,而不告诉用户摆弄任何认可的文件夹。在Java中执行增量XSLT转换的最佳方法是什么,以便我的代码与未修改/库存JDK安装兼容?更新

xml - XSD 正则表达式 : Why is this not working when parsed into HTML with an XSLT?

我有一个“格式正确且有效”的XML文件(与XSD模式匹配,在http://xsdvalidation.utilities-online.info/测试)。我在XSD中使用这些代码行来限制的XML输入:因此,上面提到的网站将抛出错误并且在时不进行验证。与此正则表达式和长度限制不匹配(例如,如果我在XML文件中输入“5”作为名字)。但是,当我在Firefox中打开XML文件(使用XSL文件解析为HTML)时,它不会抛出错误并将显示输入到XML文件中的任何内容不管正则表达式和长度限制。XSD架构不应该以这种方式使用,以便在Web浏览器中进行错误检查吗?我是否需要使用XSLT而不是XSD中的限

xml - 使用 XSLT 获取节点标题

我有这个XML文档:14Wednesday125915Thursday10815我需要使用XSLT将其转换为以下XML文档:我能够获取节点值但无法获取节点标题。我如何执行此转换?我是XSLT的新手。 最佳答案 我假设您在预期的输出文档中指的不是Hour0、Hour2等。试试这个XSLT1.0样式表... 关于xml-使用XSLT获取节点标题,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

xml - 如何使用带有属性值的 xslt 作为选择器?

我正在尝试学习xslt,我正在处理一个看起来像这样的xml。123341226466554412334122我目前的目标是只打印出内部标签内的数字。但我不能使用标签的名称作为选择器,因为只有属性“类型”很重要。我尝试使用以下xslt。但它似乎没有用。Test我做错了什么?我无法弄清楚的另一件事是如何在使用属性作为选择器时获取标签的名称。而不是它给出了标签内的内容;我可以使用什么来获取包含此“type=box”属性的标签的名称?(例如,Usages、NonUsages等。) 最佳答案 此转换旨在仅对您的原始转换提供必要的更正:Test

xml - 使用 XSLT 删除第一个 <p> 标签

我正在尝试使用XSLT将多项选择题类型的QTI标准xml转换为XHTML文件。我发现很难从“simpleChoice”标签值中删除第一个“p”标签。以下是我试图转换为XHTML的QTIChoiceA0SelectthecorrectoptionsQuestionwillappearhereanswer'sfirstPtaganswer'ssecondPtaganswer'sthirdPtaganswer'sforthPtagandtextwithoutptaganswer'sfirstPtaganswer'ssecondPtaganswer'sthirdPtaganswer'sfort

xml - 使用 XSLT 进行简单的 XML 重构

我是XSLT的新手,我正在尝试实现一个相当简单的重组。我有一个代表一个人的xml文档(用于说明目的)。我在person下有很多元素。我想从这些元素中提取first_name和last_name(以及重要的其他元素)到一个新的full_name元素中。我看过这个问题here.“renameWrapped”方法有效。但是它不够通用,因为我不能保证输入文档中元素的顺序。我有以下XML:somevaluejohnsmithsomevalue这由以下xsl转换:然而,这给了我以下输出,其中myname:Person被复制:somevaluesomevaluejohnsmith我做错了什么?在此先

xml - XSLT - "/."有什么作用?

我是XSLT的新手,所以这个问题可能有点傻。有人可以向我解释一下这是怎么回事吗?我有一个简单的XML文档(仅用于测试目的)及其样式表。我不明白为什么处理所有后续节点。我测试了“/”。XPath中的表达式,它只选择名为child的节点.此外,如果我替换/.与.它给出了预期的结果(仅输出名为child的节点的值)。catalogtitletextchildBobDylanUSAColumbia1985secondtitletextsecondchildBobDylan2USA2Columbia2样式表:结果:titletextcatalogtitletextchildBobDylanUSA

xml - Camel xml 到 xml 转换 xslt 仍然是可行的方法吗?

在我的最后一个camel项目中,我使用xslt将传入的xml转换为适合发送到第三方Web服务的xml格式。这很好用。这仍然被认为是xml到xml映射的最佳方法,还是有你们会推荐的更好、性能更高的工具?我个人不介意xslt,但我组织中其他开发人员的反馈是他们发现它难以阅读和维护,尤其是在转换相当复杂的情况下。他们说的有道理。我正在考虑的一种替代方法是编码为java对象并在解码回xml之前进行转换。这具有通过转换器对象更容易设置和维护的好处。然而,我担心实现此目标所需的操作数量对性能的影响。对你的想法感兴趣。非常感谢 最佳答案 虽然我同

xml - 具有同名节点的 xml 的 XSLT 转换

我有一个这种格式的XML,EmpireBurlesqueHideyourheartGreatestHitsStillgotthebluesErosOnenightonly此XML的XSLT是,Title我希望输出看起来像,标题帝国滑稽戏隐藏你的心精选集还是忧郁爱神仅一晚当我尝试转换上述XML时,我得到一个空表,但其中没有标题。请帮助我,以便我可以获得如上所示的预期输出。提前致谢。 最佳答案 您的解决方案中只有一个小缺陷。请参阅我在以下代码中的评论:Title 关于xml-具有同名节点的x

xml - XSLT:处理所有后续兄弟直到满足特定条件而无需重新处理已处理的节点

考虑以下XML结构:abcignore123ignore4def我需要获取属性值为start和end的a标签之间的所有a标签的内容总和。我尝试使用以下XSL:所需的输出是:abc1234def我得到的输出是:abc12341234def如何避免重新处理已由getMergedText模板处理的a节点?提前致谢!注意:我正在使用XSLT1.0。XML中可以有多个开始-结束节点对的实例,在这些对之前、之后和之间可以有任意数量的节点。 最佳答案 这里最有效的方法可能是我听说过的被描述为“兄弟递归”的方法,使用尾递归模板来模拟“while循环