我需要一个 hack 来制作 xslt 让我们为变量设置新值

2024-01-27

我读到,与编程语言不同,XSLT 不允许我们为变量设置新值。我只是想知道是否有任何技巧可以绕过人们正在使用的这个限制?因为有能力重置 a 的值variableAFAIK 本质上很有用

好吧,至少如果我们可以重置变量的值,我可以在这里解决我的问题:我如何不在我的 xslt 代码中重复重复的逻辑? https://stackoverflow.com/questions/6296656/how-do-i-not-repeat-repeated-logic-in-my-xslt-code


我读过这与编程不同 语言,XSLT 不允许我们 为变量设置一个新值。

这里有两个不正确的说法:

  1. “与编程语言不同,XSLT”。 XSLTis一种编程语言。它是称为函数式编程语言的一组编程语言的成员。与您想说的最接近的正确陈述是:“不像*过程”编程语言”

  2. “XSLT 不允许我们为变量设置新值”。再次不正确 — 不是 XSLT 不允许某些东西 — 它是任何函数式编程语言,而 XSLT 是一种函数式编程语言。

我只是想知道是否有任何黑客行为 为了绕过这个限制 人们正在使用?

no黑客,因为人们不需要这样的黑客。如果不能改变变量的值就无法生存,人们只需使用过程编程语言即可。

因为有 重置 a 值的能力 AFAIK 变量本质上是有用的

其实拥有这样的能力在大多数情况下都是有害的。这使得理解程序和/或使用程序正确性验证器证明其正确性变得更加困难。任何具有副作用的程序也更难以优化,并且任何此类程序的优化程度可能低于也解决相同问题的不可变代码。

很高兴知道:众所周知,任何可以用过程语言解决的程序也可以用函数语言解决。因此,不需要可变变量——甚至没有一个问题不能以函数方式解决。那you认为问题无法以函数方式解决并不意味着这个问题就无法解决——只要询问其他人,他们就会向你展示一个巧妙的解决方案——通常比程序解决方案更短、更优雅。

一个很好的例子可以用纯 XSLT 做什么 is the FXSL http://fxsl.sf.net图书馆。 FXSL 提供了一组用于解决大量问题的函数/模板,其中包括非常复杂的问题,例如求幂(x^y) 或对数,或基本三角函数,或求解任何方程f(x) = 0, ETC。 ...

FXSL 函数的其他示例属于文本处理领域——单词标记化、拼写检查、索引构建等......

使用 FXSL 功能实现更复杂的任务:通用 LR-1 解析器、JSON 和 XPath 2.0 解析器、随机数序列的生成、数值积分和微分等。

