2017-03-20 6 views
0

を解析しません:ブラウザは、私はXMLファイル持っているスタイルシートを適切

<?xml version="1.0" encoding="utf-8"?> 
<?xml-stylesheet hred="remakes.xsl" type="text/xsl" ?> 
<remakes> 
<remake> 
<rtitle>Pygmalion</rtitle> 
<ryear>1938</ryear> 
<fraction>0.5</fraction> 
<stitle>Pygmalion</stitle> 
<syear>1937</syear> 
</remake>... 

を、私はスタイルシートを作成しました:

?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/remakes"> 
<html> 
<body> 
<table border="1"> 
    <tr> 
     <th>rtitle<</th> 
     <th>fraction<</th> 
     <th>stitle<</th> 
     <th>syear<</th> 
    </tr> 
    <xsl:for-each select="remake"> 
     <xsl:value-of select="rtitle"/></td> 
     <xsl:value-of select="fraction"/></td> 
     <xsl:value-of select="stitle"/></td> 
     <xsl:value-of select="syear"/></td> 
    </xsl:for-each> 
</table> 
</body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 

しかし、ブラウザはその代わりに、そこにテーブルを解析しません。混乱です。コードに誤りがありますか?次のように

+0

<非常に最初の行に欠落してみてください? – mplungjan

答えて

0

は、あなたの質問で、彼らは常に可能性がタイプミスあなたのスタイルシートに問題がいくつかありますが、コメントに言及するにはあまりにも多く存在しているとして、彼らは以下のとおりです。

  1. 名前空間接頭辞xsl拘束されていない。入力する必要がありますxmlns:xsl="..."
  2. 各テーブルのヘッダー<th>rtitle<</th><シンボルがあります。あなたが本当にこれを望むならば、それはと書くべきですが、それはちょうどよいはずです<th>rtitle</th>
  3. 各行にはタグがありません。
  4. <td>を実際に正しく表示するには、<tr>タグで囲む必要があります。

このXSLT

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/remakes"> 
<html> 
<body> 
<table border="1"> 
    <tr> 
     <th>rtitle</th> 
     <th>fraction</th> 
     <th>stitle</th> 
     <th>syear</th> 
    </tr> 
    <xsl:for-each select="remake"> 
     <tr> 
      <td><xsl:value-of select="rtitle"/></td> 
      <td><xsl:value-of select="fraction"/></td> 
      <td><xsl:value-of select="stitle"/></td> 
      <td><xsl:value-of select="syear"/></td> 
     </tr> 
    </xsl:for-each> 
</table> 
</body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 
+1

また、 'hred'はXMLで' href'である必要があります。 –

+0

ありがとう、私は私の愚かなスペルミスに気づいていませんでした:)それはFirefoxでは動作しますが、Chromeでは動作しません:( – v0id

+0

WebサーバーからではなくファイルシステムからXML/XSLTをローカルで実行すると、これを禁止します。http://stackoverflow.com/questions/3828898/can-chrome-be-made-to-perform-an-xsl-transform-on-a-local-file –

関連する問題