Xslt 目录的高度:查找节点的最大深度
章节的高度可以单独计算。仅使用匹配的模板。 这是输入:Xslt 目录的高度:查找节点的最大深度,xslt,height,Xslt,Height,章节的高度可以单独计算。仅使用匹配的模板。 这是输入: <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE book SYSTEM "book.dtd"> <book title="Definitive XML Schema"> <author first="Priscilla" last="Walmsley"/> <chapter title="A"> &l
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE book SYSTEM "book.dtd">
<book title="Definitive XML Schema">
<author first="Priscilla" last="Walmsley"/>
<chapter title="A">
<section title="d"/>
<section title="g">
<section title="s"/>
<section title="t"/>
</section>
<section title="e">
<section title="f"/>
</section>
</chapter>
<chapter title="B">
<section title="n"/>
<section title="c">
<section title="a"/>
<section title="m"/>
</section>
</chapter>
</book>
如果要计算
节
节点的最大深度,可以使用以下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="text"/>
<xsl:template match="book">
<xsl:for-each select="//section">
<xsl:sort select="count( ancestor::node() )"
data-type="number" order="descending"/>
<xsl:if test="position() = 1">
<xsl:value-of select="count( ancestor::node() ) - 1"/>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
你的意思是说你想得到树的最大深度吗?@艾丽卡:是的,没错。。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="text"/>
<xsl:template match="book">
<xsl:for-each select="//section">
<xsl:sort select="count( ancestor::node() )"
data-type="number" order="descending"/>
<xsl:if test="position() = 1">
<xsl:value-of select="count( ancestor::node() ) - 1"/>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
3