【发布时间】:2020-01-23 03:54:05
【问题描述】:
我有一个 XML 字符串,我想在这个 XML 上应用 XSLT 字符串来过滤 anyURI 类型的元素。
我有兴趣使用 libxslt。但它会转换文件中存在的 xml。我想转换 xml string.
如何编写一个C程序来转换这个xml字符串?
【问题讨论】:
我有一个 XML 字符串,我想在这个 XML 上应用 XSLT 字符串来过滤 anyURI 类型的元素。
我有兴趣使用 libxslt。但它会转换文件中存在的 xml。我想转换 xml string.
如何编写一个C程序来转换这个xml字符串?
【问题讨论】:
就 XSLT 而言,libxslt 是 XSLT 1.0 处理器,因此它不支持 W3C 模式类型,例如 XSLT 中的 xs:anyURI,您需要使用 XSLT 2 或 3 处理器。因此,我不确定您希望 XSLT 程序如何过滤掉 xs:anyURI 类型的元素,无论您是在文件中还是在字符串中。
就 C 而言,我猜,根据您的“字符串”表示,您需要使用 http://www.xmlsoft.org/html/libxml-parser.html#xmlReadMemory 或 xmlReadDoc 来为 XML“字符串”输入和 XSLT“字符串”获取 http://www.xmlsoft.org/html/libxml-tree.html#xmlDocPtr输入,然后 libxslt API 允许您使用http://xmlsoft.org/XSLT/html/libxslt-xsltInternals.html#xsltParseStylesheetDoc 获取xsltStylesheetPtr,然后运行xsltApplyStylesheet。
【讨论】: