2016-04-03 15 views
0

XSL'yi çerçevelemek zorunda olduğum bir XML dosyası var, böylece ETL işimin işleyebilmesi için. İşte ihtiyacım olan şey.XSL 1.0 satırı kesiliyor çıktıda eksik

Girdi 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> 

Güncel XSL:

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

Akım Çıkışı:

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

My beklenen çıkışı: İki eleman arasındaki boşluk satır sonu (veya) ile değerler, lütfen bana her iki çözümü de verin. Deneyin

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

cevap

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> 

yerine yeni bir hattın bir boşluk eklemek için, kullanım:

<xsl:text> </xsl:text> 

yerine:

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

teşekkür çabuk tepki için, beklediğim gibi çalışmayı denedim ama kullandım Gerçek değerden önce 48 satır ara veriyorum. Herhangi bir çözüm lütfen .. –

+0

"48 satır sonu" ne demek bilmiyorum. Yukarıdaki çalışmayı burada görebilirsiniz: http://xsltransform.net/gWvjQgi –

+0

Mic, XTL'deki 'u kullandığımda, ETL iş sürecimden sonra Lider ve Sondaki "satır sonlarını" alıyorum ifadesini yinelemeliyim XML kullandığımda, ETL iş sürecimden sonra XML'de "Lider" ve "Boşluk" çekiyorum. Bunları ortadan kaldırmak için yardıma ihtiyacım var. –