草庐IT

xslt2processor

全部标签

xml - xslt 中无法识别 xpath 函数

我正在使用xalan处理器在Oxygen中调试xslt样式表。我似乎无法使用current-time()或hours-from-time()函数。我收到“找不到函数”错误。我究竟做错了什么?这是代码。 最佳答案 hours-from-time和current-time是XPath2.0函数。Xalan仅支持XPath1.0。Xalan的更高版本支持扩展函数,这些函数将提供其中的一些功能。您正在寻找的两个功能都以某种形式存在。请注意,由于XPath1.0不理解日期时间,因此您将处理字符串。但是,例如:CurrentDateTestIt

java - 改进 XSLT 转换

我有很多xml(JUnit测试结果)要用Xslt2.0转换。我目前正在使用net.sf.saxon.TransformerFactoryImpl来执行转换和fn:collection()在我的xslt中搜索xml文件。像这样:有两点困扰我:首先是java转换器,我必须传递一个xml“源”,但我真的不需要它,因为我的.xsl正在执行xml搜索和列表。第二个是当我为超过10个(可能是8个或7个)xml运行转换时,我的JVM堆空间已满。我知道我可以增加堆大小,但我必须通过将近300个xml应用转换,所以效率不高。关于我可以做些什么来增加我可以转换的xml的数量有什么想法吗?谢谢编辑:我正在尝

xml - XSLT - 将 XML 转换为不同的 XML

我需要创建一个XSL文件,以便使用它来将一个XML转换为另一个XML。问题是,我真的不知道XPath和XSLT。所以我的问题是,是否有一些工具可以帮助我解决这个问题,还是我需要坐下来开始阅读有关XPath和XSLT的内容?谢谢, 最佳答案 您需要坐下来开始阅读有关XPath和XSLT的内容。我在zvon上找到教程非常好。这page非常适合尝试XPath和XSLT并进行尝试。参见thisSOanswer有关XSLT的更多教程和书籍。 关于xml-XSLT-将XML转换为不同的XML,我们在

xml - XSLT 忽略模板中的元素?

我有以下XSLT:....我的XML输出很好,但我没有:和在其中,它似乎完全忽略了两者,知道为什么吗?谢谢, 最佳答案 您有两个匹配模式完全相同的模板:'ss:Workbook/ss:Worksheet/ss:Table'根据XSLT规范,这是一个可恢复的错误,此处观察到的恢复是选择了最后出现的模板。另一个观察是指令:模板内匹配'ss:Workbook/ss:Worksheet/ss:Table',很可能是错误的--不太可能有'ss:Workbook/ss:Worksheet/ss:Table'具有'ss:Workbook/ss:W

xml - 我需要 hack 来让 xslt 让我们为变量设置新值

我读到过,与编程语言不同,XSLT不允许我们为变量设置新值。我只是想知道是否有任何技巧可以绕过人们正在使用的这个限制?因为能够重置变量的值本身就很有用据我所知好吧,至少如果我们可以重置变量的值,我就可以在这里解决我的问题:howdoinotrepeatrepeatedlogicinmyxsltcode? 最佳答案 I'vereadthatunlikeprogramminglanguages,XSLTdoesnotallowustosetanewvaluetoavariable.这里有两个不正确的陈述:“与编程语言XSLT不同”。XS

xml - XSLT:如果值存在,添加逗号

我对XML和XSLT还很陌生。我有一个家庭作业要求我们根据一些XML数据生成一个页面。它非常简单,所以这里是:我的XML数据如下所示:ABCWebDevelopmentConferenceABCCollege,SanDiego,CAMarch25,2011-March27,2011JohnSmith12342ndAvenueSanDiegoCAjohn@john.comWebDevelopmentSoftwareDesignJaneSmith1234FirstAvenueSte123SanDiegoCAjane@jane.comWebDevelopment基本上,我已将其设置为很好地输

sql-server - SSIS XML XSLT 任务内存不足

我正在BIDS2005中开发一个包,该包以针对非常大的输入文件的XML(XSLT)任务开始,并不断收到以下错误[XMLTask]Error:Anerroroccurredwiththefollowingerrormessage:"Exceptionoftype'System.OutOfMemoryException'wasthrown.我的工作站是Win764位-16GIGRam-i78核处理器3.5gHZ。我在此过程中运行任务管理器,它在运行期间最多只能使用大约7.5gigs的ram,直到它因错误而崩溃。我正在针对我的本地SQL2008R264位实例运行。该包在BIDS中配置为以64

xml - 当源文档没有 DOCTYPE 时,如何让 XSLT 工作?

我有以下XML文档:SomePublisher20090622160258186X0315978160258186902BB01TheActsoftheApostlesTheActsoftheApostlesFourCenturiesofBaptistInterpretation和以下xslt:shortreference当我应用XSLT时,输出是完美的。如果我从源文档中删除DOCTYPE,则xslt将原样复制到输出,而不会发生任何变化。即使缺少文档类型,我如何让XSLT工作?我正在使用以下命令进行测试xsltprocstylesheet.xslinput.xml>output.xml

xml - 简单的 XSLT 文本替换

我正在寻找一种更简单、更优雅的方法来替换XML中的文本。对于像这样的源XML:ThisOneabcNotThisOneabcThisOnedef我想将名称为“ThisOne”的所有Target元素的文本更改为“xyz”。结果是:ThisOnexyzNotThisOneabcThisOnexyz我通过以下方式实现了这一点:xyz我想这可以用来完成,所以我可以只替换文本而不是整个元素,但我想不出其余的.提前致谢。 最佳答案 这个样式表:xyz使用您的XML输入产生:ThisOnexyzNotThisOneabcThisOnexyz

xml - 覆盖每个 xslt

我有一个xml文件,比方说:.......      ....              ....    .    ....         还有xsl文件:........          ...    .  ....现在,我必须创建新的xsl文件,它只能导入/包含这个现有的xsl。是否可以覆盖这种for-each行为,以便我只能显示一些预定义的文本/链接?我无法修改现有的xsl,我想使用模板中的所有其他内容-不能只定义具有更高优先级的新模板。 最佳答案 您可以重新设计您的原始样式表以使用xsl:apply-templates而