in tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/KeynoteContentHandler.java [63:114]
public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException {
if ("key:theme".equals(qName)) {
inTheme = true;
} else if ("key:slide".equals(qName)) {
inSlide = true;
numberOfSlides++;
xhtml.startElement("div");
} else if ("key:master-slide".equals(qName)) {
inSlide = true;
xhtml.startElement("div");
} else if ("key:title-placeholder".equals(qName) && inSlide) {
inTitle = true;
xhtml.startElement("h1");
} else if ("sf:sticky-note".equals(qName) && inSlide) {
xhtml.startElement("p");
} else if ("key:notes".equals(qName) && inSlide) {
xhtml.startElement("p");
} else if ("key:body-placeholder".equals(qName) && inSlide) {
xhtml.startElement("p");
inBody = true;
} else if ("key:size".equals(qName) && !inTheme) {
String width = attributes.getValue("sfa:w");
String height = attributes.getValue("sfa:h");
metadata.set(PRESENTATION_WIDTH, width);
metadata.set(PRESENTATION_HEIGHT, height);
} else if ("sf:text-body".equals(qName)) {
inParsableText = true;
} else if ("key:metadata".equals(qName)) {
inMetadata = true;
} else if (inMetadata && "key:title".equals(qName)) {
inMetaDataTitle = true;
} else if (inMetadata && "key:authors".equals(qName)) {
inMetaDataAuthors = true;
} else if (inMetaDataTitle && "key:string".equals(qName)) {
metadata.set(TikaCoreProperties.TITLE, attributes.getValue("sfa:string"));
} else if (inMetaDataAuthors && "key:string".equals(qName)) {
metadata.add(TikaCoreProperties.CREATOR, attributes.getValue("sfa:string"));
} else if (inSlide && "sf:tabular-model".equals(qName)) {
tableId = attributes.getValue("sfa:ID");
xhtml.startElement("table");
} else if (tableId != null && "sf:columns".equals(qName)) {
numberOfColumns = Integer.parseInt(attributes.getValue("sf:count"));
currentColumn = 0;
} else if (tableId != null && "sf:ct".equals(qName)) {
parseTableData(attributes.getValue("sfa:s"));
} else if (tableId != null && "sf:n".equals(qName)) {
parseTableData(attributes.getValue("sf:v"));
} else if ("sf:p".equals(qName)) {
xhtml.startElement("p");
}
}