问题标签 [xsl-choose]

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 投票
1 回答
38549 浏览

xslt - XSL 中的开关盒

我有一个带有相同标签的循环来加载十个单元格中的内容,但有不同的 div 标题和背景图像,所以我想知道是否有任何方法可以使用 switch case 来放置正确的 div 标题,当我为每个加载时XSL 中每个单元格的内容?像这样:<...在这里加载相同的标签内容...>请帮助我,因为我是 XSL 的新手,无论如何谢谢你!

0 投票
2 回答
263 浏览

php - PHP XSL 条件语句(CHOOSE、WHEN、IF、OTHERWISE)导致 500 内部服务器错误

这就是问题所在。我正在获取从 Web 应用程序返回的返回 XML 数据,并通过 XSLT 将其处理为 HTML 以供用户查看。这在我的本地 WAMP 服务器(Apache 2.2.21、PHP 5.3.8、libxml 2.7.8、libxslt 1.1.23)上完美运行。但是,当我将它加载到我的 Arvixe 托管服务器(Apache 2.2.23、PHP 5.2.17、libxml 2.7.8、libxslt 1.1.27)时,它失败了。我能够深入研究并发现 xsl 转换正在工作,直到我合并任何条件语句(选择、何时、如果、否则等),此时它会引发“500 内部服务器错误”。我检查了错误日志,没有与问题相关的内容。如果我消除所有条件语句并仅显示每个 XML 节点的值:

一切正常

但是如果我添加一个条件语句:

浏览器显示 500 Internal Server Error

任何人都有任何线索可能导致这种情况?

在我的智慧尽头!无法为我的生活弄清楚为什么会发生这种情况。

0 投票
1 回答
1200 浏览

xslt - xsl 在 concat 中选择

我有以下数据:

XML

XSL

输出必须是

但是对于选择语句,它是

所以它在计算之后执行“字母”“y-val”“x-val”“y-val”

我不明白为什么 concat 不能与选择语句一起使用,但如果没有它,效果很好。问题是我不能有负数,而是需要将它们转换为正数 (*-1) 并加上 400。

有任何想法吗?

0 投票
1 回答
2926 浏览

xml - 使用 XSLT,当 for 循环内的模板调用返回搜索元素时,如何将此 if-test 与数组一起使用?

我认为这个简单的例子可能会更清楚地提出这个问题。

我有一个包含多个产品的输入文件。有不同类型的产品(对于这个例子来说,有 2 个产品 ID 的 2 种类型就足够了),但输入会有更多。

我只想输出在 for each Product 循环中遇到的每种类型的第一个产品的信息。(我正在输出价格最低的产品的信息,所以第一个将是最低价格,因为我首先按价格排序。)

所以我想读取每个产品,但如果我还没有输出具有相同 ID 的产品,则只输出产品的信息。我有一个 IDArray 的变量,我想检查 for each product 循环中的每个产品是否有一个已经在该 IDArray 中的 ID - 如果没有,请继续,如果它已经在数组中,则跳过所有内容并循环到下一个。

我不知道如何让子元素成为 IDArray 中的一个节点,其中每个 CurrentID 的值。它不断将该值作为节点添加到 CurrentID,该节点仅在每个产品的范围内,而不是整个产品组。我知道下面的代码不起作用,但它说明了这个想法并给了我一个开始的地方:

提前非常感谢,我知道这里有一些很棒的程序员可以提供帮助!:) -冬青

输入看起来像这样:

仅对于那个简单的输入文件,输出将是这样的:

在此处输入图像描述

在这里实现 Muenchian 分组很困难,因为我的实际数据集很大。我很容易问一个问题。如果我能让那个数组方法正常工作,那么我庞大的项目的其余部分就可以工作了。

0 投票
1 回答
62 浏览

xslt - 使用 xslt 我如何使用选择/何时从文档中删除元素

这是我的示例文档

仅当 b 上的标志属性为“bar”时,我才希望删除“c”元素。即如果 flag='foo' 则不应删除“c”元素。我的电脑上目前没有 xsl 调试工具,也找不到显示 xslt 错误信息的在线工具,并且一直在http://xslttest.appspot.com/上运行以下测试 xsl 转换:

当我运行它时,我得到错误:无法编译样式表。检测到 3 个错误。我正在寻求帮助 (1) 解决 xsl 代码的问题和 (2) 任何可以调试/测试 xsl 代码片段的 xsl jsfiddle 之类的东西。

0 投票
2 回答
2971 浏览

xml - xsl:sort 不能与 xsl:choose 或 if 一起使用

我对这个 XSL 问题发疯了!

问题是我想在表格中选择的内容之后对报纸进行排序。如果$sort_newspaper = 'name'它应该在名称()之后排序......但是......如果存在于选择内部或之后,<xsl:sort select="./@name"/>它就不起作用。xsl:sort它也不适用于xsl:if.

要清楚它像现在的代码一样工作,选择工作......

0 投票
1 回答
709 浏览

xml - 如何在每个循环下仅获取一次根元素标记?

我需要为我的项目获取如下的最终输出结构 xml。但我在这段代码中遇到了一些问题。

这是输入的xml文件

为了实现上面的输出结构 OI'musing 下面的代码

这里的逻辑是,对于每个 Info Msg 标签,它应该检查 MSgType 是否等于 01 或 1,如果是,则创建 Endorsement 标签,否则它应该构造 Ltext 标签。条件是 Endorsement 元素中使用的 Msgtype 不应在 Ltext 标签中重复.

但它给了我下面的输出

在这里,背书标签多次出现,这是不必要的。它应该只来一次。

请建议我可以在我的代码中进行哪些更改以获取它。是否有任何替代方法或方式来做到这一点。

谢谢阿斯玛

0 投票
1 回答
139 浏览

xml - XSL 变换:选择块不选择正确的变量

我正在处理一个不断丢失地址行的 xsl 文档。我已经修复了它,但似乎已经破坏了它试图修复与修复相关的问题。这是我的代码中的一个示例:

.

您可以假设 AddressLine2 始终映射到变量 $addressLineOne。AddressLine2 工作正常。我遇到的问题是地址线 3。我测试

when addressLine2 = $addressLineOne然后choose value $addressLineThree

但是地址出来是这样的:

我需要的是:

当 AddressLine1 不是从 houseNumberHouseName 映射时:

有人可以指出为什么我的选择不起作用吗?

谢谢

0 投票
1 回答
999 浏览

xslt - xsl 将选择结果包装在 div 标记中

您如何将“何时”和“否则”结果包装在标签中?

在下面的示例中,我尝试添加一个 div,但它最终包装了每个结果。

上面代码的结果:

我希望它看起来如何:

感谢您的帮助。

0 投票
1 回答
308 浏览

xslt - xsl 变量在 xsl 选择中不起作用

这个“$PAGE_SCOPE[title]”将显示页面的标题我想根据标题显示不同的标题所以我试图在一个变量中获取页面标题,这个变量在段落标签中显示标题但它是在 when 循环中不起作用。

任何指针都会有所帮助。