aelena.com

31 January 2008

Cuidado con el XPath dinamico

Filed under: .NET, debugging, xpath, xml — admin @ 12:31

Hoy me ha tocado perseguir un bug por “dentro” de un servicio web. Se trataba de corregir una expresión XPath relativamente compleja y generada dinámicamente a base de concatenación de parámetros. La consulta no funcionaba. Finalmente era una tontería, pero conviene recordar en estos casos que al usar operadores booleanos en dichas consultas (operadores que en XPath no son signos sino que se escriben tal cual: “and”, “or”, etc.) que no se deben escribir en mayúsculas.
Si en lugar de “or” escribimos “OR”, el motor de XPath - al menos en .Net 2.0 - lo entenderá como un token del documento xml y por tanto al no encontrarlo a la hora de compilar la expresión XPath, provocará una excepción de tipo XPathException. Nada más. Pero es de esas cosas que conviene recordar, sobre todo porque ha sido el último sitio en el que se me ha ocurrido mirar.