Package org.apache.xmpbox.xml
Class DomXmpParser
- java.lang.Object
-
- org.apache.xmpbox.xml.DomXmpParser
-
public class DomXmpParser extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
DomXmpParser.NamespaceFinder
-
Field Summary
Fields Modifier and Type Field Description private javax.xml.parsers.DocumentBuilder
dBuilder
private DomXmpParser.NamespaceFinder
nsFinder
private boolean
strictParsing
-
Constructor Summary
Constructors Constructor Description DomXmpParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private PropertyType
checkPropertyDefinition(XMPMetadata xmp, javax.xml.namespace.QName prop)
private void
createProperty(XMPMetadata xmp, org.w3c.dom.Element property, PropertyType type, ComplexPropertyContainer container)
private void
expectNaming(org.w3c.dom.Element element, java.lang.String ns, java.lang.String prefix, java.lang.String ln)
private org.w3c.dom.Element
findDescriptionsParent(org.w3c.dom.Element root)
private AbstractStructuredType
instanciateStructured(TypeMapping tm, Types type, java.lang.String name, java.lang.String structuredNamespace)
boolean
isStrictParsing()
private void
loadAttributes(AbstractField sp, org.w3c.dom.Element element)
private void
manageArray(XMPMetadata xmp, org.w3c.dom.Element property, PropertyType type, ComplexPropertyContainer container)
private void
manageDefinedType(XMPMetadata xmp, org.w3c.dom.Element property, java.lang.String prefix, ComplexPropertyContainer container)
private void
manageLangAlt(XMPMetadata xmp, org.w3c.dom.Element property, ComplexPropertyContainer container)
private void
manageSimpleType(XMPMetadata xmp, org.w3c.dom.Element property, Types type, ComplexPropertyContainer container)
private void
manageStructuredType(XMPMetadata xmp, org.w3c.dom.Element property, java.lang.String prefix, ComplexPropertyContainer container)
XMPMetadata
parse(byte[] xmp)
XMPMetadata
parse(java.io.InputStream input)
private void
parseChildrenAsProperties(XMPMetadata xmp, java.util.List<org.w3c.dom.Element> properties, TypeMapping tm, org.w3c.dom.Element description)
private void
parseDescriptionInner(XMPMetadata xmp, org.w3c.dom.Element description, ComplexPropertyContainer parentContainer)
private void
parseDescriptionRoot(XMPMetadata xmp, org.w3c.dom.Element description)
private void
parseDescriptionRootAttr(XMPMetadata xmp, org.w3c.dom.Element description, org.w3c.dom.Attr attr, TypeMapping tm)
private void
parseEndPacket(XMPMetadata metadata, org.w3c.dom.ProcessingInstruction pi)
private XMPMetadata
parseInitialXpacket(org.w3c.dom.ProcessingInstruction pi)
private AbstractStructuredType
parseLiDescription(XMPMetadata xmp, javax.xml.namespace.QName descriptor, org.w3c.dom.Element liElement)
private AbstractField
parseLiElement(XMPMetadata xmp, javax.xml.namespace.QName descriptor, org.w3c.dom.Element liElement, Types type)
private void
removeComments(org.w3c.dom.Node root)
Remove all the comments node in the parent element of the parametervoid
setStrictParsing(boolean strictParsing)
-
-
-
Field Detail
-
dBuilder
private javax.xml.parsers.DocumentBuilder dBuilder
-
nsFinder
private DomXmpParser.NamespaceFinder nsFinder
-
strictParsing
private boolean strictParsing
-
-
Constructor Detail
-
DomXmpParser
public DomXmpParser() throws XmpParsingException
- Throws:
XmpParsingException
-
-
Method Detail
-
isStrictParsing
public boolean isStrictParsing()
-
setStrictParsing
public void setStrictParsing(boolean strictParsing)
-
parse
public XMPMetadata parse(byte[] xmp) throws XmpParsingException
- Throws:
XmpParsingException
-
parse
public XMPMetadata parse(java.io.InputStream input) throws XmpParsingException
- Throws:
XmpParsingException
-
parseDescriptionRoot
private void parseDescriptionRoot(XMPMetadata xmp, org.w3c.dom.Element description) throws XmpParsingException
- Throws:
XmpParsingException
-
parseDescriptionRootAttr
private void parseDescriptionRootAttr(XMPMetadata xmp, org.w3c.dom.Element description, org.w3c.dom.Attr attr, TypeMapping tm) throws XmpSchemaException, XmpParsingException
-
parseChildrenAsProperties
private void parseChildrenAsProperties(XMPMetadata xmp, java.util.List<org.w3c.dom.Element> properties, TypeMapping tm, org.w3c.dom.Element description) throws XmpParsingException, XmpSchemaException
-
createProperty
private void createProperty(XMPMetadata xmp, org.w3c.dom.Element property, PropertyType type, ComplexPropertyContainer container) throws XmpParsingException
- Throws:
XmpParsingException
-
manageDefinedType
private void manageDefinedType(XMPMetadata xmp, org.w3c.dom.Element property, java.lang.String prefix, ComplexPropertyContainer container) throws XmpParsingException
- Throws:
XmpParsingException
-
manageStructuredType
private void manageStructuredType(XMPMetadata xmp, org.w3c.dom.Element property, java.lang.String prefix, ComplexPropertyContainer container) throws XmpParsingException
- Throws:
XmpParsingException
-
manageSimpleType
private void manageSimpleType(XMPMetadata xmp, org.w3c.dom.Element property, Types type, ComplexPropertyContainer container)
-
manageArray
private void manageArray(XMPMetadata xmp, org.w3c.dom.Element property, PropertyType type, ComplexPropertyContainer container) throws XmpParsingException
- Throws:
XmpParsingException
-
manageLangAlt
private void manageLangAlt(XMPMetadata xmp, org.w3c.dom.Element property, ComplexPropertyContainer container) throws XmpParsingException
- Throws:
XmpParsingException
-
parseDescriptionInner
private void parseDescriptionInner(XMPMetadata xmp, org.w3c.dom.Element description, ComplexPropertyContainer parentContainer) throws XmpParsingException
- Throws:
XmpParsingException
-
parseLiElement
private AbstractField parseLiElement(XMPMetadata xmp, javax.xml.namespace.QName descriptor, org.w3c.dom.Element liElement, Types type) throws XmpParsingException
- Throws:
XmpParsingException
-
loadAttributes
private void loadAttributes(AbstractField sp, org.w3c.dom.Element element)
-
parseLiDescription
private AbstractStructuredType parseLiDescription(XMPMetadata xmp, javax.xml.namespace.QName descriptor, org.w3c.dom.Element liElement) throws XmpParsingException
- Throws:
XmpParsingException
-
parseInitialXpacket
private XMPMetadata parseInitialXpacket(org.w3c.dom.ProcessingInstruction pi) throws XmpParsingException
- Throws:
XmpParsingException
-
parseEndPacket
private void parseEndPacket(XMPMetadata metadata, org.w3c.dom.ProcessingInstruction pi) throws XmpParsingException
- Throws:
XmpParsingException
-
findDescriptionsParent
private org.w3c.dom.Element findDescriptionsParent(org.w3c.dom.Element root) throws XmpParsingException
- Throws:
XmpParsingException
-
expectNaming
private void expectNaming(org.w3c.dom.Element element, java.lang.String ns, java.lang.String prefix, java.lang.String ln) throws XmpParsingException
- Throws:
XmpParsingException
-
removeComments
private void removeComments(org.w3c.dom.Node root)
Remove all the comments node in the parent element of the parameter- Parameters:
root
- the first node of an element or document to clear
-
instanciateStructured
private AbstractStructuredType instanciateStructured(TypeMapping tm, Types type, java.lang.String name, java.lang.String structuredNamespace) throws XmpParsingException
- Throws:
XmpParsingException
-
checkPropertyDefinition
private PropertyType checkPropertyDefinition(XMPMetadata xmp, javax.xml.namespace.QName prop) throws XmpParsingException
- Throws:
XmpParsingException
-
-