Package diva.util.xml

Class XmlElement


  • public class XmlElement
    extends java.lang.Object
    An XmlElement is a node of a tree representing an XML file. It is a concrete class. An XmlReader object will construct a tree of XmlElements from an XML file and place it into an XmlDocument. Applications can traverse a tree of XmlElements to extract data or build their own application-specific data structure. They can also construct a tree of XmlElements and add it to an XmlDocument and generate an XML output file.
    Version:
    $Id$
    Author:
    Steve Neuendorffer, John Reekie
    • Constructor Summary

      Constructors 
      Constructor Description
      XmlElement()
      Create a new XmlElement of unknown type.
      XmlElement​(java.lang.String type)
      Create a new XmlElement with element type given by the string.
      XmlElement​(java.lang.String type, java.util.Map attrs)
      Create a new XmlElement with element type with the given name and the given attributes.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addElement​(XmlElement e)
      Add a child element to this element.
      void appendPCData​(java.lang.String s)
      Add the String to the end of the current PCDATA for this element.
      java.util.Iterator attributeNames()
      Return an enumeration over the names of the attributes in this schematic.
      boolean containsElement​(XmlElement elt)
      Test if this element contains the given element.
      int elementCount()
      Return the number of child elements.
      java.util.Iterator elements()
      Return an Iterator of all the child elements of this element.
      java.util.Iterator elements​(java.lang.String type)
      Return an Iterator of all the child elements of this element that have the given element type.
      java.lang.String getAttribute​(java.lang.String name)
      Return the value of the attribute with the given name, or null if there isn't one.
      java.util.Map getAttributeMap()
      Return the map from attribute names to value.
      java.util.List getChildList()
      Return the list of child elements.
      XmlElement getElement​(java.lang.String type)
      Return the first child element of this element with the given type, or null if there isn't one.
      XmlElement getElement​(java.lang.String type, java.lang.String name)
      Return the first child element of this element with the given type and name, or null if there isn't one.
      XmlElement getParent()
      Return the parent element of this element, or null if it has no parent.
      java.lang.String getPCData()
      Return the PCData that is associated with this XmlElement.
      java.lang.String getType()
      Return the type of this XmlElement.
      boolean hasAttribute​(java.lang.String name)
      Test if this element has the attribute with the given name.
      void removeAttribute​(java.lang.String name)
      Remove an attribute from this element.
      void removeElement​(XmlElement e)
      Remove a child element from this element.
      void setAttribute​(java.lang.String name, java.lang.String value)
      Set the attribute with the given name to the given value.
      void setParent​(XmlElement p)
      Set the parent element of this element.
      void setPCData​(java.lang.String s)
      Set the text of this element to the given string.
      void setType​(java.lang.String s)
      Set the type of this element.
      java.lang.String toString()
      Convert this element to a string in XML.
      void writeXML​(java.io.Writer out, java.lang.String prefix)
      Print this element to a Writer.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • XmlElement

        public XmlElement​(java.lang.String type)
        Create a new XmlElement with element type given by the string. The element has no attributes and no child elements.
        Parameters:
        type - The element type
      • XmlElement

        public XmlElement()
        Create a new XmlElement of unknown type.
      • XmlElement

        public XmlElement​(java.lang.String type,
                          java.util.Map attrs)
        Create a new XmlElement with element type with the given name and the given attributes. The element starts with no child elements.
        Parameters:
        type - The element type
        attrs - The attributes of this XmlElement.
    • Method Detail

      • addElement

        public void addElement​(XmlElement e)
        Add a child element to this element. Child elements are ordered.
      • appendPCData

        public void appendPCData​(java.lang.String s)
        Add the String to the end of the current PCDATA for this element.
      • attributeNames

        public java.util.Iterator attributeNames()
        Return an enumeration over the names of the attributes in this schematic. There is no order guarantee on the attributes.
      • containsElement

        public boolean containsElement​(XmlElement elt)
        Test if this element contains the given element. This is included mainly to allow test suites to be written. In general, check the parent of the child.
      • elementCount

        public int elementCount()
        Return the number of child elements.
      • elements

        public java.util.Iterator elements()
        Return an Iterator of all the child elements of this element. The elements are generated in the order in which they were added.
      • elements

        public java.util.Iterator elements​(java.lang.String type)
        Return an Iterator of all the child elements of this element that have the given element type.
        Returns:
        an Iterator of XmlElements
      • getAttribute

        public java.lang.String getAttribute​(java.lang.String name)
        Return the value of the attribute with the given name, or null if there isn't one.
      • getAttributeMap

        public java.util.Map getAttributeMap()
        Return the map from attribute names to value. This returns the internal object that holds attributes, and is provided so that more sophisticated operations than provided by the methods in this interface can be implemented when needed. Note: if you add any attributes to this list, you must be sure that the value is a String.
      • getChildList

        public java.util.List getChildList()
        Return the list of child elements. This returns the internal object that holds child elements, and is provided so that more sophisticated operations than provided by the methods in this interface can be implemented when needed. Note: if you add any elements to this list, you MUST call the setParent() method of that element with this object.
      • getElement

        public XmlElement getElement​(java.lang.String type)
        Return the first child element of this element with the given type, or null if there isn't one.
      • getElement

        public XmlElement getElement​(java.lang.String type,
                                     java.lang.String name)
        Return the first child element of this element with the given type and name, or null if there isn't one.
      • getType

        public java.lang.String getType()
        Return the type of this XmlElement. The type is immutably set when the XmlElement is created.
      • getParent

        public XmlElement getParent()
        Return the parent element of this element, or null if it has no parent.
      • getPCData

        public java.lang.String getPCData()
        Return the PCData that is associated with this XmlElement.
      • hasAttribute

        public boolean hasAttribute​(java.lang.String name)
        Test if this element has the attribute with the given name.
      • removeAttribute

        public void removeAttribute​(java.lang.String name)
        Remove an attribute from this element.
      • removeElement

        public void removeElement​(XmlElement e)
        Remove a child element from this element.
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 java.lang.String value)
        Set the attribute with the given name to the given value. Throw an exception if there is no attribute with the given name in this schematic.
      • setParent

        public void setParent​(XmlElement p)
        Set the parent element of this element.
      • setPCData

        public void setPCData​(java.lang.String s)
        Set the text of this element to the given string.
      • setType

        public void setType​(java.lang.String s)
        Set the type of this element.
      • toString

        public java.lang.String toString()
        Convert this element to a string in XML.
        Overrides:
        toString in class java.lang.Object
      • writeXML

        public void writeXML​(java.io.Writer out,
                             java.lang.String prefix)
                      throws java.io.IOException
        Print this element to a Writer.
        Throws:
        java.io.IOException