xsl解析xml时的执行步骤?

shinian1007 2008-11-21 07:29:34
<?xml version="1.0" encoding="UTF-8"?>
<root>
<ABC>/a/aa/aaa/aaaa</ABC>
<ABC>/b/bb</ABC>
</root>

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="//ABC">
<xsl:call-template name="split">
<xsl:with-param name="str" select="."/>
<xsl:with-param name="op">/</xsl:with-param>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<xsl:template name="split">
<xsl:param name="str"/>
<xsl:param name="op"/>
<xsl:choose>
<xsl:when test="contains($str,$op)">
<xsl:variable name="str1" select="substring-after($str,$op)"/>
<xsl:if test="not(starts-with($str,$op))">
<xsl:variable name="str2" select="substring-before($str,$op)"/>
<xsl:value-of select="$str2"/><br/>
</xsl:if>
<xsl:call-template name="split">
<xsl:with-param name="str" select="$str1"/>
<xsl:with-param name="op" select="$op"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$str"/><br/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

这个可以以/为界限,使得数据换行,谁能告诉我执行步骤啊?谢谢
...全文
53 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hejunbin 2008-11-22
  • 打赏
  • 举报
回复
<xsl:template match="/"> 这个是 入口
<xsl:template name="split"> 这个是 函数
<xsl:call-template name="split"> 这个是 调用函数

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