2014-01-11 25 views
1
<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="transformacja2.xsl"?> 
<czolgi xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <czolg kraj_pochodzenia="ZSRR" typ="sredni"> 
     <nazwa>T-34-85</nazwa> 
     <zaloga> 
      <zalogant>Dowódca</zalogant> 
      <zalogant>Kierowca</zalogant> 
      <zalogant>Celowniczy</zalogant> 
      <zalogant>Ładowniczy</zalogant> 
      <zalogant>Strzelec-radiotelegrafista</zalogant> 
     </zaloga> 
     <uzbrojenie> 
      <bron kaliber="85.0"> Armata czołgowa wz. 1944 ZiS-S-53 </bron> 
      <bron kaliber="7.62"> 2 Karabiny maszynowe DTM </bron> 
     </uzbrojenie> 
     <pancerz jednostka="mm"> 
      <kadlub>45/45/45</kadlub> 
      <wieza>90/75/52</wieza> 
     </pancerz> 
     <info_dodatkowe> 
      <silnik moc="500KM">1 silnik wysokoprężny, 12-cylindrowy W-2-34</silnik> 
      <rok_wprowadzenia>1944</rok_wprowadzenia> 
     </info_dodatkowe> 
     <linki> 
      <link adres="http://pl.wikipedia.org/wiki/T-34/85"> Wikipedia PL</link> 
      <link adres="http://en.wikipedia.org/wiki/T-34/85"> Wikipedia EN</link> 
     </linki> 
    </czolg> 
. 
. 
. 
</czolgi> 

我有改造這個XML文件有以下XSL文件的一個問題:瀏覽器顯示原始XML不應用XSLT

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

    <xsl:template match="/"> 
    <html> 
     <head> 
      <title>Czołgi: Transformacja 2</title> 
     </head> 
     <body> 
      <h2>Czołgi</h2><br/> 
      <xsl:apply-templates select="czolgi/czolg"> 
       <xsl:sort select="info_dodatkowe/rok_wprowadzenia"/> 
      </xsl:apply-templates> 
     </body> 
    </html> 
</xsl:template> 

<xsl:template match="czolg"> 
    <xsl:number value="position()" format="1"/>. Nazwa: <xsl:value-of select="nazwa"/><br/> 
    Kraj pochodzenia: <xsl:value-of select="@kraj_pochodzenia"/> 
    Typ:  <xsl:choose> 
        <xsl:when test="@typ='lekki'">Lekki</xsl:when> 
        <xsl:when test="@typ='sredni'">Średni</xsl:when> 
        <xsl:when test="@typ='ciezki'">Ciężki</xsl:when> 
       </xsl:choose><br/> 
    Rok wprowadzenia: <xsl:value-of select="info_dodatkowe/rok_wprowadzenia"/><br/> 

    <br/> 
</xsl:template> 

</xsl:stylesheet> 

它應該打印出類似這樣:
由...:東西
邊疆區pochodzenia :東西
類型:東西
Rok wprowadzenia:東西

czolg元素。但是,在瀏覽器中查看時,會顯示整個XML文件中的原始文本。我似乎無法自行找到問題。有人能告訴我我做錯了什麼嗎?

回答

0

我試過你的樣品http://home.arcor.de/martin.honnen/xslt/test2014011101.xml,它似乎可以在Firefox,IE和Opera下正常工作。我不知道爲什麼你沒有得到你想要的結果。檢查瀏覽器的錯誤控制檯,確保它不顯示任何錯誤。還要確保XML已發佈,並且在根或其他元素上沒有某個xmlns="...",因此XSLT中的路徑不會選擇輸入元素。

+0

感謝您的評論。顯然,特殊波蘭字符的編碼存在問題。將XSL文件轉換爲沒有BOM的UTF-8似乎解決了我的問題。 – Mariosso

相關問題