XSL - Pegando timestamp

7 respostas
mcampelo

Alo Povo,

estou precisando pegar o timestamp atual dentro de um XSL. Já pesquisei em livro, tutorial, google, e não encontrei nada.

O que preciso é gerar a data atual no formato:

YYYYMMDDHHMM
20031025000000

Alguma sugestão?

[]'s
Marco Campelo

7 Respostas

Shelson

mas qual a dificuldade ? como vc estah fazendo o parser ?

mcampelo

A dificuldade é que eu não tenho no meu XML de entrada uma tag com o timestamp.

Eu preciso pegar esse timestamp através de uma função do XSLT (que eu acho que na especificação padrão não existe) ou através de uma extensão do meu XSLT engine que eu possa programar (seria minha última opção, pois não quero ter que mexer na engine).

Shelson

vc não tem uma tag xml com o valor do timestamp ?

mcampelo

Não.

Se eu tivesse a tag no XML, não iria precisar gerar no XSLT! :slight_smile:

cv1

Ja deu uma olhada la na http://www.zvon.org, Marco? :slight_smile:

Tem muita coisa sobre XSLT la, inclusive o passo-a-passo para fazer extensoes no parser :wink:

mcampelo

Estou vendo se meu XSLT Engine (XalanJ) já não possui essa feature implementada.

Se não, vou partir para uma chamada XSLT -> método Java.

Vou dar uma olhada no Zvon.

mcampelo

Eis a solução:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="java" xmlns:java="http://xml.apache.org/xslt/java">

	<xsl:template mode="datetime" match="*">  
          <xsl:variable name="maxDueDate" select="java:format(java:java.text.SimpleDateFormat.new('yyyyMMddHHmmss'), java:java.util.Date.new())" />          
	</xsl:template>

</xsl:stylesheet>
Criado 3 de agosto de 2004
Ultima resposta 3 de ago. de 2004
Respostas 7
Participantes 3