如何使用XSLT对古希腊语进行排序?
问题描述:
我只是花了很长时间试图找出如何方便地使用XSLT和撒克逊排序古希腊语,所以我在这里问这个问题,以便其他人可以阅读答案,我将稍后发布。如何使用XSLT对古希腊语进行排序?
当分类古典希腊语时,通常忽略变音符号。
但是,在unicode中有多种表示重音希腊字母的方式。
因此下面的代码首先规范了希腊分组关键我想排序的非预组合字符,然后删除变音符号排序的目的:
<xsl:sort select="translate(normalize-unicode(current-grouping-key(), 'NFD'),
̀́̄̆̓̓̀̓̀̓ͅ
́̓́̓͂̓͂̓ͅͅͅ
̔̔̀̔̀̔́̔́ͅͅ
̔͂̔͂̔ͅͅͅ', '')"/>
这是不是从一开始就很清楚,然而,我在这里张贴这个希望人们会发现这有帮助。
答
你有没有尝试这个办法:
<xsl:sort select="..." collation="http://saxon.sf.net/collation?ignore-modifiers=yes"/>
见http://www.saxonica.com/documentation/extensibility/collation.xml
感谢。不,我没有找到文件,也没有理解或认识它。这正是我所期待的。 –
是XSL 1还是2? –
排序规则要求XSLT 2.0;它们在很大程度上也取决于实施。 –