2016-04-04 6 views
0

これは私のXML文書です。私はXML文書をHTML Webページに変換しようとしていますが、Apache xsltを使用しています。

<?xml version="1.0" encoding="ISO-8859-15"?> 
<?xml-stylesheet type="txt/xsl" "href"="demo1.xsl"?> 
<demo> 
    <root> 
     <_shards> 
      <total>1</total> 
      <failed>0</failed> 
      <successful>1</successful> 
     </_shards> 
     <hits> 
      <hits> 
       <highlight> 
Hadoop Cloudera Hortonworks Other Search and Big Data Partners Products Technology Overview <em>Aspire</em> Content Representative Customers Case Studies Resources Blog White Papers Videos <em>Aspire</em> Downloads <em>Aspire</em> Wiki Technical Briefs Company Introducing Search Technologies Executive Team Partners Press 
       </highlight> 
       <_index>newindex3</_index> 
       <_type>SearchTech</_type> 
       <_id>http://www.searchtechnologies.com/support</_id> 
       <_score>0.1789403</_score> 
       <fields> 
        <keywords>keywords-NOT-PROVIDED</keywords> 
        <title>Search Technologies</title> 
        <url>http://www.searchtechnologies.com/support</url> 
       </fields> 
      </hits> 
      <hits> 
       <highlight> 
Hadoop Cloudera Hortonworks Other Search and Big Data Partners Products Technology Overview <em>Aspire</em> Content Representative Customers Case Studies Resources Blog White Papers Videos <em>Aspire</em> Downloads <em>Aspire</em> Wiki Technical Briefs Company Introducing Search Technologies Executive Team Partners Press 
       </highlight> 
       <_index>newindex3</_index> 
       <_type>SearchTech</_type> 
       <_id>http://www.searchtechnologies.com/</_id> 
       <_score>0.1491169</_score> 
       <fields> 
        <keywords> 
Enterprise Search, Big Data, Analytics, Consulting, Search Engine Experts, Big Data Services 
        </keywords> 
        <title>Enterprise Search and Big Data Experts</title> 
        <url>http://www.searchtechnologies.com/</url> 
       </fields> 
      </hits> 
      <total>2</total> 
      <max_score>0.1789403</max_score> 
     </hits> 
     <took>3</took> 
     <timed_out>false</timed_out> 
    </root> 
</demo> 

これは私のxsltコードです。私は私のXMLからハイライトフィールドだけをフィルタリングしようとしています。 match属性は、テンプレートをXML要素に関連付けるために使用されます。

<?xml version="1.0" encoding="UTF-8"?> 
     <xsl:stylesheet version="1.0" 
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

     <xsl:template match="/"> 
      <html> 
      <body> 
      <h2>My DEMO</h2> 
      <table border="1"> 
      <tr bgcolor="#9acd32"> 
       <th>highlight</th> 
      </tr> 
      <xsl:for-each select="demo/root/hits/hits"> 
      <tr> 
       <td><xsl:value-of select="highlight"/></td> 
      </tr> 
      </xsl:for-each> 
      </table> 
      </body> 
      </html> 
     </xsl:template> 

     </xsl:stylesheet> 

私は自分のサーバーにアクセスしてください。http://yourserveraddress/xml/filename.xml 私は補正を行うと「TXT」を変換

「このXMLファイルには、それに関連するすべてのスタイル情報を持っているように見えていません」というエラーを取得しています私は自分のサーバーに行くときに、私はHTMLのWebページの代わりに次の出力を得ました。

このXMLファイルには、スタイル情報は関連付けられていません。ドキュメントツリーを以下に示します。 Hadoop Cloudera Hortonworks Other Search & Big ...

<?xml-stylesheet type="text/xsl" "href"="demo1.xsl"?> 
<demo> 
<root> 
<_shards> 
<total>1</total> 
<failed>0</failed> 
<successful>1</successful> 
</_shards> 
<hits> 
<hits> 
<highlight> 
Hadoop Cloudera Hortonworks Other Search and Big Data Partners Products Technology Overview 
<em>Aspire</em> 
Content Representative Customers Case Studies Resources Blog White Papers Videos 
<em>Aspire</em> 
Downloads 
<em>Aspire</em> 
Wiki Technical Briefs Company Introducing Search Technologies Executive Team Partners Press 
</highlight> 
<_index>newindex3</_index> 
<_type>SearchTech</_type> 
<_id>http://www.searchtechnologies.com/support</_id> 
<_score>0.1789403</_score> 
<fields> 
<keywords>keywords-NOT-PROVIDED</keywords> 
<title>Search Technologies</title> 
<url>http://www.searchtechnologies.com/support</url> 
</fields> 
</hits> 
<hits> 
<highlight> 
Hadoop Cloudera Hortonworks Other Search and Big Data Partners Products Technology Overview 
<em>Aspire</em> 
Content Representative Customers Case Studies Resources Blog White Papers Videos 
<em>Aspire</em> 
Downloads 
<em>Aspire</em> 
Wiki Technical Briefs Company Introducing Search Technologies Executive Team Partners Press 
</highlight> 
<_index>newindex3</_index> 
<_type>SearchTech</_type> 
<_id>http://www.searchtechnologies.com/</_id> 
<_score>0.1491169</_score> 
<fields> 
<keywords> 
Enterprise Search, Big Data, Analytics, Consulting, Search Engine Experts, Big Data Services 
</keywords> 
<title>Enterprise Search and Big Dataà Experts</title> 
<url>http://www.searchtechnologies.com/</url> 
</fields> 
</hits> 
<total>2</total> 
<max_score>0.1789403</max_score> 
</hits> 
<took>3</took> 
<timed_out>false</timed_out> 
</root> 
</demo> 
+0

_以下は、ページの最初のエラーまでのレンダリングです。_ - 投稿にXMLを含めるのを忘れましたか? –

答えて

0

ご入力アンパサンドがHadoop Cloudera Hortonworks Other Search &amp; Big...のようにエスケープする必要があろうとして整形式のXMLではありません。したがって、入力を整形してからXSLTなどのXMLツールを使用して処理できるようにする必要があります。

また、<?xml-stylesheet type="txt/xsl" "href"="demo1.xsl"?>~も修正してください。

+0

私はxmlファイルを編集し、 "&"を "and"に置き換えましたが、http://yourserveraddress/xml/filename.xmlにアクセスしたときにxmlファイルをHTML Webページではなく出力しています。 – Rose

+0

私の編集を参照してください、処理命令にエラーがあります。 –

+0

@MrLister、ありがとう、それは投稿されたコードの別の問題ですが、私はそれが気づかずに修正されました。 –

関連する問題