2016-04-03 29 views
0

私はESLジョブが処理できるようにXSLをフレーム化しなければならないXMLファイルを持っています。ここに私が必要なものがあります。出力にXSL 1.0行区切りがありません

入力XML

<FS_Sub_Investment_Team> 
    <Report Name="REPORT"> 
     <MeetTheTeamTableHeading Label="TEAM" /> 
     <MeetTheTeamTable> 
      <Rows> 
       <Row ManagerData="ABC EFGHI XYZ" /> 
       <Row ManagerData="ABC PQRST XYZ" /> 
      </Rows> 
     </MeetTheTeamTable> 
     <MeetTheTeamNote></MeetTheTeamNote> 
    </Report> 
</FS_Sub_Investment_Team> 

現在のXSL:

<xsl:template match="/"> 
    <Bio> 
     <BioText> 
      <xsl:apply-templates select="//Row/@ManagerData" mode="concat"/> 
     </BioText> 
    </Bio> 
</xsl:template> 

電流出力:

<Bio><BioText>ABC EFGHI XYZABC PQRST XYZ</Bio></BioText> 

私の予想される出力は次のようになります。改行(または)を持つ2つの要素の間のスペースで値、私に両方の解決策を教えてください。

<Bio><BioText>ABC EFGHI XYZ 
ABC PQRST XYZ</Bio></BioText> 

答えて

0

試してみてください。

<xsl:template match="/"> 
    <Bio> 
     <BioText> 
      <xsl:for-each select="//Row"> 
       <xsl:value-of select="@ManagerData" /> 
       <xsl:if test="position()!=last()"> 
        <xsl:text>&#10;</xsl:text> 
       </xsl:if> 
      </xsl:for-each> 
     </BioText> 
    </Bio> 
</xsl:template> 

スペースの代わりに、新しい行を挿入するには、使用:

<xsl:text> </xsl:text> 

の代わり:

<xsl:text>&#10;</xsl:text> 
+0

迅速な対応のおかげで、私はそれが期待どおりに動作しようとしたときに私は使用 実際の値の前に、改行が48行あります。どんな解決策もお願いします.. –

+0

「48行改行」が何を意味するのか分かりません。ここでは上記の作業を見ることができます:http://xsltransform.net/gWvjQgi –

+0

マイク、私は をXSLで使用するとき、私はステートメントを繰り返してください私はETLジョブプロセスの後に先頭と末尾の "改行" XML。 を使用すると、私のETLジョブがXMLを処理した後に、先頭と末尾の「スペース」が得られます。私はそれらを排除するのに助けが必要です。 –

関連する問題