Kaydet (Commit) 7ef4457b authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Revert "fdo#80403: Writer specific AutoCorr use FastParser"

This reverts commit c1e90457 (plus follow-up
c940d4d3 "loplugin:saloverride" and
5f0f3d4e "Work around
-Werror,-Wdeprecated-register"), it broke JunitTest_sw_unoapi.

Change-Id: I21499f8a7810eef637bb51a30380ae60b3d915cd
üst b21f2439
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_CustomTarget_CustomTarget,sw/generated))
sw_SRC := $(SRCDIR)/sw/source/core/swg
sw_PL := $(SRCDIR)/solenv/bin/gentoken.pl
sw_INC := $(call gb_CustomTarget_get_workdir,sw/generated)
$(sw_INC)/TextBlockTokens.gperf : $(sw_SRC)/TextBlockTokens.txt $(sw_PL)
mkdir -p $(sw_INC)
$(PERL) $(sw_PL) $(sw_SRC)/TextBlockTokens.txt $(sw_INC)/TextBlockTokens.gperf
$(sw_INC)/BlockListTokens.gperf : $(sw_SRC)/BlockListTokens.txt $(sw_PL)
mkdir -p $(sw_INC)
$(PERL) $(sw_PL) $(sw_SRC)/BlockListTokens.txt $(sw_INC)/BlockListTokens.gperf
$(sw_INC)/tokens.cxx : $(sw_INC)/TextBlockTokens.gperf $(sw_INC)/BlockListTokens.gperf
$(GPERF) --compare-strncmp --readonly-tables --output-file=$(sw_INC)/tokens.cxx \
--class-name=TextBlockTokens --word-array-name=textBlockList --enum $(sw_INC)/TextBlockTokens.gperf
$(GPERF) --compare-strncmp --readonly-tables -T $(sw_INC)/BlockListTokens.gperf \
--class-name=BlockListTokens --word-array-name=blockListList >> $(sw_INC)/tokens.cxx
sed -i -e "s/(char\*)0/(char\*)0, XML_TOKEN_INVALID/g" $(sw_INC)/tokens.cxx
sed -i -e "/^#line/d" $(sw_INC)/tokens.cxx
$(call gb_CustomTarget_get_target,sw/generated) : $(sw_INC)/tokens.cxx
# vim: set noet sw=4 ts=4:
...@@ -36,7 +36,6 @@ $(eval $(call gb_Library_set_include,sw,\ ...@@ -36,7 +36,6 @@ $(eval $(call gb_Library_set_include,sw,\
$(eval $(call gb_Library_use_custom_headers,sw,\ $(eval $(call gb_Library_use_custom_headers,sw,\
officecfg/registry \ officecfg/registry \
sw/generated \
)) ))
$(eval $(call gb_Library_use_sdk_api,sw)) $(eval $(call gb_Library_use_sdk_api,sw))
......
...@@ -21,7 +21,6 @@ $(eval $(call gb_Module_Module,sw)) ...@@ -21,7 +21,6 @@ $(eval $(call gb_Module_Module,sw))
$(eval $(call gb_Module_add_targets,sw,\ $(eval $(call gb_Module_add_targets,sw,\
$(call gb_Helper_optional,DESKTOP,Executable_tiledrendering) \ $(call gb_Helper_optional,DESKTOP,Executable_tiledrendering) \
CustomTarget_generated \
Library_msword \ Library_msword \
Library_sw \ Library_sw \
Library_swd \ Library_swd \
......
...@@ -21,14 +21,6 @@ ...@@ -21,14 +21,6 @@
#define INCLUDED_SW_SOURCE_CORE_INC_SWXMLBLOCKIMPORT_HXX #define INCLUDED_SW_SOURCE_CORE_INC_SWXMLBLOCKIMPORT_HXX
#include <xmloff/xmlimp.hxx> #include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmlnmspe.hxx>
#include <com/sun/star/xml/sax/XFastTokenHandler.hpp>
#include <com/sun/star/xml/sax/FastToken.hpp>
#include <sax/fastattribs.hxx>
using namespace css::xml::sax;
using namespace xmloff::token;
class SwXMLTextBlocks; class SwXMLTextBlocks;
class SwXMLBlockListImport : public SvXMLImport class SwXMLBlockListImport : public SvXMLImport
...@@ -39,8 +31,10 @@ private: ...@@ -39,8 +31,10 @@ private:
protected: protected:
// This method is called after the namespace map has been updated, but // This method is called after the namespace map has been updated, but
// before a context for the current element has been pushed. // before a context for the current element has been pushed.
virtual SvXMLImportContext* CreateFastContext( sal_Int32 Element, virtual SvXMLImportContext *CreateContext( sal_uInt16 nPrefix,
const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) SAL_OVERRIDE; const OUString& rLocalName,
const ::com::sun::star::uno::Reference<
::com::sun::star::xml::sax::XAttributeList > & xAttrList ) SAL_OVERRIDE;
public: public:
SwXMLBlockListImport( SwXMLBlockListImport(
...@@ -63,8 +57,10 @@ private: ...@@ -63,8 +57,10 @@ private:
protected: protected:
// This method is called after the namespace map has been updated, but // This method is called after the namespace map has been updated, but
// before a context for the current element has been pushed. // before a context for the current element has been pushed.
virtual SvXMLImportContext* CreateFastContext( sal_Int32 Element, virtual SvXMLImportContext *CreateContext( sal_uInt16 nPrefix,
const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) SAL_OVERRIDE; const OUString& rLocalName,
const ::com::sun::star::uno::Reference<
::com::sun::star::xml::sax::XAttributeList > & xAttrList ) SAL_OVERRIDE;
public: public:
bool bTextOnly; bool bTextOnly;
...@@ -83,62 +79,6 @@ public: ...@@ -83,62 +79,6 @@ public:
throw( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE; throw( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
}; };
enum SwXMLTextBlockToken : sal_Int32
{
OFFICE_BODY = FastToken::NAMESPACE | XML_NAMESPACE_OFFICE | XML_BODY,
OFFICE_TEXT = FastToken::NAMESPACE | XML_NAMESPACE_OFFICE | XML_TEXT,
OFFICE_DOCUMENT = FastToken::NAMESPACE | XML_NAMESPACE_OFFICE | XML_DOCUMENT,
OFFICE_DOCUMENT_CONTENT = FastToken::NAMESPACE | XML_NAMESPACE_OFFICE | XML_DOCUMENT_CONTENT,
TEXT_P = FastToken::NAMESPACE | XML_NAMESPACE_TEXT | XML_P
};
class SwXMLTextBlockTokenHandler : public
cppu::WeakImplHelper1< css::xml::sax::XFastTokenHandler >,
public sax_fastparser::FastTokenHandlerBase
{
public:
SwXMLTextBlockTokenHandler();
virtual ~SwXMLTextBlockTokenHandler();
//XFastTokenHandler
sal_Int32 SAL_CALL getTokenFromUTF8( const css::uno::Sequence< sal_Int8 >& Identifier )
throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
css::uno::Sequence< sal_Int8 > SAL_CALL getUTF8Identifier( sal_Int32 Token )
throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
//Much fast direct C++ shortcut to the method that matters
virtual sal_Int32 getTokenDirect( const char *pTag, sal_Int32 nLength ) const SAL_OVERRIDE;
};
enum SwXMLBlockListToken : sal_Int32
{
ABBREVIATED_NAME = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_ABBREVIATED_NAME,
BLOCK = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_BLOCK,
BLOCK_LIST = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_BLOCK_LIST,
LIST_NAME = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_LIST_NAME,
NAME = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_NAME,
PACKAGE_NAME = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_PACKAGE_NAME,
UNFORMATTED_TEXT = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_UNFORMATTED_TEXT
};
class SwXMLBlockListTokenHandler : public
cppu::WeakImplHelper1< css::xml::sax::XFastTokenHandler >,
public sax_fastparser::FastTokenHandlerBase
{
public:
SwXMLBlockListTokenHandler();
virtual ~SwXMLBlockListTokenHandler();
//XFastTokenHandler
sal_Int32 SAL_CALL getTokenFromUTF8( const css::uno::Sequence< sal_Int8 >& Identifier )
throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
css::uno::Sequence< sal_Int8 > SAL_CALL getUTF8Identifier( sal_Int32 Token )
throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
//Much fast direct C++ shortcut to the method that matters
virtual sal_Int32 getTokenDirect( const char *pTag, sal_Int32 nLength ) const SAL_OVERRIDE;
};
#endif #endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
abbreviated-name
block
block-list
list-name
name
package-name
unformatted-text
...@@ -18,27 +18,16 @@ ...@@ -18,27 +18,16 @@
*/ */
#include <SwXMLBlockImport.hxx> #include <SwXMLBlockImport.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmlnmspe.hxx>
#include <SwXMLTextBlocks.hxx> #include <SwXMLTextBlocks.hxx>
#include <xmloff/xmlictxt.hxx> #include <xmloff/xmlictxt.hxx>
#include <unotools/charclass.hxx> #include <unotools/charclass.hxx>
#include <swtypes.hxx> #include <swtypes.hxx>
#if defined __clang__
#if __has_warning("-Wdeprecated-register")
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-register"
#endif
#endif
#include <tokens.cxx>
#if defined __clang__
#if __has_warning("-Wdeprecated-register")
#pragma GCC diagnostic pop
#endif
#endif
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star; using namespace ::com::sun::star;
using namespace css::xml::sax; using namespace ::xmloff::token;
class SwXMLBlockListImport; class SwXMLBlockListImport;
class SwXMLTextBlockImport; class SwXMLTextBlockImport;
...@@ -49,20 +38,24 @@ private: ...@@ -49,20 +38,24 @@ private:
SwXMLBlockListImport & rLocalRef; SwXMLBlockListImport & rLocalRef;
public: public:
SwXMLBlockListContext( SwXMLBlockListImport& rImport, sal_Int32 Element, SwXMLBlockListContext( SwXMLBlockListImport& rImport,
const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ); sal_uInt16 nPrefix,
const OUString& rLocalName,
const uno::Reference<xml::sax::XAttributeList> & xAttrList);
virtual ~SwXMLBlockListContext ( void ); virtual ~SwXMLBlockListContext ( void );
virtual SvXMLImportContext *CreateChildContext( sal_uInt16 nPrefix,
const OUString& rLocalName,
const uno::Reference<xml::sax::XAttributeList> & xAttrList) SAL_OVERRIDE;
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(
sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList )
throw (css::uno::RuntimeException, css::xml::sax::SAXException, std::exception) SAL_OVERRIDE;
}; };
class SwXMLBlockContext : public SvXMLImportContext class SwXMLBlockContext : public SvXMLImportContext
{ {
public: public:
SwXMLBlockContext( SwXMLBlockListImport& rImport, sal_Int32 Element, SwXMLBlockContext( SwXMLBlockListImport& rImport,
const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ); sal_uInt16 nPrefix,
const OUString& rLocalName,
const uno::Reference<xml::sax::XAttributeList> & xAttrList);
virtual ~SwXMLBlockContext ( void ); virtual ~SwXMLBlockContext ( void );
}; };
...@@ -72,13 +65,13 @@ private: ...@@ -72,13 +65,13 @@ private:
SwXMLTextBlockImport & rLocalRef; SwXMLTextBlockImport & rLocalRef;
public: public:
SwXMLTextBlockDocumentContext( SwXMLTextBlockImport& rImport, sal_Int32 Element, SwXMLTextBlockDocumentContext( SwXMLTextBlockImport& rImport,
const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ); sal_uInt16 nPrefix,
const OUString& rLocalName,
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( const uno::Reference<xml::sax::XAttributeList> & xAttrList);
sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) virtual SvXMLImportContext *CreateChildContext( sal_uInt16 nPrefix,
throw (css::uno::RuntimeException, css::xml::sax::SAXException, std::exception) SAL_OVERRIDE; const OUString& rLocalName,
const uno::Reference<xml::sax::XAttributeList> & xAttrList) SAL_OVERRIDE;
virtual ~SwXMLTextBlockDocumentContext ( void ); virtual ~SwXMLTextBlockDocumentContext ( void );
}; };
...@@ -88,13 +81,13 @@ private: ...@@ -88,13 +81,13 @@ private:
SwXMLTextBlockImport & rLocalRef; SwXMLTextBlockImport & rLocalRef;
public: public:
SwXMLTextBlockBodyContext( SwXMLTextBlockImport& rImport, sal_Int32 Element, SwXMLTextBlockBodyContext( SwXMLTextBlockImport& rImport,
const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ); sal_uInt16 nPrefix,
const OUString& rLocalName,
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( const uno::Reference<xml::sax::XAttributeList > & xAttrList);
sal_Int32, const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) virtual SvXMLImportContext *CreateChildContext( sal_uInt16 nPrefix,
throw (css::uno::RuntimeException, css::xml::sax::SAXException, std::exception) SAL_OVERRIDE; const OUString& rLocalName,
const uno::Reference<xml::sax::XAttributeList> & xAttrList) SAL_OVERRIDE;
virtual ~SwXMLTextBlockBodyContext ( void ); virtual ~SwXMLTextBlockBodyContext ( void );
}; };
...@@ -104,14 +97,15 @@ private: ...@@ -104,14 +97,15 @@ private:
SwXMLTextBlockImport & rLocalRef; SwXMLTextBlockImport & rLocalRef;
public: public:
SwXMLTextBlockTextContext( SwXMLTextBlockImport& rImport, sal_Int32 Element, SwXMLTextBlockTextContext( SwXMLTextBlockImport& rImport,
const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ); sal_uInt16 nPrefix,
const OUString& rLocalName,
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( const uno::Reference<
sal_Int32 Element, xml::sax::XAttributeList > & xAttrList );
const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) virtual SvXMLImportContext *CreateChildContext( sal_uInt16 nPrefix,
throw (css::uno::RuntimeException, css::xml::sax::SAXException, std::exception) SAL_OVERRIDE; const OUString& rLocalName,
const uno::Reference<
xml::sax::XAttributeList > & xAttrList ) SAL_OVERRIDE;
virtual ~SwXMLTextBlockTextContext ( void ); virtual ~SwXMLTextBlockTextContext ( void );
}; };
...@@ -121,119 +115,101 @@ private: ...@@ -121,119 +115,101 @@ private:
SwXMLTextBlockImport & rLocalRef; SwXMLTextBlockImport & rLocalRef;
public: public:
SwXMLTextBlockParContext( SwXMLTextBlockImport & rImport, sal_Int32 Element, SwXMLTextBlockParContext( SwXMLTextBlockImport& rImport,
const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ); sal_uInt16 nPrefix,
const OUString& rLocalName,
virtual void SAL_CALL characters( const OUString & aChars ) const uno::Reference<
throw (css::uno::RuntimeException, css::xml::sax::SAXException, std::exception) SAL_OVERRIDE; xml::sax::XAttributeList > & xAttrList );
virtual void Characters( const OUString& rChars ) SAL_OVERRIDE;
virtual ~SwXMLTextBlockParContext ( void ); virtual ~SwXMLTextBlockParContext ( void );
}; };
SwXMLTextBlockTokenHandler::SwXMLTextBlockTokenHandler()
{
}
SwXMLTextBlockTokenHandler::~SwXMLTextBlockTokenHandler()
{
}
sal_Int32 SAL_CALL SwXMLTextBlockTokenHandler::getTokenFromUTF8( const Sequence< sal_Int8 >& Identifier )
throw (css::uno::RuntimeException, std::exception)
{
return getTokenDirect( reinterpret_cast< const char* >( Identifier.getConstArray() ), Identifier.getLength() );
}
Sequence< sal_Int8 > SAL_CALL SwXMLTextBlockTokenHandler::getUTF8Identifier( sal_Int32 )
throw (css::uno::RuntimeException, std::exception)
{
return Sequence< sal_Int8 >();
}
sal_Int32 SwXMLTextBlockTokenHandler::getTokenDirect( const char *pTag, sal_Int32 nLength ) const
{
if( !nLength )
nLength = strlen( pTag );
const struct xmltoken* pToken = TextBlockTokens::in_word_set( pTag, nLength );
return pToken ? pToken->nToken : XML_TOKEN_INVALID;
}
SwXMLBlockListTokenHandler::SwXMLBlockListTokenHandler()
{
}
SwXMLBlockListTokenHandler::~SwXMLBlockListTokenHandler()
{
}
sal_Int32 SAL_CALL SwXMLBlockListTokenHandler::getTokenFromUTF8( const Sequence< sal_Int8 >& Identifier )
throw (css::uno::RuntimeException, std::exception)
{
return getTokenDirect( reinterpret_cast< const char* >( Identifier.getConstArray() ), Identifier.getLength() );
}
Sequence< sal_Int8 > SAL_CALL SwXMLBlockListTokenHandler::getUTF8Identifier( sal_Int32 )
throw (css::uno::RuntimeException, std::exception)
{
return Sequence< sal_Int8 >();
}
sal_Int32 SwXMLBlockListTokenHandler::getTokenDirect( const char *pTag, sal_Int32 nLength ) const
{
if( !nLength )
nLength = strlen( pTag );
const struct xmltoken* pToken = BlockListTokens::in_word_set( pTag, nLength );
return pToken ? pToken->nToken : XML_TOKEN_INVALID;
}
SwXMLBlockListContext::SwXMLBlockListContext( SwXMLBlockListContext::SwXMLBlockListContext(
SwXMLBlockListImport& rImport, SwXMLBlockListImport& rImport,
sal_Int32 /*Element*/, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & xAttrList ) : const OUString& rLocalName,
SvXMLImportContext( rImport ), const uno::Reference<
rLocalRef( rImport ) xml::sax::XAttributeList > & xAttrList ) :
{ SvXMLImportContext ( rImport, nPrefix, rLocalName ),
if( xAttrList.is() && xAttrList->hasAttribute( SwXMLBlockListToken::LIST_NAME ) ) rLocalRef (rImport)
rImport.getBlockList().SetName( xAttrList->getValue( SwXMLBlockListToken::LIST_NAME ) ); {
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
for (sal_Int16 i=0; i < nAttrCount; i++)
{
const OUString& rAttrName = xAttrList->getNameByIndex( i );
OUString aLocalName;
sal_uInt16 nPrefx = rImport.GetNamespaceMap().GetKeyByAttrName( rAttrName, &aLocalName);
const OUString& rAttrValue = xAttrList->getValueByIndex( i );
if ( XML_NAMESPACE_BLOCKLIST == nPrefx )
{
if ( IsXMLToken ( aLocalName, XML_LIST_NAME ) )
{
rImport.getBlockList().SetName(rAttrValue);
break;
}
}
}
} }
SwXMLBlockListContext::~SwXMLBlockListContext ( void ) SwXMLBlockListContext::~SwXMLBlockListContext ( void )
{ {
} }
uno::Reference< ::xml::sax::XFastContextHandler > SAL_CALL SvXMLImportContext *SwXMLBlockListContext::CreateChildContext(
SwXMLBlockListContext::createFastChildContext( sal_Int32 Element, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & xAttrList ) const OUString& rLocalName,
throw (uno::RuntimeException, xml::sax::SAXException, std::exception) const uno::Reference< xml::sax::XAttributeList > & xAttrList )
{ {
if ( Element == SwXMLBlockListToken::BLOCK ) SvXMLImportContext *pContext = 0;
return new SwXMLBlockContext( rLocalRef, Element, xAttrList ); if (nPrefix == XML_NAMESPACE_BLOCKLIST &&
IsXMLToken ( rLocalName, XML_BLOCK ) )
pContext = new SwXMLBlockContext (rLocalRef, nPrefix, rLocalName, xAttrList);
else else
return new SvXMLImportContext( rLocalRef ); pContext = new SvXMLImportContext( rLocalRef, nPrefix, rLocalName);
return pContext;
} }
SwXMLBlockContext::SwXMLBlockContext( SwXMLBlockContext::SwXMLBlockContext(
SwXMLBlockListImport& rImport, SwXMLBlockListImport& rImport,
sal_Int32 /*Element*/, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & xAttrList ) : const OUString& rLocalName,
SvXMLImportContext( rImport ) const uno::Reference<
xml::sax::XAttributeList > & xAttrList ) :
SvXMLImportContext ( rImport, nPrefix, rLocalName )
{ {
static const CharClass & rCC = GetAppCharClass(); static const CharClass & rCC = GetAppCharClass();
OUString aShort, aLong, aPackageName; OUString aShort;
OUString aLong;
OUString aPackageName;
bool bTextOnly = false; bool bTextOnly = false;
if( xAttrList.is() )
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
for (sal_Int16 i=0; i < nAttrCount; i++)
{ {
if( xAttrList->hasAttribute( SwXMLBlockListToken::ABBREVIATED_NAME ) ) const OUString& rAttrName = xAttrList->getNameByIndex( i );
aShort = rCC.uppercase( xAttrList->getValue( SwXMLBlockListToken::ABBREVIATED_NAME ) ); OUString aLocalName;
if( xAttrList->hasAttribute( SwXMLBlockListToken::NAME ) ) sal_uInt16 nPrefx = rImport.GetNamespaceMap().GetKeyByAttrName( rAttrName, &aLocalName);
aLong = xAttrList->getValue( SwXMLBlockListToken::NAME ); const OUString& rAttrValue = xAttrList->getValueByIndex( i );
if( xAttrList->hasAttribute( SwXMLBlockListToken::PACKAGE_NAME ) ) if (XML_NAMESPACE_BLOCKLIST == nPrefx)
aPackageName = xAttrList->getValue( SwXMLBlockListToken::PACKAGE_NAME );
if( xAttrList->hasAttribute( SwXMLBlockListToken::UNFORMATTED_TEXT ) )
{ {
OUString rAttrValue( xAttrList->getValue( SwXMLBlockListToken::UNFORMATTED_TEXT ) ); if ( IsXMLToken ( aLocalName, XML_ABBREVIATED_NAME ) )
if( IsXMLToken( rAttrValue, XML_TRUE ) ) {
bTextOnly = true; aShort = rCC.uppercase(rAttrValue);
}
else if ( IsXMLToken ( aLocalName, XML_NAME ) )
{
aLong = rAttrValue;
}
else if ( IsXMLToken ( aLocalName, XML_PACKAGE_NAME ) )
{
aPackageName = rAttrValue;
}
else if ( IsXMLToken ( aLocalName, XML_UNFORMATTED_TEXT ) )
{
if ( IsXMLToken ( rAttrValue, XML_TRUE ) )
bTextOnly = true;
}
} }
} }
if (aShort.isEmpty() || aLong.isEmpty() || aPackageName.isEmpty()) if (aShort.isEmpty() || aLong.isEmpty() || aPackageName.isEmpty())
...@@ -246,47 +222,56 @@ SwXMLBlockContext::~SwXMLBlockContext ( void ) ...@@ -246,47 +222,56 @@ SwXMLBlockContext::~SwXMLBlockContext ( void )
} }
SwXMLTextBlockDocumentContext::SwXMLTextBlockDocumentContext( SwXMLTextBlockDocumentContext::SwXMLTextBlockDocumentContext(
SwXMLTextBlockImport& rImport, SwXMLTextBlockImport& rImport,
sal_Int32 /*Element*/, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & /*xAttrList*/ ) : const OUString& rLocalName,
SvXMLImportContext( rImport ), const uno::Reference<
xml::sax::XAttributeList > & ) :
SvXMLImportContext ( rImport, nPrefix, rLocalName ),
rLocalRef(rImport) rLocalRef(rImport)
{ {
} }
uno::Reference< ::xml::sax::XFastContextHandler > SAL_CALL SvXMLImportContext *SwXMLTextBlockDocumentContext::CreateChildContext(
SwXMLTextBlockDocumentContext::createFastChildContext( sal_Int32 Element, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & xAttrList ) const OUString& rLocalName,
throw (uno::RuntimeException, xml::sax::SAXException, std::exception) const uno::Reference< xml::sax::XAttributeList > & xAttrList )
{ {
if ( Element == SwXMLTextBlockToken::OFFICE_BODY ) SvXMLImportContext *pContext = 0;
return new SwXMLTextBlockBodyContext( rLocalRef, Element, xAttrList ); if (nPrefix == XML_NAMESPACE_OFFICE &&
IsXMLToken ( rLocalName, XML_BODY ) )
pContext = new SwXMLTextBlockBodyContext (rLocalRef, nPrefix, rLocalName, xAttrList);
else else
return new SvXMLImportContext( rLocalRef ); pContext = new SvXMLImportContext( rLocalRef, nPrefix, rLocalName);
return pContext;
} }
SwXMLTextBlockDocumentContext::~SwXMLTextBlockDocumentContext ( void ) SwXMLTextBlockDocumentContext::~SwXMLTextBlockDocumentContext ( void )
{ {
} }
SwXMLTextBlockTextContext::SwXMLTextBlockTextContext( SwXMLTextBlockTextContext::SwXMLTextBlockTextContext(
SwXMLTextBlockImport& rImport, SwXMLTextBlockImport& rImport,
sal_Int32 /*Element*/, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & /*xAttrList */) : const OUString& rLocalName,
SvXMLImportContext ( rImport ), const uno::Reference<
rLocalRef( rImport ) xml::sax::XAttributeList > & ) :
SvXMLImportContext ( rImport, nPrefix, rLocalName ),
rLocalRef(rImport)
{ {
} }
uno::Reference< xml::sax::XFastContextHandler > SAL_CALL SvXMLImportContext *SwXMLTextBlockTextContext::CreateChildContext(
SwXMLTextBlockTextContext::createFastChildContext( sal_Int32 Element, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & xAttrList ) const OUString& rLocalName,
throw (uno::RuntimeException, xml::sax::SAXException, std::exception) const uno::Reference< xml::sax::XAttributeList > & xAttrList )
{ {
if ( Element == SwXMLTextBlockToken::TEXT_P ) SvXMLImportContext *pContext = 0;
return new SwXMLTextBlockParContext( rLocalRef, Element, xAttrList ); if (nPrefix == XML_NAMESPACE_TEXT &&
IsXMLToken ( rLocalName, XML_P ) )
pContext = new SwXMLTextBlockParContext (rLocalRef, nPrefix, rLocalName, xAttrList);
else else
return new SvXMLImportContext( rLocalRef ); pContext = new SvXMLImportContext( rLocalRef, nPrefix, rLocalName);
return pContext;
} }
SwXMLTextBlockTextContext::~SwXMLTextBlockTextContext ( void ) SwXMLTextBlockTextContext::~SwXMLTextBlockTextContext ( void )
...@@ -294,46 +279,50 @@ SwXMLTextBlockTextContext::~SwXMLTextBlockTextContext ( void ) ...@@ -294,46 +279,50 @@ SwXMLTextBlockTextContext::~SwXMLTextBlockTextContext ( void )
} }
SwXMLTextBlockBodyContext::SwXMLTextBlockBodyContext( SwXMLTextBlockBodyContext::SwXMLTextBlockBodyContext(
SwXMLTextBlockImport& rImport, SwXMLTextBlockImport& rImport,
sal_Int32 /*Element*/, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & /*xAttrList*/ ) : const OUString& rLocalName,
SvXMLImportContext( rImport ), const uno::Reference<
xml::sax::XAttributeList > & ) :
SvXMLImportContext ( rImport, nPrefix, rLocalName ),
rLocalRef(rImport) rLocalRef(rImport)
{ {
} }
uno::Reference < xml::sax::XFastContextHandler > SAL_CALL SvXMLImportContext *SwXMLTextBlockBodyContext::CreateChildContext(
SwXMLTextBlockBodyContext::createFastChildContext( sal_Int32 Element, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & xAttrList ) const OUString& rLocalName,
throw (uno::RuntimeException, xml::sax::SAXException, std::exception) const uno::Reference< xml::sax::XAttributeList > & xAttrList )
{ {
if( Element == SwXMLTextBlockToken::OFFICE_TEXT ) SvXMLImportContext *pContext = 0;
return new SwXMLTextBlockTextContext( rLocalRef, Element, xAttrList ); if (nPrefix == XML_NAMESPACE_OFFICE &&
else if( Element == SwXMLTextBlockToken::TEXT_P ) IsXMLToken ( rLocalName, XML_TEXT ) )
return new SwXMLTextBlockParContext( rLocalRef, Element, xAttrList ); pContext = new SwXMLTextBlockTextContext (rLocalRef, nPrefix, rLocalName, xAttrList);
else if (nPrefix == XML_NAMESPACE_TEXT &&
IsXMLToken ( rLocalName, XML_P ) )
pContext = new SwXMLTextBlockParContext (rLocalRef, nPrefix, rLocalName, xAttrList);
else else
return new SvXMLImportContext( rLocalRef ); pContext = new SvXMLImportContext( rLocalRef, nPrefix, rLocalName);
return pContext;
} }
SwXMLTextBlockBodyContext::~SwXMLTextBlockBodyContext ( void ) SwXMLTextBlockBodyContext::~SwXMLTextBlockBodyContext ( void )
{ {
} }
SwXMLTextBlockParContext::SwXMLTextBlockParContext( SwXMLTextBlockParContext::SwXMLTextBlockParContext(
SwXMLTextBlockImport& rImport, SwXMLTextBlockImport& rImport,
sal_Int32 /*Element*/, sal_uInt16 nPrefix,
const uno::Reference< xml::sax::XFastAttributeList > & /*xAttrList*/ ) : const OUString& rLocalName,
SvXMLImportContext( rImport ), const uno::Reference<
rLocalRef( rImport ) xml::sax::XAttributeList > & ) :
SvXMLImportContext ( rImport, nPrefix, rLocalName ),
rLocalRef(rImport)
{ {
} }
void SAL_CALL SwXMLTextBlockParContext::characters( const OUString & aChars ) void SwXMLTextBlockParContext::Characters( const OUString& rChars )
throw (uno::RuntimeException, xml::sax::SAXException, std::exception)
{ {
rLocalRef.m_rText += aChars; rLocalRef.m_rText += rChars;
} }
SwXMLTextBlockParContext::~SwXMLTextBlockParContext ( void ) SwXMLTextBlockParContext::~SwXMLTextBlockParContext ( void )
{ {
if (rLocalRef.bTextOnly) if (rLocalRef.bTextOnly)
...@@ -346,12 +335,20 @@ SwXMLTextBlockParContext::~SwXMLTextBlockParContext ( void ) ...@@ -346,12 +335,20 @@ SwXMLTextBlockParContext::~SwXMLTextBlockParContext ( void )
} }
// SwXMLBlockListImport ////////////////////////////// // SwXMLBlockListImport //////////////////////////////
sal_Char const sXML_np__block_list[] = "_block-list";
sal_Char const sXML_np__office[] = "_ooffice";
sal_Char const sXML_np__text[] = "_otext";
SwXMLBlockListImport::SwXMLBlockListImport( SwXMLBlockListImport::SwXMLBlockListImport(
const uno::Reference< uno::XComponentContext > xContext, const uno::Reference< uno::XComponentContext > xContext,
SwXMLTextBlocks &rBlocks ) SwXMLTextBlocks &rBlocks )
: SvXMLImport( xContext, "", 0 ), : SvXMLImport( xContext, "", 0 ),
rBlockList (rBlocks) rBlockList (rBlocks)
{ {
GetNamespaceMap().Add( OUString ( sXML_np__block_list ),
GetXMLToken ( XML_N_BLOCK_LIST ),
XML_NAMESPACE_BLOCKLIST );
} }
SwXMLBlockListImport::~SwXMLBlockListImport ( void ) SwXMLBlockListImport::~SwXMLBlockListImport ( void )
...@@ -359,13 +356,19 @@ SwXMLBlockListImport::~SwXMLBlockListImport ( void ) ...@@ -359,13 +356,19 @@ SwXMLBlockListImport::~SwXMLBlockListImport ( void )
{ {
} }
SvXMLImportContext* SwXMLBlockListImport::CreateFastContext( sal_Int32 Element, SvXMLImportContext *SwXMLBlockListImport::CreateContext(
const uno::Reference< xml::sax::XFastAttributeList > & xAttrList ) sal_uInt16 nPrefix,
const OUString& rLocalName,
const uno::Reference< xml::sax::XAttributeList > & xAttrList )
{ {
if( Element == SwXMLBlockListToken::BLOCK_LIST ) SvXMLImportContext *pContext = 0;
return new SwXMLBlockListContext( *this, Element, xAttrList ); if ( XML_NAMESPACE_BLOCKLIST == nPrefix &&
IsXMLToken ( rLocalName, XML_BLOCK_LIST ) )
pContext = new SwXMLBlockListContext( *this, nPrefix, rLocalName,
xAttrList );
else else
return SvXMLImport::CreateFastContext( Element, xAttrList ); pContext = SvXMLImport::CreateContext( nPrefix, rLocalName, xAttrList );
return pContext;
} }
SwXMLTextBlockImport::SwXMLTextBlockImport( SwXMLTextBlockImport::SwXMLTextBlockImport(
...@@ -378,6 +381,12 @@ SwXMLTextBlockImport::SwXMLTextBlockImport( ...@@ -378,6 +381,12 @@ SwXMLTextBlockImport::SwXMLTextBlockImport(
bTextOnly ( bNewTextOnly ), bTextOnly ( bNewTextOnly ),
m_rText ( rNewText ) m_rText ( rNewText )
{ {
GetNamespaceMap().Add( OUString( sXML_np__office ),
GetXMLToken(XML_N_OFFICE_OOO),
XML_NAMESPACE_OFFICE );
GetNamespaceMap().Add( OUString( sXML_np__text ),
GetXMLToken(XML_N_TEXT_OOO),
XML_NAMESPACE_TEXT );
} }
SwXMLTextBlockImport::~SwXMLTextBlockImport ( void ) SwXMLTextBlockImport::~SwXMLTextBlockImport ( void )
...@@ -385,16 +394,19 @@ SwXMLTextBlockImport::~SwXMLTextBlockImport ( void ) ...@@ -385,16 +394,19 @@ SwXMLTextBlockImport::~SwXMLTextBlockImport ( void )
{ {
} }
SvXMLImportContext* SwXMLTextBlockImport::CreateFastContext( sal_Int32 Element, SvXMLImportContext *SwXMLTextBlockImport::CreateContext(
const uno::Reference< xml::sax::XFastAttributeList > & xAttrList ) sal_uInt16 nPrefix,
const OUString& rLocalName,
const uno::Reference< xml::sax::XAttributeList > & xAttrList )
{ {
if( Element == SwXMLTextBlockToken::OFFICE_DOCUMENT || SvXMLImportContext *pContext = 0;
Element == SwXMLTextBlockToken::OFFICE_DOCUMENT_CONTENT ) if( XML_NAMESPACE_OFFICE == nPrefix &&
return new SwXMLTextBlockDocumentContext( *this, Element, xAttrList ); IsXMLToken ( rLocalName, bTextOnly ? XML_DOCUMENT : XML_DOCUMENT_CONTENT ) )
pContext = new SwXMLTextBlockDocumentContext( *this, nPrefix, rLocalName, xAttrList );
else else
return SvXMLImport::CreateFastContext( Element, xAttrList ); pContext = SvXMLImport::CreateContext( nPrefix, rLocalName, xAttrList );
return pContext;
} }
void SAL_CALL SwXMLTextBlockImport::endDocument(void) void SAL_CALL SwXMLTextBlockImport::endDocument(void)
throw( xml::sax::SAXException, uno::RuntimeException, std::exception ) throw( xml::sax::SAXException, uno::RuntimeException, std::exception )
{ {
......
...@@ -27,8 +27,6 @@ ...@@ -27,8 +27,6 @@
#include <com/sun/star/xml/sax/InputSource.hpp> #include <com/sun/star/xml/sax/InputSource.hpp>
#include <com/sun/star/io/XActiveDataSource.hpp> #include <com/sun/star/io/XActiveDataSource.hpp>
#include <com/sun/star/xml/sax/Parser.hpp> #include <com/sun/star/xml/sax/Parser.hpp>
#include <com/sun/star/xml/sax/FastParser.hpp>
#include <com/sun/star/xml/sax/FastToken.hpp>
#include <com/sun/star/xml/sax/Writer.hpp> #include <com/sun/star/xml/sax/Writer.hpp>
#include <com/sun/star/document/XStorageBasedDocument.hpp> #include <com/sun/star/document/XStorageBasedDocument.hpp>
#include <doc.hxx> #include <doc.hxx>
...@@ -37,7 +35,6 @@ ...@@ -37,7 +35,6 @@
#include <SwXMLTextBlocks.hxx> #include <SwXMLTextBlocks.hxx>
#include <SwXMLBlockImport.hxx> #include <SwXMLBlockImport.hxx>
#include <SwXMLBlockExport.hxx> #include <SwXMLBlockExport.hxx>
#include <xmloff/xmlnmspe.hxx>
#include <swevent.hxx> #include <swevent.hxx>
#include <swerror.h> #include <swerror.h>
...@@ -46,8 +43,6 @@ const char XMLN_BLOCKLIST[] = "BlockList.xml"; ...@@ -46,8 +43,6 @@ const char XMLN_BLOCKLIST[] = "BlockList.xml";
using namespace ::com::sun::star; using namespace ::com::sun::star;
using namespace ::com::sun::star::uno; using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::container; using namespace ::com::sun::star::container;
using namespace css::xml::sax;
using namespace xmloff::token;
using ::xmloff::token::XML_BLOCK_LIST; using ::xmloff::token::XML_BLOCK_LIST;
using ::xmloff::token::XML_UNFORMATTED_TEXT; using ::xmloff::token::XML_UNFORMATTED_TEXT;
...@@ -106,45 +101,11 @@ sal_uLong SwXMLTextBlocks::GetDoc( sal_uInt16 nIdx ) ...@@ -106,45 +101,11 @@ sal_uLong SwXMLTextBlocks::GetDoc( sal_uInt16 nIdx )
aParserInput.aInputStream = xStream->getInputStream(); aParserInput.aInputStream = xStream->getInputStream();
// get filter // get filter
// uno::Reference< xml::sax::XDocumentHandler > xFilter = new SwXMLTextBlockImport( *this, aCur, sal_True ); uno::Reference< xml::sax::XDocumentHandler > xFilter = new SwXMLTextBlockImport( xContext, *this, aCur, true );
uno::Reference< xml::sax::XFastDocumentHandler > xFilter = new SwXMLTextBlockImport( xContext, *this, aCur, true );
uno::Reference< xml::sax::XFastTokenHandler > xTokenHandler = new SwXMLTextBlockTokenHandler();
// connect parser and filter // connect parser and filter
uno::Reference< xml::sax::XFastParser > xParser = xml::sax::FastParser::create(xContext); uno::Reference< xml::sax::XParser > xParser = xml::sax::Parser::create(xContext);
xParser->setFastDocumentHandler( xFilter ); xParser->setDocumentHandler( xFilter );
xParser->setTokenHandler( xTokenHandler );
// all namespaces are mentioned in content.xml but only a few of them are handled
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:office:1.0", FastToken::NAMESPACE | XML_NAMESPACE_OFFICE );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:style:1.0", FastToken::NAMESPACE | XML_NAMESPACE_STYLE );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:text:1.0", FastToken::NAMESPACE | XML_NAMESPACE_TEXT );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:table:1.0", FastToken::NAMESPACE | XML_NAMESPACE_TABLE );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0", FastToken::NAMESPACE | XML_NAMESPACE_DRAW );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0", FastToken::NAMESPACE | XML_NAMESPACE_FO );
xParser->registerNamespace( "http://www.w3.org/1999/xlink", FastToken::NAMESPACE | XML_NAMESPACE_XLINK );
xParser->registerNamespace( "http://purl.org/dc/elements/1.1/", FastToken::NAMESPACE | XML_NAMESPACE_DC );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:meta:1.0", FastToken::NAMESPACE | XML_NAMESPACE_META );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0", FastToken::NAMESPACE | XML_NAMESPACE_NUMBER );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0", FastToken::NAMESPACE | XML_NAMESPACE_SVG );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:chart:1.0", FastToken::NAMESPACE | XML_NAMESPACE_CHART );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0", FastToken::NAMESPACE | XML_NAMESPACE_DR3D );
xParser->registerNamespace( "http://www.w3.org/1998/Math/MathML", FastToken::NAMESPACE | XML_NAMESPACE_MATH );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:form:1.0", FastToken::NAMESPACE | XML_NAMESPACE_FORM );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:script:1.0", FastToken::NAMESPACE | XML_NAMESPACE_SCRIPT );
xParser->registerNamespace( "http://openoffice.org/2004/office", FastToken::NAMESPACE | XML_NAMESPACE_OOO );
xParser->registerNamespace( "http://openoffice.org/2004/writer", FastToken::NAMESPACE | XML_NAMESPACE_OOOW );
xParser->registerNamespace( "http://openoffice.org/2004/calc", FastToken::NAMESPACE | XML_NAMESPACE_OOOC );
xParser->registerNamespace( "http://www.w3.org/2001/xml-events", FastToken::NAMESPACE | XML_NAMESPACE_DOM );
xParser->registerNamespace( "http://openoffice.org/2005/report", FastToken::NAMESPACE | XML_NAMESPACE_REPORT );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:of:1.2", FastToken::NAMESPACE | XML_NAMESPACE_OF );
xParser->registerNamespace( "http://www.w3.org/1999/xhtml", FastToken::NAMESPACE | XML_NAMESPACE_XHTML );
xParser->registerNamespace( "http://www.w3.org/2003/g/data-view#", FastToken::NAMESPACE | XML_NAMESPACE_GRDDL );
xParser->registerNamespace( "http://openoffice.org/2009/office", FastToken::NAMESPACE | XML_NAMESPACE_OFFICE_EXT );
xParser->registerNamespace( "http://openoffice.org/2009/table", FastToken::NAMESPACE | XML_NAMESPACE_TABLE_EXT );
xParser->registerNamespace( "http://openoffice.org/2009/draw", FastToken::NAMESPACE | XML_NAMESPACE_DRAW_EXT );
xParser->registerNamespace( "urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0", FastToken::NAMESPACE | XML_NAMESPACE_CALC_EXT );
xParser->registerNamespace( "urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0", FastToken::NAMESPACE | XML_NAMESPACE_LO_EXT );
// parse // parse
try try
...@@ -330,44 +291,11 @@ sal_uLong SwXMLTextBlocks::GetBlockText( const OUString& rShort, OUString& rText ...@@ -330,44 +291,11 @@ sal_uLong SwXMLTextBlocks::GetBlockText( const OUString& rShort, OUString& rText
// get filter // get filter
// #110680# // #110680#
// uno::Reference< xml::sax::XDocumentHandler > xFilter = new SwXMLTextBlockImport( *this, rText, bTextOnly ); // uno::Reference< xml::sax::XDocumentHandler > xFilter = new SwXMLTextBlockImport( *this, rText, bTextOnly );
uno::Reference< xml::sax::XFastDocumentHandler > xFilter = new SwXMLTextBlockImport( xContext, *this, rText, bTextOnly ); uno::Reference< xml::sax::XDocumentHandler > xFilter = new SwXMLTextBlockImport( xContext, *this, rText, bTextOnly );
uno::Reference< xml::sax::XFastTokenHandler > xTokenHandler = new SwXMLTextBlockTokenHandler();
// connect parser and filter // connect parser and filter
uno::Reference< xml::sax::XFastParser > xParser = xml::sax::FastParser::create(xContext); uno::Reference< xml::sax::XParser > xParser = xml::sax::Parser::create(xContext);
xParser->setFastDocumentHandler( xFilter ); xParser->setDocumentHandler( xFilter );
xParser->setTokenHandler( xTokenHandler );
// all namespaces are mentioned in content.xml but only a few of them are handled
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:office:1.0", FastToken::NAMESPACE | XML_NAMESPACE_OFFICE );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:style:1.0", FastToken::NAMESPACE | XML_NAMESPACE_STYLE );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:text:1.0", FastToken::NAMESPACE | XML_NAMESPACE_TEXT );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:table:1.0", FastToken::NAMESPACE | XML_NAMESPACE_TABLE );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0", FastToken::NAMESPACE | XML_NAMESPACE_DRAW );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0", FastToken::NAMESPACE | XML_NAMESPACE_FO );
xParser->registerNamespace( "http://www.w3.org/1999/xlink", FastToken::NAMESPACE | XML_NAMESPACE_XLINK );
xParser->registerNamespace( "http://purl.org/dc/elements/1.1/", FastToken::NAMESPACE | XML_NAMESPACE_DC );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:meta:1.0", FastToken::NAMESPACE | XML_NAMESPACE_META );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0", FastToken::NAMESPACE | XML_NAMESPACE_NUMBER );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0", FastToken::NAMESPACE | XML_NAMESPACE_SVG );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:chart:1.0", FastToken::NAMESPACE | XML_NAMESPACE_CHART );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0", FastToken::NAMESPACE | XML_NAMESPACE_DR3D );
xParser->registerNamespace( "http://www.w3.org/1998/Math/MathML", FastToken::NAMESPACE | XML_NAMESPACE_MATH );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:form:1.0", FastToken::NAMESPACE | XML_NAMESPACE_FORM );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:script:1.0", FastToken::NAMESPACE | XML_NAMESPACE_SCRIPT );
xParser->registerNamespace( "http://openoffice.org/2004/office", FastToken::NAMESPACE | XML_NAMESPACE_OOO );
xParser->registerNamespace( "http://openoffice.org/2004/writer", FastToken::NAMESPACE | XML_NAMESPACE_OOOW );
xParser->registerNamespace( "http://openoffice.org/2004/calc", FastToken::NAMESPACE | XML_NAMESPACE_OOOC );
xParser->registerNamespace( "http://www.w3.org/2001/xml-events", FastToken::NAMESPACE | XML_NAMESPACE_DOM );
xParser->registerNamespace( "http://openoffice.org/2005/report", FastToken::NAMESPACE | XML_NAMESPACE_REPORT );
xParser->registerNamespace( "urn:oasis:names:tc:opendocument:xmlns:of:1.2", FastToken::NAMESPACE | XML_NAMESPACE_OF );
xParser->registerNamespace( "http://www.w3.org/1999/xhtml", FastToken::NAMESPACE | XML_NAMESPACE_XHTML );
xParser->registerNamespace( "http://www.w3.org/2003/g/data-view#", FastToken::NAMESPACE | XML_NAMESPACE_GRDDL );
xParser->registerNamespace( "http://openoffice.org/2009/office", FastToken::NAMESPACE | XML_NAMESPACE_OFFICE_EXT );
xParser->registerNamespace( "http://openoffice.org/2009/table", FastToken::NAMESPACE | XML_NAMESPACE_TABLE_EXT );
xParser->registerNamespace( "http://openoffice.org/2009/draw", FastToken::NAMESPACE | XML_NAMESPACE_DRAW_EXT );
xParser->registerNamespace( "urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0", FastToken::NAMESPACE | XML_NAMESPACE_CALC_EXT );
xParser->registerNamespace( "urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0", FastToken::NAMESPACE | XML_NAMESPACE_LO_EXT );
xParser->registerNamespace( "http://www.w3.org/TR/css3-text/", FastToken::NAMESPACE | XML_NAMESPACE_CSS3TEXT );
// parse // parse
try try
...@@ -490,14 +418,11 @@ void SwXMLTextBlocks::ReadInfo( void ) ...@@ -490,14 +418,11 @@ void SwXMLTextBlocks::ReadInfo( void )
aParserInput.aInputStream = xDocStream->getInputStream(); aParserInput.aInputStream = xDocStream->getInputStream();
// get filter // get filter
uno::Reference< xml::sax::XFastDocumentHandler > xFilter = new SwXMLBlockListImport( xContext, *this ); uno::Reference< xml::sax::XDocumentHandler > xFilter = new SwXMLBlockListImport( xContext, *this );
uno::Reference< xml::sax::XFastTokenHandler > xTokenHandler = new SwXMLBlockListTokenHandler();
// connect parser and filter // connect parser and filter
uno::Reference< xml::sax::XFastParser > xParser = xml::sax::FastParser::create(xContext); uno::Reference< xml::sax::XParser > xParser = xml::sax::Parser::create( xContext );
xParser->setFastDocumentHandler( xFilter ); xParser->setDocumentHandler( xFilter );
xParser->registerNamespace( "http://openoffice.org/2001/block-list", FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST );
xParser->setTokenHandler( xTokenHandler );
// parse // parse
try try
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment