You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2011/07/21 18:08:03 UTC
svn commit: r1149245 -
/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java
Author: veithen
Date: Thu Jul 21 16:08:00 2011
New Revision: 1149245
URL: http://svn.apache.org/viewvc?rev=1149245&view=rev
Log:
Improved the Javadoc of OMElement#getAllDeclaredNamespaces().
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java?rev=1149245&r1=1149244&r2=1149245&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java Thu Jul 21 16:08:00 2011
@@ -22,6 +22,8 @@ package org.apache.axiom.om;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
+import org.apache.axiom.om.xpath.AXIOMXPath;
+
import java.io.OutputStream;
import java.io.Writer;
import java.util.Iterator;
@@ -164,17 +166,27 @@ public interface OMElement extends OMNod
OMNamespace findNamespaceURI(String prefix);
/**
- * Returns an iterator for all of the namespaces declared on this element.
- * <p/>
- * <p>If you're interested in all namespaces in scope, you need to call this function for all
- * parent elements as well. Note that the iterator may be invalidated by any call to either
- * <tt>declareNamespace</tt> function. </p>
- *
- * @return Returns an iterator over the {@link OMNamespace} items declared on the current
- * element.
- * @see #findNamespace(String, String)
- * @see #declareNamespace(String, String)
- * @see #declareNamespace(OMNamespace)
+ * Returns an iterator for all of the namespaces declared on this element. Note that this is not
+ * the same as the set of namespace declarations in scope. Since building a namespace context
+ * and resolving namespace prefixes has some subtleties associated with it (such as masked
+ * namespace declarations and prefix undeclaring), it is generally recommended to use one of the
+ * following specialized methods for this purpose:
+ * <ul>
+ * <li>{@link #findNamespace(String, String)} and {@link #findNamespaceURI(String)} to resolve a
+ * namespace prefix or to find a namespace prefix for a given URI.
+ * <li>{@link #resolveQName(String)} to resolve a QName literal.
+ * <li>{@link AXIOMXPath#AXIOMXPath(OMElement, String)} or
+ * {@link AXIOMXPath#AXIOMXPath(OMAttribute)} to create an XPath expression using the namespace
+ * context of a given element.
+ * </ul>
+ * <p>
+ * It is expected that applications only rarely use {@link #getAllDeclaredNamespaces()}
+ * directly.
+ *
+ * @return An iterator over the {@link OMNamespace} items declared on this element. Note that
+ * the iterator may be invalidated by a call to {@link #declareNamespace(OMNamespace)},
+ * {@link #declareNamespace(String, String)}, {@link #declareDefaultNamespace(String)}
+ * or any other method that modifies the namespace declarations of this element.
*/
Iterator getAllDeclaredNamespaces() throws OMException;