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 classDomXmpParser.NamespaceFinder
-
Field Summary
Fields Modifier and Type Field Description private javax.xml.parsers.DocumentBuilderdBuilderprivate DomXmpParser.NamespaceFindernsFinderprivate booleanstrictParsing
-
Constructor Summary
Constructors Constructor Description DomXmpParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private PropertyTypecheckPropertyDefinition(XMPMetadata xmp, javax.xml.namespace.QName prop)private voidcreateProperty(XMPMetadata xmp, org.w3c.dom.Element property, PropertyType type, ComplexPropertyContainer container)private voidexpectNaming(org.w3c.dom.Element element, java.lang.String ns, java.lang.String prefix, java.lang.String ln)private org.w3c.dom.ElementfindDescriptionsParent(org.w3c.dom.Element root)private AbstractStructuredTypeinstanciateStructured(TypeMapping tm, Types type, java.lang.String name, java.lang.String structuredNamespace)booleanisStrictParsing()private voidloadAttributes(AbstractField sp, org.w3c.dom.Element element)private voidmanageArray(XMPMetadata xmp, org.w3c.dom.Element property, PropertyType type, ComplexPropertyContainer container)private voidmanageDefinedType(XMPMetadata xmp, org.w3c.dom.Element property, java.lang.String prefix, ComplexPropertyContainer container)private voidmanageLangAlt(XMPMetadata xmp, org.w3c.dom.Element property, ComplexPropertyContainer container)private voidmanageSimpleType(XMPMetadata xmp, org.w3c.dom.Element property, Types type, ComplexPropertyContainer container)private voidmanageStructuredType(XMPMetadata xmp, org.w3c.dom.Element property, java.lang.String prefix, ComplexPropertyContainer container)XMPMetadataparse(byte[] xmp)XMPMetadataparse(java.io.InputStream input)private voidparseChildrenAsProperties(XMPMetadata xmp, java.util.List<org.w3c.dom.Element> properties, TypeMapping tm, org.w3c.dom.Element description)private voidparseDescriptionInner(XMPMetadata xmp, org.w3c.dom.Element description, ComplexPropertyContainer parentContainer)private voidparseDescriptionRoot(XMPMetadata xmp, org.w3c.dom.Element description)private voidparseDescriptionRootAttr(XMPMetadata xmp, org.w3c.dom.Element description, org.w3c.dom.Attr attr, TypeMapping tm)private voidparseEndPacket(XMPMetadata metadata, org.w3c.dom.ProcessingInstruction pi)private XMPMetadataparseInitialXpacket(org.w3c.dom.ProcessingInstruction pi)private AbstractStructuredTypeparseLiDescription(XMPMetadata xmp, javax.xml.namespace.QName descriptor, org.w3c.dom.Element liElement)private AbstractFieldparseLiElement(XMPMetadata xmp, javax.xml.namespace.QName descriptor, org.w3c.dom.Element liElement, Types type)private voidremoveComments(org.w3c.dom.Node root)Remove all the comments node in the parent element of the parametervoidsetStrictParsing(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
-
-