Class SiteCatalogXMLParser3

  • All Implemented Interfaces:
    SiteCatalogXMLParser, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

    public class SiteCatalogXMLParser3
    extends StackBasedXMLParser
    implements SiteCatalogXMLParser
    This class uses the Xerces SAX2 parser to validate and parse an XML document conforming to the Site Catalog schema v3.0
    Version:
    $Revision$
    Author:
    Karan Vahi vahi@isi.edu
    • Field Detail

      • SCHEMA_LOCATION

        public static final java.lang.String SCHEMA_LOCATION
        The "not-so-official" location URL of the Site Catalog Schema.
        See Also:
        Constant Field Values
      • SCHEMA_NAMESPACE

        public static final java.lang.String SCHEMA_NAMESPACE
        uri namespace
        See Also:
        Constant Field Values
      • mResult

        private SiteStore mResult
        The final result constructed.
      • mSites

        private java.util.Set<java.lang.String> mSites
        The set of sites that need to be parsed.
      • mLoadAll

        private boolean mLoadAll
        A boolean indicating whether to load all sites.
    • Constructor Detail

      • SiteCatalogXMLParser3

        public SiteCatalogXMLParser3​(PegasusBag bag,
                                     java.util.List<java.lang.String> sites)
        The overloaded constructor.
        Parameters:
        bag - the bag of initialization objects.
        sites - the list of sites that need to be parsed. * means all.
    • Method Detail

      • startParser

        public void startParser​(java.lang.String file)
        The main method that starts the parsing.
        Specified by:
        startParser in class Parser
        Parameters:
        file - the XML file to be parsed.
      • createObject

        public java.lang.Object createObject​(java.lang.String element,
                                             java.util.List names,
                                             java.util.List values)
        Composes the SiteData object corresponding to the element name in the XML document.
        Specified by:
        createObject in class StackBasedXMLParser
        Parameters:
        element - the element name encountered while parsing.
        names - is a list of attribute names, as strings.
        values - is a list of attribute values, to match the key list.
        Returns:
        the relevant SiteData object, else null if unable to construct.
        Throws:
        java.lang.IllegalArgumentException - if the element name is too short.
      • loadSite

        private boolean loadSite​(SiteCatalogEntry3 site)
        Whether to laod a site or not in the SiteStore
        Parameters:
        site - the SiteCatalogEntry object.
        Returns:
        boolean
      • setElementRelation

        public boolean setElementRelation​(java.lang.String childElement,
                                          java.lang.Object parent,
                                          java.lang.Object child)
        This method sets the relations between the currently finished XML element and its containing element in terms of Java objects. Usually it involves adding the object to the parent's child object list.
        Specified by:
        setElementRelation in class StackBasedXMLParser
        Parameters:
        childElement - name is the the child element name
        parent - is a reference to the parent's Java object
        child - is the completed child object to connect to the parent
        Returns:
        true if the element was added successfully, false, if the child does not match into the parent.
      • getSchemaNamespace

        public java.lang.String getSchemaNamespace()
        Returns the XML schema namespace that a document being parsed conforms to.
        Specified by:
        getSchemaNamespace in class Parser
        Returns:
        the schema namespace
      • getSchemaLocation

        public java.lang.String getSchemaLocation()
        Returns the local path to the XML schema against which to validate.
        Specified by:
        getSchemaLocation in class Parser
        Returns:
        path to the schema
      • main

        public static void main​(java.lang.String[] args)
        Parameters:
        args -