问题标签 [xslt-1.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
667 浏览

php - 需要帮助将 xml 显示为 html

我正在尝试使用 Macromedia XSLTransform 类将从 Amazon Web Services 返回的 XML 转换为 HTML。这是调用转换的 PHP 页面:

这是 aws1.xsl 页面的片段

基本代码正在运行 - 我得到了有关预期 ASIN 商品的数据。而且我知道 XSL 基本上可以工作,因为如果我故意在其中放入一个无效属性,我会得到一个解析器错误。但我得到的是一大堆未格式化的文本,而不是 HTML。我尝试了各种<xsl:output method>选择,但似乎没有一个有效。我认为这是某种编码或字符集问题。

0 投票
1 回答
1575 浏览

jquery - 如何使用 jQuery 和 AJAX 从axis2服务转换xml?

我遇到了axis2和ajax的问题​​。我使用 jQuery 的 ajax 函数从我的 Web 服务之一获取 xml,并使用这个jquery 插件将结果 xml 转换为 html。

这是服务返回的相关 xml 的示例。

我查看了从 jQuery ajax 调用中获得的 xml Document 对象,它似乎已经从标签中剥离了命名空间并使标签全部小写。但是,我似乎无法让我的 xsl 模板识别任何标签。

这是我现在在 xsl 中的内容。

我能得到的最好的是success1 选项。我在这里找到了一些关于让axis2更好地使用ajax的信息,但这看起来可能会搞砸我拥有的java服务客户端。

这是有问题的javascript。

那么我是在做一些愚蠢的事情还是有更好的方法来做到这一点?谢谢你的帮助。

0 投票
1 回答
530 浏览

xml - 转换 XML 文档以与 .NET 2.0 TreeView 控件一起使用

我有一个 XML 文件,格式如下:

我需要在标准 .net 2.0 TreeView 控件上使用它,该控件需要以下格式的 XML

最大的复杂性是 DOCTYPE 节点的一些子节点需要转换为属性(即 NAME),而有些则保留为需要它们自己的属性的子节点(即 SITE)。

如何使用 XSLT 做到这一点?

0 投票
1 回答
16128 浏览

xml - XSLT 基于输入 XML 的十进制格式

我有一种情况,我的 XSLT 文件应该有条件地显示价格和小数,这取决于输入 XML 是否包含小数。所以,我可以接收具有两种类型值的 XML 文件 - XML 将包含所有以小数格式格式化的价格,最多两位(我称之为“十进制 XML”),或者价格将四舍五入到最接近的整数(我称之为一个“整数-XML”)。

我的问题是我需要在 XSLT 文件中尽可能少地重构,但允许它们以与 XML 输入相同的格式将转换应用于 XHTML。为了做到这一点,我实施并向我的团队提出了三个指导方针:

  1. format-number()当计算值以进行计算或存储在变量中时,删除所有函数调用。改为使用number(<value>)。但是,某些条件适用于该规则(见下文)。
  2. 当要显示值时,使用format-number(<value>, '#.##')格式。这应该确保整数或十进制值将显示为 XML 中的原始值。
  3. 对于可选标签(例如“折扣”),format-number(<value>, '0.00')即使只是计算值,也要使用该函数。这是必要的,因为如果标签不存在,尝试获取值将给出NaN结果。

这是 XSLT 的说明性示例:

正如 HTML 注释所指出的,它在大多数情况下都有效,但不是全部。

我想使用单个表达式来格式化与输入相同的所有价格,而不是在任何地方应用“when-otherwise”构造,这将另外需要传递给 XSLT 的布尔参数来确定显示格式。XSLT 的当前状态是,无论输入如何,所有数字都被四舍五入,使用format-number(<expression>, '0').

我该如何做到这一点?


编辑:在 Dimitre 的评论之后,我决定创建一个示例 XML(以及上面的 XSLT),以便专家可以轻松地试用它。

示例 XML(这个包含小数):

0 投票
4 回答
24161 浏览

xslt - 如何计算 XSLT 中数字的绝对值?

我有

DifferenceInDays有一个可以是负数或正数的值,我想显示它的绝对值。我怎样才能做到这一点?

0 投票
14 回答
580480 浏览

xslt - 在 XSLT 中检查字符串是否为空或空

如何使用XSL检查值是 null 还是空?

例如,如果categoryName是空的?我在选择构造时使用。

例如:

0 投票
2 回答
20164 浏览

xslt - 使用 XSLT 1.0 进行标记和排序

我有一个分隔字符串(在下面的示例中由空格分隔),我需要对其进行标记、排序,然后重新连接在一起,我需要使用 XSLT 1.0 完成所有这些操作。我该怎么做?我知道我需要以xsl:sort某种方式使用,但到目前为止我所尝试的一切都给了我某种错误。

例如,如果我运行这篇文章底部的代码,我会得到:

草莓 蓝莓 橙 覆盆子 青柠 柠檬

如果我想得到这个,我会怎么做?:

蓝莓 柠檬 酸橙 橙 覆盆子 草莓

请注意,我使用的是 XSLT 1.0。

这是代码,它基于Jeni Tennison的代码。

0 投票
2 回答
17458 浏览

xslt - XSLT 1.0 中的“正则表达式”样式替换

我需要使用非常适合正则表达式的 XSLT 1.0 执行查找和替换。不幸的是,这些在 1.0 中不可用,而且由于无法更改安全设置,我也无法使用任何扩展库,例如 EXSLT。

我正在使用的字符串如下所示:

19;#John Smith;#17;#Ben Reynolds;#1;#Terry Jackson

我需要将数字和; #字符替换为,. 例如,上面将更改为:

John Smith, Ben Reynolds, Terry Jackson

我知道需要一个递归字符串函数,可能使用子字符串和翻译,但我不知道从哪里开始。

有人对如何解决这个问题有一些指示吗?这是我开始的:

0 投票
2 回答
401 浏览

xml - XSLT 新手和 XML 数组

我有一些非常基本的 XML:

我怎样才能把它翻译成:

使用 XSLT?

以前我使用过 a:value 但这些只是字符串?

0 投票
1 回答
560 浏览

xslt - 在 xsl:key() 中嵌套 xsl:key() 并组合 xsl:key() 的结果

我有 2 个不相关的问题。我需要使用 XSLT 对数据进行分组。我需要它的功能就像嵌套IF在 anIF中的功能一样。之后,我需要对数据进行分组,以便根据分组条件将其拆分为多个文件。

使用 XSLT 1.0 版:

Q1)你如何key()在另一个中嵌套一个key()(即使用从第一个返回的结果节点key()作为当前节点列表来搜索第二个key()条件来分组我的数据)?

Q2) 我可以合并 2 个key()函数的结果吗?说,我想为键值为“A”和“B”的所有节点执行代码。

有谁知道如何解决Q1和Q2?

非常感谢您的帮助!我希望问题足够清楚。如果您需要输入和输出示例,请告诉我。

问候,梅丽塔。