對不起,我的英語。 我正在尋找一個提示或函數在xsl中,發現標籤後是否有空格,如果這是真的,函數應該做些什麼。用於LilyPond歌詞的XSL-Function
背景: 我想用XML寫歌曲的歌詞,因爲有各種各樣的音樂程序,它們需要特殊的語法來處理歌詞。
例如,軟件 「SongSheet發生器」 需要的語法:
[C]Where have all the [Am]flowers gone
用於示出(和轉置)的C-的AM-Akkord。
沒問題標記C和很喜歡<akkord>C</akkord>
,寫像
<xsl:template match="akkorde">
<span style="color:green">[<xsl:value-of select="." />]</span>
</xsl:template>
這麼久這麼好(我們在德國說)一個XSL。
現在我想在樂譜-PROGRAMM「LilyPond的」,歌詞這就需要這個語法工作:
Where4 have8 all2 the8 flow-8ers4 gone?2
有了寫這篇文章,軟件知道,這個詞「去哪兒」是四分之一注意,「有」是1/8 ... (LilyPond將該詞設置在適當的音符下)
您會看到,「flowers」一詞與「 - 」分隔。這是因爲這個詞有兩個音符(或兩個音節)。
在這種背景下(在LilyPond的,每一個點,逗號,問號......是音節的持續時間之前設置),我想我寫這樣的XML:
<akkord>C</akkord>Where<duration>4</duration> have<duration>8</duration> all<duration>2</duration> the<duration>8</duration> <akkord>Am</akkord>flow<duration>8</duration>ers<duration>4</duration> gone<duration>2</duration>
現在我需要一個XSL函數,在「flow-8ers4」中設置Seperator /連字符( - ),如果持續時間標籤在單詞中。如果duration-Tag在「Where4」這個單詞的末尾,那麼不應該出現Seperator。
我以爲「如果duration-Tag之後沒有空格,那麼它必須在該單詞中,然後該函數應該在持續時間標籤之前放置分隔符/連字符( - )」。 但你在上面看到歌詞末尾有一個問號。所以功能也必須看,如果第一個符號是空格或點,逗號...
當然,我也可以標記分隔符。但那是更多的工作要做。我希望一個功能可以使這個更好/更快。
希望你能理解我的寫作。感謝提示。