草庐IT

xslt2processor

全部标签

xml - XSLT 在网络浏览器中不工作

我有一个用于XML样式的XSLT文件。XSLT可通过URL(http://someurl/somefile.xsl)毫无问题地访问。当我将相同的URL插入xml-stylesheet处理指令时,它只在浏览器(FF、IE)中呈现纯文本,...但是当我使用本地文件路径(文件下载到与XML文件相同的文件夹)时,它就像一个魅力:...为什么? 最佳答案 在Web浏览器中运行XSLT在浏览器中运行XSLT受到一些限制:XSLT2.0不受任何主要网络浏览器的支持。浏览器安全模型在XSLT处理方面有所不同。跨域限制通常要求XSLT从与XML相同的

xml - XSLT 应用于具有 xmlns 属性的 XML 文档

我正在将XSLT样式表应用于以下XML文件:321这是我当前的XSLT文件(执行简单排序):问题是,我不知道如何在xsl:template和xsl:apply-templates标签中使用'doc:'命名空间前缀。现在,XML文档按原样复制,所以我相信第一个xsl:templateblock正在应用。但是,项目未排序,所以我认为问题出在第二个xsl:template上。我应该注意,如果我从两个文件中删除xmlns属性,转换将正常进行。有什么建议吗?(问题基于thisexample) 最佳答案 您是否尝试过在您的选择属性中使用doc:

xml - xslt中for循环的使用方法

如何在xslt中使用xsl:for-each从xml文件中迭代获取值并将其显示在表fromat中例如:xml文件是这样的输出应该是abcdefg循环应该计算项目,如果它被4整除应该关闭当前行并添加新行等等..我为此使用以下xslt但我无法以表格格式显示它1请帮我做这个提前致谢 最佳答案 这个转换:=$vNumCols)]">应用于提供的XML文档时,产生所需的正确结果:abcdefg 关于xml-xslt中for循环的使用方法,我们在StackOverflow上找到一个类似的问题:

xml - 如何在使用 xslt 对元素求和期间处理空元素

34总的来说,由于像,这样的空元素,我得到了null值等等。如何处理它以便我可以获得数值请推荐 最佳答案 这是一个小例子,@DevNull的回答中的技巧无济于事:512我们想要:/a/c/d+/a/c/f为了保证我们得到总和,尽管其中一些可能是空的或不是数字,使用:sum((/a/c/d|/a/c/f)[number(.)=number(.)])解释:XPath表达式:(/a/c/d|/a/c/f)[number(.)=number(.)]只选择所有联合节点中的那些,其值为一个数字。因此,sum()函数将只提供数字参数,不会产生Na

xml - 如何使用 xslt 从 XML 中读取注释并在元素中添加注释文本

我正在使用XSLT和XML。我有下面的XML。下面是我正在使用的xslt2010-05-03T14:45:00Yes现在我想得到如下结果:/mbp/SessionHandler.aspx?pageurl=/BP.aspx&pub=/english&section=IBE&j=f2010-05-03T14:45:00Newsmappingabout/newsabout/news/news.aspx2010-05-03T14:45:00Newsmapping/nhs/cugo.aspx?promoCode=UKNHS01&pub=/uk/english201

xml - 使用 XSLT 计算 XML 中字符串的出现次数

我想使用XSLT计算XML文档中特定节点中字符串的出现次数。考虑这个例子100chennaicjavaruby200banglorecjava300delhijavaruby这里我要统计“java”出现的次数我想要这样的输出::java--3这是怎么做到的???有什么想法吗??? 最佳答案 使用:count(/*/*/list/language[contains(.,'java')])完整的XSLT转换:java--应用于提供的XML文档时:100chennaicjavaruby200banglorecjava300delhijav

xml - 在 XSLT 中对具有条件的记录进行计数

我有一个具有这种结构的xml:而且,我想计算host=yahoo.log的记录数。我知道我需要使用count(),但我不知道如何使用。 最佳答案 假设您位于emails元素上,这就是您可能想要的表达式例如,试试这个XSLT假设您的XML格式正确,并且您的CDATA标签格式正确,它应该输出3。 关于xml-在XSLT中对具有条件的记录进行计数,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

xml - XSLT if - 属性等于字符串

我正在使用xsl:if在较大的xsl:templateblock中执行一个小条件,我想测试一个属性的相等性当前xsl:template匹配的节点。以下无效:==Sometag==something这个测试似乎总是评估为false,也许我的语法不正确?这个XML:应该给==Sometag==something...==Sometag====Sometag==something... 最佳答案 the2ndtagshouldnotgetthe"something"partprinted.我不完全确定您要实现的目标,但我会试一试。您的一个

xml - XSLT 删除非 ASCII

我需要使用XSLT修改XML文档。我想用空格替换所有非ASCII字符。示例输入:azerty12€_étè只允许使用这些字符:!"#$%&'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~预期输出:azerty12_t 最佳答案 假设您仅限于XSLT1.0,您可以尝试:!"#$%&'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdef

xml - XSLT:我可以使用 xslt 更新 xml 节点中的值吗?

例如我有一个像这样的xml能否将“BasicXML”一书的名称更新为“BasicXSLT”或使用XSLT更改任何节点的任何其他属性?如果是的话,任何人都可以给我一些关于如何做的例子吗?提前致谢。 最佳答案 这个转换:应用于提供的XML文档时:产生想要的、正确的结果:解释:身份规则/模板“按原样”复制每个节点。标识模板被匹配任何属性的单个模板覆盖,该模板的名称可以作为repAttr元素的name属性之一的值找到在my:reps元素中指定(XSLT样式表中嵌入的参数)。在这种情况下,使用相同的名称和新值重新创建(而不是复制)属性,在相应