2

質問があります!

セクションとサブセクションを持つXMLドキュメントがあります。を使用してDoxygenページを生成していXSLTProcますが、問題が発生しています。このようなセクション名を生成すると、次のようになります。

<xsl:template match="SECTION/SUBSECTION">
@subsection <xsl:value-of select="@title"/>
<xsl:apply-templates/>
</xsl:template>

次に、Doxygenは次のように宣言を予期しているため、タイトルの最初の単語は表示されません。

@subsection <subsectionname> <subsectiontitle>

したがって、最初の単語は自動的にサブセクション名として扱われます。ランダムに生成された文字列をそこに配置することは、非常に単純な作業のようには思えません。代わりに、を使用して一意の番号を付けようとしましたが<xsl:value-of select="count(preceding-sibling::*[@col]) + 1"、これは期待どおりに機能しましたが、結局のところ、Doxygenはサブセクション名として番号を受け入れません。また、の空白を削除"@title"してサブセクション名として使用しようとしましたが、XSLTProcはそれがの直接の子ではないと文句を言い<xslt:stylesheet>ます。どうすれば簡単にユニークな文字列をそこに置くことができますか?意味のあるテキストである必要はありません。

前もって感謝します!

4

1 に答える 1

5

generate-id()関数を使用します。

<xsl:value-of select="generate-id(@title)"/> 

生成された文字列をより「読みやすく」したい場合は、次の方法があります

<xsl:value-of select="concat(@title, generate-id(@title))"/> 
于 2012-04-11T12:42:00.690 に答える