package nota.oxygen.epub; import org.xml.sax.Attributes; import org.xml.sax.helpers.DefaultHandler; public class PackageHandler extends DefaultHandler { private String identifier; private String title; private String creator; private String language; private String source; private String format; private String publisher; private String date; private String characterData; public String getIdentifier() { return identifier; } public String getTitle() { return title; } public String getCreator() { return creator; } public String getLanguage() { return language; } public String getSource() { return source; } public String getFormat() { return format; } public String getPublisher() { return publisher; } public String getDate() { return date; } public void startDocument() { } public void endDocument() { } public void startElement(String uri, String localName, String qualifiedName, Attributes attributes) { characterData = ""; } public void endElement(String uri, String localName, String qualifiedName) { if (qualifiedName.equals("dc:identifier")) { identifier = characterData; } if (qualifiedName.equals("dc:title")) { title = characterData; } if (qualifiedName.equals("dc:creator")) { creator = characterData; } if (qualifiedName.equals("dc:language")) { language = characterData; } if (qualifiedName.equals("dc:source")) { source = characterData; } if (qualifiedName.equals("dc:format")) { format = characterData; } if (qualifiedName.equals("dc:publisher")) { publisher = characterData; } if (qualifiedName.equals("dc:date")) { date = characterData; } } public void characters(char characters[], int start, int length) { String tempCharacterData = new String(characters, start, length); tempCharacterData = tempCharacterData.replaceAll("&(?!amp;)", "&"); tempCharacterData = tempCharacterData.replaceAll("<", "<"); tempCharacterData = tempCharacterData.replaceAll(">", ">"); tempCharacterData = tempCharacterData.replaceAll("\"", """); tempCharacterData = tempCharacterData.replaceAll("'", "'"); characterData += tempCharacterData; } }