void OEBDescriptionReader::startElementHandler(const char *tag, const char **attributes) { const std::string tagString = ZLUnicodeUtil::toLower(tag); if ((METADATA == tagString) || (DC_METADATA == tagString)) { myDCMetadataTag = tagString; myReadMetaData = true; } else if (myReadMetaData) { if (ZLStringUtil::stringEndsWith(tagString, TITLE_TAG)) { if (isDublinCoreNamespace(tagString.substr(0, tagString.length() - TITLE_TAG.length()))) { myReadState = READ_TITLE; } } else if (ZLStringUtil::stringEndsWith(tagString, AUTHOR_TAG)) { if (isDublinCoreNamespace(tagString.substr(0, tagString.length() - AUTHOR_TAG.length()))) { const char *role = attributeValue(attributes, "role"); if (role == 0) { myReadState = READ_AUTHOR2; } else if (AUTHOR_ROLE == role) { myReadState = READ_AUTHOR; } } } else if (ZLStringUtil::stringEndsWith(tagString, SUBJECT_TAG)) { if (isDublinCoreNamespace(tagString.substr(0, tagString.length() - SUBJECT_TAG.length()))) { myReadState = READ_SUBJECT; } } } }
void OEBMetaInfoReader::startElementHandler(const char *tag, const char **attributes) { const std::string tagString = ZLUnicodeUtil::toLower(tag); if (METADATA == tagString || DC_METADATA == tagString || isNSName(tagString, METADATA, ZLXMLNamespace::OpenPackagingFormat)) { myDCMetadataTag = tagString; myReadMetaData = true; } else if (myReadMetaData) { if (ZLStringUtil::stringEndsWith(tagString, TITLE_SUFFIX)) { if (isDublinCoreNamespace(tagString.substr(0, tagString.length() - TITLE_SUFFIX.length()))) { myReadState = READ_TITLE; } } else if (ZLStringUtil::stringEndsWith(tagString, AUTHOR_SUFFIX)) { if (isDublinCoreNamespace(tagString.substr(0, tagString.length() - AUTHOR_SUFFIX.length()))) { const char *role = attributeValue(attributes, "role"); if (role == 0) { myReadState = READ_AUTHOR2; } else if (AUTHOR_ROLE == role) { myReadState = READ_AUTHOR; } } } else if (ZLStringUtil::stringEndsWith(tagString, SUBJECT_SUFFIX)) { if (isDublinCoreNamespace(tagString.substr(0, tagString.length() - SUBJECT_SUFFIX.length()))) { myReadState = READ_SUBJECT; } } else if (ZLStringUtil::stringEndsWith(tagString, LANGUAGE_SUFFIX)) { if (isDublinCoreNamespace(tagString.substr(0, tagString.length() - LANGUAGE_SUFFIX.length()))) { myReadState = READ_LANGUAGE; } } else if (tagString == META) { const char *name = attributeValue(attributes, "name"); const char *content = attributeValue(attributes, "content"); if (name != 0 && content != 0) { std::string sName = name; if (isNSName(sName, SERIES, ZLXMLNamespace::CalibreMetadata)) { myBook.setSeries(content, myBook.indexInSeries()); } else if (isNSName(sName, SERIES_INDEX, ZLXMLNamespace::CalibreMetadata)) { myBook.setSeries(myBook.seriesTitle(), atoi(content)); } } } } }
void OEBMigrationReader::startElementHandler(const char *tag, const char**) { const std::string tagString = ZLUnicodeUtil::toLower(tag); if ((METADATA == tagString) || (DC_METADATA == tagString)) { myDCMetadataTag = tagString; myReadMetaData = true; } else if (myReadMetaData) { if (ZLStringUtil::stringEndsWith(tagString, SUBJECT_TAG)) { if (isDublinCoreNamespace(tagString.substr(0, tagString.length() - SUBJECT_TAG.length()))) { myReadSubject = true; } } } }