2012-04-11 11 views
2

質問があります!XSLTでユニークな文字列を簡単に生成するには?

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

@subsection <subsectionname> <subsectiontitle> 

だから、最初の単語がある:Doxygenのは、このように宣言を想定しているため

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

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

ありがとうございます!

答えて

5

generate-id()機能を使用してください。

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

あなたが生成された文字列は、より「読める」ようにしたい場合は、ここではこれ行うための一つの方法です:

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

が魅力のように働きました!どうもありがとうございます! –

+0

@SubhamoySengupta:どうぞよろしくお願いいたします。 –

関連する問題