本文整理汇总了C++中KoXmlElement::namespaceURI方法的典型用法代码示例。如果您正苦于以下问题:C++ KoXmlElement::namespaceURI方法的具体用法?C++ KoXmlElement::namespaceURI怎么用?C++ KoXmlElement::namespaceURI使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KoXmlElement
的用法示例。
在下文中一共展示了KoXmlElement::namespaceURI方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: action
QList<KoEventAction*> KoEventActionRegistry::createEventActionsFromOdf(const KoXmlElement & e, KoShapeLoadingContext & context) const
{
QList<KoEventAction *> eventActions;
if (e.namespaceURI() == KoXmlNS::office && e.tagName() == "event-listeners") {
KoXmlElement element;
forEachElement(element, e) {
if (element.tagName() == "event-listener") {
if (element.namespaceURI() == KoXmlNS::presentation) {
QString action(element.attributeNS(KoXmlNS::presentation, "action", QString()));
QHash<QString, KoEventActionFactory *>::const_iterator it(d->presentationEventActions.find(action));
if (it != d->presentationEventActions.constEnd()) {
KoEventAction * eventAction = it.value()->createEventAction();
if (eventAction) {
if (eventAction->loadOdf(element, context)) {
eventActions.append(eventAction);
} else {
delete eventAction;
}
}
} else {
kWarning(30006) << "presentation:event-listerer action = " << action << "not supported";
}
} else if (element.namespaceURI() == KoXmlNS::script) {
// TODO
} else {
kWarning(30006) << "element" << e.namespaceURI() << e.tagName() << "not supported";
}
} else {
kWarning(30006) << "element" << e.namespaceURI() << e.tagName() << "not supported";
}
}
} else {
示例2: supports
bool StarShapeFactory::supports(const KoXmlElement &e, KoShapeLoadingContext &context) const
{
Q_UNUSED(context);
if (e.localName() == "regular-polygon" && e.namespaceURI() == KoXmlNS::draw) {
return true;
}
return (e.localName() == "custom-shape" && e.namespaceURI() == KoXmlNS::draw
&& e.attributeNS(KoXmlNS::draw, "engine", "") == "calligra:star");
}
示例3: loadOdf
bool KoInlineNote::loadOdf(const KoXmlElement & element, KoShapeLoadingContext &context, KoStyleManager *styleManager, KoChangeTracker *changeTracker)
{
QTextDocument *document = new QTextDocument();
QTextCursor cursor(document);
KoTextDocument textDocument(document);
textDocument.setStyleManager(styleManager);
d->styleManager = styleManager;
textDocument.setChangeTracker(changeTracker);
KoTextLoader loader(context);
if (element.namespaceURI() == KoXmlNS::text && element.localName() == "note") {
QString className = element.attributeNS(KoXmlNS::text, "note-class");
if (className == "footnote") {
d->type = Footnote;
}
else if (className == "endnote") {
d->type = Endnote;
}
else {
delete document;
return false;
}
d->id = element.attributeNS(KoXmlNS::text, "id");
for (KoXmlNode node = element.firstChild(); !node.isNull(); node = node.nextSibling()) {
setAutoNumbering(false);
KoXmlElement ts = node.toElement();
if (ts.namespaceURI() != KoXmlNS::text)
continue;
if (ts.localName() == "note-body") {
loader.loadBody(ts, cursor);
} else if (ts.localName() == "note-citation") {
d->label = ts.attributeNS(KoXmlNS::text, "label");
if (d->label.isEmpty()) {
setAutoNumbering(true);
d->label = ts.text();
}
}
}
}
else if (element.namespaceURI() == KoXmlNS::office && element.localName() == "annotation") {
d->author = element.attributeNS(KoXmlNS::text, "dc-creator");
d->date = QDateTime::fromString(element.attributeNS(KoXmlNS::text, "dc-date"), Qt::ISODate);
loader.loadBody(element, cursor); // would skip author and date, and do just the <text-p> and <text-list> elements
}
else {
delete document;
return false;
}
d->text = QTextDocumentFragment(document);
delete document;
return true;
}
示例4: loadOdf
bool KoEnhancedPathShape::loadOdf( const KoXmlElement & element, KoShapeLoadingContext &context )
{
reset();
KoXmlElement child;
forEachElement( child, element )
{
if( child.localName() == "enhanced-geometry" && child.namespaceURI() == KoXmlNS::draw )
{
// load the viewbox
QRectF viewBox = loadOdfViewbox( child );
if( ! viewBox.isEmpty() )
m_viewBox = viewBox;
// load the modifiers
QString modifiers = child.attributeNS( KoXmlNS::draw, "modifiers", "" );
if( ! modifiers.isEmpty() )
{
addModifiers( modifiers );
}
KoXmlElement grandChild;
forEachElement( grandChild, child )
{
if( grandChild.namespaceURI() != KoXmlNS::draw )
continue;
if( grandChild.localName() == "equation" )
{
QString name = grandChild.attributeNS( KoXmlNS::draw, "name" );
QString formula = grandChild.attributeNS( KoXmlNS::draw, "formula" );
addFormula( name, formula );
}
else if( grandChild.localName() == "handle" )
{
KoEnhancedPathHandle * handle = new KoEnhancedPathHandle( this );
if( handle->loadOdf( grandChild ) )
{
m_enhancedHandles.append( handle );
evaluateHandles();
}
else
delete handle;
}
}
// load the enhanced path data
QString path = child.attributeNS( KoXmlNS::draw, "enhanced-path", "" );
#ifndef NWORKAROUND_ODF_BUGS
KoOdfWorkaround::fixEnhancedPath(path, child, context);
#endif
if ( !path.isEmpty() ) {
parsePathData( path );
}
}
}
示例5: loadOdf
bool KPrPageLayout::loadOdf( const KoXmlElement &element, const QRectF & pageRect )
{
if ( element.hasAttributeNS( KoXmlNS::style, "display-name" ) ) {
m_name = element.attributeNS( KoXmlNS::style, "display-name" );
}
else {
m_name = element.attributeNS( KoXmlNS::style, "name" );
}
KoXmlElement child;
forEachElement( child, element ) {
if ( child.tagName() == "placeholder" && child.namespaceURI() == KoXmlNS::presentation ) {
KPrPlaceholder * placeholder = new KPrPlaceholder;
if ( placeholder->loadOdf( child, pageRect ) ) {
m_placeholders.append( placeholder );
if ( placeholder->presentationObject() == "handout" ) {
m_layoutType = Handout;
}
}
else {
warnStage << "loading placeholder failed";
delete placeholder;
}
}
else {
warnStage << "unknown tag" << child.namespaceURI() << child.tagName() << "when loading page layout";
}
}
bool retval = true;
if ( m_placeholders.isEmpty() ) {
warnStage << "no placeholder for page layout" << m_name << "found";
retval = false;
}
else {
/*
* do fixups for wrong saved data from OO somehow they save negative values for width and height somethimes
* <style:presentation-page-layout style:name="AL10T12">
* <presentation:placeholder presentation:object="title" svg:x="2.057cm" svg:y="1.743cm" svg:width="23.911cm" svg:height="3.507cm"/>
* <presentation:placeholder presentation:object="outline" svg:x="2.057cm" svg:y="5.838cm" svg:width="11.669cm" svg:height="13.23cm"/>
* <presentation:placeholder presentation:object="object" svg:x="14.309cm" svg:y="5.838cm" svg:width="-0.585cm" svg:height="6.311cm"/>
* <presentation:placeholder presentation:object="object" svg:x="14.309cm" svg:y="12.748cm" svg:width="-0.585cm" svg:height="-0.601cm"/>
* </style:presentation-page-layout>
*/
QList<KPrPlaceholder *>::iterator it( m_placeholders.begin() );
KPrPlaceholder * last = *it;
++it;
for ( ; it != m_placeholders.end(); ++it ) {
( *it )->fix( last->rect( QSizeF( 1, 1 ) ) );
last = *it;
}
}
return retval;
}
示例6: supports
bool KoFormulaShapeFactory::supports(const KoXmlElement& e, KoShapeLoadingContext &context) const
{
Q_UNUSED(context);
bool retval = ((e.localName() == "math"
&& e.namespaceURI() == KoXmlNS::math)
|| (e.localName() == "object"
&& e.namespaceURI() == KoXmlNS::draw));
// Should be 39001 (kformula) instead of 31000 (koffice)
//kDebug(31000) << e.nodeName() << " - "<< e.namespaceURI();
//kDebug(31000) << "Return value = " << retval;
return retval;
}
示例7: supports
bool VectorShapeFactory::supports(const KoXmlElement & e, KoShapeLoadingContext &context) const
{
if (e.localName() == "image" && e.namespaceURI() == KoXmlNS::draw) {
QString href = e.attribute("href");
if (!href.isEmpty()) {
// check the mimetype
if (href.startsWith(QLatin1String("./"))) {
href.remove(0, 2);
}
// LO 3.5 does not write a mimetype for embedded wmf files, so guess also from content
const QString mimetype = context.odfLoadingContext().mimeTypeForPath(href, true);
return
mimetype == QLatin1String("image/x-svm") ||
mimetype == QLatin1String("image/x-emf") ||
mimetype == QLatin1String("image/x-wmf") ||
// Note: the Vector Shape supports SVG, but _NOT_ in this method, otherwise it will stomp all over loading the artistic text shape's svg
//mimetype == QLatin1String("image/svg+xml") ||
// next three for backward compatibility with Calligra
mimetype == QLatin1String("application/x-svm") ||
mimetype == QLatin1String("application/x-emf") ||
mimetype == QLatin1String("application/x-wmf") ||
// seems like MSO does not always write a mimetype
// see jeffcoweb.jeffco.k12.co.us%2Fhigh%2Fchatfield%2Fdepartments%2Fbusiness%2Fbanking_finance%2Funit_Plan_Budget.odp
mimetype.isEmpty() ||
// next for compatibility with OO/LO and our filters
// see drwho.virtadpt.net%2Ffiles%2FNOVALUG-Tor.odp
mimetype.startsWith(QLatin1String("application/x-openoffice"));
}
return true;
}
return false;
}
示例8: supports
bool PictureShapeFactory::supports(const KoXmlElement &e, KoShapeLoadingContext &context) const
{
if (e.localName() == "image" && e.namespaceURI() == KoXmlNS::draw) {
QString href = e.attribute("href");
if (!href.isEmpty()) {
// check the mimetype
if (href.startsWith(QLatin1String("./"))) {
href.remove(0, 2);
}
QString mimetype = context.odfLoadingContext().mimeTypeForPath(href);
if (!mimetype.isEmpty()) {
return mimetype.startsWith("image");
}
else {
return ( href.endsWith("bmp") ||
href.endsWith("jpg") ||
href.endsWith("gif") ||
href.endsWith("eps") ||
href.endsWith("png") ||
href.endsWith("tif") ||
href.endsWith("tiff"));
}
}
else {
return !KoXml::namedItemNS(e, KoXmlNS::office, "binary-data").isNull();
}
}
return false;
}
示例9: supports
bool VideoShapeFactory::supports(const KoXmlElement &e, KoShapeLoadingContext &context) const
{
Q_UNUSED(context);
if (e.localName() != "plugin" || e.namespaceURI() != KoXmlNS::draw) {
return false;
}
return e.attribute("mime-type") == "application/vnd.sun.star.media";
}
示例10: supports
bool ThreedShapeFactory::supports(const KoXmlElement &e, KoShapeLoadingContext &context) const
{
Q_UNUSED(context);
if (e.localName() == "scene" && e.namespaceURI() == KoXmlNS::dr3d) {
return true;
}
return false;
}
示例11: loadOdf
bool KPrDeclarations::loadOdf(const KoXmlElement &body, KoPALoadingContext &context)
{
Q_UNUSED(context);
KoXmlElement element;
forEachElement( element, body ) {
if (element.namespaceURI() == KoXmlNS::presentation) {
if (element.tagName() == "header-decl") {
const QString name = element.attributeNS(KoXmlNS::presentation, "name", QString());
m_declarations[Header].insert(name, element.text());
}
else if(element.tagName() == "footer-decl") {
const QString name = element.attributeNS(KoXmlNS::presentation, "name", QString());
m_declarations[Footer].insert(name, element.text());
}
else if(element.tagName() == "date-time-decl") {
QMap<QString, QVariant> data;
const QString name = element.attributeNS(KoXmlNS::presentation, "name", QString());
data["fixed"] = element.attributeNS(KoXmlNS::presentation, "source", "fixed") == "fixed";
QString styleName = element.attributeNS(KoXmlNS::style, "data-style-name", "");
if (!styleName.isEmpty()) {
KoOdfStylesReader::DataFormatsMap::const_iterator it = context.odfLoadingContext().stylesReader().dataFormats().constFind(styleName);
if (it != context.odfLoadingContext().stylesReader().dataFormats().constEnd()) {
QString formatString = (*it).first.prefix + (*it).first.formatStr + (*it).first.suffix;
data["format"] = formatString;
}
}
else {
data["format"] = QString("");
data["fixed value"] = element.text();
}
m_declarations[DateTime].insert(name, data);
}
}
else if (element.tagName() == "page" && element.namespaceURI() == KoXmlNS::draw) {
break;
}
}
return true;
}
示例12: parseManifest
bool KoOdfLoadingContext::parseManifest(const KoXmlDocument &manifestDocument)
{
// First find the manifest:manifest node.
KoXmlNode n = manifestDocument.firstChild();
kDebug(30006) << "Searching for manifest:manifest " << n.toElement().nodeName();
for (; !n.isNull(); n = n.nextSibling()) {
if (!n.isElement()) {
kDebug(30006) << "NOT element";
continue;
} else {
kDebug(30006) << "element";
}
kDebug(30006) << "name:" << n.toElement().localName()
<< "namespace:" << n.toElement().namespaceURI();
if (n.toElement().localName() == "manifest"
&& n.toElement().namespaceURI() == KoXmlNS::manifest)
{
kDebug(30006) << "found manifest:manifest";
break;
}
}
if (n.isNull()) {
kDebug(30006) << "Could not find manifest:manifest";
return false;
}
// Now loop through the children of the manifest:manifest and
// store all the manifest:file-entry elements.
const KoXmlElement manifestElement = n.toElement();
for (n = manifestElement.firstChild(); !n.isNull(); n = n.nextSibling()) {
if (!n.isElement())
continue;
KoXmlElement el = n.toElement();
if (!(el.localName() == "file-entry" && el.namespaceURI() == KoXmlNS::manifest))
continue;
QString fullPath = el.attributeNS(KoXmlNS::manifest, "full-path", QString());
QString mediaType = el.attributeNS(KoXmlNS::manifest, "media-type", QString(""));
QString version = el.attributeNS(KoXmlNS::manifest, "version", QString());
// Only if fullPath is valid, should we store this entry.
// If not, we don't bother to find out exactly what is wrong, we just skip it.
if (!fullPath.isNull()) {
d->manifestEntries.insert(fullPath,
new KoOdfManifestEntry(fullPath, mediaType, version));
}
}
return true;
}
示例13: Items
KoOasisSettings::Items KoOasisSettings::NamedMap::entry(const QString& entryName) const
{
KoXmlElement entry;
forEachElement(entry, m_element) {
if (entry.localName() == "config-item-map-entry" &&
entry.namespaceURI() == m_settings->m_configNsUri &&
entry.attributeNS(m_settings->m_configNsUri, "name", QString()) == entryName) {
return Items(entry, m_settings);
}
}
return Items(KoXmlElement(), m_settings);
}
示例14: NamedMap
KoOasisSettings::NamedMap KoOasisSettings::Items::namedMap(const QString& itemMapName) const
{
KoXmlElement configItem;
forEachElement(configItem, m_element) {
if (configItem.localName() == "config-item-map-named" &&
configItem.namespaceURI() == m_settings->m_configNsUri &&
configItem.attributeNS(m_settings->m_configNsUri, "name", QString()) == itemMapName) {
return NamedMap(configItem, m_settings);
}
}
return NamedMap(KoXmlElement(), m_settings);
}
示例15: createStyleMap
void KoOdfStylesReader::createStyleMap(const KoXmlDocument& doc, bool stylesDotXml)
{
const KoXmlElement docElement = doc.documentElement();
// We used to have the office:version check here, but better let the apps do that
KoXmlElement fontStyles = KoXml::namedItemNS(docElement, KoXmlNS::office, "font-face-decls");
if (!fontStyles.isNull()) {
//kDebug(30003) <<"Starting reading in font-face-decls...";
insertStyles(fontStyles, stylesDotXml ? AutomaticInStyles : AutomaticInContent);
}// else
// kDebug(30003) <<"No items found";
//kDebug(30003) <<"Starting reading in office:automatic-styles. stylesDotXml=" << stylesDotXml;
KoXmlElement autoStyles = KoXml::namedItemNS(docElement, KoXmlNS::office, "automatic-styles");
if (!autoStyles.isNull()) {
insertStyles(autoStyles, stylesDotXml ? AutomaticInStyles : AutomaticInContent);
}// else
// kDebug(30003) <<"No items found";
//kDebug(30003) <<"Reading in master styles";
KoXmlNode masterStyles = KoXml::namedItemNS(docElement, KoXmlNS::office, "master-styles");
if (!masterStyles.isNull()) {
KoXmlElement master;
forEachElement(master, masterStyles) {
if (master.localName() == "master-page" &&
master.namespaceURI() == KoXmlNS::style) {
const QString name = master.attributeNS(KoXmlNS::style, "name", QString());
kDebug(30003) << "Master style: '" << name << "' loaded";
d->masterPages.insert(name, new KoXmlElement(master));
} else if (master.localName() == "layer-set" && master.namespaceURI() == KoXmlNS::draw) {
kDebug(30003) << "Master style: layer-set loaded";
d->layerSet = master;
} else
// OASIS docu mentions style:handout-master and draw:layer-set here
kWarning(30003) << "Unknown tag " << master.tagName() << " in office:master-styles";
}
}