XSLT样式表救急.
XML文档
<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by ebxml (Kenfil) -->
<?xml-stylesheet type="text/xsl" href="C:\Documents and Settings\Angle.KENFILSZWIN2K\Desktop\Untitled4.xsl"?>
<Import>
<Row>
<holiday_id>5</holiday_id>
<holiday_date>2002-05-01</holiday_date>
<holiday_description>51</holiday_description>
</Row>
<Row>
<holiday_id>6</holiday_id>
<holiday_date>2002-05-02</holiday_date>
<holiday_description>51</holiday_description>
</Row>
</Import>
XSLT样式表
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<!--xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"-->
<xsl:template match="/">
<xsl:call-template name="yyyy"/>
<xsl:apply-templates select="Import"/>
</xsl:template>
<xsl:template name="yyyy" match="/Row">
xxxxx
</xsl:template>
<xsl:template match="Import">
<xsl:for-each select="Row">
<xsl:value-of select="."/><br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
在以上的简单的样式定义中,出现这么一个问题:
当我使用http://www.w3.org/TR/WD-xsl作为名称空间前缀时,该XML文档无法显示.去掉
<xsl:call-template name="yyyy"/>显示正常.
而当我使用http://www.w3.org/1999/XSL/Transform作为名称空间前缀时,<xsl:call-template name="yyyy"/>显示结果正常,但接下来的
<xsl:for-each select="Row">
<xsl:value-of select="."/><br/>
</xsl:for-each>
却没有显示XML数据的内容了.
想知道这是什么原因,在XML的应用中,究竟有写什么必须注意的,又是否存在多个标准或实现.(从网上的搜索结果来看,xmlns:xsl="http://www.w3.org/1999/XSL/Transform"是W3C的推荐标准方式,而xmlns:xsl="http://www.w3.org/TR/WD-xsl"是IE5.0支持的标准方式这有什么不同吗或者说存在有兼容性的问题吗?)