问题标签 [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.
xml - 如何添加图像?
情况:
我有一个包含图像信息的简单XML文档。我需要将其转换为HTML。但是,我看不到打开标记的位置,当我使用下面的XSL代码时,它显示以下错误消息:
“当没有打开元素开始标签时,无法写入属性节点。”
XML 内容:
XSL 代码:
xml - 在 XSLT 1.0 中格式化 24 小时时间的最佳方式是什么?
我很难找到采用时间格式并轻松确定它是否有效然后使用 XSLT 1.0 生成具有某种格式的结果元素的好方法。
给定以下xml:
生成生成的 xml 会很棒:
但是,如果源 xml 包含无效的 24 小时时间格式,则生成的dstTime元素应为空白。
例如,当无效的源 xml 如下:
生成的 xml 应该是:
问题是,可以编写以产生所需结果的最佳 XSLT 1.0片段是什么?希望是保持它非常简单,而不必每次都解析(即,如果可能的话,模式匹配会很甜蜜)。
xml - 检查 OUTPUT 中的重复元素
我有一些 XML,例如,它看起来像这样:
我想用 XSLT 对其进行转换,但我想抑制输出中的第二个 f2 元素 - 如何在处理源中的第二个 f2 元素时检查我的模板内部是否已经存在输出中的 f2 元素?我的 XSLT 目前看起来像这样:
我需要对模板中的 xsl:element 进行某种检查,但我不确定如何查询输出文档以查看该元素是否已经存在。
编辑:忘记了 pre 标签,现在应该可以看到代码了!
xml - 用 xsl:text 解释换行符?
我有一个 XSL 样式表,其xsl:text
节点中的内容如下:
样式表本身是一个带有“unix 风格”换行符的文本文件。我在 Windows 和类 unix 平台上调用这个样式表。如果输出符合调用它的平台的约定,那就太好了。
当我在 Windows 上运行这个样式表时,除了xsl:text
节点的内容之外,输出都有回车/换行对。
xsl:text
我可以指示 XSLT 处理器将节点内容中的换行符转换为特定于平台的行尾吗?
更多上下文:我正在从Apache Ant 1.7.1 XSLT 任务中调用样式表,如下所示:
样式表标题当前如下所示:
xml - 选择祖先的属性;“../..” 作品,“祖先::“不
我正在运行一个 XML 文档,选择所有元素,并基于祖先创建链接,该祖先通常是树中的两个节点,但偶尔也会有 3 或 4 个节点。对于大多数元素, using<xsl:value-of select="translate(../../@name,$uc,$lc)" />
工作得很好,但对于祖先是 3 个左右节点的情况,我想使用<xsl:value-of select="translate(ancestor::package/@name,$uc,$lc)" />
,但这不起作用。
我正在使用 Ruby 中的 xsltproc 来进行 XSL 转换。
示例树(是的,它有 XSLT,不,我不想处理它):
我正在使用的 XSL:
编辑:啊,对,忘记了选择的名称空间。在大多数情况下,解析器正确地找到了那个祖先,但是当那里有一个 xsl: 节点时它仍然找不到它,并且目标文件没有 xsl 的命名空间。我不想修改目标文件,因为它是生产代码——我只是在编写一个自动文档工具。
xml - 仅处理选定的节点
一个 XSLT 新手问题:我需要在 XML 文件中替换一个文本值。所有其他节点必须保持不变。这是我的输入文件(in.xml):
这是我的 XSLT 转换 (subst.xsl):
我使用以下 Ant 脚本 (build.xml) 运行它:
这就是我得到的(out.xml):
“level1”的属性“attr1”缺失。
如果有人,我将不胜感激
- 告诉我subst.xsl 有什么问题
或者
- 给我一个想法,如何强制 xslt 处理器将不匹配的节点复制到输出文件并手动完成(在我的情况下这很容易出错)。
xml - 如何使用带有样式表和 xsltproc 的 xslt 从 xml 中删除元素?
我有很多具有以下形式的 XML 文件:
我想从文件中删除。
使用 XSLT 样式表和 Linux 命令行实用程序 xsltproc,我该怎么做?
到目前为止,在脚本中我已经有了包含要删除的元素的文件列表,因此可以将单个文件用作参数。
编辑:这个问题最初缺乏意图。
我想要实现的是删除整个元素“元素” where (fruit=="apple" && animal=="cat")。在同一个文档中有许多名为“元素”的元素,我希望这些元素能够保留。所以
会成为:
xml - 文本属性作为另一个元素的值
使用下面的 XML,我想知道如何获取 case_id 节点中文本的值作为下面 xsl 表中隐藏输入标记的属性。这可能吗?
html - 输出 html 控件 - 动态控件名称
我想使用 xslt 输出 html 控件,但我需要能够命名控件,以便在表单回发时可以找到它们。
我希望能够命名单选按钮"action_" + _case_id
。
xml - 如何创建布尔值?
我对 XSLT 完全陌生,无法弄清楚以下代码哪里出错了。
当它应该为假时,它总是返回真。为什么?