问题标签 [libxslt]
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.
c - xmlSecInit() 将断言失败打印到标准错误 (g_xslt_default_security_prefs == NULL)
我有一些代码与http://www.aleksey.com/xmlsec/api/xmlsec-examples-sign-template-file.html上的示例非常相似:
问题是,虽然xmlSecInit
成功(返回 0),但它会将此断言失败记录到 stderr:
我怀疑它是无害的,但记录错误可能是有原因的。我想知道如何避免它。
我没有XMLSEC_NO_XSLT
定义,所以#ifdef
s 中的那些代码行会执行。
谢谢!
c++ - C++、libxslt:释放样式表后释放样式表文档会导致崩溃
我正在使用 libxml2 和 libxslt 从 C++ 程序进行 XML 处理。为了使用 XSL 转换 XML 文档,我使用以下函数(删除了错误处理):
问题是程序在倒数第二行因访问冲突而崩溃(glibc 说:free(): invalid pointer: 0x00000000026d8090 * )。
我在文档中找不到 xsltFreeStylesheet 也释放底层文档或其他东西的任何提示,那么这里有什么问题?
xslt - 使用 xsl 从节点结构生成面包屑路径
我很难编写一个从节点结构生成面包屑试验的模板。到目前为止它无法正常工作,我认为它应该如何走项目路径存在一些缺陷。
考虑以下页面结构:
此站点索引表示其层次结构中的 xml 内容页面的站点结构(将其视为菜单)。它包含部分,代表站点部分,就像主页、公司、服务、解决方案等。这些部分可以包含带有页面的子部分,或者只是常规内容页面。内容页面(其 xml 内容,如标题、文本内容等)由项目树中的 @id 属性标识。@id 属性主要用于获取将呈现为 html 的整个页面的内容。面包屑模板使用项目节点@id 属性来获取页面的标题(将显示在面包屑路径中)。
我尝试通过检查树中的目标部分属性@section 和目标页面属性@id 来实现以下遍历树的模板。我希望它通过将祖先的@section 属性和@id 与该轴中每个节点的$item_target 进行比较来找到目标item_target,直到找到目标为止。
例如:属性 *$item_section=service* 和页面 id *target item_target=p1-1* 现在应该递归地“步行”到部分分支“ service ”(深度 1),检查目标页面 @id 是否在这个级别。在这种情况下,它没有找到,因此它对下一个项目节点级别进行下一次递归调用(通过应用模板)(在这种情况下它将是content-management-systems,在那里找到目标项目页面 p1-1 ,所以跟踪过程完成:
结果应该是这样的:
首页 >> 服务 >> 内容管理系统 >> p1-1
但不幸的是,它不能正常工作,至少不是在所有情况下。也许它可以更容易地解决。我尝试将它实现为一个递归模板,该模板作为叶子从顶部(级别 0)到目标页面(项目节点)。
因此,作为模板面包屑中的硬编码参数,目标部分 = 'service' 和目标页面 = 'search-engines-and-ir',我希望输出类似
首页 >> 服务 >> search-engines-and-ir
但输出是
主页 >> 服务 >> 内容管理系统 >> search-engines-and-ir
这显然是不正确的。
谁能给我一个提示如何纠正这个问题?避免这种深度检查会更加优雅,但到目前为止我想不出其他方法,我相信有一个更优雅的解决方案。
我使用 XSLT 1.0(通过 PHP5 的 libxml)。
希望我的问题足够清楚,如果没有,请询问:-)提前感谢您的帮助!
perl - 无法打开文件 perl
我正在尝试将 plist 文件转换为 JUnit 样式的 XML。我有一个将 plist 转换为 JUnit/ANT XML 的 xsl 样式表。
这是我运行以将 plist 转换为 XML 的 perl 代码:
在 Hudson/Jenkins 上运行 perl 脚本后,它会输出以下错误消息:
无法打开 ~/Hudson/build/workspace/ui-automation/automation\test\suite/Logs/Run\1/Automation\Results.plist:没有这样的文件或目录
该错误是由my $source = $parser->parse_file($path2plist);
代码中引起的。我无法弄清楚为什么它无法找到/读取文件。
任何人都知道可能导致错误的原因是什么?
libxml2 - xmlstarlet 在 mac 中无法正常工作
我为执行一些 xmlstarlet 命令的 Windows 创建了一个批处理文件。我想把它写成 .sh 文件,这样我就可以在 mac 上运行它。问题是..一些命令在windows中运行良好,但在mac中却不行。它也没有显示任何错误。例如。
在 Windows 中,上面的命令会删除提到的 xml 标签。但是它在mac中什么都不做。但是命令
在 mac 和 windows 上都可以正常工作。我已经安装了 xml 工具。检查/usr/local/bin。它有 libxslt.dylib 和 libxml2.dylib。不知道问题出在哪里?有人可以帮忙吗?
python - Python、libxslt 和在默认命名空间中查找对象
我一直在寻找使用 python libxml2 库和 XSLT 处理 XSTL 的任何示例时遇到了麻烦。我有一组带有默认命名空间的遗留文档,我一直在尝试将它们转换为可以导入到符合 tinkerpop 的数据库中的内容。遗留数据有一个默认命名空间,我不知道如何说服 libxslt 在数据中找到任何东西。
正如您从我的示例中看到的那样,我似乎根本无法从内部模板中获取任何东西来渲染。它似乎确实找到了最顶层的 (cmap) 模板,因为它吐出了<graphml>
样板文件。我对 XSLT 相当陌生,所以这可能只是一个缺点,但 SO 或谷歌上似乎没有人有任何这种工作的例子。
我曾考虑过使用正则表达式删除有问题的默认命名空间,但使用正则表达式解析 XML 通常是一个糟糕的计划,而且这似乎是个错误的想法。
我有以下 XML:
还有更多,但这是其中的一个示例。我能够使用该xpathRegisterNS()
命令注册默认命名空间并使用它找到我的地图、概念地图等。尝试使用 libxslt 处理此问题时,我没有同样的运气。
而python实验只是:
xml - 使用函数库而不使用或者
我有几个具有通用代码的 XSL 转换。公共代码由使用 exslt 的函数扩展构建的函数组成。现在我想将这些函数外包到一个库中,以使它们更易于维护。
转换作为资源编译为可执行文件,并在需要时从内存中读取。我想保持这种状态,并为库使用相同的机制。原因是,可执行文件将始终知道它们在哪里,并且不需要路径配置。
现在我的问题是:如何导入外部样式表,它以字符串形式给出,并且不能作为文件使用?
解决问题的一种方法是将样式表写入临时文件并包含这些文件。存在的问题是,临时文件的文件名每次都会更改,因此我必须操纵主要转换以包含临时文件名。在这种情况下,参数不起作用。
关于如何解决这个问题的任何想法,这应该是微不足道的?
环境:libxml2、libxslt (xslt 1.0)、exslt 扩展、Linux。
谢谢,
约斯特
macos - 我如何知道 OS X 上安装了哪个版本的 libxml2 和 libxslt?
我正在尝试找出我当前安装的版本。OS X 山狮 (10.8.2)
提前致谢!
python - 我可以捕获在 XSL 转换过程中使用/未使用的模板吗?
是否可以使用 记录/捕获在 XML 转换期间使用和/或未使用的 XSL 模板lxml
?我希望报告和修剪未使用的模板以减少“技术债务”。
ruby - 安装 ruby gem nokogiri 时缺少 libxslt
我认识到这是一个重复的问题,但是我发现的与此问题相关的所有其他答案似乎都没有帮助我......
我正在安装GitLab
并运行 gem 依赖项,当它达到NokoGiri
gem 要求并失败并显示以下信息时:
因此,此错误导致我尝试libxslt
使用以下命令进行安装:
那么给了什么?NokoGiri 需要这个包,但是这个包已经安装了!!我似乎无法解决这个问题,有什么帮助吗?