2011-12-13 6 views
1

XML文書のHTMLテーブルを返すように.xslファイルを使用しようとしています。私はこれに関する経験がなく、前にやったことがないので、おそらくこれは単なる間違いです。XMLからHTMLテーブルを出力するためにXSLを使用しようとしています

私は私のpodcatalog.xsl

<?xml version="1.0" encoding="ISO-8859-1"?> 

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

<xsl:template match="/"> 
    <html> 
    <body> 
    <h2>Pods Papers</h2> 
    <table border="1"> 
    <tr bgcolor="#9ACD32"> 
     <th>Author</th> 
     <th>Title</th> 
     <th>Pages</th> 
     <th>Year</th> 
    </tr> 
    <xsl:for-each select="pods-papers/inproceedings"> 
    <tr> 
     <td><xsl:value-of select="author"/></td> 
     <td><xsl:value-of select="title"/></td> 
     <td><xsl:value-of select="pages"/></td> 
     <td><xsl:value-of select="year"/></td> 
    </tr> 
    </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 

</xsl:stylesheet> 

そしてpodcatalog.xmlfound here

私は取得しています誤りがある可能のために次のコードを持っている:「読み込みエラースタイルシート:失敗したXSLTスタイルシートを解析します。」

+0

xslt変換を行う場合は、使用している言語を教えてください。私はC#を最も使用するので、私はこれを行うだろう:xsltTransform.Transform(xmlReader、transformedXml);より多くの情報が必要です。 – ricardordz

+0

@ricardordz私は、XMLデータをHTMLテーブルに変換しようとしています – ediblecode

答えて

0

変更:

<xsl:for-each select="pods-papers/inproceedings key"> 

へ:

<xsl:for-each select="pods-papers/inproceedings"> 

'キーが' 要素

+0

私は元々inproceedingsを持っていましたが、どちらもうまくいきませんでした。しかし、ありがとう – ediblecode

+0

また:xmlns:xsl = "http://www.w3.org/1999/XSL/Tranform" - 'トランスフォーム'は 'トランスフォーム'にする必要があります。 –

+0

ありがとう、スティーブン。 – ediblecode

0

の属性であるあなたは、エンティティに間違った方法を定義しているように見えます(<!ENTITY Aring "&amp;#197;" >べき&amp;の代わりに&があります)、さらに真剣に、DTDがありません。私たちがそれを行うことができるはずだという長年の要望ですが、問題は、XMLファイルに、文書型定義ではなくエンティティ定義のみを含むDOCTYPE宣言があることです。

のオプションがあるように見える:

  1. DTDを書きます。いくつかは動作しますが、ドキュメンテーションの目的には役立つかもしれません。
  2. エンティティ参照は、文字自体または文字参照で置き換えます。 &Ouml; byÖまたは&#214;
+0

xml文書は私によって書かれたものではなく、そのまま扱われるべきものです。問題はTransformの代わりにTranformを書いたことでした。 – ediblecode

関連する問題