2011-06-29 25 views
0

ブラウザでXMLの視覚化を行うためにXSLTスタイルシートを定義しようとしています。XMLスタイルシートは、bashの "xsltproc"では動作しますが、ブラウザでは動作しません。

<html xsl:version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <head /> 
    <body> 
     <div> 
     <xmp> 
     <xsl:copy-of select="/" /> 
     </xmp> 
     </div> 
    </body> 
</html> 

bashで「xsltprocのを」実行簡単にブラウザに表示することができ、結果を期待している:私は、次のスタイルシートを持っています。ただし、スタイルシートを添付するときは、

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

テキスト値のみが表示され、タグは失われます。 FF、Chrome、Safariで試してみました。

答えて

0

私は標準化されていないxmp要素をXSLTと組み合わせると、あなたが望むものが得られるとは思いません。しかし、http://lenzconsulting.com/xml-to-string/xml-to-string.xslからhttp://lenzconsulting.com/xml-to-string/までのように、ノードをテキストにシリアル化するスタイルシートを使用できます。次のようにあなたはそれをインポートして使用します。

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

    <xsl:import href="xml-to-string.xsl"/> 

    <xsl:template match="/"> 
    <html> 
     <head /> 
     <body> 
      <div> 
      <pre> 
      <xsl:call-template name="xml-to-string"> 
       <xsl:with-param name="node-set" select="node()"/> 
      </xsl:call-template> 
      </pre> 
      </div> 
     </body> 
    </html> 
    </xsl:template> 

</xsl:stylesheet> 

限り、あなたはすべてのスタイルシートモジュールは、XMLと同じサーバー上にあることを確認して、ブラウザ内やるべきだと。

関連する問題