我有个问题!
我有一个XML文档,其中包含部分和子部分.我正在使用它生成Doxygen页面XSLTProc,现在我遇到了问题.当我生成这样的部分名称时:
<xsl:template match="SECTION/SUBSECTION">
@subsection <xsl:value-of select="@title"/>
<xsl:apply-templates/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
然后标题的第一个单词没有出现,因为Doxygen希望以这种方式声明:
@subsection <subsectionname> <subsectiontitle>
Run Code Online (Sandbox Code Playgroud)
因此,第一个单词将自动视为子节名称.将随机生成的字符串放在那里似乎不是一个非常简单的任务.我尝试使用唯一的数字,通过使用<xsl:value-of select="count(preceding-sibling::*[@col]) + 1",按预期工作,但事实证明,Doxygen不接受数字作为子部分名称.我还尝试剥离白色空格"@title"并将其用作小节名称,但XSLTProc抱怨它不是直接的孩子<xslt:stylesheet>.我怎样才能轻松地在那里放一些独特的弦?它不一定是有意义的文本.
提前致谢!
使用该generate-id()功能.
<xsl:value-of select="generate-id(@title)"/>
Run Code Online (Sandbox Code Playgroud)
如果您希望生成的字符串更"可读",可以使用以下方法:
<xsl:value-of select="concat(@title, generate-id(@title))"/>
Run Code Online (Sandbox Code Playgroud)