sorting - XSLT 3.0 中的日期排序
问题描述
我在 XML 中有一个日期字段,它将始终采用 MMDDYYYY 格式。我正在尝试通过以下代码使用日期进行排序:
<xsl:sort select="format-date(Date, '[M01][D01][Y0001]')"/>
需要帮助解决。
解决方案
嗯,第一个建议是使用国际标准——它们的存在是有原因的。
如果您存储的数据不能使用国际标准,则将数据转换为国际标准格式进行处理。所以你想在你的样式表中有一个函数
<xsl:function name="f:us-date-to-iso" as="xs:date">
<xsl:param name="us-date" as="xs:string"/> <!-- format MMDDYYYY -->
<xsl:sequence select-"xs:date(replace($us-date, '(..)(..)(....)', '$3-$1-$2'))"/>
</xsl:function>
然后你可以使用排序<xsl:sort select="f:us-date-to-iso(Date)"/>
推荐阅读
- python - 使用 sklearn LinearRegression 拟合方法时子进程(使用 python 多处理)挂起
- python - 如何打印文本文件直到它与字符串匹配
- java - java和c#之间是否有共享的加密/解密方法?
- linux-kernel - 用于 netdev 触发源的设备树配置,用于根据链接状态控制 LED
- postgresql - 我想做一个从某些列中获取数据的函数
- assembly - “指令”和“操作”术语有什么区别?
- php - 从php中的共享文件夹中读取文件
- flutter - Flutter 应用程序在构建发布 apk 后到达主屏幕后崩溃
- winforms - .NET4.8 的 RichTextBox 文本对齐问题
- java - 使用 Jackson 对 CSV 进行自定义序列化