summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2005-10-27 14:54:32 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2005-10-27 14:54:32 +0000
commita3bf09f0b8aa568f3b3fbf760b6d4a7450354959 (patch)
tree19ab3a65f8e55007c0b377cc0c77106d718441da /xmloff
parentd4bc8c8d05681d84ab58171e5a4cd0be8a47d402 (diff)
INTEGRATION: CWS mib02 (1.2.292); FILE MERGED
2005/09/28 21:11:18 mib 1.2.292.2: RESYNC: (1.2-1.3); FILE MERGED 2005/08/23 07:54:24 mib 1.2.292.1: #i45212#: transform all <meta:user-defined> elements
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/source/transform/MetaTContext.cxx30
1 files changed, 15 insertions, 15 deletions
diff --git a/xmloff/source/transform/MetaTContext.cxx b/xmloff/source/transform/MetaTContext.cxx
index 60292ba77e85..ae47145c08cf 100644
--- a/xmloff/source/transform/MetaTContext.cxx
+++ b/xmloff/source/transform/MetaTContext.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: MetaTContext.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: rt $ $Date: 2005-09-09 15:48:04 $
+ * last change: $Author: hr $ $Date: 2005-10-27 15:54:32 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -124,6 +124,7 @@ XMLTransformerContext *XMLMetaTransformerContext::CreateChildContext(
void XMLMetaTransformerContext::EndElement()
{
// export everything in the correct order
+ OUString aKeywordsQName;
XMLTokenEnum *pToken = aMetaTokens;
while( *pToken != XML_TOKEN_END )
{
@@ -134,28 +135,27 @@ void XMLMetaTransformerContext::EndElement()
{
if( XML_KEYWORD == *pToken )
{
- OUString aKeywordsQName(
+ aKeywordsQName =
GetTransformer().GetNamespaceMap().GetQNameByKey(
- XML_NAMESPACE_META, GetXMLToken(XML_KEYWORDS ) ) );
+ XML_NAMESPACE_META, GetXMLToken(XML_KEYWORDS ) );
+
Reference< XAttributeList > xAttrList =
new XMLMutableAttributeList;
GetTransformer().GetDocHandler()->startElement( aKeywordsQName,
xAttrList );
-
- XMLMetaContexts_Impl::const_iterator aEndIter =
- m_aContexts.upper_bound( rToken );
- while( aIter != aEndIter )
- {
- (*aIter).second->Export();
- ++aIter;
- }
-
- GetTransformer().GetDocHandler()->endElement( aKeywordsQName );
}
- else
+
+ // All elements may occur multiple times
+ XMLMetaContexts_Impl::const_iterator aEndIter =
+ m_aContexts.upper_bound( rToken );
+ while( aIter != aEndIter )
{
(*aIter).second->Export();
+ ++aIter;
}
+
+ if( XML_KEYWORD == *pToken )
+ GetTransformer().GetDocHandler()->endElement( aKeywordsQName );
}
pToken++;
}