如何在xslt中创建组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在xslt中创建组?相关的知识,希望对你有一定的参考价值。
你能告诉我如何在xslt 1中制作组。
我试图通过分组制作列表字母顺序
这是我的代码
http://xsltransform.net/jxN8Npy
XML
<body>
<a>d</a>
<a>c</a>
<a>d</a>
<a>c</a>
<a>abc</a>
<a>dee</a>
<a>pu</a>
<a>gu</a>
</body>
XSLT
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" />
<xsl:template match="body">
<hmtl>
<head>
<title>New Version!</title>
</head>
<ul>
<xsl:apply-templates select="a"/>
</ul>
</hmtl>
</xsl:template>
<xsl:template match="a">
<li>
<xsl:value-of select="."/>
</li>
</xsl:template>
</xsl:transform>
电流输出
<ul>
<li>d</li>
<li>c</li>
<li>d</li>
<li>c</li>
<li>abc</li>
<li>dee</li>
<li>pu</li>
<li>gu</li>
</ul>
预期产出
<ul>
<li> A---D</li>
<li>abc</li>
<li>c</li>
<li>cb</li>
<li>d</li>
<li>dee</li>
<li> E---I</li>
<li>gu</li>
<li> J---P</li>
<li>pu</li>
<li> Q---Z</li>
</ul>
你能告诉我如何组织团队吗?
答案
这给了我你想要的输出:
<xsl:variable name="lettersAD" select="'ABCDabcd'"/>
<xsl:variable name="lettersEI" select="'EFGHIefghi'"/>
<xsl:variable name="lettersJP" select="'JKLMNOPjklmnop'"/>
<xsl:variable name="lettersQZ" select="'QRSTUVWXYZqrstuvwxyz'"/>
<xsl:template match="a">
<li><xsl:value-of select="."/></li>
</xsl:template>
<xsl:template match="/">
<ul>
<li>A---D</li>
<xsl:apply-templates select="//a[contains($lettersAD, substring(.,1,1))]">
<xsl:sort select="text()" data-type="text"/>
</xsl:apply-templates>
<li>E---I</li>
<xsl:apply-templates select="//a[contains($lettersEI, substring(.,1,1))]">
<xsl:sort select="text()" data-type="text"/>
</xsl:apply-templates>
<li>J---P</li>
<xsl:apply-templates select="//a[contains($lettersJP, substring(.,1,1))]">
<xsl:sort select="text()" data-type="text"/>
</xsl:apply-templates>
<li>Q---Z</li>
<xsl:apply-templates select="//a[contains($lettersQZ, substring(.,1,1))]">
<xsl:sort select="text()" data-type="text"/>
</xsl:apply-templates>
</ul>
</xsl:template>
可能有一种更简单的方法来存档。
以上是关于如何在xslt中创建组?的主要内容,如果未能解决你的问题,请参考以下文章