You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2006/07/11 21:38:14 UTC

svn commit: r420958 - in /incubator/abdera/java/trunk: core/src/main/java/org/apache/abdera/model/Element.java parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java

Author: jmsnell
Date: Tue Jul 11 12:38:13 2006
New Revision: 420958

URL: http://svn.apache.org/viewvc?rev=420958&view=rev
Log:
We need a way of listing the attributes on an element, especially extension attributes

  * add Element.getAttributes() which returns a List<QName>
  * add Element.getExtensionAttributes() which returns a List<QName> minus attributes that are in the containing elements namespace

Modified:
    incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java
    incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java

Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java?rev=420958&r1=420957&r2=420958&view=diff
==============================================================================
--- incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java (original)
+++ incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java Tue Jul 11 12:38:13 2006
@@ -20,6 +20,7 @@
 import java.io.Serializable;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.util.List;
 
 import javax.xml.namespace.QName;
 
@@ -98,6 +99,18 @@
 
   String getAttributeValue(QName qname);
 
+  /**
+   * Returns a listing of all attributes on this element
+   */
+  List<QName> getAttributes();
+  
+  /**
+   * Returns a listing of extension attributes on this element
+   * (extension attributes are attributes whose namespace URI
+   * is different than the elements)
+   */
+  List<QName> getExtensionAttributes();
+  
   /**
    * Returns the value of the named attribute
    */

Modified: incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java?rev=420958&r1=420957&r2=420958&view=diff
==============================================================================
--- incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java (original)
+++ incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java Tue Jul 11 12:38:13 2006
@@ -461,6 +461,28 @@
     return (text != null) ? text.getValue() : null;
   }
   
+  public List<QName> getAttributes() {
+    List<QName> list = new ArrayList<QName>();
+    for (Iterator i = getAllAttributes(); i.hasNext();) {
+      OMAttribute attr = (OMAttribute) i.next();
+      list.add(attr.getQName());
+    }
+    return list;
+  }
+  
+  public List<QName> getExtensionAttributes() {
+    List<QName> list = new ArrayList<QName>();
+    for (Iterator i = getAllAttributes(); i.hasNext();) {
+      OMAttribute attr = (OMAttribute) i.next();
+      String namespace = attr.getNamespace().getName();
+      if (!namespace.equals(getNamespace().getName()) &&
+          !namespace.equals(""))
+        list.add(attr.getQName());
+    }
+    return list;
+  }
+  
+  
   protected Element _parse(String value, URI baseUri) {
     if (value == null) return null;
     FOMFactory fomfactory = (FOMFactory) factory;