Aquí podría ser tu PUBLICIDAD


Asignación de tipos de datos XPath 1.0 a Java

votos
0

Estoy usando XPath 1.0 para procesar mensajes de servicios web entrantes. Esto puede ser bastante difícil de lograr si se usan tipos de datos de esquema , porque XPath 1.0 no los reconoce (XPath 2.0 sí, pero parece que no hay una implementación completa de código abierto. No estoy seguro de si Saxon-B lo hace).

Por ejemplo, los literales verdadero y falso en un xs: boolean representan los valores booleanos True y False según el esquema xml, pero XPath 1.0 los evaluará a True.

Esto significa que la evaluación en /testcontra <test>false</test>realmente devuelve True.

Lo mismo ocurre con otros tipos de datos: 12.78e-2 es un valor válido para xs: double, pero se evalúa como Double.NaN.

javax.xml.datatype contiene mapeos de tipo para duration y dateTime, pero eso es todo.

XMLBeans contiene convertidores fáciles de usar entre los tipos de datos incorporados de java y schema:

Node n = jaxp13XPathTemplate.evaluateAsNode(expression, context);
boolean b = XmlBoolean.Factory.parse(n).getBooleanValue();

¿Hay otras herramientas que puedan ser útiles (y no, no estoy buscando un marco de enlace XML completo)?

Publicado el 12/03/2009 a las 20:40
fuente por usuario otto.poellath
En otros idiomas...        العربية       

1 respuestas

votos
0

Sé que dijiste que no querías un marco vinculante completo, pero has mirado jibx. Puede ser un poco doloroso escribir los archivos de enlace, sin embargo, puede generar los enlaces de un esquema XML si tiene uno y es tan rápido que no es cierto.

Como alternativa al uso de XPath, ¿ha considerado analizar el xml en un dominio que luego podría manipular?

Karl

Respondida el 12/03/2009 a las 08:47
fuente por usuario Karl


Aquí podría ser tu PUBLICIDAD