2016-04-04 11 views
0

zu konvertieren Dies ist mein XML-Dokument.Ich versuche, mein XML-Dokument in HTML-Webseite mit Apache mod 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> 

Dies ist mein xslt-Code. Ich versuche nur das Highlight-Feld von meinem XML zu filtern. Das Übereinstimmungsattribut wird verwendet, um eine Vorlage einem XML-Element zuzuordnen.

<?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> 

Wenn ich auf meinen Server gehen: http://yourserveraddress/xml/filename.xml ich eine Störung erhalte, dass „Diese XML-Datei scheint keine Stilinformationen mit ihm verbunden zu haben“

Ich mache Korrektur und konvertiert „txt“ in "text", jetzt, wenn ich zu meinem Server gehe, bekam ich die folgende Ausgabe anstelle einer HTML-Webseite.

Diese XML-Datei scheint keine Formatinformationen zu enthalten. Der Dokumentenbaum ist unten abgebildet.

<?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

_ "Unten ist ein Rendering der Seite bis zum ersten Fehler" _ - Haben Sie vergessen, die XML in Ihren Beitrag aufzunehmen? –

Antwort

0

Ihre Eingabe mit Hadoop Cloudera Hortonworks Other Search & Big ... ist nicht wohlgeformter XML als der Ampersand als Hadoop Cloudera Hortonworks Other Search &amp; Big... zu entkommen müßte. Sie müssen also sicherstellen, dass die Eingabe gut formatiert ist, bevor Sie sie mit XML-Tools wie XSLT verarbeiten können.

Auch <?xml-stylesheet type="txt/xsl" "href"="demo1.xsl"?> zu <?xml-stylesheet type="text/xsl" href="demo1.xsl"?> korrigieren.

+0

Ich habe meine XML-Datei bearbeitet und "&" durch "und" ersetzt, aber jetzt erhalte ich eine XML-Datei als Ausgabe, keine HTML-Webseite, wenn ich zu http: //yourserveraddress/xml/filename.xml komme. – Rose

+0

Siehe meine Bearbeitung, es ist ein Fehler in Ihrer Verarbeitungsanweisung. –

+0

@MrLister, danke, das ist ein anderes Problem im geposteten Code, das habe ich nicht bemerkt, jetzt behoben. –