1

コンテンツ タイプがプレーン テキストの xml ファイルがあります。最初の行を xsl 変換の見出しとして使用したいのですが、どのように形成すればよいですか?さまざまな用語を区切り記号として試しました
が、結果はありませんでした。入力

<contentSet>
<inlineData contenttype="text/plain" >
Et, sent luptat luptat, commy nim zzriureet vendreetue modo
dolenis ex euisis nosto et lan ullandit lum doloreet vulla
feugiam coreet, cons eleniam il ute facin veril et aliquis ad
minis et lor sum del iriure dit la feugiamcommy nostrud min ulla
</inlineData>
</contentSet>

このようなものを出力したい

<doc>
<story>
<headline>
  Et, sent luptat luptat, commy nim zzriureet vendreetue modo   
 </headline>
<text>
Et, sent luptat luptat, commy nim zzriureet vendreetue modo
dolenis ex euisis nosto et lan ullandit lum doloreet vulla
feugiam coreet, cons eleniam il ute facin veril et aliquis ad
minis et lor sum del iriure dit la feugiamcommy nostrud min ulla
</text>
</story>
</doc>
4

1 に答える 1

5

技術的には、inlineData要素の最初の行は空で、2 行目にのみテキストが含まれています。処理したいすべての入力に対して構造が同じであると仮定すると、使用できます

<xsl:template match="contentSet">
  <story>
    <headline><xsl:value-of select="substring-before(substring-after(inlineData, '&#10;'), '&#10;')"/></headline>
    <text><xsl:value-of select="."/></text>
  </story>
</xsl:template>

私はそれが脆いことを認識していますが、XSLT/XPath 1.0 での文字列処理は弱く、XSLT 2.0 では<xsl:value-of select="tokenize(inlineData, '\n')[normalize-space()][1]"/>.

于 2013-09-16T09:14:53.167 に答える