Преобразование отформатированной строки даты в значение даты в XPath

Как я могу преобразовать дату, содержащуюся в строке, в значение даты с помощью XPath?

Я получил строку, отформатировав значение даты с помощью fn:format-date, и теперь мне нужно значение даты из отформатированной строки.

Спасибо,


person trin86    schedule 09.02.2012    source источник


Ответы (1)


Вы можете использовать EXSLT date:date(string). Он реализован в большинстве процессоров XSLT, но также и как чистая функция XSLT.

Документация: http://www.exslt.org/date/functions/date/index.html.

person gioele    schedule 09.02.2012
comment
Спасибо за ответ, но в вашей ссылке сказано, что строка даты/времени, указанная в качестве аргумента, должна быть строкой в ​​формате, определенном как лексическое представление либо xs:dateTime in, либо xs:date. Если аргумент не находится ни в одном из этих форматов, date:date возвращает пустую строку (''). Но мой строковый формат даты - DD/MM/YYYY . Это создает проблему? Если это так, как я могу изменить принятый формат даты? - person trin86; 20.02.2012
comment
Есть date:parse-date(), но он не реализован в большинстве процессоров. Лучше всего самостоятельно разметить дату, вернуть ее в требуемый формат, а затем использовать date:date() для получения объекта xs:date. См. saxonica.com/documentation/extensions/functions/ для отправная точка в том, как читать части даты из строки даты. - person gioele; 20.02.2012