我有这样的情况:
<List>
<Entry>
<![CDATA[......]]>
</Entry>
<Entry>
<![CDATA[......]]>
</Entry>
...
</List>
CDATA 部分包含编码字节。每个条目的 cdata 都有一个控制字作为第一个字,它描述了数据将进入文件的长度以及在该文件中查找的长度。例如:00060000abcdef 将暗示一个包含“abcdef”且长度为 6 的文件在 0 处搜索。输出应该是一个包含 abcdef 的文件。
XSLT 是否是以某种方式解释 CDATA 并写入文件的正确选择?
- 我可以考虑在 Xalan 中使用 redirect:write
使用某种自定义 XSLT 函数,该函数将分解为解析器处理程序来处理此问题:
<xsl:MyFunc></xsl:MyFunc>
有没有办法使用 for、if 等将自定义 XSLT 函数编写为标签?
根据 Dimitre Novatchev 的反馈进行编辑:
感谢您的答复!我希望下面能澄清这个问题。对不起。
输入 XML 文件:
<File>
<Chunk>
<Offset>200</Offset>
<Length>100</Length>
<Data>
<![CDATA[data bytes that can be greater than 100 too, but first 100 is valid.]]>
</Data>
</Chunk>
...
</File>
输出应该是一个包含以下内容的 html 文件:
<html>
<body>
<a href="resulting_file">file</a>
</body>
</html>