<?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>
我在使用以下XSL文件转换此XML文件时遇到问题:
<?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>
它应该打印如下:
纳兹瓦:有事
Kraj pochodzenia:某事
类型:东西
Rok wprowadzenia:事情
。但是,在浏览器中查看时,会显示整个XML文件中的原始文本。我似乎无法自己找到问题。有人能告诉我我做错了吗?
答案 0 :(得分:0)
我在http://home.arcor.de/martin.honnen/xslt/test2014011101.xml上尝试过您的示例,它似乎与Firefox,IE和Opera一起使用。我不确定你为什么不能得到你想要的结果。检查浏览器的错误控制台,确保它没有显示任何错误。还要确保XML是已发布的,并且根或其他元素上没有xmlns="..."
,因为XSLT中的路径不会选择输入元素。