Получить текущую метку времени в xsl и передать ее в атрибуте xml

Мой проект на php. И мне нужно создать файл cXML, используя шаблон XSL.

Я очень новичок в XSL и до сих пор я гуглил и создал шаблон XSL, который выводит cXML. Мой код приведен ниже.

<?xml version="1.0" encoding="ISO-8859-1"?>
<files>
<file filename="Order_%Y%%m%%d%%h%%i%%s%.xml">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:date="http://exslt.org/dates-and-times" extension-element-prefixes="date">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="orders/order">
<xsl:variable name="created_at_timestamp" select="created_at_timestamp" />
<cXML lang="en-US" payloadID="{created_at_timestamp}" timestamp="">
<Header><From><Credential domain="NetworkID"><Identity>Enterprises</Identity></Credential></From>
<To><Credential domain="NetworkID"><Identity>xxx</Identity></Credential></To>
<Sender><Credential domain="NetworkID"><Identity>xxx Enterprises</Identity>
</Credential><UserAgent>Enterprises</UserAgent></Sender></Header>
</cXML>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
</file>
</files>

Теперь мне нужно знать, как вывести текущую временную метку в метку времени атрибута cXML, чтобы быть точным.

<cXML lang="en-US" payloadID="{created_at_timestamp}" timestamp="TIME_STAMP_HERE">

Я пробовал много методов, прибегая к помощи, все выводит только простой текст, если я использую его в «».
Например: если я использую функцию current-dateTime (), она выводит вот так.

<cXML lang="en-US" payloadID="{created_at_timestamp}" timestamp="current-dateTime()">

Может кто-нибудь, пожалуйста, помогите мне вывести текущую метку времени в моем атрибуте cXML?
другие параметры работают хорошо.

РЕДАКТИРОВАТЬ
Ожидаемый результат <cXML lang="en-US" payloadID="xxx" timestamp="2014-11-07T12:00:13-04:00">

Спасибо

0

Решение

В XSLT 1.0 нет функции current-dateTime (), как я полагаю, использует PHP. Либо передайте текущую дату и время в качестве параметра в таблицу стилей во время выполнения, либо используйте EXSLT date: функция расширения date-time (), который поддерживает процессор libxslt:

<cXML lang="en-US" payloadID="xxx" timestamp="{date:date-time()}">
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]