Class XMPHandler

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

    public class XMPHandler
    extends org.xml.sax.helpers.DefaultHandler
    Passive XMP parser implemented as a SAX DefaultHandler. After the XML document has been parsed the Metadata object can be retrieved.
    • Field Detail

      • content

        private java.lang.StringBuffer content
      • attributesStack

        private java.util.Stack attributesStack
      • nestingInfoStack

        private java.util.Stack nestingInfoStack
      • contextStack

        private java.util.Stack contextStack
    • Constructor Detail

      • XMPHandler

        public XMPHandler()
    • Method Detail

      • getMetadata

        public Metadata getMetadata()
        Returns:
        the parsed metadata, available after the parsing.
      • hasComplexContent

        private boolean hasComplexContent()
      • getCurrentProperties

        private PropertyAccess getCurrentProperties()
      • getCurrentPropName

        private QName getCurrentPropName()
      • popCurrentPropName

        private QName popCurrentPropName()
                                  throws org.xml.sax.SAXException
        Throws:
        org.xml.sax.SAXException
      • getCurrentStructure

        private XMPStructure getCurrentStructure()
      • getCurrentArray

        private XMPArray getCurrentArray​(boolean required)
                                  throws org.xml.sax.SAXException
        Throws:
        org.xml.sax.SAXException
      • startElement

        public void startElement​(java.lang.String uri,
                                 java.lang.String localName,
                                 java.lang.String qName,
                                 org.xml.sax.Attributes attributes)
                          throws org.xml.sax.SAXException
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • startStructure

        private void startStructure()
      • startThinStructure

        private void startThinStructure()
      • endElement

        public void endElement​(java.lang.String uri,
                               java.lang.String localName,
                               java.lang.String qName)
                        throws org.xml.sax.SAXException
        Specified by:
        endElement in interface org.xml.sax.ContentHandler
        Overrides:
        endElement in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • characters

        public void characters​(char[] ch,
                               int start,
                               int length)
                        throws org.xml.sax.SAXException
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Overrides:
        characters in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException