草庐IT

xslt2processor

全部标签

xml - 使用 XSLT 删除简单 XML 文件中的重复条目

我是XSLT的新手,在从简单的XML文件中删除重复项时遇到了问题。花了很多时间试图得到它,但它从来都不是很正确。这是源文件:welcomOpenCloseWelcomeCopy期望的输出是这样的:OpenCloseWelcomeCopy实际文件比这个大得多,文件中的“lang”和“name”稍后可能会更改,我只想保留最后一个副本。基本上,如果标签和属性重复,只保留最后一个条目。我希望XSLT1.0可以做到这一点。如果没有,我总是可以使用多个脚本,以防lang确实更改为其他内容。提前致谢! 最佳答案 以下XSLT应该可以回答您的问题:

在 Firefox 和 IE 中使用 XSLT 将 XML 转换为 XML

我做了从几种XML格式到一种标准的转换。我的XSL如下所示:我的示例XML是1362242627test222362625609test4736274650test76为什么在Firefox17、IE9、GoogleChrome等浏览器中显示不正确?它们将其显示为普通文本,但返回类型为“text/xml”。它只能在Opera中正常工作。 最佳答案 我认为问题在于判断什么是“正确”显示。像Firefox或IE这样的浏览器假设,一旦您将带有text/xsl类型的xml-stylesheet处理指令的XML文档加载到浏览器窗口中,您希望将

xml - 在 XSLT 中,井号 (#) 后跟数字是什么意思?

例如,#1在:f:is-subordinate($M,$E,f:direct-reports#1)来自http://www.w3.org/TR/xslt-30/#d7e22590 最佳答案 这称为元数,是函数所需参数的数量。如果您没有任何哈希(#),则函数的元数为0。在这里,它指的是一个接受单个参数的direct-reports函数。使用arity,您可以拥有多个名称相同但参数数量不同的函数。 关于xml-在XSLT中,井号(#)后跟数字是什么意思?,我们在StackOverflow上找

xml - 使用 XSLT 删除字符串的第一个和最后一个字符

我需要使用样式表转换将来自Solr服务器的响应转换为类似XML的格式。Solr模式中的许多字段是多值的并且包含方括号,表示数组。出于显示目的,我想删除字段值开头和结尾的这些括号。目前,我的XSLT看起来像这样(示例引用字段标题并处理没有标题的记录:Untitled我通常会使用substring(string,number,number)从字符串中删除字符,但在这种情况下我不知道最后一个字符的位置。有什么想法吗?谢谢,一、 最佳答案 例如:[11sdfsdsdfsdfdsfsdfdsfsdffsd2]产生输出:11sdfsdsdfsd

xml - 使用 xslt 将多个 xml 元素的值连接成单个元素

我的源xml文件包含以下形式的元素:Address1ValueAddress2ValueAddress3Value我需要将它们合并成一个元素,因此:Address1Value\r\nAddress2Value\r\nAddress3Value我知道如何获取Address1元素的值(如下所示),只是不知道如何用其他两个元素来增加它。我该怎么做?Address 最佳答案 你可以像这样让它更通用一点(假设字段元素的父元素是字段):Address 关于xml-使用xslt将多个xml元素的值连接

xml - XSLT:复制所有 XML,但属性包含值的地方除外

目标我想复制所有XML,但属性值包含特定字符的地方除外,在本例中为.。在.存在的地方,删除具有该属性的元素及其所有子元素。我是xslt的新手,读过一些书,但我似乎无法找到一种方法来获取父项及其所有子项。当前的XSL示例XML所需的输出XML 最佳答案 这看起来是正确的方法(身份模板,覆盖您要删除的内容),但您不能在匹配模式中使用descendant-or-self::。然而,你不需要,只是应该做的工作。请注意,您的root/*/@name[contains(.,'.')]的原始匹配模式将匹配name属性节点,而不是承载它的元素,所以

xml - 如何在 for-each 循环中查找与 xslt 属性值匹配的元素

假设我有以下XML:现在我想打印那些元素bar的所有name属性,这些属性指向具有属性的元素foo检查。因此对于上面的示例,我的xslt将输出blub和plim。到目前为止我已经尝试过的是检查我是否可以打印每个bar的foo元素的id属性属于:但无济于事。我认为问题在于,检查foo[@id=./@for]将从@id和@for中选择foo元素。那么我怎么能说我想要for循环中当前元素的@for属性,而other当前元素的@id? 最佳答案 howcanIsaythatIwantthe@forattributefrommycurrent

xml - 如何在 XSLT 1.0 中查找当前日期

我发现在我的XSLT代码中检索当前日期时遇到问题。我正在使用1.0版和MSXSL.exe应用程序来触发我的xslt代码。我尝试使用以下代码行来实现此功能,但它不起作用。看起来1.0版本不支持当前日期功能。您能否提供适用于xslt1.0的解决方案。 最佳答案 XSLT1.0中没有current-date()函数。如果您的处理器支持,您可以使用date-time()EXSLT扩展函数。除此以外您必须在运行时将日期作为参数传递给样式表,或者从Web服务获取它。 关于xml-如何在XSLT1.0

xml - 在 R 中使用 XSLT 转换 XML

我目前正在由SQLServerReportingServices执行任务,它使用XSLT将数据集导出为XML格式,将典型模式转换为定制模式。为了替换此报告,我需要能够在用户想要下载它时类似地转换XML。XSLT生成的最终布局很糟糕-它涉及填充和各种古怪的连接,我宁愿不在从数据到XML的第一次转换中进行整个转换来重新发明轮子。我的google-fu失败了:如何使用R通过XSLT转换XML?MWE这是一个使用iris数据并将其转换为XML的脚本(我使用来自CRAN的包纯粹是为了降低示例中的代码级别)。然后我有anXSLT(ongist)当我在VisualStudio中运行XML时会转换XM

xml - 如何在 XSLT 中将 "single quote"替换为 "double single quote"

如何替换一个xml值,例如:LindaO'Connel到:LindaO''Connel通过XSLT?我需要这个,因为我必须在powershell命令行和其他平台中传递这个值,因为需要“双单引号”来转义撇号/单引号。 最佳答案 假设使用XSLT1.0处理器,您将需要为此使用递归命名模板,例如:'''调用示例: 关于xml-如何在XSLT中将"singlequote"替换为"doublesinglequote",我们在StackOverflow上找到一个类似的问题: