*/\r
public class MarcXmlWriter implements MarcWriter {\r
\r
+ public static final String MARCXML_NS_URI = "http://www.loc.gov/MARC21/slim";\r
+ \r
protected static final String prefix = "marc:";\r
protected static final String CONTROL_FIELD = "controlfield";\r
protected static final String Q_CONTROL_FIELD = prefix + "controlfield";\r
AttributesImpl atts = new AttributesImpl();\r
handler.startDocument();\r
// The next line duplicates the namespace declaration for Marc XML\r
- handler.startPrefixMapping("marc", Constants.MARCXML_NS_URI);\r
+ handler.startPrefixMapping("marc", MARCXML_NS_URI);\r
// add namespace declaration using attribute - need better solution\r
- atts.addAttribute(Constants.MARCXML_NS_URI, "xmlns", "xmlns:marc",\r
- "CDATA", Constants.MARCXML_NS_URI); \r
- handler.startElement(Constants.MARCXML_NS_URI, COLLECTION, Q_COLLECTION, atts);\r
+ atts.addAttribute(MARCXML_NS_URI, "xmlns", "xmlns:marc",\r
+ "CDATA", MARCXML_NS_URI); \r
+ handler.startElement(MARCXML_NS_URI, COLLECTION, Q_COLLECTION, atts);\r
} catch (SAXException e) {\r
throw new MarcException(\r
"SAX error occured while writing start document", e);\r
handler.ignorableWhitespace("\n".toCharArray(), 0, 1);\r
\r
handler\r
- .endElement(Constants.MARCXML_NS_URI, COLLECTION,\r
+ .endElement(MARCXML_NS_URI, COLLECTION,\r
Q_COLLECTION);\r
handler.endPrefixMapping("");\r
handler.endDocument();\r
if (indent)\r
handler.ignorableWhitespace("\n ".toCharArray(), 0, 3);\r
\r
- handler.startElement(Constants.MARCXML_NS_URI, RECORD, Q_RECORD, atts);\r
+ handler.startElement(MARCXML_NS_URI, RECORD, Q_RECORD, atts);\r
\r
if (indent)\r
handler.ignorableWhitespace("\n ".toCharArray(), 0, 5);\r
\r
- handler.startElement(Constants.MARCXML_NS_URI, LEADER, Q_LEADER, atts);\r
+ handler.startElement(MARCXML_NS_URI, LEADER, Q_LEADER, atts);\r
Leader leader = record.getLeader();\r
temp = leader.toString().toCharArray();\r
handler.characters(temp, 0, temp.length);\r
- handler.endElement(Constants.MARCXML_NS_URI, LEADER, Q_LEADER);\r
+ handler.endElement(MARCXML_NS_URI, LEADER, Q_LEADER);\r
\r
Iterator<ControlField> ci = record.getControlFields().iterator();\r
while (ci.hasNext()) {\r
if (indent)\r
handler.ignorableWhitespace("\n ".toCharArray(), 0, 5);\r
\r
- handler.startElement(Constants.MARCXML_NS_URI, CONTROL_FIELD,\r
+ handler.startElement(MARCXML_NS_URI, CONTROL_FIELD,\r
Q_CONTROL_FIELD, atts);\r
temp = getDataElement(field.getData());\r
handler.characters(temp, 0, temp.length);\r
- handler.endElement(Constants.MARCXML_NS_URI, CONTROL_FIELD,\r
+ handler.endElement(MARCXML_NS_URI, CONTROL_FIELD,\r
Q_CONTROL_FIELD);\r
}\r
\r
if (indent)\r
handler.ignorableWhitespace("\n ".toCharArray(), 0, 5);\r
\r
- handler.startElement(Constants.MARCXML_NS_URI, DATA_FIELD,\r
+ handler.startElement(MARCXML_NS_URI, DATA_FIELD,\r
Q_DATA_FIELD, atts);\r
Iterator<Subfield> si = field.getSubfields().iterator();\r
while (si.hasNext()) {\r
if (indent)\r
handler.ignorableWhitespace("\n ".toCharArray(), 0, 7);\r
\r
- handler.startElement(Constants.MARCXML_NS_URI, SUBFIELD,\r
+ handler.startElement(MARCXML_NS_URI, SUBFIELD,\r
Q_SUBFIELD, atts);\r
temp = getDataElement(subfield.getData());\r
handler.characters(temp, 0, temp.length);\r
handler\r
- .endElement(Constants.MARCXML_NS_URI, SUBFIELD,\r
+ .endElement(MARCXML_NS_URI, SUBFIELD,\r
Q_SUBFIELD);\r
}\r
\r
handler.ignorableWhitespace("\n ".toCharArray(), 0, 5);\r
\r
handler\r
- .endElement(Constants.MARCXML_NS_URI, DATA_FIELD,\r
- Q_DATA_FIELD);\r
+ .endElement(MARCXML_NS_URI, DATA_FIELD, Q_DATA_FIELD);\r
}\r
\r
if (indent)\r
handler.ignorableWhitespace("\n ".toCharArray(), 0, 3);\r
\r
- handler.endElement(Constants.MARCXML_NS_URI, RECORD, Q_RECORD);\r
+ handler.endElement(MARCXML_NS_URI, RECORD, Q_RECORD);\r
}\r
\r
protected char[] getDataElement(String data) {\r