草庐IT

Apply-Templates

全部标签

xml - 意外 <xsl :apply-imports/> behavior

我一直在努力找出如何最好地模块化我的XSLT样式表以促进重用。我突然想到使用作为将特定于文档的属性引入标准标记转换的方法。这没有按我预期的方式工作,我什至无法开始理解这里发生的事情。这是样式表的简化版本:1em导入的样式表:true这是XML输入文件:SpongebobSquarepants,ChairPatrickStarfish,ViceCchairSquidword,Secretary$xalan-oout.xmltest.xmlmain.xslout.xml:SpongebobSquarepants,ChairChairSpongebobSquarepants,ChairCha

xml - 在同一级别为同一 XML 元素呈现不同的模板

XML:el1el2el1el2尝试生成为同一元素应用两个不同的模板。主模板:AtrootlevelRendersomethingmorerendersomethinghererendersomethingelsehere如果我将模式添加到第一个模板,两者都不会呈现。还试过:使用不同的模板应用为:只有两者之一(渲染第一个具有指定模式的)。即不渲染或者渲染两次。我应该如何解决这个问题?在我研究的每个地方,它都建议优先考虑模式。这么多程序员使用它,一定是简单的东西吧? 最佳答案 AtrootlevelAfterfirsttemplate

xml - XSL 仅在一个节点上排序

我正在使用以下XSLT,但排序后节点的顺序对我来说有点问题,因为它们与输入的顺序不同。entercodehere 最佳答案 只需修改身份转换,以便排序仅应用于所需的节点: 关于xml-XSL仅在一个节点上排序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6685062/

xml - 我们可以有多个 xsl :templates with match ="/"?

我们可以有多个带有match="/"和不同名称的xsl:templates吗?基本上我想迭代一个xml直到某些级别,然后如果满足某些条件则从“/”再次开始迭代。所以我想做一个或基于某些条件,option-1和option-2都类似于和分别。如果有更好的方法,我是开放的。我想要的只是再次从根节点开始迭代。 最佳答案 您正在寻找的概念是模板模式。你可以定义同样,选项2,以及您的无模式初始起始模板XSLT1.0spec,XSLT2.0spec 关于xml-我们可以有多个xsl:template

xml - xslt : How can I apply two templates to the same node during processing?

我有一个XSL模板,可以匹配任何带有的元素child:thenwehavetoputthestuffinsideitinsideit-->它连接了attr将var元素的s放入editableparent的属性;和ok进入constraint然后我有一个匹配任何的模板元素:true这只是将其转换为如果该字段有一个名称,则使用与该字段相同的名称,否则为“true”。我遇到的问题是,*[var]如果字段具有,则匹配该字段作为一个child。但我想要发生的是*[var]匹配首先,然后是field匹配以及,但之后。目前,输入为Text我明白了Text但是我想要Text我在SO上找到了一些关于进行

xml - 任何尚未处理的节点的 XSLT 模板?

是否可以匹配“任何尚未匹配/处理的节点”?最好不要将我的样式表变成一个巨大的for-each/Choose语句,因为当前的顺序很重要。该项目仍在开发中,并且已经在实时环境中使用,所以简单地说,代码处于快速变化的状态以响应我们正在获取的实时数据。我正在生成一个PDF文档来自XML的FO,其中可能包含我还不知道的节点,并且想向我的XSL-FO转换添加“故障转移”指令,将所有未说明的节点放在文档的开头鲜红色,以加快发现速度。我不能只是忽略意外节点,因为数据需要被处理。我越快找到“孤立”数据,我就能越快妥善处理它并将其排出体外。我试过玩弄...和各种priority=""设置,当然它适用于每个

带有 xsl 样式表的 XML 到固定宽度的文本文件

我需要帮助使用xsl样式表将此xml格式化为固定宽度的文本文件。我对xsl知之甚少,在网上也找不到关于如何做到这一点的信息。基本上我需要这个xml*********1980/11/11usertest2013/02/261423332553MAINSTREETsandiegoCA在这种格式下,都在同一行*********19801111usertest201302261423332553MAINSTREETsandiegoCA这些是固定宽度FRTO19SSN1017DOB1833LastName3446FirstName4754Date5562Time6390CurrentStreet

xml - <xsl :apply-template> and <xsl:call-template>? 之间的区别

你能解释一下之间的区别吗?和我应该什么时候使用?谢谢 最佳答案 在最基本的层面上,您使用当你想让处理器自动处理节点时,你使用当您想要更好地控制处理时。所以如果你有:WorldHello并且您有以下XSLT:您将得到结果WorldHello.本质上,您已经说过“以这种方式处理bar和boo”,然后让XSLT处理器在遇到这些节点时对其进行处理。在大多数情况下,这就是您在XSLT中应该做的事情。不过,有时您想做一些更奇特的事情。在这种情况下,您可以创建一个不匹配任何特定节点的特殊模板。例如:然后您可以在处理时调用此模板而不是自动处理foo

xml - 应用模板如何工作?

我刚开始学习XSL(T),我想知道apply-templates是如何工作的?我不理解它的递归应用模板部分,因为它写在我的书中。我了解XSL(T)的XPath部分等等,但不了解apply-templates正在做什么以及为什么我多次编写它。 最佳答案 您使用调用:s你已经定义了。为集合中的每个节点调用一个匹配模板。您可以通过指定select来控制处理顺序apply-templates上的属性.请参阅w3schools中的示例:MyCDCollectionTitle:Artist:第一个apply-templates调用cd模板每次一

xml - 使用 XSLT Apply-Templates 有条件地选择节点

假设我有一个这样的xml文档:NutcrackerTomCruiseNutcrackerRobinWilliamsGrinchStoleChristmasWillSmithGrinchStoleChristmasMelGibson现在我希望能够选择威尔史密斯作为Actor的所有戏剧并将其重新格式化为如下内容:WillSmithMelGibson我只想使用apply-templates..没有xsl:if或foreach循环(我设计了这个示例作为我正在做的事情的更简单版本,这样你可以帮助我理解如何在匹配中使用xpath声明)这是我目前所拥有的:基本上我只是不确定如何在模板的匹配属性中使用