Sometimes (a lot of times, actually) it's necessary to pass *namespaced* references, and the situation is only going to get worse with the increasing use of advanced XML (think about the SOAP or DAV nightmare). Currently only the XPathTraversableGenerator supports a way to pass namespaced elements, and to do that it uses a hack made of parameters starting with "xmlns:" whose value is the namespace URI. this seems silly to me, since the sitemap is an XML file. How better would it be to write (a' la XSLT):
<map:generate type="xpathtraversable" src="my.xml" xpath="/html:head/html:title" xmlns:html="http://www.w3.org/1999/xhtml"/>
instead than:
<map:generate type="xpathtraversable" src="my.xml" xpath="/html:head/html:title"> <map:parameter name="xmlns:html" value=""http://www.w3.org/1999/xhtml"/> </map:generate>
The former looks to me as the simplest and more consistent solution, with the only problem being the TreeProcessor being able to pass namespace informations to the components. It could be as easy as a NamespaceMap being available in the object model, but I'm sure that the TreeProcessor gurus might have a better idea to deal with this particular issue.
Does all this make sense?
-- Gianugo Rabellino Pro-netics s.r.l. - http://www.pro-netics.com Orixo, the XML business alliance - http://www.orixo.com (Now blogging at: http://blogs.cocoondev.org/gianugo/)