我正在编写XSLT,以便将XML文档从一个DTD转换到另一个DTD,并在此过程中尝试整理一些日期字符串。
源文档中的每个记录都有一个日期元素,该元素包含日期的字符串表示形式。一些说明性例子:
我希望生成的文档包含ISO 8601格式的日期(或适当的日期范围)。
我实现这一目标的最佳策略是什么?我可以放松一下,开始编写一个函数来转换它们(可能是基于regexes),但我发现很难相信有人还没有解决这个问题。
是否有一个XSLT模块/函数将为我完成大部分工作?我应该在XSLT之外寻找一个解决方案吗?
发布于 2009-11-27 16:30:14
我不觉得这很难相信,因为当你有一个非标准格式的日期,你可以有字面上的任何东西,因此不可能开发一个通用的解决方案。例如,您将如何将21-23 June 2002转换为一个单一日期?
我想使用正则表达式确实是最好的选择。也许您可以找到一些现成的regex来处理一些非标准的日期格式,但是很可能您必须根据您的需要对其进行调优。
发布于 2009-11-27 17:38:22
你需要做一些词汇转换,并可能自己写其中的大部分。XSLT不是一种很好的语言,可以做您想做的事情--我会选择一个DOM,它包含过程代码和日期库。在我自己的例子中,我会使用Java和XOM (http://xml.xom.nu),但是您也可以使用Python、C#或.
我将转换XML中的数据,然后分两步完成XSLT转换
https://stackoverflow.com/questions/1809551
复制相似问题