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