2011-11-24 14 views
1

XMLとXSLTの初心者です。私は、xmlファイル(book.xml)持ってXSLTを使用してHTMLテーブルにXML要素を表示

と私は、XSL変換でHTMLテーブルを作成し、そのtable.hereに本の内容を表示したい私のXSLTコードである

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"> 
    <xsl:template match="seite"> 
    <xsl:apply-templates select="document('book.xml')"/> 
    </xsl:template> 

    <xsl:template match="catalog"> 
    <html> 
     <head> 
     <title> 
      <xsl:text>book</xsl:text> 
     </title> 
     </head> 
     <body bgcolor="#ffffff"> 
     <h1> 
      <xsl:text>Lieferungen</xsl:text> 
     </h1> 
     <hr/> 
     <table border="1"> 
      <tr> 
      <th>Nummer</th> 
      <th>author</th> 
      <th>titel</th> 
      <th>genre</th> 
      </tr> 
      <xsl:apply-templates/> 
     </table> 

     <hr/> 
     <p> 
      <xsl:text>Mit Webfehler: Wie vermeidet man die falsch sortieren Spalten?</xsl:text> 
     </p> 
     </body> 
    </html> 
    </xsl:template> 

    <xsl:template match="artikel"> 
    <tr> 
     <td> 
     <xsl:value-of select="@id"/> 
     </td> 
     <xsl:apply-templates/> 
    </tr> 
    </xsl:template> 

    <xsl:template match="author|titel|genre"> 
    <td> 
     <xsl:apply-templates/> 
    </td> 
    </xsl:template> 
</xsl:stylesheet> 

しかし、私は見ることができません私のブラウザのテーブル。私はXMLファイルしか見ません。あなたはどうすればそれを正しく行うことができますか教えてください。あなたはあなたがおそらくそうでなければ、あなたのHTMLを作成するXSLTプロセッサを使用する必要があります.xmlファイルの

<?xml-stylesheet type="text/xsl" href="myTransform.xsl"?> 

残りは

を次の自分の.xmlファイルをXSLの参照を追加する必要が

答えて

0
  1. はちょうど最初の行の後、あなたのXMLに次の行を追加します:

    <?xml-stylesheet type="text/xsl" href="book.xsl"?>

    をしてIF保存Visual Studio用

    これをご覧くださいas book.xml

  2. 編集したXSLファイルとXMLファイルと同じフォルダ内にbook.xslとして保存

    <?xml version="1.0" encoding="utf-8"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
        <!-- You need a root xsl:template tag that matches the whole document --> 
        <xsl:template match="/"> 
        <xsl:apply-templates/> 
        </xsl:template> 
    
        <xsl:template match="catalog"> 
        <html> 
         <head> 
         <title> 
          <xsl:text>book</xsl:text> 
         </title> 
         </head> 
         <body bgcolor="#ffffff"> 
         <h1> 
          <xsl:text>Lieferungen</xsl:text> 
         </h1> 
         <hr/> 
         <table border="1"> 
         <!-- I added thead and tbody just to make it prettier --> 
          <thead> 
          <tr> 
           <th>Nummer</th> 
           <th>author</th> 
           <th>titel</th> 
           <th>genre</th> 
          </tr> 
          </thead> 
          <tbody> 
          <xsl:apply-templates/> 
          </tbody> 
         </table> 
    
         <hr/> 
         <p> 
          <xsl:text>Mit Webfehler: Wie vermeidet man die falsch sortieren Spalten?</xsl:text> 
         </p> 
         </body> 
        </html> 
        </xsl:template> 
    
        <xsl:template match="book"> 
        <tr> 
         <td> 
         <xsl:value-of select="@id"/> 
         </td> 
         <xsl:apply-templates/> 
        </tr> 
        </xsl:template> 
    
        <xsl:template match="author|title|genre"> 
        <td> 
         <xsl:apply-templates/> 
        </td> 
        </xsl:template> 
    
        <!-- If you do not need to output anything from these tags 
         add an xsl:template that matches them and outputs nothing --> 
        <xsl:template match="price|publish_date|description"></xsl:template> 
    </xsl:stylesheet> 
    
  3. のFirefoxで開くbook.xsl(それはおそらくまた、IEで動作します)

1

を支援するために は「ありがとう.xmlと.xslに基づいています。

編集:http://msdn.microsoft.com/en-us/library/aa302298.aspx

+0

はあなたのためにあなたをThnk答え、私はそれをしたが、成功しませんでした:( –

+0

@BabakBst "myTransform.xsl"はあなたの.xslファイルを指していますか?ブラウザで.xmlを開いたときに何が見えますか? – FailedDev

関連する問題