Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在写入数据库之前验证XML文档中的日期_Xml_Perl_Xsd - Fatal编程技术网

在写入数据库之前验证XML文档中的日期

在写入数据库之前验证XML文档中的日期,xml,perl,xsd,Xml,Perl,Xsd,我目前从一个非常大的表单中获取用户输入,作为XML文档。在进行任何与数据库相关的操作之前,我希望根据模式验证此XML文档。问题是用户根据自己的喜好(美国标准、ISO标准等)输入日期,而数据库期望日期为ISO标准。在将此XML文档添加到数据库之前,我是否可以验证此XML文档并将日期更改为ISO格式?我使用Perl作为后端,有没有库可以帮我做同样的事情 为日期转换干杯, 用于一般处理XML 处理XLST的PM(您猜对了) 我没有任何经验 在过去,我确实使用过 我将遍历文档,使用(与)转换所有日期

我目前从一个非常大的表单中获取用户输入,作为XML文档。在进行任何与数据库相关的操作之前,我希望根据模式验证此XML文档。问题是用户根据自己的喜好(美国标准、ISO标准等)输入日期,而数据库期望日期为ISO标准。在将此XML文档添加到数据库之前,我是否可以验证此XML文档并将日期更改为ISO格式?我使用Perl作为后端,有没有库可以帮我做同样的事情

为日期转换干杯,

用于一般处理XML

处理XLST的PM(您猜对了)

我没有任何经验

在过去,我确实使用过


我将遍历文档,使用(与)转换所有日期,然后尝试验证。

您可以使用一个小模式来验证特殊日期,然后使用一个regexp,使用一个xslt将日期转换为其他格式,然后使用一个模式来验证所有xml文档。

这当然很有用,但我更喜欢在模式本身中进行验证。这样,使用相同模式的其他应用程序也可以工作。有没有办法将验证放在“日期”元素的模式中?并根据该模式进行验证,以更正数据库不接受的日期格式?@Gaurav,这是一个棘手的问题。。。我唯一一次使用Perl进行XML解析/检查时,我现在使用了另一个模块post@Gaurav,至于你最近(要求更高)对你的问题的澄清,我不相信我能在这方面帮助你。@William谢谢你的链接!很抱歉继续讲下去,但我认为有一种方法可以让XSLT转换将XML文档中的日期更改为正确的格式?没有图书馆吗?非常感谢,伙计!:)@Gaurav啊哈,这一个可能?DateTime::Format::XSD肯定很有用,但同样,它只将ISO格式解析为特定的ISO格式。它在使用澳大利亚标准(dd/mm/yyyy)或美国标准(mm/dd/yyyy)格式时会遇到问题。理想情况下,我希望在验证之前进行XSL转换,将这些日期更改为正确的格式,然后验证文档,然后写入数据库