[ooo-build-commit] patches/dev300
Thorsten Behrens
thorsten at kemper.freedesktop.org
Wed Sep 9 13:07:21 PDT 2009
patches/dev300/apply | 12
patches/dev300/sd-ooo320-backports.diff | 10
patches/dev300/svtools-transferable-fix.diff | 524 ------
patches/dev300/svx-ooo320-backports.diff | 36
patches/dev300/unoxml-fast-sax-serializable.diff | 1722 -----------------------
5 files changed, 2304 deletions(-)
New commits:
commit 7ba6315ca64fed1ca6d8339b28b03ecf770e0b30
Author: Thorsten Behrens <thb at openoffice.org>
Date: Thu Sep 10 15:30:14 2009 +0200
Removed patches that are ~upstream
* patches/dev300/apply: removed below patches
* patches/dev300/sd-ooo320-backports.diff: removed
* patches/dev300/svtools-transferable-fix.diff: removed
* patches/dev300/svx-ooo320-backports.diff: not seen upstream, but
armin is landing a big text rework cws into 3.2
* patches/dev300/unoxml-fast-sax-serializable.diff: removed
diff --git a/patches/dev300/apply b/patches/dev300/apply
index 51c0890..cc39d5c 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2951,14 +2951,6 @@ base64.diff, i#100620, hmth
# gtk quickstarter crashes on disable/exit
sfx2-qstart-nocrashhack.diff, i#101245, pmladek
-# backports from DEV300
-# Disabled because it caused bug n#497708
-#svtools-transferable-fix.diff, thorsten
-
-# Disabled because it caused bug n#497708
-#sd-ooo320-backports.diff, thorsten
-svx-ooo320-backports.diff, thorsten
-
# Fix from Andre, allows to step back one animation effect
slideshow-effect-rewind.diff, i#48179, thorsten
# correctly set table row height during ppt import
@@ -3086,10 +3078,6 @@ odf-converter-ignore-writerfilter.diff, n#348471, n#502173, jholesov
# FIXME: 2009-08-17: These don't apply either. Can't find file to patch etc. --tml
# xlsx-export-skip-auto-format.diff, n#497560, janneke
-# the smart art import work
-# FIXME: 2009-09-07: Seems to be upstream in dev300-m57? --tml
-# unoxml-fast-sax-serializable.diff, thorsten
-
# FIXME: similar fix already in dev300_m50
# partial support for two template types
# it is needed to process the new XFastSAXSerializable.idl
diff --git a/patches/dev300/sd-ooo320-backports.diff b/patches/dev300/sd-ooo320-backports.diff
deleted file mode 100644
index bd84bcc..0000000
--- a/patches/dev300/sd-ooo320-backports.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- sd/source/ui/app/sdxfer.cxx 2009-04-02 12:45:51.000000000 +0200
-+++ sd/source/ui/app/sdxfer.cxx 2009-03-25 18:09:05.000000000 +0100
-@@ -729,6 +729,7 @@
- {
- delete mpObjDesc;
- mpObjDesc = new TransferableObjectDescriptor( rObjDesc );
-+ PrepareOLE( rObjDesc );
- }
-
- // -----------------------------------------------------------------------------
diff --git a/patches/dev300/svtools-transferable-fix.diff b/patches/dev300/svtools-transferable-fix.diff
deleted file mode 100644
index d7ed067..0000000
--- a/patches/dev300/svtools-transferable-fix.diff
+++ /dev/null
@@ -1,524 +0,0 @@
---- svtools/inc/svtools/transfer.hxx 2009-04-02 13:06:22.000000000 +0200
-+++ svtools/inc/svtools/transfer.hxx 2009-03-25 18:35:22.000000000 +0100
-@@ -204,8 +204,8 @@
- mutable ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard > mxClipboard;
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XTerminateListener > mxTerminateListener;
- DataFlavorExVector* mpFormats;
-+ TransferableObjectDescriptor* mpObjDesc;
- void* mpDummy1;
-- void* mpDummy2;
-
- protected:
- inline const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard >&
-@@ -288,6 +288,8 @@
-
- TransferableHelper();
-
-+ void PrepareOLE( const TransferableObjectDescriptor& rObjDesc );
-+
- void CopyToClipboard( Window *pWindow ) const;
- void CopyToSelection( Window *pWindow ) const;
- void StartDrag( Window* pWindow, sal_Int8 nDragSourceActions,
-@@ -319,7 +321,7 @@
- ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable > mxTransfer;
- ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard > mxClipboard;
- DataFlavorExVector* mpFormats;
-- void* mpDummy2;
-+ TransferableObjectDescriptor* mpObjDesc;
- TransferableDataHelper_Impl* mpImpl;
- void* mpDummy4;
-
-@@ -581,7 +583,7 @@
- void CopyAnyData( ULONG nFormatId, const sal_Char* pData, ULONG nLen );
-
- sal_Bool HasAnyData() const;
--
-+
- using TransferableHelper::StartDrag;
- void StartDrag( Window* pWindow, sal_Int8 nDragSourceActions,
- const Link& rCallbck,
---- svtools/source/misc/embedtransfer.cxx 2009-04-02 13:06:13.000000000 +0200
-+++ svtools/source/misc/embedtransfer.cxx 2009-03-25 18:35:08.000000000 +0100
-@@ -58,6 +58,13 @@
- , m_pGraphic( pGraphic ? new Graphic( *pGraphic ) : NULL )
- , m_nAspect( nAspect )
- {
-+ if( xObj.is() )
-+ {
-+ TransferableObjectDescriptor aObjDesc;
-+
-+ FillTransferableObjectDescriptor( aObjDesc, m_xObj, NULL, m_nAspect );
-+ PrepareOLE( aObjDesc );
-+ }
- }
-
- // -----------------------------------------------------------------------------
---- svtools/source/misc/transfer.cxx 2009-04-02 13:06:13.000000000 +0200
-+++ svtools/source/misc/transfer.cxx 2009-03-25 18:35:08.000000000 +0100
-@@ -81,6 +81,7 @@
- #include <svtools/wmf.hxx>
- #include <svtools/imap.hxx>
- #include <svtools/transfer.hxx>
-+#include <cstdio>
-
- // --------------
- // - Namespaces -
-@@ -104,7 +105,7 @@
- SvStream& operator>>( SvStream& rIStm, TransferableObjectDescriptor& rObjDesc )
- {
- sal_uInt32 nSize, nViewAspect, nSig1, nSig2;
--
-+
- rIStm >> nSize;
- rIStm >> rObjDesc.maClassName;
- rIStm >> nViewAspect;
-@@ -115,9 +116,9 @@
- rIStm.ReadByteString( rObjDesc.maTypeName, gsl_getSystemTextEncoding() );
- rIStm.ReadByteString( rObjDesc.maDisplayName, gsl_getSystemTextEncoding() );
- rIStm >> nSig1 >> nSig2;
--
-+
- rObjDesc.mnViewAspect = static_cast< sal_uInt16 >( nViewAspect );
--
-+
- // don't use width/height info from external objects
- if( ( TOD_SIG1 != nSig1 ) || ( TOD_SIG2 != nSig2 ) )
- {
-@@ -134,7 +135,7 @@
- {
- const sal_uInt32 nFirstPos = rOStm.Tell(), nViewAspect = rObjDesc.mnViewAspect;
- const sal_uInt32 nSig1 = TOD_SIG1, nSig2 = TOD_SIG2;
--
-+
- rOStm.SeekRel( 4 );
- rOStm << rObjDesc.maClassName;
- rOStm << nViewAspect;
-@@ -155,6 +156,136 @@
- return rOStm;
- }
-
-+// -----------------------------------------------------------------------------
-+
-+static ::rtl::OUString ImplGetParameterString( const TransferableObjectDescriptor& rObjDesc )
-+{
-+ const ::rtl::OUString aChar( ::rtl::OUString::createFromAscii( "\"" ) );
-+ const ::rtl::OUString aClassName( rObjDesc.maClassName.GetHexName() );
-+ ::rtl::OUString aParams;
-+
-+ if( aClassName.getLength() )
-+ {
-+ aParams += ::rtl::OUString::createFromAscii( ";classname=\"" );
-+ aParams += aClassName;
-+ aParams += aChar;
-+ }
-+
-+ if( rObjDesc.maTypeName.Len() )
-+ {
-+ aParams += ::rtl::OUString::createFromAscii( ";typename=\"" );
-+ aParams += rObjDesc.maTypeName;
-+ aParams += aChar;
-+ }
-+
-+ if( rObjDesc.maDisplayName.Len() )
-+ {
-+ aParams += ::rtl::OUString::createFromAscii( ";displayname=\"" );
-+ aParams += rObjDesc.maDisplayName;
-+ aParams += aChar;
-+ }
-+
-+ aParams += ::rtl::OUString::createFromAscii( ";viewaspect=\"" );
-+ aParams += ::rtl::OUString::valueOf( static_cast< sal_Int32 >( rObjDesc.mnViewAspect ) );
-+ aParams += aChar;
-+
-+ aParams += ::rtl::OUString::createFromAscii( ";width=\"" );
-+ aParams += ::rtl::OUString::valueOf( rObjDesc.maSize.Width() );
-+ aParams += aChar;
-+
-+ aParams += ::rtl::OUString::createFromAscii( ";height=\"" );
-+ aParams += ::rtl::OUString::valueOf( rObjDesc.maSize.Height() );
-+ aParams += aChar;
-+
-+ aParams += ::rtl::OUString::createFromAscii( ";posx=\"" );
-+ aParams += ::rtl::OUString::valueOf( rObjDesc.maDragStartPos.X() );
-+ aParams += aChar;
-+
-+ aParams += ::rtl::OUString::createFromAscii( ";posy=\"" );
-+ aParams += ::rtl::OUString::valueOf( rObjDesc.maDragStartPos.X() );
-+ aParams += aChar;
-+
-+ return aParams;
-+}
-+
-+// -----------------------------------------------------------------------------
-+
-+static void ImplSetParameterString( TransferableObjectDescriptor& rObjDesc, const DataFlavorEx& rFlavorEx )
-+{
-+ Reference< XMultiServiceFactory > xFact( ::comphelper::getProcessServiceFactory() );
-+ Reference< XMimeContentTypeFactory > xMimeFact;
-+
-+ try
-+ {
-+ if( xFact.is() )
-+ {
-+ xMimeFact = Reference< XMimeContentTypeFactory >( xFact->createInstance( ::rtl::OUString::createFromAscii(
-+ "com.sun.star.datatransfer.MimeContentTypeFactory" ) ),
-+ UNO_QUERY );
-+ }
-+
-+ if( xMimeFact.is() )
-+ {
-+ Reference< XMimeContentType > xMimeType( xMimeFact->createMimeContentType( rFlavorEx.MimeType ) );
-+
-+ if( xMimeType.is() )
-+ {
-+ const ::rtl::OUString aClassNameString( ::rtl::OUString::createFromAscii( "classname" ) );
-+ const ::rtl::OUString aTypeNameString( ::rtl::OUString::createFromAscii( "typename" ) );
-+ const ::rtl::OUString aDisplayNameString( ::rtl::OUString::createFromAscii( "displayname" ) );
-+ const ::rtl::OUString aViewAspectString( ::rtl::OUString::createFromAscii( "viewaspect" ) );
-+ const ::rtl::OUString aWidthString( ::rtl::OUString::createFromAscii( "width" ) );
-+ const ::rtl::OUString aHeightString( ::rtl::OUString::createFromAscii( "height" ) );
-+ const ::rtl::OUString aPosXString( ::rtl::OUString::createFromAscii( "posx" ) );
-+ const ::rtl::OUString aPosYString( ::rtl::OUString::createFromAscii( "posy" ) );
-+
-+ if( xMimeType->hasParameter( aClassNameString ) )
-+ {
-+ rObjDesc.maClassName.MakeId( xMimeType->getParameterValue( aClassNameString ) );
-+ }
-+
-+ if( xMimeType->hasParameter( aTypeNameString ) )
-+ {
-+ rObjDesc.maTypeName = xMimeType->getParameterValue( aTypeNameString );
-+ }
-+
-+ if( xMimeType->hasParameter( aDisplayNameString ) )
-+ {
-+ rObjDesc.maDisplayName = xMimeType->getParameterValue( aDisplayNameString );
-+ }
-+
-+ if( xMimeType->hasParameter( aViewAspectString ) )
-+ {
-+ rObjDesc.mnViewAspect = static_cast< sal_uInt16 >( xMimeType->getParameterValue( aViewAspectString ).toInt32() );
-+ }
-+
-+ if( xMimeType->hasParameter( aWidthString ) )
-+ {
-+ rObjDesc.maSize.Width() = xMimeType->getParameterValue( aWidthString ).toInt32();
-+ }
-+
-+ if( xMimeType->hasParameter( aHeightString ) )
-+ {
-+ rObjDesc.maSize.Height() = xMimeType->getParameterValue( aHeightString ).toInt32();
-+ }
-+
-+ if( xMimeType->hasParameter( aPosXString ) )
-+ {
-+ rObjDesc.maDragStartPos.X() = xMimeType->getParameterValue( aPosXString ).toInt32();
-+ }
-+
-+ if( xMimeType->hasParameter( aPosYString ) )
-+ {
-+ rObjDesc.maDragStartPos.Y() = xMimeType->getParameterValue( aPosYString ).toInt32();
-+ }
-+ }
-+ }
-+ }
-+ catch( const ::com::sun::star::uno::Exception& )
-+ {
-+ }
-+}
-+
- // -----------------------------------------
- // - TransferableHelper::TerminateListener -
- // -----------------------------------------
-@@ -194,7 +325,8 @@
- // ----------------------
-
- TransferableHelper::TransferableHelper() :
-- mpFormats( new DataFlavorExVector )
-+ mpFormats( new DataFlavorExVector ),
-+ mpObjDesc( NULL )
- {
- }
-
-@@ -202,6 +334,7 @@
-
- TransferableHelper::~TransferableHelper()
- {
-+ delete mpObjDesc;
- delete mpFormats;
- }
-
-@@ -307,7 +440,12 @@
- // if any is not yet filled, use standard format
- if( !maAny.hasValue() )
- GetData( rFlavor );
-- }
-+
-+#ifdef DEBUG
-+ if( maAny.hasValue() && ::com::sun::star::uno::TypeClass_STRING != maAny.getValueType().getTypeClass() )
-+ fprintf( stderr, "TransferableHelper delivers sequence of data [ %s ]\n", ByteString( String( rFlavor.MimeType), RTL_TEXTENCODING_ASCII_US ).GetBuffer() );
-+#endif
-+ }
- catch( const ::com::sun::star::uno::Exception& )
- {
- }
-@@ -325,9 +463,6 @@
- {
- const ::vos::OGuard aGuard( Application::GetSolarMutex() );
-
--
--
--
- try
- {
- if( !mpFormats->size() )
-@@ -342,7 +477,9 @@
- sal_uInt32 nCurPos = 0;
-
- while( aIter != aEnd )
-+ {
- aRet[ nCurPos++ ] = *aIter++;
-+ }
-
- return aRet;
- }
-@@ -513,11 +650,24 @@
- sal_Bool bAdd = sal_True;
-
- while( aIter != aEnd )
--
- {
--
- if( TransferableDataHelper::IsEqual( *aIter, rFlavor ) )
- {
-+ // update MimeType for SOT_FORMATSTR_ID_OBJECTDESCRIPTOR in every case
-+ if( ( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR == aIter->mnSotId ) && mpObjDesc )
-+ {
-+ DataFlavor aObjDescFlavor;
-+
-+ SotExchange::GetFormatDataFlavor( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR, aObjDescFlavor );
-+ aIter->MimeType = aObjDescFlavor.MimeType;
-+ aIter->MimeType += ::ImplGetParameterString( *mpObjDesc );
-+
-+#ifdef DEBUG
-+ fprintf( stderr, "TransferableHelper exchanged objectdescriptor [ %s ]\n",
-+ ByteString( String( aIter->MimeType), RTL_TEXTENCODING_ASCII_US ).GetBuffer() );
-+#endif
-+ }
-+
- aIter = aEnd;
- bAdd = sal_False;
- }
-@@ -527,13 +677,17 @@
-
- if( bAdd )
- {
-- DataFlavorEx aFlavorEx;
-+ DataFlavorEx aFlavorEx;
-+ DataFlavor aObjDescFlavor;
-
- aFlavorEx.MimeType = rFlavor.MimeType;
- aFlavorEx.HumanPresentableName = rFlavor.HumanPresentableName;
- aFlavorEx.DataType = rFlavor.DataType;
- aFlavorEx.mnSotId = SotExchange::RegisterFormat( rFlavor );
-
-+ if( ( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR == aFlavorEx.mnSotId ) && mpObjDesc )
-+ aFlavorEx.MimeType += ::ImplGetParameterString( *mpObjDesc );
-+
- mpFormats->push_back( aFlavorEx );
-
- if( FORMAT_BITMAP == aFlavorEx.mnSotId )
-@@ -702,6 +856,8 @@
- sal_Bool TransferableHelper::SetTransferableObjectDescriptor( const TransferableObjectDescriptor& rDesc,
- const ::com::sun::star::datatransfer::DataFlavor& )
- {
-+ PrepareOLE( rDesc );
-+
- SvMemoryStream aMemStm( 1024, 1024 );
-
- aMemStm << rDesc;
-@@ -823,7 +979,8 @@
- aMemStm.SetVersion( SOFFICE_FILEFORMAT_50 );
- aMemStm << rFileList;
-
-- maAny <<= Sequence< sal_Int8 >( static_cast< const sal_Int8* >( aMemStm.GetData() ), aMemStm.Seek( STREAM_SEEK_TO_END ) );
-+ maAny <<= Sequence< sal_Int8 >( static_cast< const sal_Int8* >( aMemStm.GetData() ),
-+ aMemStm.Seek( STREAM_SEEK_TO_END ) );
-
- return( maAny.hasValue() );
- }
-@@ -890,6 +1047,17 @@
-
- // -----------------------------------------------------------------------------
-
-+void TransferableHelper::PrepareOLE( const TransferableObjectDescriptor& rObjDesc )
-+{
-+ delete mpObjDesc;
-+ mpObjDesc = new TransferableObjectDescriptor( rObjDesc );
-+
-+ if( HasFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR ) )
-+ AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR );
-+}
-+
-+// -----------------------------------------------------------------------------
-+
- void TransferableHelper::CopyToClipboard( Window *pWindow ) const
- {
- DBG_ASSERT( pWindow, "Window pointer is NULL" );
-@@ -1161,29 +1329,32 @@
- // - TransferableDataHelper -
- // --------------------------
-
--TransferableDataHelper::TransferableDataHelper()
-- :mpFormats( new DataFlavorExVector )
-- ,mpImpl( new TransferableDataHelper_Impl )
-+TransferableDataHelper::TransferableDataHelper() :
-+ mpFormats( new DataFlavorExVector ),
-+ mpObjDesc( new TransferableObjectDescriptor ),
-+ mpImpl( new TransferableDataHelper_Impl )
- {
- }
-
- // -----------------------------------------------------------------------------
-
--TransferableDataHelper::TransferableDataHelper( const Reference< ::com::sun::star::datatransfer::XTransferable >& rxTransferable )
-- :mxTransfer( rxTransferable )
-- ,mpFormats( new DataFlavorExVector )
-- ,mpImpl( new TransferableDataHelper_Impl )
-+TransferableDataHelper::TransferableDataHelper( const Reference< ::com::sun::star::datatransfer::XTransferable >& rxTransferable ) :
-+ mxTransfer( rxTransferable ),
-+ mpFormats( new DataFlavorExVector ),
-+ mpObjDesc( new TransferableObjectDescriptor ),
-+ mpImpl( new TransferableDataHelper_Impl )
- {
- InitFormats();
- }
-
- // -----------------------------------------------------------------------------
-
--TransferableDataHelper::TransferableDataHelper( const TransferableDataHelper& rDataHelper )
-- :mxTransfer( rDataHelper.mxTransfer )
-- ,mxClipboard( rDataHelper.mxClipboard )
-- ,mpFormats( new DataFlavorExVector( *rDataHelper.mpFormats ) )
-- ,mpImpl( new TransferableDataHelper_Impl )
-+TransferableDataHelper::TransferableDataHelper( const TransferableDataHelper& rDataHelper ) :
-+ mxTransfer( rDataHelper.mxTransfer ),
-+ mxClipboard( rDataHelper.mxClipboard ),
-+ mpFormats( new DataFlavorExVector( *rDataHelper.mpFormats ) ),
-+ mpObjDesc( new TransferableObjectDescriptor( *rDataHelper.mpObjDesc ) ),
-+ mpImpl( new TransferableDataHelper_Impl )
- {
- }
-
-@@ -1196,12 +1367,13 @@
- ::osl::MutexGuard aGuard( mpImpl->maMutex );
-
- bool bWasClipboardListening = ( NULL != mpImpl->mpClipboardListener );
-+
- if ( bWasClipboardListening )
- StopClipboardListening();
-
- mxTransfer = rDataHelper.mxTransfer;
- delete mpFormats, mpFormats = new DataFlavorExVector( *rDataHelper.mpFormats );
--
-+ delete mpObjDesc, mpObjDesc = new TransferableObjectDescriptor( *rDataHelper.mpObjDesc );
- mxClipboard = rDataHelper.mxClipboard;
-
- if ( bWasClipboardListening )
-@@ -1219,6 +1391,7 @@
- {
- ::osl::MutexGuard aGuard( mpImpl->maMutex );
- delete mpFormats, mpFormats = NULL;
-+ delete mpObjDesc, mpObjDesc = NULL;
- }
- delete mpImpl;
- }
-@@ -1313,6 +1486,10 @@
- {
- rDataFlavorExVector[ rDataFlavorExVector.size() - 1 ].mnSotId = SOT_FORMAT_FILE_LIST;
- }
-+ else if( xMimeType.is() && xMimeType->getFullMediaType().equalsIgnoreAsciiCase( ::rtl::OUString::createFromAscii( "application/x-openoffice-objectdescriptor-xml" ) ) )
-+ {
-+ rDataFlavorExVector[ rDataFlavorExVector.size() - 1 ].mnSotId = SOT_FORMATSTR_ID_OBJECTDESCRIPTOR;
-+ }
- }
- }
- catch( const ::com::sun::star::uno::Exception& )
-@@ -1328,8 +1505,25 @@
- ::osl::MutexGuard aGuard( mpImpl->maMutex );
-
- mpFormats->clear();
-+ delete mpObjDesc, mpObjDesc = new TransferableObjectDescriptor;
-+
- if( mxTransfer.is() )
-+ {
- TransferableDataHelper::FillDataFlavorExVector( mxTransfer->getTransferDataFlavors(), *mpFormats );
-+
-+ DataFlavorExVector::iterator aIter( mpFormats->begin() ), aEnd( mpFormats->end() );
-+
-+ while( aIter != aEnd )
-+ {
-+ if( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR == aIter->mnSotId )
-+ {
-+ ImplSetParameterString( *mpObjDesc, *aIter );
-+ aIter = aEnd;
-+ }
-+ else
-+ ++aIter;
-+ }
-+ }
- }
-
- // -----------------------------------------------------------------------------
-@@ -1741,18 +1935,10 @@
-
- // -----------------------------------------------------------------------------
-
--sal_Bool TransferableDataHelper::GetTransferableObjectDescriptor( const ::com::sun::star::datatransfer::DataFlavor& rFlavor, TransferableObjectDescriptor& rDesc )
-+sal_Bool TransferableDataHelper::GetTransferableObjectDescriptor( const ::com::sun::star::datatransfer::DataFlavor&, TransferableObjectDescriptor& rDesc )
- {
-- SotStorageStreamRef xStm;
-- sal_Bool bRet = GetSotStorageStream( rFlavor, xStm );
--
-- if( bRet )
-- {
-- *xStm >> rDesc;
-- bRet = ( xStm->GetError() == ERRCODE_NONE );
-- }
--
-- return bRet;
-+ rDesc = *mpObjDesc;
-+ return true;
- }
-
- // -----------------------------------------------------------------------------
-@@ -1980,7 +2166,11 @@
-
- sal_Bool TransferableDataHelper::GetSequence( const DataFlavor& rFlavor, Sequence< sal_Int8 >& rSeq )
- {
-- const Any aAny( GetAny( rFlavor ) );
-+#ifdef DEBUG
-+ fprintf( stderr, "TransferableDataHelper requests sequence of data\n" );
-+#endif
-+
-+ const Any aAny( GetAny( rFlavor ) );
- return( aAny.hasValue() && ( aAny >>= rSeq ) );
- }
-
-@@ -1988,7 +2178,7 @@
-
- sal_Bool TransferableDataHelper::GetSotStorageStream( SotFormatStringId nFormat, SotStorageStreamRef& rxStream )
- {
-- DataFlavor aFlavor;
-+ DataFlavor aFlavor;
- return( SotExchange::GetFormatDataFlavor( nFormat, aFlavor ) && GetSotStorageStream( aFlavor, rxStream ) );
- }
-
-@@ -2000,7 +2190,6 @@
- sal_Bool bRet = GetSequence( rFlavor, aSeq );
-
- if( bRet )
--
- {
- rxStream = new SotStorageStream( String() );
- rxStream->Write( aSeq.getConstArray(), aSeq.getLength() );
diff --git a/patches/dev300/svx-ooo320-backports.diff b/patches/dev300/svx-ooo320-backports.diff
deleted file mode 100644
index a825727..0000000
--- a/patches/dev300/svx-ooo320-backports.diff
+++ /dev/null
@@ -1,36 +0,0 @@
---- svx/source/svdraw/svdotextdecomposition.cxx 2009-04-02 13:03:00.000000000 +0200
-+++ svx/source/svdraw/svdotextdecomposition.cxx 2009-03-25 18:32:48.000000000 +0100
-@@ -206,11 +206,7 @@
- false));
- basegfx::B2DHomMatrix aNewTransform;
-
-- // #i100489# need extra scale factor for DXArray which collects all scalings
-- // which are needed to get the DXArray to unit coordinates
-- double fDXArrayScaleFactor(aSize.getX());
--
-- // add font scale to new transform
-+ // add font scale to new transform
- aNewTransform.scale(aSize.getX(), aSize.getY());
-
- // look for proportional font scaling, evtl scale accordingly
-@@ -218,10 +214,6 @@
- {
- const double fFactor(rInfo.mrFont.GetPropr() / 100.0);
- aNewTransform.scale(fFactor, fFactor);
--
-- // #i100489# proportional font scaling influences the DXArray,
-- // add to factor
-- fDXArrayScaleFactor *= fFactor;
- }
-
- // apply font rotate
-@@ -273,8 +265,7 @@
-
- if(!bDisableTextArray && rInfo.mpDXArray && rInfo.mnTextLen)
- {
-- // #i100489# use fDXArrayScaleFactor here
-- const double fScaleFactor(basegfx::fTools::equalZero(fDXArrayScaleFactor) ? 1.0 : 1.0 / fDXArrayScaleFactor);
-+ const double fScaleFactor(basegfx::fTools::equalZero(aSize.getX()) ? 1.0 : 1.0 / aSize.getX());
- aDXArray.reserve(rInfo.mnTextLen);
-
- for(xub_StrLen a(0); a < rInfo.mnTextLen; a++)
diff --git a/patches/dev300/unoxml-fast-sax-serializable.diff b/patches/dev300/unoxml-fast-sax-serializable.diff
deleted file mode 100644
index 9cf0e8e..0000000
--- a/patches/dev300/unoxml-fast-sax-serializable.diff
+++ /dev/null
@@ -1,1722 +0,0 @@
-make fastsax ifc serializable
-
-From: Thorsten Behrens <thb at openoffice.org>
-
-
----
-
- .../com/sun/star/xml/sax/XFastSAXSerializable.idl | 102 +++++
- offapi/com/sun/star/xml/sax/makefile.mk | 1
- unoxml/source/dom/attr.hxx | 2
- unoxml/source/dom/attributesmap.hxx | 2
- unoxml/source/dom/cdatasection.cxx | 2
- unoxml/source/dom/cdatasection.hxx | 2
- unoxml/source/dom/characterdata.hxx | 2
- unoxml/source/dom/childlist.hxx | 2
- unoxml/source/dom/comment.cxx | 2
- unoxml/source/dom/comment.hxx | 2
- unoxml/source/dom/document.cxx | 57 +++
- unoxml/source/dom/document.hxx | 24 +
- unoxml/source/dom/documentfragment.hxx | 2
- unoxml/source/dom/documenttype.hxx | 2
- unoxml/source/dom/domimplementation.hxx | 2
- unoxml/source/dom/element.cxx | 100 +++++
- unoxml/source/dom/element.hxx | 4
- unoxml/source/dom/elementlist.hxx | 2
- unoxml/source/dom/entitiesmap.hxx | 2
- unoxml/source/dom/entity.hxx | 2
- unoxml/source/dom/entityreference.hxx | 2
- unoxml/source/dom/node.cxx | 104 ++++-
- unoxml/source/dom/node.hxx | 68 +++
- unoxml/source/dom/notation.hxx | 2
- unoxml/source/dom/notationsmap.hxx | 2
- unoxml/source/dom/processinginstruction.cxx | 1
- unoxml/source/dom/processinginstruction.hxx | 2
- unoxml/source/dom/saxbuilder.cxx | 1
- unoxml/source/dom/saxbuilder.hxx | 2
- unoxml/source/dom/text.cxx | 13 +
- unoxml/source/dom/text.hxx | 4
- unoxml/source/events/mouseevent.hxx | 2
- unoxml/source/events/mutationevent.hxx | 2
- unoxml/source/events/testlistener.hxx | 2
- unoxml/source/events/uievent.hxx | 2
- unoxml/source/service/makefile.mk | 1
- unoxml/source/xpath/nodelist.hxx | 2
- unoxml/source/xpath/xpathapi.hxx | 3
- unoxml/source/xpath/xpathobject.hxx | 2
- unoxml/test/domtest.cxx | 402 ++++++++++++++++++++
- unoxml/test/export.map | 38 ++
- unoxml/test/makefile.mk | 106 +++++
- 42 files changed, 1017 insertions(+), 62 deletions(-)
- create mode 100644 offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
- create mode 100644 unoxml/test/domtest.cxx
- create mode 100644 unoxml/test/export.map
- create mode 100644 unoxml/test/makefile.mk
-
-
-diff --git offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
-new file mode 100644
-index 0000000..6d815ce
---- /dev/null
-+++ offapi/com/sun/star/xml/sax/XFastSAXSerializable.idl
-@@ -0,0 +1,102 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: XSAXSerializable.idl,v $
-+ * $Revision: 1.3 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef __com_sun_star_xml_sax_XFastSAXSerializable_idl__
-+#define __com_sun_star_xml_sax_XFastSAXSerializable_idl__
-+
-+#ifndef __com_sun_star_xml_sax_XFastDocumentHandler_idl__
-+#include <com/sun/star/xml/sax/XFastDocumentHandler.idl>
-+#endif
-+
-+#ifndef __com_sun_star_xml_sax_XFastTokenHandler_idl__
-+#include <com/sun/star/xml/sax/XFastTokenHandler.idl>
-+#endif
-+
-+#ifndef __com_sun_star_beans_StringPair_idl__
-+#include <com/sun/star/beans/StringPair.idl>
-+#endif
-+
-+#ifndef __com_sun_star_beans_Pair_idl__
-+#include <com/sun/star/beans/Pair.idl>
-+#endif
-+
-+module com { module sun { module star { module xml { module sax {
-+
-+//=============================================================================
-+/** serializes a DOM tree by generating FastSAX events.
-+
-+ <p>
-+ </p>
-+
-+ @since OOo 3.1
-+
-+*/
-+interface XFastSAXSerializable
-+{
-+
-+ //-------------------------------------------------------------------------
-+ /** serializes an object (e.g. a DOM tree) that represents an XML document
-+ by generating fast SAX events.
-+
-+ @param handler
-+ the SAX event handler that should receive the generated events
-+ @param tokenHandler
-+ the fast SAX token handler that is used to translate names
-+ @param namespaces
-+ a list of namespace declarations that will be added to the root
-+ element node of the XML document
-+ <p>
-+ This is necessary mostly because the DOM implementation does
-+ not permit attaching namespaces declarations directly to nodes,
-+ which may lead to duplicate namespace declarations on export,
-+ and thus larger documents.
-+ Note that the first part of each tuple is the prefix,
-+ e.g. "office", and the second is the numeric namespace identifier.
-+ </p>
-+ @param registerNamespaces
-+ a list of namespace url / namespace token pairs. you need
-+ to register all namespace in order to have them recognized
-+ during export. Namespace tokens must be greater than
-+ FastToken::NAMESPACE.
-+ </p>
-+
-+ @throws com::sun::star::xml::sax::SAXException
-+ if serializing the XML document fails
-+ */
-+ void fastSerialize([in] sax::XFastDocumentHandler handler,
-+ [in] sax::XFastTokenHandler tokenHandler,
-+ [in] sequence< beans::StringPair > namespaces,
-+ [in] sequence< beans::Pair<string, long> > registerNamespaces)
-+ raises( com::sun::star::xml::sax::SAXException );
-+};
-+
-+}; }; }; }; };
-+
-+#endif
-diff --git offapi/com/sun/star/xml/sax/makefile.mk offapi/com/sun/star/xml/sax/makefile.mk
-index 41d3d19..33425dd 100644
---- offapi/com/sun/star/xml/sax/makefile.mk
-+++ offapi/com/sun/star/xml/sax/makefile.mk
-@@ -58,6 +58,7 @@ IDLFILES=\
- XFastParser.idl\
- XFastDocumentHandler.idl\
- XFastContextHandler.idl\
-+ XFastSAXSerializable.idl\
- XFastSerializer.idl\
- XFastShapeContextHandler.idl\
- XFastTokenHandler.idl\
-diff --git unoxml/source/dom/attr.hxx unoxml/source/dom/attr.hxx
-index efb61c7..bbe4dba 100644
---- unoxml/source/dom/attr.hxx
-+++ unoxml/source/dom/attr.hxx
-@@ -39,7 +39,7 @@
- #include "node.hxx"
- #include <libxml/tree.h>
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/attributesmap.hxx unoxml/source/dom/attributesmap.hxx
-index 1858e1a..970336f 100644
---- unoxml/source/dom/attributesmap.hxx
-+++ unoxml/source/dom/attributesmap.hxx
-@@ -42,7 +42,7 @@
- #include "element.hxx"
- #include "attr.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/cdatasection.cxx unoxml/source/dom/cdatasection.cxx
-index 5eeaddc..e26f741 100644
---- unoxml/source/dom/cdatasection.cxx
-+++ unoxml/source/dom/cdatasection.cxx
-@@ -30,6 +30,8 @@
-
- #include "cdatasection.hxx"
-
-+#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
-+
- namespace DOM
- {
- CCDATASection::CCDATASection(const xmlNodePtr aNodePtr)
-diff --git unoxml/source/dom/cdatasection.hxx unoxml/source/dom/cdatasection.hxx
-index d4d24c6..524a50d 100644
---- unoxml/source/dom/cdatasection.hxx
-+++ unoxml/source/dom/cdatasection.hxx
-@@ -37,7 +37,7 @@
-
- #include "text.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/characterdata.hxx unoxml/source/dom/characterdata.hxx
-index c23c309..509b471 100644
---- unoxml/source/dom/characterdata.hxx
-+++ unoxml/source/dom/characterdata.hxx
-@@ -42,7 +42,7 @@
- #include <libxml/tree.h>
- #include "node.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/childlist.hxx unoxml/source/dom/childlist.hxx
-index 6f85b35..8ac44a7 100644
---- unoxml/source/dom/childlist.hxx
-+++ unoxml/source/dom/childlist.hxx
-@@ -41,7 +41,7 @@
- #include "node.hxx"
- #include "libxml/tree.h"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/comment.cxx unoxml/source/dom/comment.cxx
-index 8d3f9ab..7781ed5 100644
---- unoxml/source/dom/comment.cxx
-+++ unoxml/source/dom/comment.cxx
-@@ -30,6 +30,8 @@
-
- #include "comment.hxx"
-
-+#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
-+
- namespace DOM
- {
- CComment::CComment(const xmlNodePtr aNodePtr)
-diff --git unoxml/source/dom/comment.hxx unoxml/source/dom/comment.hxx
-index 8651c1a..33dd667 100644
---- unoxml/source/dom/comment.hxx
-+++ unoxml/source/dom/comment.hxx
-@@ -36,7 +36,7 @@
- #include <com/sun/star/xml/dom/XComment.hpp>
- #include "characterdata.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/document.cxx unoxml/source/dom/document.cxx
-index 2cc7141..e69352b 100644
---- unoxml/source/dom/document.cxx
-+++ unoxml/source/dom/document.cxx
-@@ -51,13 +51,11 @@
-
- #include <string.h>
-
-+#include <com/sun/star/xml/sax/FastToken.hpp>
- #include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
-
--
- namespace DOM
- {
--
--
- void CDocument::addnode(xmlNodePtr aNode)
- {
- if (aNode != (xmlNodePtr)m_aDocPtr)
-@@ -122,6 +120,17 @@ namespace DOM
- i_xHandler->endDocument();
- }
-
-+ void SAL_CALL CDocument::fastSaxify( Context& rContext ) {
-+ rContext.mxDocHandler->startDocument();
-+ for (xmlNodePtr pChild = m_aNodePtr->children;
-+ pChild != 0; pChild = pChild->next) {
-+ CNode * pNode = CNode::get(pChild);
-+ OSL_ENSURE(pNode != 0, "CNode::get returned 0");
-+ pNode->fastSaxify(rContext);
-+ }
-+ rContext.mxDocHandler->endDocument();
-+ }
-+
- void SAL_CALL CDocument::addListener(const Reference< XStreamListener >& aListener )
- throw (RuntimeException)
- {
-@@ -699,7 +708,47 @@ namespace DOM
- // eliminate duplicate namespace declarations
- _nscleanup(pRoot->children, pRoot);
- }
-- // serialize via SAX handler
- saxify(i_xHandler);
- }
-+
-+ // ::com::sun::star::xml::sax::XFastSAXSerializable
-+ void SAL_CALL CDocument::fastSerialize( const Reference< XFastDocumentHandler >& i_xHandler,
-+ const Reference< XFastTokenHandler >& i_xTokenHandler,
-+ const Sequence< beans::StringPair >& i_rNamespaces,
-+ const Sequence< beans::Pair< rtl::OUString, sal_Int32 > >& i_rRegisterNamespaces )
-+ throw (SAXException, RuntimeException)
-+ {
-+ // add new namespaces to root node
-+ xmlNodePtr pRoot = _getDocumentRootPtr(m_aDocPtr);
-+ if (0 != pRoot) {
-+ const beans::StringPair * pSeq = i_rNamespaces.getConstArray();
-+ for (const beans::StringPair *pNsDef = pSeq;
-+ pNsDef < pSeq + i_rNamespaces.getLength(); ++pNsDef) {
-+ OString prefix = OUStringToOString(pNsDef->First,
-+ RTL_TEXTENCODING_UTF8);
-+ OString href = OUStringToOString(pNsDef->Second,
-+ RTL_TEXTENCODING_UTF8);
-+ // this will only add the ns if it does not exist already
-+ xmlNewNs(pRoot, reinterpret_cast<const xmlChar*>(href.getStr()),
-+ reinterpret_cast<const xmlChar*>(prefix.getStr()));
-+ }
-+ // eliminate duplicate namespace declarations
-+ _nscleanup(pRoot->children, pRoot);
-+ }
-+
-+ Context aContext(i_xHandler,
-+ i_xTokenHandler);
-+
-+ // register namespace ids
-+ const beans::Pair<OUString,sal_Int32>* pSeq = i_rRegisterNamespaces.getConstArray();
-+ for (const beans::Pair<OUString,sal_Int32>* pNs = pSeq;
-+ pNs < pSeq + i_rRegisterNamespaces.getLength(); ++pNs)
-+ {
-+ OSL_ENSURE(pNs->Second >= FastToken::NAMESPACE,
-+ "CDocument::fastSerialize(): invalid NS token id");
-+ aContext.maNamespaceMap[ pNs->First ] = pNs->Second;
-+ }
-+
-+ fastSaxify(aContext);
-+ }
- }
-diff --git unoxml/source/dom/document.hxx unoxml/source/dom/document.hxx
-index 13b09ee..e902269 100644
---- unoxml/source/dom/document.hxx
-+++ unoxml/source/dom/document.hxx
-@@ -34,7 +34,7 @@
- #include <list>
- #include <set>
- #include <sal/types.h>
--#include <cppuhelper/implbase5.hxx>
-+#include <cppuhelper/implbase6.hxx>
- #include <com/sun/star/uno/Reference.h>
- #include <com/sun/star/uno/Exception.hpp>
- #include <com/sun/star/beans/StringPair.hpp>
-@@ -45,7 +45,9 @@
- #include <com/sun/star/xml/dom/events/XDocumentEvent.hpp>
- #include <com/sun/star/xml/dom/events/XEvent.hpp>
- #include <com/sun/star/xml/sax/XSAXSerializable.hpp>
-+#include <com/sun/star/xml/sax/XFastSAXSerializable.hpp>
- #include <com/sun/star/xml/sax/XDocumentHandler.hpp>
-+#include <com/sun/star/xml/sax/XFastDocumentHandler.hpp>
- #include <com/sun/star/io/XActiveDataSource.hpp>
- #include <com/sun/star/io/XActiveDataControl.hpp>
- #include <com/sun/star/io/XOutputStream.hpp>
-@@ -68,9 +70,9 @@ using namespace com::sun::star::xml::dom::events;
- namespace DOM
- {
-
-- class CDocument : public cppu::ImplInheritanceHelper5<
-+ class CDocument : public cppu::ImplInheritanceHelper6<
- CNode, XDocument, XDocumentEvent,
-- XActiveDataControl, XActiveDataSource, XSAXSerializable>
-+ XActiveDataControl, XActiveDataSource, XSAXSerializable, XFastSAXSerializable>
- {
- friend class CNode;
- typedef std::list< Reference< XNode >* > nodereflist_t;
-@@ -97,6 +99,8 @@ namespace DOM
- virtual void SAL_CALL saxify(
- const Reference< XDocumentHandler >& i_xHandler);
-
-+ virtual void SAL_CALL fastSaxify( Context& rContext );
-+
- /**
- Creates an Attr of the given name.
- */
-@@ -347,12 +351,18 @@ namespace DOM
- return CNode::setPrefix(prefix);
- }
-
--
-- // ::com::sun::star::xml::sax::XSAXSerializable
-- virtual void SAL_CALL serialize(
-+ // ::com::sun::star::xml::sax::XSAXSerializable
-+ virtual void SAL_CALL serialize(
- const Reference< XDocumentHandler >& i_xHandler,
- const Sequence< beans::StringPair >& i_rNamespaces)
-- throw (RuntimeException, SAXException);
-+ throw (RuntimeException, SAXException);
-+
-+ // ::com::sun::star::xml::sax::XFastSAXSerializable
-+ virtual void SAL_CALL fastSerialize( const Reference< XFastDocumentHandler >& handler,
-+ const Reference< XFastTokenHandler >& tokenHandler,
-+ const Sequence< beans::StringPair >& i_rNamespaces,
-+ const Sequence< beans::Pair< rtl::OUString, sal_Int32 > >& namespaces )
-+ throw (SAXException, RuntimeException);
- };
- }
-
-diff --git unoxml/source/dom/documentfragment.hxx unoxml/source/dom/documentfragment.hxx
-index 67778c2..4d037ca 100644
---- unoxml/source/dom/documentfragment.hxx
-+++ unoxml/source/dom/documentfragment.hxx
-@@ -37,7 +37,7 @@
-
- #include "node.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/documenttype.hxx unoxml/source/dom/documenttype.hxx
-index e995713..15a2417 100644
---- unoxml/source/dom/documenttype.hxx
-+++ unoxml/source/dom/documenttype.hxx
-@@ -42,7 +42,7 @@
-
- #include <libxml/tree.h>
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/domimplementation.hxx unoxml/source/dom/domimplementation.hxx
-index a5f1b02..0dd4cfb 100644
---- unoxml/source/dom/domimplementation.hxx
-+++ unoxml/source/dom/domimplementation.hxx
-@@ -41,7 +41,7 @@
- #include <com/sun/star/xml/dom/XDOMImplementation.hpp>
- #include <com/sun/star/xml/dom/XDOMImplementation.hpp>
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/element.cxx unoxml/source/dom/element.cxx
-index fe099b4..17ac26d 100644
---- unoxml/source/dom/element.cxx
-+++ unoxml/source/dom/element.cxx
-@@ -36,6 +36,7 @@
- #include "../events/mutationevent.hxx"
-
- #include "comphelper/attributelist.hxx"
-+#include <com/sun/star/xml/sax/FastToken.hdl>
-
- #include <string.h>
-
-@@ -98,6 +99,105 @@ namespace DOM
- i_xHandler->endElement(name);
- }
-
-+ void SAL_CALL CElement::fastSaxify( Context& i_rContext ) {
-+ if (!i_rContext.mxDocHandler.is()) throw RuntimeException();
-+ pushContext(i_rContext);
-+ addNamespaces(i_rContext,m_aNodePtr);
-+
-+ // add attributes
-+ i_rContext.mxAttribList->clear();
-+ for (xmlAttrPtr pAttr = m_aNodePtr->properties;
-+ pAttr != 0; pAttr = pAttr->next) {
-+ CNode * pNode = CNode::get(reinterpret_cast<xmlNodePtr>(pAttr));
-+ OSL_ENSURE(pNode != 0, "CNode::get returned 0");
-+
-+ const xmlChar* xName = pAttr->name;
-+ sal_Int32 nAttributeToken=FastToken::DONTKNOW;
-+
-+ if( pAttr->ns && strlen((char*)pAttr->ns->prefix) )
-+ nAttributeToken = getTokenWithPrefix( i_rContext,
-+ (sal_Char*)pAttr->ns->prefix,
-+ (sal_Char*)xName );
-+ else
-+ nAttributeToken = getToken( i_rContext, (sal_Char*)xName );
-+
-+ if( nAttributeToken != FastToken::DONTKNOW )
-+ i_rContext.mxAttribList->add( nAttributeToken,
-+ OUStringToOString(pNode->getNodeValue(),
-+ RTL_TEXTENCODING_UTF8));
-+ }
-+
-+ const xmlChar* xPrefix = m_aNodePtr->ns ? m_aNodePtr->ns->prefix : (const xmlChar*)"";
-+ const xmlChar* xName = m_aNodePtr->name;
-+ sal_Int32 nElementToken=FastToken::DONTKNOW;
-+ if( strlen((char*)xPrefix) )
-+ nElementToken = getTokenWithPrefix( i_rContext, (sal_Char*)xPrefix, (sal_Char*)xName );
-+ else
-+ nElementToken = getToken( i_rContext, (sal_Char*)xName );
-+
-+ Reference<XFastContextHandler> xParentHandler(i_rContext.mxCurrentHandler);
-+ try
-+ {
-+ Reference< XFastAttributeList > xAttr( i_rContext.mxAttribList.get() );
-+ if( nElementToken == FastToken::DONTKNOW )
-+ {
-+ const OUString aNamespace;
-+ const OUString aElementName( (sal_Char*)xPrefix,
-+ strlen((char*)xPrefix),
-+ RTL_TEXTENCODING_UTF8 );
-+
-+ if( xParentHandler.is() )
-+ i_rContext.mxCurrentHandler = xParentHandler->createUnknownChildContext( aNamespace, aElementName, xAttr );
-+ else
-+ i_rContext.mxCurrentHandler = i_rContext.mxDocHandler->createUnknownChildContext( aNamespace, aElementName, xAttr );
-+
-+ if( i_rContext.mxCurrentHandler.is() )
-+ i_rContext.mxCurrentHandler->startUnknownElement( aNamespace, aElementName, xAttr );
-+ }
-+ else
-+ {
-+ if( xParentHandler.is() )
-+ i_rContext.mxCurrentHandler = xParentHandler->createFastChildContext( nElementToken, xAttr );
-+ else
-+ i_rContext.mxCurrentHandler = i_rContext.mxDocHandler->createFastChildContext( nElementToken, xAttr );
-+
-+ if( i_rContext.mxCurrentHandler.is() )
-+ i_rContext.mxCurrentHandler->startFastElement( nElementToken, xAttr );
-+ }
-+ }
-+ catch( Exception& )
-+ {}
-+
-+ // recurse
-+ for (xmlNodePtr pChild = m_aNodePtr->children;
-+ pChild != 0; pChild = pChild->next) {
-+ CNode * pNode = CNode::get(pChild);
-+ OSL_ENSURE(pNode != 0, "CNode::get returned 0");
-+ pNode->fastSaxify(i_rContext);
-+ }
-+
-+ if( i_rContext.mxCurrentHandler.is() ) try
-+ {
-+ if( nElementToken != FastToken::DONTKNOW )
-+ i_rContext.mxCurrentHandler->endFastElement( nElementToken );
-+ else
-+ {
-+ const OUString aNamespace;
-+ const OUString aElementName( (sal_Char*)xPrefix,
-+ strlen((char*)xPrefix),
-+ RTL_TEXTENCODING_UTF8 );
-+
-+ i_rContext.mxCurrentHandler->endUnknownElement( aNamespace, aElementName );
-+ }
-+ }
-+ catch( Exception& )
-+ {}
-+
-+ // restore after children have been processed
-+ i_rContext.mxCurrentHandler = xParentHandler;
-+ popContext(i_rContext);
-+ }
-+
- /**
- Retrieves an attribute value by name.
- return empty string if attribute is not set
-diff --git unoxml/source/dom/element.hxx unoxml/source/dom/element.hxx
-index c6ba0ee..a4c0026 100644
---- unoxml/source/dom/element.hxx
-+++ unoxml/source/dom/element.hxx
-@@ -39,7 +39,7 @@
- #include <libxml/tree.h>
- #include "node.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-@@ -60,6 +60,8 @@ namespace DOM
- virtual void SAL_CALL saxify(
- const Reference< XDocumentHandler >& i_xHandler);
-
-+ virtual void SAL_CALL fastSaxify( Context& i_rContext );
-+
- /**
- Retrieves an attribute value by name.
- */
-diff --git unoxml/source/dom/elementlist.hxx unoxml/source/dom/elementlist.hxx
-index e78c8bb..4e6d8c7 100644
---- unoxml/source/dom/elementlist.hxx
-+++ unoxml/source/dom/elementlist.hxx
-@@ -45,7 +45,7 @@
- #include "document.hxx"
- #include "libxml/tree.h"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- using namespace com::sun::star::xml::dom::events;
-diff --git unoxml/source/dom/entitiesmap.hxx unoxml/source/dom/entitiesmap.hxx
-index f207d81..f3f7f3d 100644
---- unoxml/source/dom/entitiesmap.hxx
-+++ unoxml/source/dom/entitiesmap.hxx
-@@ -41,7 +41,7 @@
- #include "document.hxx"
- #include "documenttype.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/source/dom/entity.hxx unoxml/source/dom/entity.hxx
-index fd269bc..f4b5855 100644
---- unoxml/source/dom/entity.hxx
-+++ unoxml/source/dom/entity.hxx
-@@ -39,7 +39,7 @@
- #include <libxml/tree.h>
- #include <libxml/entities.h>
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/entityreference.hxx unoxml/source/dom/entityreference.hxx
-index 5535374..02d9f7b 100644
---- unoxml/source/dom/entityreference.hxx
-+++ unoxml/source/dom/entityreference.hxx
-@@ -36,7 +36,7 @@
- #include "node.hxx"
- #include <libxml/tree.h>
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/node.cxx unoxml/source/dom/node.cxx
-index f7599f8..e25c4d7 100644
---- unoxml/source/dom/node.cxx
-+++ unoxml/source/dom/node.cxx
-@@ -45,11 +45,91 @@
- #include "childlist.hxx"
- #include "attr.hxx"
-
-+#include <com/sun/star/xml/sax/FastToken.hpp>
-+
- #include "../events/eventdispatcher.hxx"
- #include "../events/mutationevent.hxx"
-
-+#include <boost/bind.hpp>
-+#include <algorithm>
-+
- namespace DOM
- {
-+ void pushContext(Context& io_rContext)
-+ {
-+ io_rContext.maNamespaces.push_back(
-+ io_rContext.maNamespaces.back());
-+ }
-+
-+ void popContext(Context& io_rContext)
-+ {
-+ io_rContext.maNamespaces.pop_back();
-+ }
-+
-+ void addNamespaces(Context& io_rContext, xmlNodePtr pNode)
-+ {
-+ // add node's namespaces to current context
-+ for (xmlNsPtr pNs = pNode->nsDef; pNs != 0; pNs = pNs->next) {
-+ const xmlChar *pPrefix = pNs->prefix;
-+ OString prefix(reinterpret_cast<const sal_Char*>(pPrefix),
-+ strlen(reinterpret_cast<const char*>(pPrefix)));
-+ const xmlChar *pHref = pNs->href;
-+ OUString val(reinterpret_cast<const sal_Char*>(pHref),
-+ strlen(reinterpret_cast<const char*>(pHref)),
-+ RTL_TEXTENCODING_UTF8);
-+
-+ OSL_TRACE("Trying to add namespace %s (prefix %s)",
-+ (const char*)pHref, (const char*)pPrefix);
-+
-+ Context::NamespaceMapType::iterator aIter=
-+ io_rContext.maNamespaceMap.find(val);
-+ if( aIter != io_rContext.maNamespaceMap.end() )
-+ {
-+ Context::Namespace aNS;
-+ aNS.maPrefix = prefix;
-+ aNS.mnToken = aIter->second;
-+ aNS.maNamespaceURL = val;
-+
-+ io_rContext.maNamespaces.back().push_back(aNS);
-+
-+ OSL_TRACE("Added with token 0x%x", aIter->second);
-+ }
-+ }
-+ }
-+
-+ sal_Int32 getToken( const Context& rContext, const sal_Char* pToken )
-+ {
-+ const Sequence<sal_Int8> aSeq( (sal_Int8*)pToken, strlen( pToken ) );
-+ return rContext.mxTokenHandler->getTokenFromUTF8( aSeq );
-+ }
-+
-+ sal_Int32 getTokenWithPrefix( const Context& rContext, const sal_Char* pPrefix, const sal_Char* pName )
-+ {
-+ sal_Int32 nNamespaceToken = FastToken::DONTKNOW;
-+ OString prefix(pPrefix,
-+ strlen(reinterpret_cast<const char*>(pPrefix)));
-+
-+ OSL_TRACE("getTokenWithPrefix(): prefix %s, name %s",
-+ (const char*)pPrefix, (const char*)pName);
-+
-+ Context::NamespaceVectorType::value_type::const_iterator aIter;
-+ if( (aIter=std::find_if(rContext.maNamespaces.back().begin(),
-+ rContext.maNamespaces.back().end(),
-+ boost::bind(std::equal_to<OString>(),
-+ boost::bind(&Context::Namespace::getPrefix,
-+ _1),
-+ boost::cref(prefix)))) != rContext.maNamespaces.back().end() )
-+ {
-+ nNamespaceToken = aIter->mnToken;
-+ sal_Int32 nNameToken = getToken( rContext, pName );
-+ if( nNameToken != FastToken::DONTKNOW )
-+ nNamespaceToken |= nNameToken;
-+ }
-+
-+ return nNamespaceToken;
-+ }
-+
-+
- nodemap_t CNode::theNodeMap;
-
- void CNode::remove(const xmlNodePtr aNode)
-@@ -167,14 +247,13 @@ namespace DOM
-
- xmlNodePtr CNode::getNodePtr(const Reference< XNode >& aNode)
- {
-- xmlNodePtr aNodePtr = 0;
- try {
-- Reference< XUnoTunnel > aTunnel(aNode, UNO_QUERY_THROW);
-- sal_Int64 rawPtr = aTunnel->getSomething(Sequence<sal_Int8>());
-- aNodePtr = reinterpret_cast<xmlNodePtr>(sal::static_int_cast<sal_IntPtr>(rawPtr));
-- } catch ( ... ) {
-+ CNode* pNode=dynamic_cast<CNode*>(aNode.get());
-+ if( pNode )
-+ return pNode->m_aNodePtr;
- }
-- return aNodePtr;
-+ catch(...) {}
-+ return 0;
- }
-
- CNode::CNode()
-@@ -280,6 +359,11 @@ namespace DOM
- // default: do nothing
- }
-
-+ void SAL_CALL CNode::fastSaxify(Context& io_rContext) {
-+ if (!io_rContext.mxDocHandler.is()) throw RuntimeException();
-+ // default: do nothing
-+ }
-+
- /**
- Adds the node newChild to the end of the list of children of this node.
- */
-@@ -894,14 +978,6 @@ namespace DOM
-
- }
-
-- sal_Int64 SAL_CALL CNode::getSomething(const Sequence< sal_Int8 >& /*id*/) throw (RuntimeException)
-- {
-- // XXX check ID
-- return sal::static_int_cast<sal_Int64>(reinterpret_cast<sal_IntPtr>(m_aNodePtr));
-- // return (sal_Int64)m_aNodePtr;
-- }
--
--
- // --- XEventTarget
- void SAL_CALL CNode::addEventListener(const OUString& eventType,
- const Reference< com::sun::star::xml::dom::events::XEventListener >& listener,
-diff --git unoxml/source/dom/node.hxx unoxml/source/dom/node.hxx
-index 8752dad..8a22fbd 100644
---- unoxml/source/dom/node.hxx
-+++ unoxml/source/dom/node.hxx
-@@ -31,18 +31,19 @@
- #ifndef _NODE_HXX
- #define _NODE_HXX
-
--#include <map>
-+#include <rtl/ref.hxx>
-+#include <rtl/string.hxx>
-+#include <rtl/ustring.hxx>
- #include <sal/types.h>
-+#include <sax/fastattribs.hxx>
- #include <cppuhelper/implbase1.hxx>
- #include <cppuhelper/implbase2.hxx>
--#include <cppuhelper/implbase3.hxx>
- #include <com/sun/star/uno/Reference.h>
- #include <com/sun/star/uno/Exception.hpp>
- #include <com/sun/star/xml/dom/XNode.hpp>
- #include <com/sun/star/xml/dom/XNodeList.hpp>
- #include <com/sun/star/xml/dom/XNamedNodeMap.hpp>
- #include <com/sun/star/xml/dom/NodeType.hpp>
--#include <com/sun/star/lang/XUnoTunnel.hpp>
- #include <com/sun/star/uno/Sequence.h>
- #include <com/sun/star/xml/dom/events/XEventTarget.hpp>
- #include <com/sun/star/xml/dom/events/XDocumentEvent.hpp>
-@@ -51,23 +52,72 @@
- #include <com/sun/star/xml/dom/events/XUIEvent.hpp>
- #include <com/sun/star/xml/dom/events/XMouseEvent.hpp>
- #include <com/sun/star/xml/dom/DOMException.hpp>
--#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
-+#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
-+#include <com/sun/star/xml/sax/XFastDocumentHandler.hpp>
- #include <libxml/tree.h>
-
-+#include <map>
-+#include <hash_map>
-+
- using ::rtl::OUString;
-+using ::rtl::OString;
-+using namespace sax_fastparser;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::sax;
- using namespace com::sun::star::xml::dom;
- using namespace com::sun::star::xml::dom::events;
--using com::sun::star::lang::XUnoTunnel;
-
- namespace DOM
- {
-+ struct Context
-+ {
-+ Context( const Reference< XFastDocumentHandler >& i_xHandler,
-+ const Reference< XFastTokenHandler >& i_xTokenHandler ) :
-+ maNamespaces( 1, std::vector<Namespace>() ),
-+ maNamespaceMap(101),
-+ mxAttribList(new FastAttributeList(i_xTokenHandler)),
-+ mxCurrentHandler(i_xHandler, UNO_QUERY_THROW),
-+ mxDocHandler(i_xHandler),
-+ mxTokenHandler(i_xTokenHandler)
-+ {}
-+
-+ struct Namespace
-+ {
-+ OString maPrefix;
-+ sal_Int32 mnToken;
-+ OUString maNamespaceURL;
-+
-+ const OString& getPrefix() const { return maPrefix; }
-+ };
-+
-+ typedef std::vector< std::vector<Namespace> > NamespaceVectorType;
-+ typedef std::hash_map< OUString,
-+ sal_Int32,
-+ rtl::OUStringHash > NamespaceMapType;
-+
-+ /// outer vector: xml context; inner vector: current NS
-+ NamespaceVectorType maNamespaces;
-+ NamespaceMapType maNamespaceMap;
-+ ::rtl::Reference<FastAttributeList> mxAttribList;
-+ Reference<XFastContextHandler> mxCurrentHandler;
-+ Reference<XFastDocumentHandler> mxDocHandler;
-+ Reference<XFastTokenHandler> mxTokenHandler;
-+ };
-+
-+ void pushContext(Context& io_rContext);
-+ void popContext(Context& io_rContext);
-+
-+ sal_Int32 getTokenWithPrefix( const Context& rContext, const sal_Char* xPrefix, const sal_Char* xName );
-+ sal_Int32 getToken( const Context& rContext, const sal_Char* xName );
-+
-+ /// add namespaces on this node to context
-+ void addNamespaces(Context& io_rContext, xmlNodePtr pNode);
-+
- class CNode;
- typedef std::map< const xmlNodePtr, CNode* > nodemap_t;
-
-
-- class CNode : public cppu::WeakImplHelper3< XNode, XUnoTunnel, XEventTarget >
-+ class CNode : public cppu::WeakImplHelper2< XNode, XEventTarget >
- {
- friend class CDocument;
- friend class CElement;
-@@ -109,6 +159,9 @@ namespace DOM
- virtual void SAL_CALL saxify(
- const Reference< XDocumentHandler >& i_xHandler);
-
-+ // recursively create SAX events
-+ virtual void SAL_CALL fastSaxify( Context& io_rContext );
-+
- // ---- DOM interfaces
-
- /**
-@@ -275,9 +328,6 @@ namespace DOM
- throw (RuntimeException, DOMException);
-
-
-- // --- XUnoTunnel
-- virtual sal_Int64 SAL_CALL getSomething(const Sequence< sal_Int8 >& id) throw (RuntimeException);
--
- // --- XEventTarget
- virtual void SAL_CALL addEventListener(const OUString& eventType,
- const Reference< XEventListener >& listener,
-diff --git unoxml/source/dom/notation.hxx unoxml/source/dom/notation.hxx
-index 13cd6be..d25d501 100644
---- unoxml/source/dom/notation.hxx
-+++ unoxml/source/dom/notation.hxx
-@@ -37,7 +37,7 @@
- #include "node.hxx"
- #include <libxml/tree.h>
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/notationsmap.hxx unoxml/source/dom/notationsmap.hxx
-index 2adbbc0..170c3b2 100644
---- unoxml/source/dom/notationsmap.hxx
-+++ unoxml/source/dom/notationsmap.hxx
-@@ -41,7 +41,7 @@
- #include "document.hxx"
- #include "documenttype.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/processinginstruction.cxx unoxml/source/dom/processinginstruction.cxx
-index f06d153..791b408 100644
---- unoxml/source/dom/processinginstruction.cxx
-+++ unoxml/source/dom/processinginstruction.cxx
-@@ -29,6 +29,7 @@
- ************************************************************************/
-
- #include "processinginstruction.hxx"
-+#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
- #include <string.h>
-
- namespace DOM
-diff --git unoxml/source/dom/processinginstruction.hxx unoxml/source/dom/processinginstruction.hxx
-index 1ae7657..780fe55 100644
---- unoxml/source/dom/processinginstruction.hxx
-+++ unoxml/source/dom/processinginstruction.hxx
-@@ -37,7 +37,7 @@
- #include "node.hxx"
- #include <libxml/tree.h>
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
-
-diff --git unoxml/source/dom/saxbuilder.cxx unoxml/source/dom/saxbuilder.cxx
-index 5f42666..e1169cc 100644
---- unoxml/source/dom/saxbuilder.cxx
-+++ unoxml/source/dom/saxbuilder.cxx
-@@ -35,7 +35,6 @@
- #include "saxbuilder.hxx"
- #include <com/sun/star/xml/dom/XDocumentBuilder.hpp>
- #include <libxml/tree.h>
--#include <com/sun/star/lang/XUnoTunnel.hpp>
- #include <com/sun/star/uno/Sequence.h>
-
- namespace DOM
-diff --git unoxml/source/dom/saxbuilder.hxx unoxml/source/dom/saxbuilder.hxx
-index a955035..afa8320 100644
---- unoxml/source/dom/saxbuilder.hxx
-+++ unoxml/source/dom/saxbuilder.hxx
-@@ -54,7 +54,7 @@
-
- #include "libxml/tree.h"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::xml::dom;
- using namespace com::sun::star::xml::sax;
-diff --git unoxml/source/dom/text.cxx unoxml/source/dom/text.cxx
-index 250b31e..6574a45 100644
---- unoxml/source/dom/text.cxx
-+++ unoxml/source/dom/text.cxx
-@@ -58,5 +58,18 @@ namespace DOM
- {
- return OUString::createFromAscii("#text");
- }
-+
-+ void SAL_CALL CText::fastSaxify( Context& io_rContext )
-+ {
-+ if( io_rContext.mxCurrentHandler.is() )
-+ {
-+ try
-+ {
-+ io_rContext.mxCurrentHandler->characters( getData() );
-+ }
-+ catch( Exception& )
-+ {}
-+ }
-+ }
-
- }
-diff --git unoxml/source/dom/text.hxx unoxml/source/dom/text.hxx
-index 27596f3..ff84a62 100644
---- unoxml/source/dom/text.hxx
-+++ unoxml/source/dom/text.hxx
-@@ -41,7 +41,7 @@
- #include <libxml/tree.h>
- #include "characterdata.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-@@ -62,6 +62,8 @@ namespace DOM
- virtual void SAL_CALL saxify(
- const Reference< XDocumentHandler >& i_xHandler);
-
-+ virtual void SAL_CALL fastSaxify( Context& io_rContext );
-+
- // Breaks this node into two nodes at the specified offset, keeping
- // both in the tree as siblings.
- virtual Reference< XText > SAL_CALL splitText(sal_Int32 offset)
-diff --git unoxml/source/events/mouseevent.hxx unoxml/source/events/mouseevent.hxx
-index a3d4f37..b4a9ade 100644
---- unoxml/source/events/mouseevent.hxx
-+++ unoxml/source/events/mouseevent.hxx
-@@ -15,7 +15,7 @@
- #include "event.hxx"
- #include "uievent.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
-
- namespace DOM { namespace events {
-
-diff --git unoxml/source/events/mutationevent.hxx unoxml/source/events/mutationevent.hxx
-index d20c246..5ff545f 100644
---- unoxml/source/events/mutationevent.hxx
-+++ unoxml/source/events/mutationevent.hxx
-@@ -13,7 +13,7 @@
- #include <com/sun/star/xml/dom/events/XMutationEvent.hpp>
- #include "event.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
-
- namespace DOM { namespace events {
-
-diff --git unoxml/source/events/testlistener.hxx unoxml/source/events/testlistener.hxx
-index 7a9d16c..2e12a1a 100644
---- unoxml/source/events/testlistener.hxx
-+++ unoxml/source/events/testlistener.hxx
-@@ -54,7 +54,7 @@
-
- #include "libxml/tree.h"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/source/events/uievent.hxx unoxml/source/events/uievent.hxx
-index ba34a96..d9cd5cc 100644
---- unoxml/source/events/uievent.hxx
-+++ unoxml/source/events/uievent.hxx
-@@ -14,7 +14,7 @@
- #include <com/sun/star/xml/dom/views/XAbstractView.hpp>
- #include "event.hxx"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::xml::dom::views;
-
- namespace DOM { namespace events {
-diff --git unoxml/source/service/makefile.mk unoxml/source/service/makefile.mk
-index 4cc13a4..363f4b3 100644
---- unoxml/source/service/makefile.mk
-+++ unoxml/source/service/makefile.mk
-@@ -73,6 +73,7 @@ SHL1STDLIBS= \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
-+ $(SAXLIB) \
- $(SALLIB)\
- $(EXPATASCII3RDLIB)
-
-diff --git unoxml/source/xpath/nodelist.hxx unoxml/source/xpath/nodelist.hxx
-index 6b94f99..336a611 100644
---- unoxml/source/xpath/nodelist.hxx
-+++ unoxml/source/xpath/nodelist.hxx
-@@ -43,7 +43,7 @@
- #include "libxml/xpath.h"
- #include <boost/shared_ptr.hpp>
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/source/xpath/xpathapi.hxx unoxml/source/xpath/xpathapi.hxx
-index 4291728..29e5461 100644
---- unoxml/source/xpath/xpathapi.hxx
-+++ unoxml/source/xpath/xpathapi.hxx
-@@ -52,11 +52,10 @@
- #include <com/sun/star/lang/XServiceInfo.hpp>
- #include <com/sun/star/lang/XSingleServiceFactory.hpp>
- #include <com/sun/star/lang/XMultiServiceFactory.hpp>
--#include <com/sun/star/lang/XUnoTunnel.hpp>
-
- #include "libxml/tree.h"
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/source/xpath/xpathobject.hxx unoxml/source/xpath/xpathobject.hxx
-index 94cba5f..ac7e5fb 100644
---- unoxml/source/xpath/xpathobject.hxx
-+++ unoxml/source/xpath/xpathobject.hxx
-@@ -43,7 +43,7 @@
- #include <libxml/xpath.h>
- #include <boost/shared_ptr.hpp>
-
--using namespace rtl;
-+using ::rtl::OUString;
- using namespace com::sun::star::uno;
- using namespace com::sun::star::lang;
- using namespace com::sun::star::xml::dom;
-diff --git unoxml/test/domtest.cxx unoxml/test/domtest.cxx
-new file mode 100644
-index 0000000..9b9c302
---- /dev/null
-+++ unoxml/test/domtest.cxx
-@@ -0,0 +1,402 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: basictest.cxx,v $
-+ * $Revision: 1.12 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+// autogenerated file with codegen.pl
-+
-+#include <cppunit/simpleheader.hxx>
-+
-+#include <rtl/ref.hxx>
-+#include <osl/file.hxx>
-+#include <osl/process.h>
-+#include <comphelper/seqstream.hxx>
-+#include <comphelper/sequence.hxx>
-+#include <cppuhelper/compbase1.hxx>
-+#include <cppuhelper/bootstrap.hxx>
-+#include <cppuhelper/basemutex.hxx>
-+
-+#include <com/sun/star/xml/sax/FastToken.hpp>
-+#include <com/sun/star/xml/sax/XSAXSerializable.hpp>
-+#include <com/sun/star/xml/sax/XFastSAXSerializable.hpp>
-+
-+#include "../source/dom/documentbuilder.hxx"
-+
-+
-+using namespace ::DOM;
-+using namespace ::comphelper;
-+using namespace ::com::sun::star;
-+
-+namespace
-+{
-+
-+// valid xml
-+static const char validTestFile[] =
-+"<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
-+ <office:document-content \
-+ xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" \
-+ xmlns:xlink=\"http://www.w3.org/1999/xlink\" \
-+ office:version=\"1.0\"> \
-+ <office:scripts/> \
-+ <xlink:test/> \
-+ <office:automatic-styles teststyle=\"test\"/> \
-+ <moretest/> \
-+ some text öäü \
-+ </office:document-content> \
-+";
-+
-+// generates a warning: unsupported xml version, unknown xml:space
-+// value
-+static const char warningTestFile[] =
-+"<?xml version=\"47-11.0\" encoding=\"UTF-8\"?> \
-+ <office:document-content \
-+ xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" \
-+ xml:space=\"blafasl\" \
-+ office:version=\"1.0\"> \
-+ <office:scripts/> \
-+ <office:automatic-styles/> \
-+ </office:document-content> \
-+";
-+
-+// <?xml not at start of file
-+static const char errorTestFile[] =
-+" <?xml version=\"1.0\" encoding=\"UTF-8\"?> \
-+ <office:document-content \
-+ xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" \
-+ office:version=\"1.0\"> \
-+ <office:scripts/> \
-+ <office:automatic-styles/> \
-+ </office:document-content> \
-+";
-+
-+// plain empty
-+static const char fatalTestFile[] = "";
-+
-+struct ErrorHandler
-+ : public ::cppu::WeakImplHelper1< xml::sax::XErrorHandler >
-+{
-+ sal_uInt32 mnErrCount;
-+ sal_uInt32 mnFatalCount;
-+ sal_uInt32 mnWarnCount;
-+
-+ bool noErrors() const { return !mnErrCount && !mnFatalCount && !mnWarnCount; }
-+
-+ ErrorHandler() : mnErrCount(0), mnFatalCount(0), mnWarnCount(0)
-+ {}
-+
-+ virtual void SAL_CALL error( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ ++mnErrCount;
-+ }
-+
-+ virtual void SAL_CALL fatalError( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ ++mnFatalCount;
-+ }
-+
-+ virtual void SAL_CALL warning( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ ++mnWarnCount;
-+ }
-+};
-+
-+struct DocumentHandler
-+ : public ::cppu::WeakImplHelper1< xml::sax::XFastDocumentHandler >
-+{
-+ // XFastContextHandler
-+ virtual void SAL_CALL startFastElement( ::sal_Int32 Element, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ OSL_TRACE("Seen element: %c with namespace 0x%x",
-+ Element & 0xFFFF, Element & 0xFFFF0000);
-+ }
-+
-+ virtual void SAL_CALL startUnknownElement( const ::rtl::OUString& Namespace, const ::rtl::OUString& Name, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ }
-+
-+ virtual void SAL_CALL endFastElement( ::sal_Int32 Element ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ }
-+
-+ virtual void SAL_CALL endUnknownElement( const ::rtl::OUString& Namespace, const ::rtl::OUString& Name ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ }
-+
-+ virtual uno::Reference< xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ return this;
-+ }
-+
-+ virtual uno::Reference< xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext( const ::rtl::OUString& Namespace, const ::rtl::OUString& Name, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ return this;
-+ }
-+
-+ virtual void SAL_CALL characters( const ::rtl::OUString& aChars ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ }
-+
-+ // XFastDocumentHandler
-+ virtual void SAL_CALL startDocument( ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ }
-+
-+ virtual void SAL_CALL endDocument( ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ }
-+
-+ virtual void SAL_CALL setDocumentLocator( const uno::Reference< xml::sax::XLocator >& xLocator ) throw (xml::sax::SAXException, uno::RuntimeException)
-+ {
-+ }
-+};
-+
-+struct TokenHandler
-+ : public ::cppu::WeakImplHelper1< xml::sax::XFastTokenHandler >
-+{
-+ virtual ::sal_Int32 SAL_CALL getToken( const ::rtl::OUString& Identifier ) throw (uno::RuntimeException)
-+ {
-+ CPPUNIT_ASSERT_MESSAGE( "TokenHandler::getToken() unexpected call",
-+ false );
-+ return -1;
-+ }
-+
-+ virtual ::rtl::OUString SAL_CALL getIdentifier( ::sal_Int32 Token ) throw (uno::RuntimeException)
-+ {
-+ CPPUNIT_ASSERT_MESSAGE( "TokenHandler::getIdentifier() unexpected call",
-+ false );
-+ return rtl::OUString();
-+ }
-+
-+ virtual ::sal_Int32 SAL_CALL getTokenFromUTF8( const uno::Sequence< ::sal_Int8 >& Identifier ) throw (uno::RuntimeException)
-+ {
-+ OSL_TRACE("getTokenFromUTF8() %s", (const char*)Identifier.getConstArray());
-+ return Identifier.getLength() ? Identifier[0] : 0;
-+ }
-+
-+ virtual uno::Sequence< ::sal_Int8 > SAL_CALL getUTF8Identifier( ::sal_Int32 Token ) throw (uno::RuntimeException)
-+ {
-+ CPPUNIT_ASSERT_MESSAGE( "TokenHandler::getUTF8Identifier() unexpected call",
-+ false );
-+ return uno::Sequence<sal_Int8>();
-+ }
-+};
-+
-+struct BasicTest : public CppUnit::TestFixture
-+{
-+ rtl::Reference<CDocumentBuilder> mxDomBuilder;
-+ rtl::Reference<ErrorHandler> mxErrHandler;
-+ rtl::Reference<SequenceInputStream> mxValidInStream;
-+ rtl::Reference<SequenceInputStream> mxWarningInStream;
-+ rtl::Reference<SequenceInputStream> mxErrorInStream;
-+ rtl::Reference<SequenceInputStream> mxFatalInStream;
-+
-+ void setUp()
-+ {
-+ // luckily, DOM builder doesn't use service fac, so we need
-+ // not bootstrap uno here
-+ mxErrHandler.set( new ErrorHandler() );
-+ mxDomBuilder.set( new CDocumentBuilder(Reference< XMultiServiceFactory >() ));
-+ mxValidInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)validTestFile,
-+ sizeof(validTestFile)/sizeof(*validTestFile))) );
-+ mxWarningInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)warningTestFile,
-+ sizeof(warningTestFile)/sizeof(*warningTestFile))) );
-+ mxErrorInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)errorTestFile,
-+ sizeof(errorTestFile)/sizeof(*errorTestFile))) );
-+ mxFatalInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)fatalTestFile,
-+ sizeof(fatalTestFile)/sizeof(*fatalTestFile))) );
-+ mxDomBuilder->setErrorHandler(mxErrHandler.get());
-+ }
-+
-+ void validInputTest()
-+ {
-+ CPPUNIT_ASSERT_MESSAGE( "Valid input file did not result in XDocument #1",
-+ mxDomBuilder->parse(
-+ uno::Reference<io::XInputStream>(
-+ mxValidInStream.get())).is() );
-+ CPPUNIT_ASSERT_MESSAGE( "Valid input file resulted in parse errors",
-+ mxErrHandler->noErrors() );
-+ }
-+
-+ void warningInputTest()
-+ {
-+ CPPUNIT_ASSERT_MESSAGE( "Valid input file did not result in XDocument #2",
-+ mxDomBuilder->parse(
-+ uno::Reference<io::XInputStream>(
-+ mxWarningInStream.get())).is() );
-+ CPPUNIT_ASSERT_MESSAGE( "No parse warnings in unclean input file",
-+ mxErrHandler->mnWarnCount && !mxErrHandler->mnErrCount && !mxErrHandler->mnFatalCount );
-+ }
-+
-+ void errorInputTest()
-+ {
-+ CPPUNIT_ASSERT_MESSAGE( "Valid input file did not result in XDocument #3",
-+ mxDomBuilder->parse(
-+ uno::Reference<io::XInputStream>(
-+ mxErrorInStream.get())).is() );
-+ CPPUNIT_ASSERT_MESSAGE( "No parse errors in unclean input file",
-+ !mxErrHandler->mnWarnCount && mxErrHandler->mnErrCount && !mxErrHandler->mnFatalCount );
-+ }
-+
-+ void fatalInputTest()
-+ {
-+ CPPUNIT_ASSERT_MESSAGE( "Broken input file resulted in XDocument",
-+ !mxDomBuilder->parse(
-+ uno::Reference<io::XInputStream>(
-+ mxFatalInStream.get())).is() );
-+ CPPUNIT_ASSERT_MESSAGE( "No fatal parse errors in unclean input file",
-+ !mxErrHandler->mnWarnCount && !mxErrHandler->mnErrCount && mxErrHandler->mnFatalCount );
-+ };
-+
-+ // Change the following lines only, if you add, remove or rename
-+ // member functions of the current class,
-+ // because these macros are need by auto register mechanism.
-+ CPPUNIT_TEST_SUITE(BasicTest);
-+ CPPUNIT_TEST(validInputTest);
-+ CPPUNIT_TEST(warningInputTest);
-+ CPPUNIT_TEST(errorInputTest);
-+ CPPUNIT_TEST(fatalInputTest);
-+ CPPUNIT_TEST_SUITE_END();
-+};
-+
-+struct SerializerTest : public CppUnit::TestFixture
-+{
-+ SerializerTest() : mbUnoInitialized(false) {}
-+
-+ uno::Reference<uno::XComponentContext> mxCtx;
-+ rtl::Reference<CDocumentBuilder> mxDomBuilder;
-+ rtl::Reference<ErrorHandler> mxErrHandler;
-+ rtl::Reference<SequenceInputStream> mxInStream;
-+ rtl::Reference<DocumentHandler> mxHandler;
-+ rtl::Reference<TokenHandler> mxTokHandler;
-+ uno::Sequence< beans::Pair< rtl::OUString, sal_Int32 > > maRegisteredNamespaces;
-+ bool mbUnoInitialized;
-+
-+ void setUp()
-+ {
-+ // need working typelib, bootstrap UNO now
-+ if( !mbUnoInitialized )
-+ {
-+ const char* pArgs( getForwardString() );
-+ CPPUNIT_ASSERT_MESSAGE("Test file parameter", pArgs);
-+
-+ const rtl::OUString sBaseDir=rtl::OUString::createFromAscii(pArgs);
-+
-+ // bootstrap UNO
-+ try
-+ {
-+ ::rtl::OUString aIniUrl;
-+ CPPUNIT_ASSERT_MESSAGE(
-+ "Converting ini file to URL",
-+ osl_getFileURLFromSystemPath(
-+ (sBaseDir+rtl::OUString::createFromAscii("unoxml_unittest_test.ini")).pData,
-+ &aIniUrl.pData ) == osl_File_E_None );
-+
-+ mxCtx = ::cppu::defaultBootstrap_InitialComponentContext(aIniUrl);
-+ CPPUNIT_ASSERT_MESSAGE("Getting component context", mxCtx.is());
-+ }
-+ catch( uno::Exception& )
-+ {
-+ CPPUNIT_ASSERT_MESSAGE("Bootstrapping UNO", false);
-+ }
-+
-+ mbUnoInitialized = true;
-+ }
-+
-+ mxErrHandler.set( new ErrorHandler() );
-+ mxDomBuilder.set( new CDocumentBuilder(
-+ uno::Reference< lang::XMultiServiceFactory >(
-+ mxCtx->getServiceManager(),
-+ uno::UNO_QUERY )));
-+ mxInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)validTestFile,
-+ sizeof(validTestFile)/sizeof(*validTestFile))) );
-+ mxDomBuilder->setErrorHandler(mxErrHandler.get());
-+
-+ mxHandler.set( new DocumentHandler() );
-+ mxTokHandler.set( new TokenHandler() );
-+
-+ maRegisteredNamespaces.realloc(2);
-+ maRegisteredNamespaces[0] = beans::make_Pair(
-+ rtl::OUString(
-+ RTL_CONSTASCII_USTRINGPARAM(
-+ "urn:oasis:names:tc:opendocument:xmlns:office:1.0") ),
-+ xml::sax::FastToken::NAMESPACE);
-+ maRegisteredNamespaces[1] = beans::make_Pair(
-+ rtl::OUString(
-+ RTL_CONSTASCII_USTRINGPARAM(
-+ "http://www.w3.org/1999/xlink") ),
-+ 2*xml::sax::FastToken::NAMESPACE);
-+ }
-+
-+ void serializerTest ()
-+ {
-+ uno::Reference< xml::dom::XDocument > xDoc=
-+ mxDomBuilder->parse(
-+ uno::Reference<io::XInputStream>(
-+ mxInStream.get()));
-+ CPPUNIT_ASSERT_MESSAGE( "Valid input file did not result in XDocument",
-+ xDoc.is() );
-+ CPPUNIT_ASSERT_MESSAGE( "Valid input file resulted in parse errors",
-+ mxErrHandler->noErrors() );
-+
-+ uno::Reference< xml::sax::XSAXSerializable > xSaxSerializer(
-+ xDoc, uno::UNO_QUERY);
-+ CPPUNIT_ASSERT_MESSAGE( "XSAXSerializable not supported",
-+ xSaxSerializer.is() );
-+
-+ uno::Reference< xml::sax::XFastSAXSerializable > xFastSaxSerializer(
-+ xDoc, uno::UNO_QUERY);
-+ CPPUNIT_ASSERT_MESSAGE( "XFastSAXSerializable not supported",
-+ xSaxSerializer.is() );
-+
-+ xFastSaxSerializer->fastSerialize( mxHandler.get(),
-+ mxTokHandler.get(),
-+ uno::Sequence< beans::StringPair >(),
-+ maRegisteredNamespaces );
-+ }
-+
-+ // Change the following lines only, if you add, remove or rename
-+ // member functions of the current class,
-+ // because these macros are need by auto register mechanism.
-+
-+ CPPUNIT_TEST_SUITE(SerializerTest);
-+ CPPUNIT_TEST(serializerTest);
-+ CPPUNIT_TEST_SUITE_END();
-+};
-+
-+// -----------------------------------------------------------------------------
-+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(BasicTest, "BasicTest");
-+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(SerializerTest, "SerializerTest");
-+}
-+
-+
-+// -----------------------------------------------------------------------------
-+
-+// this macro creates an empty function, which will called by the RegisterAllFunctions()
-+// to let the user the possibility to also register some functions by hand.
-+NOADDITIONAL;
-+
-diff --git unoxml/test/export.map unoxml/test/export.map
-new file mode 100644
-index 0000000..0bc81ba
---- /dev/null
-+++ unoxml/test/export.map
-@@ -0,0 +1,38 @@
-+#*************************************************************************
-+#
-+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+#
-+# Copyright 2008 by Sun Microsystems, Inc.
-+#
-+# OpenOffice.org - a multi-platform office productivity suite
-+#
-+# $RCSfile: export.map,v $
-+#
-+# $Revision: 1.2 $
-+#
-+# This file is part of OpenOffice.org.
-+#
-+# OpenOffice.org is free software: you can redistribute it and/or modify
-+# it under the terms of the GNU Lesser General Public License version 3
-+# only, as published by the Free Software Foundation.
-+#
-+# OpenOffice.org is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU Lesser General Public License version 3 for more details
-+# (a copy is included in the LICENSE file that accompanied this code).
-+#
-+# You should have received a copy of the GNU Lesser General Public License
-+# version 3 along with OpenOffice.org. If not, see
-+# <http://www.openoffice.org/license.html>
-+# for a copy of the LGPLv3 License.
-+#
-+#*************************************************************************
-+
-+UDK_3.1 {
-+ global:
-+ registerAllTestFunction;
-+
-+ local:
-+ *;
-+};
-diff --git unoxml/test/makefile.mk unoxml/test/makefile.mk
-new file mode 100644
-index 0000000..2c1c784
---- /dev/null
-+++ unoxml/test/makefile.mk
-@@ -0,0 +1,106 @@
-+#*************************************************************************
-+#
-+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+#
-+# Copyright 2008 by Sun Microsystems, Inc.
-+#
-+# OpenOffice.org - a multi-platform office productivity suite
-+#
-+# $RCSfile: makefile.mk,v $
-+#
-+# $Revision: 1.9 $
-+#
-+# This file is part of OpenOffice.org.
-+#
-+# OpenOffice.org is free software: you can redistribute it and/or modify
-+# it under the terms of the GNU Lesser General Public License version 3
-+# only, as published by the Free Software Foundation.
-+#
-+# OpenOffice.org is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU Lesser General Public License version 3 for more details
-+# (a copy is included in the LICENSE file that accompanied this code).
-+#
-+# You should have received a copy of the GNU Lesser General Public License
-+# version 3 along with OpenOffice.org. If not, see
-+# <http://www.openoffice.org/license.html>
-+# for a copy of the LGPLv3 License.
-+#
-+#*************************************************************************
-+
-+PRJ=..
-+
-+PRJNAME=unoxml
-+TARGET=tests
-+TARGETTYPE=GUI
-+
-+ENABLE_EXCEPTIONS=TRUE
-+
-+# --- Settings -----------------------------------------------------
-+
-+.INCLUDE : settings.mk
-+
-+# --- Common ----------------------------------------------------------
-+
-+# BEGIN ----------------------------------------------------------------
-+# auto generated Target:tests by codegen.pl
-+SHL1OBJS= \
-+ $(SLO)$/domtest.obj
-+
-+# the following three libs are a bit of a hack: cannot link against
-+# unoxml here, because not yet delivered (and does not export
-+# ~anything). Need the functionality to test, so we're linking it in
-+# statically. Need to keep this in sync with
-+# source/services/makefile.mk
-+SHL1LIBS= \
-+ $(SLB)$/domimpl.lib \
-+ $(SLB)$/xpathimpl.lib \
-+ $(SLB)$/eventsimpl.lib
-+
-+SHL1TARGET= tests
-+SHL1STDLIBS= \
-+ $(UCBHELPERLIB) \
-+ $(LIBXML2LIB) \
-+ $(TOOLSLIB) \
-+ $(COMPHELPERLIB) \
-+ $(CPPUHELPERLIB) \
-+ $(CPPUNITLIB) \
-+ $(CPPULIB) \
-+ $(SAXLIB) \
-+ $(SALLIB)\
-+ $(EXPATASCII3RDLIB)
-+
-+SHL1IMPLIB= i$(SHL1TARGET)
-+
-+DEF1NAME =$(SHL1TARGET)
-+SHL1VERSIONMAP = export.map
-+
-+# END ------------------------------------------------------------------
-+
-+#------------------------------- All object files -------------------------------
-+# do this here, so we get right dependencies
-+SLOFILES=$(SHL1OBJS)
-+
-+# --- Targets ------------------------------------------------------
-+
-+.INCLUDE : target.mk
-+.INCLUDE : _cppunit.mk
-+
-+# --- Fake uno bootstrap ------------------------
-+
-+$(BIN)$/unoxml_unittest_test.ini : makefile.mk
-+ rm -f $@
-+ @echo UNO_SERVICES= > $@
-+ @echo UNO_TYPES=$(UNOUCRRDB:s/\/\\/) >> $@
-+
-+# --- Enable testshl2 execution in normal build ------------------------
-+
-+$(MISC)$/unoxml_unittest_succeeded : $(SHL1TARGETN) $(BIN)$/unoxml_unittest_test.ini
-+ @echo ----------------------------------------------------------
-+ @echo - start unit test on library $(SHL1TARGETN)
-+ @echo ----------------------------------------------------------
-+ testshl2 -forward $(BIN)$/ -sf $(mktmp ) $(SHL1TARGETN)
-+ $(TOUCH) $@
-+
-+ALLTAR : $(MISC)$/unoxml_unittest_succeeded
More information about the ooo-build-commit
mailing list