【发布时间】:2019-05-21 20:58:30
【问题描述】:
如何应用自定义排序对以下内容进行排序?
<maps>
<domain>pics.siteB.com</domain>
<domain>subdomain1.siteA.com</domain>
<domain>pics.siteA.org</domain>
<domain>validdomain</domain>
<domain>siteD.com</domain>
<domain>sub-subdomain4.subdomain.siteC.com</domain>
<domain>sub-subdomain1.subdomain.siteC.com</domain>
<domain>subdomain1.siteA.net</domain>
<maps>
我试过跟随,然后它以一种奇怪的方式排序,并在分隔符不可用时删除条目。
<xsl:apply-templates select="*">
<!-- using <xsl:variable> throws error here -->
<xsl:sort select="string-join(reverse(tokenize(domain, '\.')[position() lt last()]), '.')"></xsl:sort>
</xsl:apply-templates>
预期输出:
- 获取最后一个令牌,例如
siteA、siteB、siteC等 - 获取分隔符后的最后一个标记,如
com、net、org等 - 将其余的令牌反转到最后但 2 之前,例如
pics、subdomain1、sub-subdomain1.subdomain等 - 按此文本排序
<maps>
<domain>subdomain1.siteA.com</domain>
<domain>subdomain1.siteA.net</domain>
<domain>pics.siteA.org</domain>
<domain>pics.siteB.com</domain>
<domain>sub-subdomain1.subdomain.siteC.com</domain>
<domain>sub-subdomain4.subdomain.siteC.com</domain>
<domain>siteD.com</domain>
<domain>validdomain</domain>
<maps>
提前谢谢你!
【问题讨论】:
-
似乎与以下内容重复:stackoverflow.com/questions/55683106/…
-
@michael.hor257k 是的,它是相关的,但不完全重复