viernes, 23 de junio de 2006

En los rincones de XML: XPath y espacios de nombres

Mañana será el último día del curso de XML básico de 20h que estoy impartiendo esta semana.

En este curso he optado por solicitar a los alumnos que tecleen muchos ejemplos y auque vamos más lentos que en otros cursos, creo que están captando mucho mejor los conceptos.

Para trabajar con XML utilicé XRay, un editor/validador de XML muy especializado para enseñanza y que está bastante bien, aunque no parece soportar entidades de DTDs y a veces va bastante lento.

También instalé Eclipse con el plugin Web Tools que contiene un editor especializado de XML y validadores XML para DTDs y XML Schema. Además, para mañana, pienso instalar el plugin de XSLT de OrangeVolt.

Pero la razón del título de este artículo, es por los quebraderos de cabeza que me ha llevado intentar utilizar XSLT con los documentos XML que había validado con XML Schema y que utilizaban espacios de nombres.

Algo que parecía fácil, al final no lo era, ya que XPath no mostraba ningún resultado al intentar encajar un nombre. El motivo era que ese nombre pertenecía a un espacio de nombres, y por tanto, era necesario asociar al patrón de encaje dicho espacio de nombres.

Aunque encontré la solución por mí mismo a base de prueba y error. Para cerciorarme, busqué por Internet y acabé encontrando un par de artículos que comentan el tema: Little back corners y XPath and Default namespace handling.