所有这一切都是在不改变任何变量的情况下完成的——“XSLT 不允许这样做”这一事实并没有带来一点不便:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我需要一个 hack 来制作 xslt 让我们为变量设置新值 的相关文章

  • 使用 Xpath 进行部分匹配

    我正在尝试创建一个搜索功能 允许使用 Xpath 按歌曲标题或流派进行部分匹配 这是我的 XML 文件
  • XSLT:copy-of 如何修改内容来替换某些元素?

    我有一个输入 XML 文档 如下所示
  • 保存 xml 文档会导致文件损坏

    我有一个关于如何将 xmldoc 保存为 word 文件的问题 我想打开 word 文件 使用 xmldocument 类对潜在的 xml 结构进行一些操作 然后将其重新保存回 word 文件 这就是我目前正在做的事情 using Word
  • 无法通过 xslt 删除其中“xsi:nil”的标签

    我有以下 xml 其中包含多个带有 xsi nil true 的 xml 标签 这些标签基本上是空的 我无法使用 找到任何 sxlt 转换器来从 xml 中删除这些标签并获取 xml 的其余部分
  • 使用 include 进行 JAXB 剧集编译不起作用

    我有 2 个模式 A B 我在 B 中重用了一些 A 元素 我不使用命名空间 我在用着
  • 将属性值指定为 CDATA

    可以将 XML 属性值指定为 CDATA 吗 如果是的话 相同的模式是什么 如果不是 为什么 XML 中没有解决这个限制 不 你不能这样做 在什么构成属性和什么构成子元素之间存在非常细的界限 并且存在很大的争论 看here https st
  • 用于 RSS feed 解析的 Objective-C 库?

    我正在为 iOS 应用程序寻找一个 Objective C 库 该库将解析并显示 RSS 提要中的文章 具体来说 我正在寻找为新闻网站制作一个应用程序 如果可能的话 该框架应该能够使用各种 RSS XML 结构 嗯 有两个不同的新闻网站 一
  • 将 < 转换为 < xml 文档

    我已读取 XML 文件并转换为 NSXMLDocument 对象 但是 由于节点的字符串内容中存在 我如何将文件作为普通 XML 文件写入 其中 lt 将被 感谢致敬 列宁 当 的时候 lt 字符出现在文本节点中 它将被序列化为 lt 当您
  • php - 当存在 CDATA 时,将 xml 转换为 json 不起作用

    如果我使用以下php代码来转换xml to json I get Company fcsf Details n fgrtgrthtyfgvb n 但是 如果我使用CDATA in the Details元素如下
  • 如何从 SQL Server 2008 返回由共享公共父级的多个选择构成的 XML

    我尝试过使用 FOR XML PATH FOR XML EXPLICIT 和 FOR XML AUTO 但数据从未采用正确的层次结构构建 基本上 我有一张父表 客户 和 3 个子表 每个表都有一个 customerid 列 Customer
  • SimpleXML:使用包含命名空间的 XML

    我正在尝试从 google picasa API 获取地理信息 这是原始 XML
  • 如何防止 .NET 中的 XPath/XML 注入

    如何防止 NET Framework 中的 XPATH 注入 我们之前使用字符串连接来构建 XPATH 语句 但发现最终用户可以执行一些任意 XPATH 例如 string queryValue pages url USER INPUT V
  • 如何在 iOS 中将 NSData 变量转换为 NSInteger 变量

    我有以下返回的 api 方法NSData 我在另一个视图控制器中调用了这个方法 如何转换NSData to NS整数 NSData getBusXMLAtStop NSString stopnumber NSMutableURLReques
  • Android:非键盘输入法

    我正在尝试为 Android 创建一个不是传统键盘 对应于不同字母的按键行 的 IME 并且我无法找到有关如何执行此操作的有用资源 因为 SDK 中的所有代码示例都使用键盘 API它是内置函数 我在 XML 文件中设计了 IME 界面 就好
  • 根据 ss:Index 对单元格进行排序

    服务器生成的 XML 电子表格具有随机序列
  • 将 cXML 反序列化为 C# 类

    我正在尝试将 cXML 字符串反序列化为 C 类 但是 在反序列化时 除了根元素之外 我似乎无法获得任何东西来反序列化 如何反序列化 XML 文档 https stackoverflow com questions 364253 how t
  • Xml、xsl Javascript 排序

    我正在寻找一种使用 javascript 对 xml 数据进行排序的方法 并希望最终过滤掉数据 我知道这一切都可以在 xsl 文件中实现 但我想在客户端进行 我已经搜索了多个使用 javascript 进行排序的地方 但其中大部分要么太特定
  • Python:将 xml 文件转换为图像

    我希望使用 python 脚本将 xml 文件转换为图像 最好是 png 文件 我没有从我的在线研究中找到太多信息 我正在尝试使用 PIL 从这个帖子 https stackoverflow com questions 5741803 co
  • Android:java.lang.OutOfMemoryError:

    我在 Android 上开发了一个使用大量图像的应用程序 可绘制文件夹中有很多图像 比如说超过 100 张 我正在开发图像动画应用程序 我使用 imageview 来显示 GIF 图像 我使用了将 gif 图像分割成多个 PNG 格式图像的
  • 以编程方式创建 FloatingActionButton(无需 xml)

    我很欣赏 Android 的 FloatingActionButton fab 功能 并希望在我的项目中的许多不同地方使用它们 现在 我有这样的东西 我有几个 xml 规范 除了 id 图标和 onclick 之外 所有这些规范都是相同的

随机推荐