ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Lenz <cml...@gmx.de>
Subject Re: DynamicConfigurator namespace problem
Date Fri, 12 Dec 2003 11:02:20 GMT
Am 12.12.2003 um 11:37 schrieb Dominique Devienne:
> DOM does not give you access to the NS prefix, at least when you 
> create an
> element from the document. Why would you need the prefix? Granted, 
> even XSL
> uses the prefix in attribute values (xs:string), but it's bad XML 
> according
> to EffectiveXML and others... The namespace prefix is the
> business of the XML file writer, not the XML application. --DD

Actually, DOM *does* give you access to the namespace prefix, see the 
org.w3c.dom.Node#getPrefix method.

As you say, XML applications such as XSLT use namespace prefixes in 
attribute values (XPath expressions, mostly). XSLT would be rather 
unusable if it did not provide the XPath evaluator access to the prefix 
mappings in the document. Whether some consider it bad practice doesn't 
really matter IMHO.

But anyway, the DynamicConfiguratorNS interface I proposed doesn't help 
much for applications such as XSLT which make heavy use of namespace 
prefixes. Indeed, passing the prefix is probably utterly useless. 
Rather, the DynamicConfiguratorNS would need access to the full 
namespace-prefix-mappings at the current location in the document. 
Maybe a NamespaceContext object should be passed in instead?

public interface NamesapceContext {
     public String getPrefix(String namespaceURI);
     public String getURI(String namespacePrefix);
}

What do you think?
   Chris

> -----Original Message-----
> From: Christopher Lenz
> To: Ant Developers List
> Sent: 12/12/2003 4:12 AM
> Subject: Re: DynamicConfigurator namespace problem
>
> Am 12.12.2003 um 10:23 schrieb Stefan Bodewig:
>> On Fri, 12 Dec 2003, Peter Reilly <peter.reilly@corvil.com> wrote:
>>
>>> Yes, either add DynamicConfiguratorNS or revert the change I made
>>> yesterday to DynamicConfigurator.
>>
>> I'm more inclined to add DynamicConfiguratorNS.
>
> Same here. Proposed interface:
>
> public class DynamicConfiguratorNS {
>
>      public Object createDynamicElement(
>          String namespaceURI,
>          String prefix,
>          String localName);
>
>      public void setDynamicAttribute(
>          String namespaceURI,
>          String prefix,
>          String localName,
>          String value);
>
> }
>
> Where namespaceURI, prefix and localName have the same semantics as in
> DOM Level 2:
>    http://www.w3.org/2003/01/dom2-javadoc/org/w3c/dom/Node.html
>
> I don't think this interface should extend DynamicConfigurator. The
> only effect would be that implementors also would need to implement the
> old two pair of methods.
>
> Cheers,
>    Chris
>
> --
> Christopher Lenz
> /=/ cmlenz at gmx.de
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message