You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by je...@apache.org on 2001/05/15 18:53:48 UTC

cvs commit: jakarta-slide/src/util/org/apache/util DOMUtils.java

jericho     01/05/15 09:53:47

  Modified:    src/util/org/apache/util DOMUtils.java
  Log:
  - Support to extract the first wanted element.
  
  Revision  Changes    Path
  1.2       +36 -7     jakarta-slide/src/util/org/apache/util/DOMUtils.java
  
  Index: DOMUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/util/org/apache/util/DOMUtils.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DOMUtils.java	2001/02/15 17:37:29	1.1
  +++ DOMUtils.java	2001/05/15 16:53:40	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/util/org/apache/util/DOMUtils.java,v 1.1 2001/02/15 17:37:29 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/02/15 17:37:29 $
  + * $Header: /home/cvs/jakarta-slide/src/util/org/apache/util/DOMUtils.java,v 1.2 2001/05/15 16:53:40 jericho Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/05/15 16:53:40 $
    *
    * ====================================================================
    *
  @@ -88,7 +88,8 @@
    * force" implementations of functions that are available in JAXP 1.1.
    *
    * @author <a href="mailto:bcholmes@interlog.com>B.C. Holmes</a>
  - * @version $Revision: 1.1 $
  + * @author <a href="mailto:jericho@thinkfree.com>Park, Sung-Gu</a>
  + * @version $Revision: 1.2 $
    */
   public class DOMUtils {
   
  @@ -242,7 +243,7 @@
               } catch (NoSuchMethodException e) {
               }
   */
  -            namespace = element.getNamespaceURI();
  +              namespace = element.getNamespaceURI();
           } else {
   
               String tagName = element.getTagName();
  @@ -298,7 +299,7 @@
                   e.printStackTrace();
               }
   */
  -            localName = element.getLocalName();
  +              localName = element.getLocalName();
           } else {
   
               localName = element.getTagName();
  @@ -339,7 +340,7 @@
               } catch (NoSuchMethodException e) {
               }
               */
  -            list = ((Element) node).getElementsByTagNameNS(namespace, tagName);
  +              list = ((Element) node).getElementsByTagNameNS(namespace, tagName);
           } else {
               Vector vector = new Vector();
               getChildElementsByTagNameNS(vector, node, tagName, namespace);
  @@ -371,6 +372,34 @@
               }
           }
       }
  +
  +
  +    /**
  +     * Get the first element matched with the given namespace and name.
  +     *
  +     * @param node The node.
  +     * @param namespac The namespace.
  +     * @param name The name.
  +     * @return The wanted first element.
  +     */
  +    public static Element getFirstElement(Node node, String namespace,
  +                                          String name) {
  +        NodeList children = node.getChildNodes();
  +        if (children == null)
  +            return null;
  +        for (int i = 0; i < children.getLength(); i++) {
  +            try {
  +                Element child = (Element) children.item(i);
  +                if (name.equals(DOMUtils.getElementLocalName(child)) &&
  +                    namespace.equals(DOMUtils.getElementNamespaceURI(child))) {
  +                    return child;
  +                }
  +            } catch (ClassCastException e) {
  +            }
  +        }
  +        return null;
  +    }
  +
   
       // ---------------------------------------------------------- Inner Classes