2012-04-11 2 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="concat(@title, generate-id(@title))"/> 
+0

: 당신이 생성 된 문자열이 더 "읽기"싶은 경우에

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

, 여기이을 수행하는 하나의 방법입니다! 정말 고맙습니다! –

+0

@SubhamoySengupta : 천만에. –

관련 문제