草庐IT

xml - 如何使用 XPATH 从 XML 文档中选择不同的值?

我如何才能使用XPATH为XML文档选择不同的元素?我已经尝试使用“distinct-values”函数,但由于某些原因它不起作用..XML类似于以下内容:121000110100012010所以我想得到的是所有产品元素的不同子项的列表。在给定的示例中,它将是-尺寸、价格、等级、年份我的xpath类似于:distinct-values(catalog/product/*) 最佳答案 在XPath2.0中:distinct-values(/*/*/*/name(.))在XPath1.0中,这不能用单个XPath表达式生成。使用XSLT

xml - 根据 XSL 参数按名称删除元素和/或属性

下面的代码按照名称(本例中为“removeMe”)从XML文件中删除不需要的元素和属性:问题是不区分元素和属性,名称是硬编码的,只能取一个名称。如何重写它以使用如下几个输入参数来删除一个或多个特定元素和/或属性?期望的结果是能够删除一个或多个元素和/或一个或多个属性,同时仍然区分元素和属性(换句话说,应该可以删除所有“时间”元素而不也删除所有“时间”"属性).虽然本轮我需要XSLT1.0,但已接受的XSLT2.0解决方案和其他答案可能对其他人有用。 最佳答案 这个转换:应用于任何XML文档时,这样说:产生所需的正确结果——源XML文

xml - 如何为xsl-fo中的每个页面添加页眉和页脚以生成pdf

请找到以下xsl-fo,尝试为pdf中的每一页设置页眉和页脚,但只有第一页的页眉和最后一页的页脚。但在这里我需要每一页。如何执行此操作。MessageBodyMessageContentPageFooter 最佳答案 下面是一个关于如何在每个页面上获取页眉和页脚的简单示例。希望这有帮助headerfooterBodyBody 关于xml-如何为xsl-fo中的每个页面添加页眉和页脚以生成pdf,我们在StackOverflow上找到一个类似的问题: https

xml - XSLT + 用转义序列替换双引号

我有以下xslt将数据转换为JQuery可接受的格式。但是,因为JSON不接受数据字符串中的双引号,所以我需要将"替换为转义序列\"XML:test_datatest_quo"tetest_data当前的XSLT:],][{"aaData":[]},"yyyy-MM-ddHH:mm:ssYN当前输出:{"aaData":[["test_data","test_quo"te","test_data"]]}期望的输出:{"aaData":[["test_data","test_quo\"te","test_data"]]} 最佳答案 将

xml - 根据内容选择子节点

XML片段:foobarbazbar如何选择的所有子节点?有bar作为其内容?在上面的示例中,我想选择和.我认为解决方案是这样的: 最佳答案 OP问题的最简单解决方案之一是以下XPath表达式:*/*[.='bar']请注意,不涉及任何XSLT指令——这只是一个XPath表达式,因此该问题只能标记为XPath。从这里开始,您可以通过多种方式在XSLT中使用此XPath表达式,例如在所有选定节点上应用模板。例如,下面是一个XSLT转换,它采用XML文档并生成另一个文档,其中所有元素-的子元素其内容不等于"bar"被删除:当此转换应用于

xml - 编写有效的 XSLT

编写有效的XSLT的原则和模式是什么?当我说“有效”时,我的意思是它是结构良好且可读性强简单、简洁高效(即具有良好的性能)简而言之,我正在寻找XSLT的最佳实践。我已经看过thequestionregardingefficiency,但是如果您无法理解它在做什么,那么高效的代码就失去了它的值(value)。 最佳答案 一、优雅的XSLT代码人们经常可以找到漂亮的XSLT代码示例,尤其是当XSLT用作函数式编程语言时.示例见thisarticle在FXSL2.0--XSLT2.0的函数式编程库。作为FP语言的XSLT也是declara

xml - XSLT:如果标签存在,应用模板;如果不是,选择静态值

一般来说,我是XSLT的新手,所以请多多包涵...考虑到这一点,我要做的是检查XML中的某个标记。如果它在那里,我想应用一个模板。如果没有,我想添加它(作为空白值)。基本上总是强制它出现在最终输出中。我该怎么做?我有这样的事情......代码的最上面部分是我认为错误的地方。在otherwise中需要一些东西标签和我的when我认为部分错误。有人可以帮忙吗?提前谢谢你。编辑:是的,最后我至少需要一个标记在XML中。但它有可能根本不存在。如果它不存在,我必须将其放入。一个好的输入示例是US 最佳答案 在父元素的模板中,国家元素应该被使用

xml - 在 xslt 中格式化和显示日期时间

我有一个带有日期时间数据的XML:2011-11-01T00:00:002011-11-30T00:00:00false我只需要在xslt中获取以下格式的日期:01/11/2011-30/11/2011当我这样做时:-我明白了:2011-11-01T00:00:00-2011-11-30T00:00:00如何正确显示? 最佳答案 查看XPath字符串函数:substring、substring-before等引用:http://www.w3.org/TR/xpath/#section-String-Functions

xml - 如何计算节点中的不同值?

如何计算XSLT中节点中的不同值?示例:我想统计Country节点中现有国家的数量,在本例中为3。62212Argentina4108Australia4111Australia1278Germany 最佳答案 如果您有一个大文档,您可能想使用通常用于分组的“Muenchian方法”来识别不同的节点。声明一个键,该键通过不同的值对您要计算的事物进行索引:然后你可以得到具有不同国家/地区的元素使用:/Artists_by_Countries/Artist_by_Country[generate-id(.)=generate-id(ke

xml - 动态元素名称

我想转换XML文档。源XML如下所示:200720062005我想把它变成:以下代码行无效:输出是一系列如下所示的元素:。(没有空格...)"//Element/Year"、"./Element/Year"和"//svc:Element/Year"也不工作。一个复杂的问题是“Element”标签在“svc”命名空间中,而“Year”标签在默认命名空间中。那么无论如何,我是面临命名空间问题还是误用了“concat()”函数? 最佳答案 可能是命名空间问题,也可能是当前上下文的问题。对于源代码(添加命名空间声明以使其成为格式正确的xml