我的xsl文件里有这样的代码
<xsl:if test="" expr="this.hasChildNodes">我在浏览器里访问xml文件都可以正确的被解释但是用XslTransform的时候却提示expr属性对于xsl:if元素无效请问应该怎么做啊
<xsl:if test="" expr="this.hasChildNodes">我在浏览器里访问xml文件都可以正确的被解释但是用XslTransform的时候却提示expr属性对于xsl:if元素无效请问应该怎么做啊
调试欢乐多
<xsl:if test="child::node()"/>
books.xml
===============<?xml version="1.0" encoding="utf-8" ?>
<root>
<row>
<cell>1</cell>
<cell>2</cell>
</row>
<row></row>
</root>
output.xsl
=============
<?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>
<xsl:for-each select="/root/row">
<xsl:value-of select="position()"/>:
<xsl:if test="child::node()">有</xsl:if>
<br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>testXml.aspx
============
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void Page_Load( object sender, EventArgs e )
{
System.Xml.Xsl.XslTransform xslt = new System.Xml.Xsl.XslTransform();
xslt.Load(Server.MapPath("output.xsl"));
xslt.Transform(Server.MapPath("books.xml"), Server.MapPath("books.html"));
Response.WriteFile("books.html");
}
</script><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
books.xml
===============<?xml version="1.0" encoding="utf-8" ?>
<root>
<row>
<cell>1</cell>
<cell>2</cell>
</row>
<row></row>
</root>
output.xsl
=============
<?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>
<xsl:for-each select="/root/row">
<xsl:value-of select="position()"/>:
<xsl:if test="child::node()">有</xsl:if>
<br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>testXml.aspx
============
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> protected void Page_Load( object sender, EventArgs e )
{
System.Xml.Xsl.XslTransform xslt = new System.Xml.Xsl.XslTransform();
xslt.Load(Server.MapPath("output.xsl"));
xslt.Transform(Server.MapPath("books.xml"), Server.MapPath("books.html"));
Response.WriteFile("books.html");
}
</script><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>