xslt 如何输出突出显示的代码(至少在主要语言中)

问题描述 投票:0回答:0

我在许多语言的

<code>
标签内有代码和平的文档(它可以是 C、Ada、LaTeX 或其他任何语言)。

目标是根据

language
属性中的语言解析代码,以使用css获得语法着色。

Olso,如何避免与 xml 语法重叠,例如在下面的代码中,“

<stdio.h>
”不应被解释为 XML 标记,而应被解释为联合国 C 代码?

XML 文件
<code language="C">
#include <stdio.h>
int main(void)
{
 printf("%s", "Hello World!\n");
 return 0;
}
</code>
预期产出
<span class="PreProc">#include </span><span class="String">&lt;stdio.h&gt;</span>
<span class="Type">int</span> main(<span class="Type">void</span>)
{
 printf(<span class="String">&quot;</span><span class="SpecialChar">%s</span><span class="String">&quot;</span>, <span class="String">&quot;Hello World!</span><span class="SpecialChar">\n</span><span class="String">&quot;</span>);
 <span class="Statement">return</span> <span class="Number">0</span>;
}

目前,我发现两个可能的灵魂:

  1. XSLTHL;
  2. 文章使用来自 XSLT 的 Pygments.

但他们都没有带来真正可用的例子。

那么如何进行这种转变呢?

编辑

作为处理器,我使用 xsltproc。

xml xslt xml-parsing syntax-highlighting
© www.soinside.com 2019 - 2024. All rights reserved.