Class MarcXmlReader
- java.lang.Object
-
- org.marc4j.marcxml.MarcXmlReader
-
- All Implemented Interfaces:
MarcHandler
,XMLReader
public class MarcXmlReader extends Object implements XMLReader, MarcHandler
MarcXmlReader
is anXMLReader
that consumesMarcHandler
events and reports events to a SAX2ContentHandler
.- Author:
- Bas Peters
- See Also:
MarcHandler
,ContentHandler
-
-
Field Summary
Fields Modifier and Type Field Description LexicalHandler
lh
the lexical handler object
-
Constructor Summary
Constructors Constructor Description MarcXmlReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
controlField(String tag, char[] data, Long id)
Reports a control field node (001-009).void
endCollection()
Reports the closing element for the root, reports the end of the prefix mapping and the end a document.void
endDataField(String tag)
Reports the closing element for a data field.void
endRecord()
Reports the closing element for a record.ContentHandler
getContentHandler()
Returns the content handler.DTDHandler
getDTDHandler()
EntityResolver
getEntityResolver()
ErrorHandler
getErrorHandler()
boolean
getFeature(String name)
Returns the boolean for the feature with the given name.Object
getProperty(String name)
Returns the object for the given property.void
parse(String systemId)
Parse input from a system identifier (URI).void
parse(InputSource input)
Sends the input source to theMarcReader
.void
setContentHandler(ContentHandler ch)
Sets the content handler.void
setDTDHandler(DTDHandler dh)
Not supported.void
setEntityResolver(EntityResolver er)
Not supported.void
setErrorHandler(ErrorHandler seh)
Not supported.void
setFeature(String name, boolean value)
Sets the boolean for the feature with the given name.void
setProperty(String name, Object obj)
Sets the object for the given property.void
startCollection()
Returns the document handler being used, starts the document and reports the root element.void
startDataField(String tag, char ind1, char ind2, Long id)
Reports the starting element for a data field (010-999).void
startRecord(Leader leader)
Reports the starting element for a record and the leader node.void
subfield(char code, char[] data, String linkCode)
Reports a subfield node.
-
-
-
Field Detail
-
lh
public LexicalHandler lh
the lexical handler object
-
-
Method Detail
-
setContentHandler
public void setContentHandler(ContentHandler ch)
Sets the content handler.
- Specified by:
setContentHandler
in interfaceXMLReader
- Parameters:
ch
-
-
getContentHandler
public ContentHandler getContentHandler()
Returns the content handler.
- Specified by:
getContentHandler
in interfaceXMLReader
- Returns:
- ch
-
setEntityResolver
public void setEntityResolver(EntityResolver er)
Not supported.
- Specified by:
setEntityResolver
in interfaceXMLReader
- Parameters:
er
-
-
getEntityResolver
public EntityResolver getEntityResolver()
- Specified by:
getEntityResolver
in interfaceXMLReader
-
setDTDHandler
public void setDTDHandler(DTDHandler dh)
Not supported.
- Specified by:
setDTDHandler
in interfaceXMLReader
- Parameters:
dh
-
-
getDTDHandler
public DTDHandler getDTDHandler()
- Specified by:
getDTDHandler
in interfaceXMLReader
-
setErrorHandler
public void setErrorHandler(ErrorHandler seh)
Not supported.
- Specified by:
setErrorHandler
in interfaceXMLReader
- Parameters:
seh
-
-
getErrorHandler
public ErrorHandler getErrorHandler()
- Specified by:
getErrorHandler
in interfaceXMLReader
-
setProperty
public void setProperty(String name, Object obj) throws SAXNotRecognizedException, SAXNotSupportedException
Sets the object for the given property.
- Specified by:
setProperty
in interfaceXMLReader
- Parameters:
name
- the property nameobj
- the property object- Throws:
SAXNotRecognizedException
SAXNotSupportedException
-
getProperty
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Returns the object for the given property.
- Specified by:
getProperty
in interfaceXMLReader
- Parameters:
name
- the property name- Throws:
SAXNotRecognizedException
SAXNotSupportedException
-
setFeature
public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
Sets the boolean for the feature with the given name.
- Specified by:
setFeature
in interfaceXMLReader
- Parameters:
name
- the name of the featurevalue
- the boolean value- Throws:
SAXNotRecognizedException
SAXNotSupportedException
-
getFeature
public boolean getFeature(String name) throws SAXNotRecognizedException
Returns the boolean for the feature with the given name.
- Specified by:
getFeature
in interfaceXMLReader
- Parameters:
name
- the name of the feature- Throws:
SAXNotRecognizedException
-
parse
public void parse(String systemId) throws SAXException, IOException
Parse input from a system identifier (URI).
- Specified by:
parse
in interfaceXMLReader
- Parameters:
systemId
- the system identifier (URI)- Throws:
SAXException
IOException
-
parse
public void parse(InputSource input)
Sends the input source to the
MarcReader
.- Specified by:
parse
in interfaceXMLReader
- Parameters:
input
- theInputSource
-
startCollection
public void startCollection()
Returns the document handler being used, starts the document and reports the root element.
- Specified by:
startCollection
in interfaceMarcHandler
-
startRecord
public void startRecord(Leader leader)
Reports the starting element for a record and the leader node.
- Specified by:
startRecord
in interfaceMarcHandler
- Parameters:
leader
- the leader
-
controlField
public void controlField(String tag, char[] data, Long id)
Reports a control field node (001-009).
- Specified by:
controlField
in interfaceMarcHandler
- Parameters:
tag
- the tag namedata
- the data elementid
- the field id if exists.
-
startDataField
public void startDataField(String tag, char ind1, char ind2, Long id)
Reports the starting element for a data field (010-999).
- Specified by:
startDataField
in interfaceMarcHandler
- Parameters:
tag
- the tag nameind1
- the first indicator valueind2
- the second indicator valueid
- the field id if exists.
-
subfield
public void subfield(char code, char[] data, String linkCode)
Reports a subfield node.
- Specified by:
subfield
in interfaceMarcHandler
- Parameters:
code
- the data element identifierdata
- the data elementlinkCode
- a code if the subfield has a link with another Record
-
endDataField
public void endDataField(String tag)
Reports the closing element for a data field.
- Specified by:
endDataField
in interfaceMarcHandler
- Parameters:
tag
- the tag name
-
endRecord
public void endRecord()
Reports the closing element for a record.
- Specified by:
endRecord
in interfaceMarcHandler
-
endCollection
public void endCollection()
Reports the closing element for the root, reports the end of the prefix mapping and the end a document.
- Specified by:
endCollection
in interfaceMarcHandler
-
-