2016-01-26 3 views
2

им пытаются добавить семь дней моего определенного дня, я уже определенный срок, как этотДобавление дней к определенной дате на XSLT

//n1:Invoice/cbc:IssueDate 

им с использованием даты, как это и он работает

<xsl:value-of select="//n1:Invoice/cbc:IssueDate" /> 

, который превращает меня 20-01-2016 и я хочу напечатать семь дней после этой даты, как:

27-01-2016 

любая идея?

+0

Можно ли использовать XSLT 2.0? –

+0

Возможный дубликат [Как добавить 5 рабочих дней к существующему значению xslt] (http://stackoverflow.com/questions/18306380/how-to-add-5-business-days-to-an-existing-value- xslt) –

ответ

2

У меня была аналогичная проблема. Я использую xs:date() и xs:dayTimeDuration(), чтобы сделать это.

<xsl:value-of 
    select="xs:date(
        string-join(reverse(tokenize(//n1:Invoice/cbc:IssueDate, '-')), '-')) + 
        xs:dayTimeDuration('P7D')"/> 

добавит 7 дней на ваш счет.

Примечание: вам потребуется Xs пространство имен для этого (xmlns:xs="http://www.w3.org/2001/XMLSchema")

+0

Для этого (1) требуется XSLT 2.0 и (2) не будет работать с форматом даты OP. –

+0

привет, я пытаюсь это сделать, и я получаю сообщение об ошибке: Страница XML не может быть отображена Невозможно просмотреть входные данные XML, используя таблицу стилей XSL. Исправьте ошибку, затем нажмите кнопку «Обновить» или повторите попытку позже. ----------------------------------------------- --------------------------------- «string-join» не является допустимой функцией XSLT или XPath. xs: date (-> string-join (reverse (tokenize (// n1: Invoi ... – alexkidd

Смежные вопросы