読者です 読者をやめる 読者になる 読者になる

AKAI TSUKI

System development or Technical something

xslについて学ぶ4

入力のxmlは変えずに、xslをいじりました。


○変換のためのxsl(ver2)

<?xml version="1.0" encoding="shift_jis"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >


    <xsl:template match="/" >
      <xsl:apply-templates />
    </xsl:template>
    
    <!-- xmlのトップルートに当たるタグ名を指定する -->
    <xsl:template match="reports" >
      <html><xsl:apply-templates /></html>
    </xsl:template>
    
    <!-- タグを指定して記述内容を書く -->
    <xsl:template match="singleErr" >
      <xsl:value-of select="./@att1" />,<xsl:value-of select="./@att2" />
    </xsl:template>

    <!-- タグを指定して記述内容を書く -->
    <xsl:template match="DobuleErr/item" >
      <xsl:value-of select="." />
    </xsl:template>
    
</xsl:stylesheet>

○出力されたxml

<html>
  aaaa,bbbb
  aacc,bbdd
  aaee,bbff
  
    error1
    error2
    error3
  
  
    error4
    error5
    error6
  
</html>


もうすこし修正してみた。

○DobuleErrのところを下のように修正

    <!-- タグを指定して記述内容を書く -->
    <xsl:template match="DobuleErr/item" >
      <xsl:value-of select="../@att1" />,<xsl:value-of select="." />
    </xsl:template>

○このときの出力ファイル

<html>
  aaaa,bbbb
  aacc,bbdd
  aaee,bbff
  
    aagg,error1
    aagg,error2
    aagg,error3
  
  
    aaii,error4
    aaii,error5
    aaii,error6
  
</html>

まぁまぁいいかんじ?