在 Python 中将 xslt 函数应用于 libxml2 中的某些节点

发布于 2024-11-17 09:30:48 字数 145 浏览 0 评论 0原文

在 python 脚本中,我想应用以下 XSLT 函数:标准化空间并转换为 libxml2 树中的某些节点

可以在不编写样式表的情况下完成吗?

如果需要样式表,它会是什么样子?

如何从 python 将上下文节点设置为给定节点?

In a python script, I want to aplly the following XSLT functions : normalize-space and translate to some nodes from an libxml2 tree

Can it be done without writing a stylesheet ?

If a stylesheet is needed, what will it look like ?

how to set the context node to a given node from python ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

背叛残局 2024-11-24 09:30:48

两者normalize-space()translate() 是标准 XPath函数,因此它们可以用于任何XPath 表达式——没有 XSLT。

只需将 API 用于您的 XPath 引擎即可。

Both normalize-space() and translate() are standard XPath functions, so they can be used in any XPath expression -- without XSLT.

Just use the API for your XPath engine.

§对你不离不弃 2024-11-24 09:30:48

事实上,这非常简单:D

context = xmlDoc.xpathNewContext()
extractedContent = context.xpathEval( normalize-space( translate( /html[1]/body[1]/div[1]/div[2]/div[2]/div[1]/div[2]/div[1]/form[1]/div[2]/h3[1] , ' ' , ' ' ) )
context.xpathFreeContext()

我认为规范化空间和翻译只能从 XSLT 引擎访问
我错了

in fact it's very easy :D

context = xmlDoc.xpathNewContext()
extractedContent = context.xpathEval( normalize-space( translate( /html[1]/body[1]/div[1]/div[2]/div[2]/div[1]/div[2]/div[1]/form[1]/div[2]/h3[1] , ' ' , ' ' ) )
context.xpathFreeContext()

I thought normalize-space and translate could be accessed only from an XSLT engine
I was wrong

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文