diff options
author | Daniel Rentz <dr@openoffice.org> | 2010-05-21 10:11:51 +0200 |
---|---|---|
committer | Daniel Rentz <dr@openoffice.org> | 2010-05-21 10:11:51 +0200 |
commit | 83354fbd6ef66db25643b1fe9ab30c45550a5a58 (patch) | |
tree | e021ca5ac912470a94bfdb5f937dc19bf3d3a351 | |
parent | 7e6001c1c2604a31a6c49ec719c5d5ec472de6d2 (diff) | |
parent | 2cf0552a4e23299562309d8dbe0c9ba00318eb2b (diff) |
npower13_objectmodules: rebase and merge with DEV300_m78
264 files changed, 18366 insertions, 16981 deletions
diff --git a/filter/qa/complex/filter/detection/typeDetection/makefile.mk b/filter/qa/complex/filter/detection/typeDetection/makefile.mk index bbc25efa3c29..942c40372de4 100644 --- a/filter/qa/complex/filter/detection/typeDetection/makefile.mk +++ b/filter/qa/complex/filter/detection/typeDetection/makefile.mk @@ -81,10 +81,6 @@ CT_APP = org.openoffice.Runner $(CLASSDIR)$/$(PACKAGE)$/files.csv : ALLDEP .ENDIF - -TST: - @echo "$(USE_SHELL)" - .INCLUDE : target.mk $(CLASSDIR)$/$(PACKAGE)$/preselectedFilter.csv : preselectedFilter.csv @@ -109,16 +105,9 @@ $(CLASSDIR)$/$(PACKAGE)$/TypeDetection.props : TypeDetection.props # --- chmod -------------------------------------------------------- -.IF "$(USE_SHELL)" != "4nt" CHMOD : chmod 444 $(CLASSDIR)$/$(PACKAGE)$/*.csv chmod 666 $(CLASSDIR)$/$(PACKAGE)$/*.props -.ELSE -CHMOD : - echo erstmanix -.ENDIF - - RUN: run diff --git a/filter/source/config/cache/exports.map b/filter/source/config/cache/exports.map deleted file mode 100644 index 85610ad80888..000000000000 --- a/filter/source/config/cache/exports.map +++ /dev/null @@ -1,10 +0,0 @@ -UDK_3_0_0 { - global: - GetVersionInfo; - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -}; diff --git a/filter/source/config/cache/lateinitlistener.cxx b/filter/source/config/cache/lateinitlistener.cxx index feaf7f645efc..b9b090025227 100644 --- a/filter/source/config/cache/lateinitlistener.cxx +++ b/filter/source/config/cache/lateinitlistener.cxx @@ -56,7 +56,7 @@ LateInitListener::LateInitListener(const css::uno::Reference< css::lang::XMultiS // important to do so ... // Otherwhise the temp. reference to ourselves // will kill us at realeasing time! - ++m_refCount; + osl_incrementInterlockedCount( &m_refCount ); m_xBroadcaster = css::uno::Reference< css::document::XEventBroadcaster >( m_xSMGR->createInstance(::rtl::OUString::createFromAscii("com.sun.star.frame.GlobalEventBroadcaster")), @@ -64,7 +64,7 @@ LateInitListener::LateInitListener(const css::uno::Reference< css::lang::XMultiS m_xBroadcaster->addEventListener(static_cast< css::document::XEventListener* >(this)); - --m_refCount; + osl_decrementInterlockedCount( &m_refCount ); } /*----------------------------------------------- @@ -92,6 +92,16 @@ void SAL_CALL LateInitListener::notifyEvent(const css::document::EventObject& aE // SAFE -> ::osl::ResettableMutexGuard aLock(m_aLock); + if ( !m_xBroadcaster.is() ) + // the beauty of multi-threading ... OnLoad can be notified synchronously or asynchronously. In particular, + // SFX-based documents notify it synchronously, database documents do it asynchronously. + // Now if multiple documents are opened "at the same time", it is well possible that we get two events from + // different threads, where upon the first event, we already remove ourself from m_xBroadcaster, and start + // the thread, nonetheless there's also a second notification "in the queue", which will arrive short + // thereafter. + // In such a case, simply ignore this second event. + return; + m_xBroadcaster->removeEventListener(static_cast< css::document::XEventListener* >(this)); m_xBroadcaster.clear(); diff --git a/filter/source/config/cache/makefile.mk b/filter/source/config/cache/makefile.mk index 62eb4353fcf3..fbc4806b0a32 100644 --- a/filter/source/config/cache/makefile.mk +++ b/filter/source/config/cache/makefile.mk @@ -72,7 +72,7 @@ DEF1NAME= $(SHL1TARGET) SHL1DEF= $(MISC)$/$(SHL1TARGET).def SHL1DEPN= SHL1IMPLIB= i$(SHL1TARGET) -SHL1VERSIONMAP= exports.map +SHL1VERSIONMAP= $(SOLARENV)/src/component.map # --- Targets ---------------------------------- diff --git a/filter/source/config/fragments/filters/HTML__StarCalc_.xcu b/filter/source/config/fragments/filters/HTML__StarCalc_.xcu index f691055e00cf..01d88c818c09 100644 --- a/filter/source/config/fragments/filters/HTML__StarCalc_.xcu +++ b/filter/source/config/fragments/filters/HTML__StarCalc_.xcu @@ -1,6 +1,6 @@ <node oor:name="HTML (StarCalc)" oor:op="replace"> - <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN</value></prop> - <prop oor:name="UIComponent"/> + <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN USEOPTIONS</value></prop> + <prop oor:name="UIComponent"><value>com.sun.star.comp.Calc.FilterOptionsDialog</value></prop> <prop oor:name="FilterService"/> <prop oor:name="UserData"><value></value></prop> <prop oor:name="FileFormatVersion"><value>0</value></prop> diff --git a/filter/source/config/fragments/filters/calc_HTML_WebQuery.xcu b/filter/source/config/fragments/filters/calc_HTML_WebQuery.xcu index 1a3aa01e5717..8808adc140a1 100644 --- a/filter/source/config/fragments/filters/calc_HTML_WebQuery.xcu +++ b/filter/source/config/fragments/filters/calc_HTML_WebQuery.xcu @@ -1,6 +1,6 @@ <node oor:name="calc_HTML_WebQuery" oor:op="replace"> - <prop oor:name="Flags"><value>IMPORT ALIEN</value></prop> - <prop oor:name="UIComponent"/> + <prop oor:name="Flags"><value>IMPORT ALIEN USEOPTIONS</value></prop> + <prop oor:name="UIComponent"><value>com.sun.star.comp.Calc.FilterOptionsDialog</value></prop> <prop oor:name="FilterService"/> <prop oor:name="UserData"><value></value></prop> <prop oor:name="FileFormatVersion"><value>0</value></prop> diff --git a/filter/source/config/fragments/filters/writerglobal8_writer.xcu b/filter/source/config/fragments/filters/writerglobal8_writer.xcu index cd19313777df..f61bbeeea958 100644 --- a/filter/source/config/fragments/filters/writerglobal8_writer.xcu +++ b/filter/source/config/fragments/filters/writerglobal8_writer.xcu @@ -1,5 +1,5 @@ <node oor:name="writerglobal8_writer" oor:op="replace"> - <prop oor:name="Flags"><value>EXPORT TEMPLATE</value></prop> + <prop oor:name="Flags"><value>EXPORT TEMPLATE DEFAULT</value></prop> <prop oor:name="UIComponent"/> <prop oor:name="FilterService"/> <prop oor:name="UserData"><value>CXML</value></prop> diff --git a/filter/source/config/fragments/makefile.mk b/filter/source/config/fragments/makefile.mk index 71bd6ca2b6e6..d827b3496359 100644 --- a/filter/source/config/fragments/makefile.mk +++ b/filter/source/config/fragments/makefile.mk @@ -187,7 +187,7 @@ MERGE:=python ../tools/merge/pyAltFCFGMerge MERGE:=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/python ../tools/merge/pyAltFCFGMerge .ENDIF .ELSE -MERGE := $(JAVAI) -jar $(SOLARBINDIR)$/FCFGMerge.jar +MERGE := $(JAVAI) $(JAVAIFLAGS) -jar $(SOLARBINDIR)$/FCFGMerge.jar .ENDIF PACKLANG := $(XSLTPROC) --nonet diff --git a/filter/source/flash/exports.map b/filter/source/flash/exports.map deleted file mode 100644 index ebfdcf95c118..000000000000 --- a/filter/source/flash/exports.map +++ /dev/null @@ -1,9 +0,0 @@ -FLASH_1_0 { - global: - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -}; diff --git a/filter/source/flash/makefile.mk b/filter/source/flash/makefile.mk index 171f7901cbaa..e5ff1bf21c5e 100644 --- a/filter/source/flash/makefile.mk +++ b/filter/source/flash/makefile.mk @@ -86,7 +86,7 @@ SHL1STDLIBS+=\ SHL1DEPN= SHL1IMPLIB= i$(SHL1TARGET) -SHL1VERSIONMAP=exports.map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map SHL1LIBS= $(SLB)$/$(TARGET).lib SHL1DEF= $(MISC)$/$(SHL1TARGET).def diff --git a/filter/source/graphicfilter/egif/exports.map b/filter/source/graphicfilter/egif/exports.map index 10820132c0ce..61e4682c6551 100644 --- a/filter/source/graphicfilter/egif/exports.map +++ b/filter/source/graphicfilter/egif/exports.map @@ -1,4 +1,4 @@ -GIFEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; DoExportDialog; diff --git a/filter/source/graphicfilter/eos2met/exports.map b/filter/source/graphicfilter/eos2met/exports.map index ce76d3850094..61e4682c6551 100644 --- a/filter/source/graphicfilter/eos2met/exports.map +++ b/filter/source/graphicfilter/eos2met/exports.map @@ -1,4 +1,4 @@ -METEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; DoExportDialog; diff --git a/filter/source/graphicfilter/epbm/exports.map b/filter/source/graphicfilter/epbm/exports.map index 2d09b0bdb752..61e4682c6551 100644 --- a/filter/source/graphicfilter/epbm/exports.map +++ b/filter/source/graphicfilter/epbm/exports.map @@ -1,4 +1,4 @@ -PBMEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; DoExportDialog; diff --git a/filter/source/graphicfilter/epgm/exports.map b/filter/source/graphicfilter/epgm/exports.map index 3967c4684f05..61e4682c6551 100644 --- a/filter/source/graphicfilter/epgm/exports.map +++ b/filter/source/graphicfilter/epgm/exports.map @@ -1,4 +1,4 @@ -PGMEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; DoExportDialog; diff --git a/filter/source/graphicfilter/epict/exports.map b/filter/source/graphicfilter/epict/exports.map index 2f21c5c04b53..61e4682c6551 100644 --- a/filter/source/graphicfilter/epict/exports.map +++ b/filter/source/graphicfilter/epict/exports.map @@ -1,4 +1,4 @@ -PICTEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; DoExportDialog; diff --git a/filter/source/graphicfilter/eppm/exports.map b/filter/source/graphicfilter/eppm/exports.map index 0462b75b7b43..61e4682c6551 100644 --- a/filter/source/graphicfilter/eppm/exports.map +++ b/filter/source/graphicfilter/eppm/exports.map @@ -1,4 +1,4 @@ -PPMEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; DoExportDialog; diff --git a/filter/source/graphicfilter/eps/exports.map b/filter/source/graphicfilter/eps/exports.map index 1b61354c2869..61e4682c6551 100644 --- a/filter/source/graphicfilter/eps/exports.map +++ b/filter/source/graphicfilter/eps/exports.map @@ -1,4 +1,4 @@ -EPSEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; DoExportDialog; diff --git a/filter/source/graphicfilter/eras/exports.map b/filter/source/graphicfilter/eras/exports.map index 4a78a96ee951..d4e28c44700c 100644 --- a/filter/source/graphicfilter/eras/exports.map +++ b/filter/source/graphicfilter/eras/exports.map @@ -1,4 +1,4 @@ -RASEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; diff --git a/filter/source/graphicfilter/etiff/exports.map b/filter/source/graphicfilter/etiff/exports.map index 094e72c0f5fb..d4e28c44700c 100644 --- a/filter/source/graphicfilter/etiff/exports.map +++ b/filter/source/graphicfilter/etiff/exports.map @@ -1,4 +1,4 @@ -TIFEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; diff --git a/filter/source/graphicfilter/expm/exports.map b/filter/source/graphicfilter/expm/exports.map index f1f42312c802..d4e28c44700c 100644 --- a/filter/source/graphicfilter/expm/exports.map +++ b/filter/source/graphicfilter/expm/exports.map @@ -1,4 +1,4 @@ -XPMEXPORTER_1_0 { +UDK_3_0_0 { global: GraphicExport; diff --git a/filter/source/graphicfilter/icgm/exports.map b/filter/source/graphicfilter/icgm/exports.map index eaa1db885d5e..cc7f07dd1112 100644 --- a/filter/source/graphicfilter/icgm/exports.map +++ b/filter/source/graphicfilter/icgm/exports.map @@ -1,4 +1,4 @@ -CGMIMPORTER_1_0 { +UDK_3_0_0 { global: ImportCGM; diff --git a/filter/source/graphicfilter/idxf/exports.map b/filter/source/graphicfilter/idxf/exports.map index d107435568e5..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/idxf/exports.map +++ b/filter/source/graphicfilter/idxf/exports.map @@ -1,4 +1,4 @@ -DXFIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/ieps/exports.map b/filter/source/graphicfilter/ieps/exports.map index 59406d7255ef..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/ieps/exports.map +++ b/filter/source/graphicfilter/ieps/exports.map @@ -1,4 +1,4 @@ -EPSIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/ios2met/exports.map b/filter/source/graphicfilter/ios2met/exports.map index 440afa9245d8..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/ios2met/exports.map +++ b/filter/source/graphicfilter/ios2met/exports.map @@ -1,4 +1,4 @@ -METIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/ipbm/exports.map b/filter/source/graphicfilter/ipbm/exports.map index 0e2a1bcdec9d..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/ipbm/exports.map +++ b/filter/source/graphicfilter/ipbm/exports.map @@ -1,4 +1,4 @@ -PBMIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/ipcd/exports.map b/filter/source/graphicfilter/ipcd/exports.map index a0719af28be2..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/ipcd/exports.map +++ b/filter/source/graphicfilter/ipcd/exports.map @@ -1,4 +1,4 @@ -PCDIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/ipcx/exports.map b/filter/source/graphicfilter/ipcx/exports.map index d44f79111a96..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/ipcx/exports.map +++ b/filter/source/graphicfilter/ipcx/exports.map @@ -1,4 +1,4 @@ -PCXIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/ipict/exports.map b/filter/source/graphicfilter/ipict/exports.map index 2576cecdca91..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/ipict/exports.map +++ b/filter/source/graphicfilter/ipict/exports.map @@ -1,4 +1,4 @@ -PICTIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/ipsd/exports.map b/filter/source/graphicfilter/ipsd/exports.map index b2cda91bec78..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/ipsd/exports.map +++ b/filter/source/graphicfilter/ipsd/exports.map @@ -1,4 +1,4 @@ -PSDIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/iras/exports.map b/filter/source/graphicfilter/iras/exports.map index ebd8464837fa..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/iras/exports.map +++ b/filter/source/graphicfilter/iras/exports.map @@ -1,4 +1,4 @@ -RASIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/itga/exports.map b/filter/source/graphicfilter/itga/exports.map index cb127f330e5d..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/itga/exports.map +++ b/filter/source/graphicfilter/itga/exports.map @@ -1,4 +1,4 @@ -TGAIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/graphicfilter/itiff/exports.map b/filter/source/graphicfilter/itiff/exports.map index 983df223406e..941e4ab9bde8 100644 --- a/filter/source/graphicfilter/itiff/exports.map +++ b/filter/source/graphicfilter/itiff/exports.map @@ -1,4 +1,4 @@ -TIFIMPORTER_1_0 { +UDK_3_0_0 { global: GraphicImport; diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 28e8696a89dd..c96dab01c9c1 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -5374,6 +5374,7 @@ SdrObject* SvxMSDffManager::ImportShape( const DffRecordHeader& rHd, SvStream& r ((SdrEdgeObj*)pRet)->SetEdgeTrackPath( aPoly ); } + pRet->SetMergedItemSet( aSet ); } } diff --git a/filter/source/msfilter/msocximex.cxx b/filter/source/msfilter/msocximex.cxx index e434da1fbfb3..82663cdf2523 100644 --- a/filter/source/msfilter/msocximex.cxx +++ b/filter/source/msfilter/msocximex.cxx @@ -2323,8 +2323,8 @@ sal_Bool OCX_ToggleButton::Import(com::sun::star::uno::Reference< if (pValue) { INT16 nTmp=pValue[0]-0x30; - aTmp <<= nTmp; - rPropSet->setPropertyValue( WW8_ASCII2STR("State"), aTmp); + aTmp <<= nTmp == 1; + rPropSet->setPropertyValue( WW8_ASCII2STR("DefaultState"), aTmp); } if (pCaption) @@ -2444,9 +2444,9 @@ sal_Bool OCX_ToggleButton::WriteContents(SvStorageStreamRef &rContents, WriteAlign(rContents,4); nValueLen = 1|SVX_MSOCX_COMPRESSED; - aTmp = rPropSet->getPropertyValue(WW8_ASCII2STR("State")); - sal_Int16 nDefault = sal_Int16(); - aTmp >>= nDefault; + bool bDefault = false; + rPropSet->getPropertyValue(WW8_ASCII2STR("DefaultState")) >>= bDefault; + sal_uInt8 nDefault = static_cast< sal_uInt8 >( bDefault ? '1' : '0' ); *rContents << nValueLen; pBlockFlags[2] |= 0x40; @@ -2459,8 +2459,7 @@ sal_Bool OCX_ToggleButton::WriteContents(SvStorageStreamRef &rContents, *rContents << rSize.Width; *rContents << rSize.Height; - nDefault += 0x30; - *rContents << sal_uInt8(nDefault); + *rContents << nDefault; *rContents << sal_uInt8(0x00); aCaption.WriteCharArray( *rContents ); diff --git a/filter/source/msfilter/powerpoint/exports.map b/filter/source/msfilter/powerpoint/exports.map deleted file mode 100644 index a7e1e75c930a..000000000000 --- a/filter/source/msfilter/powerpoint/exports.map +++ /dev/null @@ -1,9 +0,0 @@ -PPTIMPORTER_1_0 { - global: - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -};
\ No newline at end of file diff --git a/filter/source/msfilter/powerpoint/makefile.mk b/filter/source/msfilter/powerpoint/makefile.mk index 5857bcb83e36..0ad3d4202f1f 100644 --- a/filter/source/msfilter/powerpoint/makefile.mk +++ b/filter/source/msfilter/powerpoint/makefile.mk @@ -54,7 +54,7 @@ SHL1STDLIBS=\ SHL1DEPN= SHL1IMPLIB= i$(SHL1TARGET) SHL1LIBS= $(SLB)$/$(TARGET).lib -SHL1VERSIONMAP=exports.map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map SHL1DEF= $(MISC)$/$(SHL1TARGET).def DEF1NAME=$(SHL1TARGET) diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index 848bc60b4203..8d8e48832dc9 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -3127,10 +3127,12 @@ void SdrPowerPointImport::ImportPage( SdrPage* pRet, const PptSlidePersistEntry* } if ( rSlidePersist.pBObj ) { - if ( rSlidePersist.bBObjIsTemporary ) - SdrObject::Free( rSlidePersist.pBObj ); - else - pRet->SetBackgroundObj( rSlidePersist.pBObj ); + // #i99386# transfer the attributes from the temporary BackgroundObject + // to the Page and delete it. Maybe rSlidePersist.bBObjIsTemporary is + // obsolete here, too. + pRet->getSdrPageProperties().ClearItem(); + pRet->getSdrPageProperties().PutItemSet(rSlidePersist.pBObj->GetMergedItemSet()); + SdrObject::Free( rSlidePersist.pBObj ); } } } diff --git a/filter/source/pdf/exports.map b/filter/source/pdf/exports.map deleted file mode 100644 index c673092ae700..000000000000 --- a/filter/source/pdf/exports.map +++ /dev/null @@ -1,9 +0,0 @@ -PDFFILTER_1_0 { - global: - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -};
\ No newline at end of file diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx index 68c449dd7353..bb125bd37a47 100644 --- a/filter/source/pdf/impdialog.cxx +++ b/filter/source/pdf/impdialog.cxx @@ -86,6 +86,8 @@ ImpPDFTabDialog::ImpPDFTabDialog( Window* pParent, mbExportNotesPages( sal_False ), mbUseTransitionEffects( sal_False ), mbIsSkipEmptyPages( sal_True ), + mbAddStream( sal_False ), + mbEmbedStandardFonts( sal_False ), mnFormsType( 0 ), mbExportFormFields( sal_True ), mbAllowDuplicateFieldNames( sal_False ), @@ -195,6 +197,7 @@ ImpPDFTabDialog::ImpPDFTabDialog( Window* pParent, mbUseTransitionEffects = maConfigItem.ReadBool( OUString( RTL_CONSTASCII_USTRINGPARAM( "UseTransitionEffects" ) ), sal_True ); mbIsSkipEmptyPages = maConfigItem.ReadBool( OUString( RTL_CONSTASCII_USTRINGPARAM( "IsSkipEmptyPages" ) ), sal_False ); mbAddStream = maConfigItem.ReadBool( String( RTL_CONSTASCII_USTRINGPARAM( "IsAddStream" ) ), sal_False ); + mbEmbedStandardFonts = maConfigItem.ReadBool( String( RTL_CONSTASCII_USTRINGPARAM( "EmbedStandardFonts" ) ), sal_False ); mnFormsType = maConfigItem.ReadInt32( OUString( RTL_CONSTASCII_USTRINGPARAM( "FormsType" ) ), 0 ); mbExportFormFields = maConfigItem.ReadBool( OUString( RTL_CONSTASCII_USTRINGPARAM( "ExportFormFields" ) ), sal_True ); @@ -332,6 +335,7 @@ Sequence< PropertyValue > ImpPDFTabDialog::GetFilterData() maConfigItem.WriteBool( OUString( RTL_CONSTASCII_USTRINGPARAM( "UseTransitionEffects" ) ), mbUseTransitionEffects ); maConfigItem.WriteBool( OUString( RTL_CONSTASCII_USTRINGPARAM( "IsSkipEmptyPages" ) ), mbIsSkipEmptyPages ); maConfigItem.WriteBool( OUString( RTL_CONSTASCII_USTRINGPARAM( "IsAddStream" ) ), mbAddStream ); + maConfigItem.WriteBool( OUString( RTL_CONSTASCII_USTRINGPARAM( "EmbedStandardFonts" ) ), mbEmbedStandardFonts ); /* * FIXME: the entries are only implicitly defined by the resource file. Should there @@ -435,6 +439,7 @@ ImpPDFTabGeneralPage::ImpPDFTabGeneralPage( Window* pParent, maCbExportFormFields( this, PDFFilterResId( CB_EXPORTFORMFIELDS ) ), mbExportFormFieldsUserSelection( sal_False ), + mbEmbedStandardFontsUserSelection( sal_False ), maFtFormsFormat( this, PDFFilterResId( FT_FORMSFORMAT ) ), maLbFormsFormat( this, PDFFilterResId( LB_FORMSFORMAT ) ), maCbAllowDuplicateFieldNames( this, PDFFilterResId( CB_ALLOWDUPLICATEFIELDNAMES ) ), @@ -444,6 +449,7 @@ ImpPDFTabGeneralPage::ImpPDFTabGeneralPage( Window* pParent, maCbExportNotesPages( this, PDFFilterResId( CB_EXPORTNOTESPAGES ) ), maCbExportEmptyPages( this, PDFFilterResId( CB_EXPORTEMPTYPAGES ) ), maCbAddStream( this, PDFFilterResId( CB_ADDSTREAM ) ), + maCbEmbedStandardFonts( this, PDFFilterResId( CB_EMBEDSTANDARDFONTS ) ), mbIsPresentation( sal_False ), mbIsWriter( sal_False), mpaParent( 0 ) @@ -461,7 +467,11 @@ ImpPDFTabGeneralPage::ImpPDFTabGeneralPage( Window* pParent, Point aNewPos = maCbAddStream.GetPosPixel(); aNewPos.Y() -= nDelta; maCbAddStream.SetPosPixel( aNewPos ); + aNewPos = maCbEmbedStandardFonts.GetPosPixel(); + aNewPos.Y() -= nDelta; + maCbEmbedStandardFonts.SetPosPixel( aNewPos ); } + maCbExportEmptyPages.SetStyle( maCbExportEmptyPages.GetStyle() | WB_VCENTER ); } // ----------------------------------------------------------------------------- @@ -524,11 +534,13 @@ void ImpPDFTabGeneralPage::SetFilterConfigItem( const ImpPDFTabDialog* paParent // get the form values, for use with PDF/A-1 selection interface mbTaggedPDFUserSelection = paParent->mbUseTaggedPDF; mbExportFormFieldsUserSelection = paParent->mbExportFormFields; + mbEmbedStandardFontsUserSelection = paParent->mbEmbedStandardFonts; if( !maCbPDFA1b.IsChecked() ) {// the value for PDF/A set by the ToggleExportPDFAHdl method called before maCbTaggedPDF.Check( mbTaggedPDFUserSelection ); maCbExportFormFields.Check( mbExportFormFieldsUserSelection ); + maCbEmbedStandardFonts.Check( mbEmbedStandardFontsUserSelection ); } maLbFormsFormat.SelectEntryPos( (sal_uInt16)paParent->mnFormsType ); @@ -554,6 +566,8 @@ void ImpPDFTabGeneralPage::SetFilterConfigItem( const ImpPDFTabDialog* paParent maCbExportEmptyPages.SetPosPixel( Point( aPos.X(), aPos.Y() - nCheckBoxHeight ) ); aPos = maCbAddStream.GetPosPixel(); maCbAddStream.SetPosPixel( Point( aPos.X(), aPos.Y() - nCheckBoxHeight ) ); + aPos = maCbEmbedStandardFonts.GetPosPixel(); + maCbEmbedStandardFonts.SetPosPixel( Point( aPos.X(), aPos.Y() - nCheckBoxHeight ) ); maCbExportNotesPages.Show( FALSE ); maCbExportNotesPages.Check( FALSE ); } @@ -614,11 +628,13 @@ void ImpPDFTabGeneralPage::GetFilterConfigItem( ImpPDFTabDialog* paParent ) paParent->mnPDFTypeSelection = 1; paParent->mbUseTaggedPDF = mbTaggedPDFUserSelection; paParent->mbExportFormFields = mbExportFormFieldsUserSelection; + paParent->mbEmbedStandardFonts = mbEmbedStandardFontsUserSelection; } else { paParent->mbUseTaggedPDF = maCbTaggedPDF.IsChecked(); paParent->mbExportFormFields = maCbExportFormFields.IsChecked(); + paParent->mbEmbedStandardFonts = maCbEmbedStandardFonts.IsChecked(); } /* @@ -711,6 +727,9 @@ IMPL_LINK( ImpPDFTabGeneralPage, ToggleExportPDFAHdl, void*, EMPTYARG ) mbExportFormFieldsUserSelection = maCbExportFormFields.IsChecked(); maCbExportFormFields.Check( sal_False ); maCbExportFormFields.Enable( sal_False ); + mbEmbedStandardFontsUserSelection = maCbEmbedStandardFonts.IsChecked(); + maCbEmbedStandardFonts.Check( sal_True ); + maCbEmbedStandardFonts.Enable( sal_False ); } else { @@ -719,6 +738,8 @@ IMPL_LINK( ImpPDFTabGeneralPage, ToggleExportPDFAHdl, void*, EMPTYARG ) maCbTaggedPDF.Check( mbTaggedPDFUserSelection ); maCbExportFormFields.Check( mbExportFormFieldsUserSelection ); maCbExportFormFields.Enable(); + maCbEmbedStandardFonts.Check( mbEmbedStandardFontsUserSelection ); + maCbEmbedStandardFonts.Enable(); } // PDF/A-1 doesn't allow launch action, so enable/disable the selection on // Link page diff --git a/filter/source/pdf/impdialog.hrc b/filter/source/pdf/impdialog.hrc index 6a010120e3bd..cc438255650f 100644 --- a/filter/source/pdf/impdialog.hrc +++ b/filter/source/pdf/impdialog.hrc @@ -83,9 +83,9 @@ #define CB_ALLOWDUPLICATEFIELDNAMES 23 #define CB_EXPORTEMPTYPAGES 24 #define CB_ADDSTREAM 25 - #define CB_PDFA_1B_SELECT 26 #define CB_EXPORTNOTESPAGES 27 +#define CB_EMBEDSTANDARDFONTS 28 #define FL_OLD_PAGES 51 #define RB_OLD_ALL 52 diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx index 050aeee4caf5..38da273c2fbd 100644 --- a/filter/source/pdf/impdialog.hxx +++ b/filter/source/pdf/impdialog.hxx @@ -103,6 +103,7 @@ protected: sal_Bool mbUseTransitionEffects; sal_Bool mbIsSkipEmptyPages; sal_Bool mbAddStream; + sal_Bool mbEmbedStandardFonts; sal_Int32 mnFormsType; sal_Bool mbExportFormFields; sal_Bool mbAllowDuplicateFieldNames; @@ -193,6 +194,7 @@ class ImpPDFTabGeneralPage : public SfxTabPage CheckBox maCbExportFormFields; sal_Bool mbExportFormFieldsUserSelection; + sal_Bool mbEmbedStandardFontsUserSelection; FixedText maFtFormsFormat; ListBox maLbFormsFormat; CheckBox maCbAllowDuplicateFieldNames; @@ -203,6 +205,7 @@ class ImpPDFTabGeneralPage : public SfxTabPage CheckBox maCbExportEmptyPages; CheckBox maCbAddStream; + CheckBox maCbEmbedStandardFonts; sal_Bool mbIsPresentation; sal_Bool mbIsWriter; diff --git a/filter/source/pdf/impdialog.src b/filter/source/pdf/impdialog.src index 34f788495674..76e64e87c173 100644 --- a/filter/source/pdf/impdialog.src +++ b/filter/source/pdf/impdialog.src @@ -27,7 +27,7 @@ #include "impdialog.hrc" -#define TAB_PDF_SIZE Size = MAP_APPFONT ( 176, 255 ) +#define TAB_PDF_SIZE Size = MAP_APPFONT ( 176, 268 ) //string for TabDialog standard buttons String STR_PDF_EXPORT { @@ -229,11 +229,18 @@ TabPage RID_PDF_TAB_GENER WordBreak = TRUE ; Text[ en-US ] = "Exp~ort automatically inserted blank pages"; }; - CheckBox CB_ADDSTREAM + CheckBox CB_EMBEDSTANDARDFONTS { Pos = MAP_APPFONT ( 12 , 248 ) ; Size = MAP_APPFONT ( 158 , 10 ) ; TabStop = TRUE ; + Text[ en-US ] = "E~mbed standard fonts"; + }; + CheckBox CB_ADDSTREAM + { + Pos = MAP_APPFONT ( 12 , 261 ) ; + Size = MAP_APPFONT ( 158 , 10 ) ; + TabStop = TRUE ; Text[ en-US ] = "Create ~hybrid file"; }; }; diff --git a/filter/source/pdf/makefile.mk b/filter/source/pdf/makefile.mk index e2319422691f..edf3147a822c 100644 --- a/filter/source/pdf/makefile.mk +++ b/filter/source/pdf/makefile.mk @@ -61,6 +61,7 @@ SHL1STDLIBS=\ $(TKLIB) \ $(VCLLIB) \ $(SVLLIB) \ + $(BASEGFXLIB) \ $(SFX2LIB) \ $(UNOTOOLSLIB) \ $(TOOLSLIB) \ @@ -73,7 +74,7 @@ SHL1DEPN= SHL1IMPLIB= i$(SHL1TARGET) SHL1LIBS= $(SLB)$/$(TARGET).lib SHL1DEF= $(MISC)$/$(SHL1TARGET).def -SHL1VERSIONMAP=exports.map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map DEF1NAME=$(SHL1TARGET) diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx index 3ff1b23aad5d..c868a3ec3157 100644 --- a/filter/source/pdf/pdfexport.cxx +++ b/filter/source/pdf/pdfexport.cxx @@ -50,6 +50,9 @@ #include <svtools/filter.hxx> #include <svl/solar.hrc> #include <comphelper/string.hxx> +#include "basegfx/polygon/b2dpolygon.hxx" +#include "basegfx/polygon/b2dpolypolygon.hxx" +#include "basegfx/polygon/b2dpolygontools.hxx" #include <unotools/saveopt.hxx> // only for testing of relative saving options in PDF @@ -427,8 +430,8 @@ sal_Bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue rFilterData[ nData ].Value >>= mbExportNotes; else if ( rFilterData[ nData ].Name == OUString( RTL_CONSTASCII_USTRINGPARAM( "ExportNotesPages" ) ) ) rFilterData[ nData ].Value >>= mbExportNotesPages; -// else if ( rFilterData[ nData ].Name == OUString( RTL_CONSTASCII_USTRINGPARAM( "EmbedStandardFonts" ) ) ) -// rFilterData[ nData ].Value >>= mbEmbedStandardFonts; + else if ( rFilterData[ nData ].Name == OUString( RTL_CONSTASCII_USTRINGPARAM( "EmbedStandardFonts" ) ) ) + rFilterData[ nData ].Value >>= mbEmbedStandardFonts; else if ( rFilterData[ nData ].Name == OUString( RTL_CONSTASCII_USTRINGPARAM( "UseTransitionEffects" ) ) ) rFilterData[ nData ].Value >>= mbUseTransitionEffects; else if ( rFilterData[ nData ].Name == OUString( RTL_CONSTASCII_USTRINGPARAM( "ExportFormFields" ) ) ) @@ -940,7 +943,8 @@ sal_Bool PDFExport::ImplExportPage( PDFWriter& rWriter, PDFExtOutDevData& rPDFEx rWriter.NewPage( aSizePDF.Width(), aSizePDF.Height() ); rWriter.SetMapMode( rMtf.GetPrefMapMode() ); - rWriter.SetClipRegion( aPageRect ); + basegfx::B2DRectangle aB2DRect( aPageRect.Left(), aPageRect.Top(), aPageRect.Right(), aPageRect.Bottom() ); + rWriter.SetClipRegion( basegfx::B2DPolyPolygon( basegfx::tools::createPolygonFromRect( aB2DRect ) ) ); bRet = ImplWriteActions( rWriter, &rPDFExtOutDevData, rMtf, aDummyVDev ); rPDFExtOutDevData.ResetSyncData(); @@ -1643,7 +1647,15 @@ sal_Bool PDFExport::ImplWriteActions( PDFWriter& rWriter, PDFExtOutDevData* pPDF const MetaClipRegionAction* pA = (const MetaClipRegionAction*) pAction; if( pA->IsClipping() ) - rWriter.SetClipRegion( pA->GetRegion() ); + { + if( pA->GetRegion().IsEmpty() ) + rWriter.SetClipRegion( basegfx::B2DPolyPolygon() ); + else + { + Region aReg( pA->GetRegion() ); + rWriter.SetClipRegion( aReg.ConvertToB2DPolyPolygon() ); + } + } else rWriter.SetClipRegion(); } @@ -1658,8 +1670,9 @@ sal_Bool PDFExport::ImplWriteActions( PDFWriter& rWriter, PDFExtOutDevData* pPDF case( META_ISECTREGIONCLIPREGION_ACTION ): { - const MetaISectRegionClipRegionAction* pA = (const MetaISectRegionClipRegionAction*) pAction; - rWriter.IntersectClipRegion( pA->GetRegion() ); + const MetaISectRegionClipRegionAction* pA = (const MetaISectRegionClipRegionAction*) pAction; + Region aReg( pA->GetRegion() ); + rWriter.IntersectClipRegion( aReg.ConvertToB2DPolyPolygon() ); } break; @@ -1829,7 +1842,7 @@ void PDFExport::ImplWriteGradient( PDFWriter& rWriter, const PolyPolygon& rPolyP rDummyVDev.AddGradientActions( rPolyPoly.GetBoundRect(), rGradient, aTmpMtf ); rWriter.Push(); - rWriter.IntersectClipRegion( rPolyPoly ); + rWriter.IntersectClipRegion( rPolyPoly.getB2DPolyPolygon() ); ImplWriteActions( rWriter, NULL, aTmpMtf, rDummyVDev ); rWriter.Pop(); } diff --git a/filter/source/placeware/makefile.mk b/filter/source/placeware/makefile.mk index 1f26aabe8072..3238193c52ae 100644 --- a/filter/source/placeware/makefile.mk +++ b/filter/source/placeware/makefile.mk @@ -53,7 +53,7 @@ SHL1STDLIBS= \ $(CPPULIB) \ $(CPPUHELPERLIB) \ $(SALLIB) -SHL1VERSIONMAP=$(TARGET).map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map SHL1DEPN= SHL1IMPLIB= i$(TARGET) diff --git a/filter/source/placeware/placeware.map b/filter/source/placeware/placeware.map deleted file mode 100644 index ac2c3750bfe0..000000000000 --- a/filter/source/placeware/placeware.map +++ /dev/null @@ -1,8 +0,0 @@ -UDK_3_0_0 { - global: - component_getImplementationEnvironment; - component_writeInfo; - component_getFactory; - local: - *; -}; diff --git a/filter/source/svg/exports.map b/filter/source/svg/exports.map deleted file mode 100644 index c673092ae700..000000000000 --- a/filter/source/svg/exports.map +++ /dev/null @@ -1,9 +0,0 @@ -PDFFILTER_1_0 { - global: - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -};
\ No newline at end of file diff --git a/filter/source/svg/makefile.mk b/filter/source/svg/makefile.mk index 0cac9d29e632..12c1210c18c4 100644 --- a/filter/source/svg/makefile.mk +++ b/filter/source/svg/makefile.mk @@ -73,7 +73,7 @@ SHL1STDLIBS+=\ SHL1DEPN= SHL1IMPLIB= i$(SHL1TARGET) SHL1LIBS= $(SLB)$/$(TARGET).lib -SHL1VERSIONMAP=exports.map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map SHL1DEF= $(MISC)$/$(SHL1TARGET).def DEF1NAME=$(SHL1TARGET) diff --git a/filter/source/t602/makefile.mk b/filter/source/t602/makefile.mk index c51c055978ae..c65de1bc9b7c 100644 --- a/filter/source/t602/makefile.mk +++ b/filter/source/t602/makefile.mk @@ -47,7 +47,7 @@ SHL1TARGETDEPN=makefile.mk SHL1OBJS=$(SLOFILES) SHL1TARGET=$(LIBNAME)$(DLLPOSTFIX) SHL1IMPLIB=i$(LIBNAME) -SHL1VERSIONMAP=$(LIBNAME).map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map #SHL1DEF=$(MISC)$/$(SHL1TARGET).def DEF1NAME=$(SHL1TARGET) diff --git a/filter/source/t602/t602filter.map b/filter/source/t602/t602filter.map deleted file mode 100644 index ea06e33d056c..000000000000 --- a/filter/source/t602/t602filter.map +++ /dev/null @@ -1,8 +0,0 @@ -T602IMP_1_0 { - global: - component_getImplementationEnvironment; - component_writeInfo; - component_getFactory; - local: - *; -}; diff --git a/filter/source/xmlfilteradaptor/makefile.mk b/filter/source/xmlfilteradaptor/makefile.mk index 74a40a38ca95..b3d39f860388 100644 --- a/filter/source/xmlfilteradaptor/makefile.mk +++ b/filter/source/xmlfilteradaptor/makefile.mk @@ -44,7 +44,7 @@ CDEFS+=-DCOMPMOD_NAMESPACE=framework SHL1TARGET= xmlfa$(DLLPOSTFIX) SHL1IMPLIB= i$(SHL1TARGET) -SHL1VERSIONMAP= xmlfa.map +SHL1VERSIONMAP= $(SOLARENV)/src/component.map SHL1DEF= $(MISC)$/$(SHL1TARGET).def DEF1NAME= $(SHL1TARGET) diff --git a/filter/source/xmlfilteradaptor/xmlfa.map b/filter/source/xmlfilteradaptor/xmlfa.map deleted file mode 100644 index ba501f9ae076..000000000000 --- a/filter/source/xmlfilteradaptor/xmlfa.map +++ /dev/null @@ -1,10 +0,0 @@ -UDK_3_0_0 { - global: - GetVersionInfo; - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -}; diff --git a/filter/source/xmlfilterdetect/makefile.mk b/filter/source/xmlfilterdetect/makefile.mk index a08346c23127..d13c4af5f576 100644 --- a/filter/source/xmlfilterdetect/makefile.mk +++ b/filter/source/xmlfilterdetect/makefile.mk @@ -45,7 +45,7 @@ CDEFS+=-DCOMPMOD_NAMESPACE=framework SHL1TARGET= xmlfd$(DLLPOSTFIX) SHL1IMPLIB= i$(SHL1TARGET) -SHL1VERSIONMAP= xmlfd.map +SHL1VERSIONMAP= $(SOLARENV)/src/component.map SHL1DEF= $(MISC)$/$(SHL1TARGET).def DEF1NAME= $(SHL1TARGET) diff --git a/filter/source/xmlfilterdetect/xmlfd.map b/filter/source/xmlfilterdetect/xmlfd.map deleted file mode 100644 index ba501f9ae076..000000000000 --- a/filter/source/xmlfilterdetect/xmlfd.map +++ /dev/null @@ -1,10 +0,0 @@ -UDK_3_0_0 { - global: - GetVersionInfo; - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -}; diff --git a/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl b/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl index 6cfeb35eb50e..b2abefad2d9d 100644 --- a/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl +++ b/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl @@ -2,23 +2,23 @@ <!-- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - + Copyright 2000, 2010 Oracle and/or its affiliates. - + OpenOffice.org - a multi-platform office productivity suite - + 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> @@ -34,177 +34,177 @@ <!--+++++ INCLUDED XSL MODULES +++++--> <!-- helper collection, to convert measures (e.g. inch to pixel using DPI (dots per inch) parameter)--> - <xsl:import href="../../common/measure_conversion.xsl"/> + <xsl:import href="../../common/measure_conversion.xsl"/> <!-- common office body element handling --> - <xsl:import href="../common/body.xsl"/> + <xsl:import href="../common/body.xsl"/> <!-- common table handling --> - <xsl:import href="../common/table/table.xsl"/> + <xsl:import href="../common/table/table.xsl"/> <!-- xhtml table handling --> - <xsl:include href="table.xsl"/> + <xsl:include href="table.xsl"/> <!-- Useful in case of 'style:map', conditional formatting, where a style references to another --> - <xsl:key name="styles" match="/*/office:styles/style:style | /*/office:automatic-styles/style:style" use="@style:name"/> + <xsl:key name="styles" match="/*/office:styles/style:style | /*/office:automatic-styles/style:style" use="@style:name"/> <!-- ************ --> <!-- *** body *** --> <!-- ************ --> - <xsl:key match="style:style/@style:master-page-name" name="masterPage" use="'count'"/> - <xsl:key match="style:master-page" name="masterPageElements" use="@style:name"/> - <xsl:key match="style:page-layout" name="pageLayoutElements" use="@style:name"/> - <xsl:key name="writingModeStyles" match="/*/office:styles/style:style/style:paragraph-properties/@style:writing-mode | /*/office:automatic-styles/style:style/style:paragraph-properties/@style:writing-mode" use="'test'"/> - <xsl:template name="create-body"> - <xsl:param name="globalData"/> + <xsl:key match="style:style/@style:master-page-name" name="masterPage" use="'count'"/> + <xsl:key match="style:master-page" name="masterPageElements" use="@style:name"/> + <xsl:key match="style:page-layout" name="pageLayoutElements" use="@style:name"/> + <xsl:key name="writingModeStyles" match="/*/office:styles/style:style/style:paragraph-properties/@style:writing-mode | /*/office:automatic-styles/style:style/style:paragraph-properties/@style:writing-mode" use="'test'"/> + <xsl:template name="create-body"> + <xsl:param name="globalData"/> <!-- approximation to find the correct master page style (with page dimensions) --> - <xsl:variable name="masterPageNames"> + <xsl:variable name="masterPageNames"> <!-- Loop over every style:style containing a @style:master-page-name attribute --> - <xsl:for-each select="key('masterPage','count')"> - <!-- Check if this style is being used in the body --> - <xsl:if test="key('elementUsingStyle', ../@style:name)"> - <!-- Check every master-page-name if it is not emtpy and return as ';' separated list --> - <xsl:if test="string-length(../@style:master-page-name) > 0"> - <xsl:value-of select="../@style:master-page-name"/>;</xsl:if> - </xsl:if> - </xsl:for-each> - </xsl:variable> - + <xsl:for-each select="key('masterPage','count')"> + <!-- Check if this style is being used in the body --> + <xsl:if test="key('elementUsingStyle', ../@style:name)"> + <!-- Check every master-page-name if it is not emtpy and return as ';' separated list --> + <xsl:if test="string-length(../@style:master-page-name) > 0"> + <xsl:value-of select="../@style:master-page-name"/>;</xsl:if> + </xsl:if> + </xsl:for-each> + </xsl:variable> + <!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name --> - <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/> - <xsl:variable name="pageProperties"> - <xsl:choose> - <xsl:when test="not($pageLayoutName) or $pageLayoutName = ''"> - <xsl:copy-of select="$globalData/styles-file/*/office:automatic-styles/style:page-layout[1]/style:page-layout-properties"/> - </xsl:when> - <xsl:otherwise> + <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/> + <xsl:variable name="pageProperties"> + <xsl:choose> + <xsl:when test="not($pageLayoutName) or $pageLayoutName = ''"> + <xsl:copy-of select="$globalData/styles-file/*/office:automatic-styles/style:page-layout[1]/style:page-layout-properties"/> + </xsl:when> + <xsl:otherwise> <!-- Find the according style:page-layout and store the properties in a variable --> - <xsl:copy-of select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:element name="body"> + <xsl:copy-of select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:element name="body"> <!-- direction of text flow --> - <xsl:variable name="writingMode" select="$pageProperties/style:page-layout-properties/@style:writing-mode"/> - <xsl:choose> - <xsl:when test="$writingMode"> - <xsl:choose> - <xsl:when test="contains($writingMode, 'lr')"> - <xsl:attribute name="dir">ltr</xsl:attribute> - </xsl:when> - <xsl:when test="contains($writingMode, 'rl')"> - <xsl:attribute name="dir">rtl</xsl:attribute> - </xsl:when> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <!-- As CSS writing-mode is not implemented by all browsers, a heuristic is done --> - <xsl:variable name="writingMode" select="key('writingModeStyles', 'test')"/> - <xsl:if test="contains($writingMode, 'rl')"> - <xsl:attribute name="dir">rtl</xsl:attribute> - </xsl:if> - </xsl:otherwise> - </xsl:choose> + <xsl:variable name="writingMode" select="$pageProperties/style:page-layout-properties/@style:writing-mode"/> + <xsl:choose> + <xsl:when test="$writingMode"> + <xsl:choose> + <xsl:when test="contains($writingMode, 'lr')"> + <xsl:attribute name="dir">ltr</xsl:attribute> + </xsl:when> + <xsl:when test="contains($writingMode, 'rl')"> + <xsl:attribute name="dir">rtl</xsl:attribute> + </xsl:when> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <!-- As CSS writing-mode is not implemented by all browsers, a heuristic is done --> + <xsl:variable name="writingMode" select="key('writingModeStyles', 'test')"/> + <xsl:if test="contains($writingMode, 'rl')"> + <xsl:attribute name="dir">rtl</xsl:attribute> + </xsl:if> + </xsl:otherwise> + </xsl:choose> <!-- adapt page size --> - <xsl:variable name="pageWidth" select="$pageProperties/style:page-layout-properties/@fo:page-width"/> + <xsl:variable name="pageWidth" select="$pageProperties/style:page-layout-properties/@fo:page-width"/> <!-- multiple backgroundimages for different page styles (never used in html) --> - <xsl:variable name="backgroundImage" select="$pageProperties/style:page-layout-properties/style:background-image"/> + <xsl:variable name="backgroundImage" select="$pageProperties/style:page-layout-properties/style:background-image"/> <!-- page margins & background image --> - <xsl:if test="$pageWidth or $pageProperties/style:page-layout-properties/@fo:* or $backgroundImage/@xlink:href"> - <xsl:attribute name="style"> - <xsl:if test="$pageWidth"> - <xsl:text>max-width:</xsl:text> - <xsl:value-of select="$pageWidth"/> - <xsl:text>;</xsl:text> - </xsl:if> - <xsl:if test="$pageProperties/style:page-layout-properties/@fo:* or $backgroundImage/@xlink:href"> - <xsl:apply-templates select="$pageProperties/style:page-layout-properties/@fo:*"/> - <xsl:if test="$backgroundImage/@xlink:href"> - <xsl:text>background-image:url(</xsl:text> - <xsl:call-template name="create-href"> - <xsl:with-param name="href" select="$backgroundImage/@xlink:href"/> - </xsl:call-template> - <xsl:text>);</xsl:text> - - <xsl:if test="$backgroundImage/@style:repeat"> - <xsl:choose> - <xsl:when test="$backgroundImage/@style:repeat = 'no-repeat'"> - <xsl:text>background-repeat:no-repeat;</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>background-repeat:repeat;</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - <xsl:if test="$backgroundImage/@style:position"> - <xsl:text>background-position:</xsl:text> - <xsl:value-of select="$backgroundImage/@style:position"/> - <xsl:text>;</xsl:text> - </xsl:if> - </xsl:if> - </xsl:if> - </xsl:attribute> - </xsl:if> - <!-- processing the content of the OpenDocument content file --> - <xsl:apply-templates select="/*/office:body/*"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - - </xsl:element> - </xsl:template> - - <!-- processing the content of the OpenDocument content file --> - <xsl:template match="office:body/*"> - <xsl:param name="globalData"/> + <xsl:if test="$pageWidth or $pageProperties/style:page-layout-properties/@fo:* or $backgroundImage/@xlink:href"> + <xsl:attribute name="style"> + <xsl:if test="$pageWidth"> + <xsl:text>max-width:</xsl:text> + <xsl:value-of select="$pageWidth"/> + <xsl:text>;</xsl:text> + </xsl:if> + <xsl:if test="$pageProperties/style:page-layout-properties/@fo:* or $backgroundImage/@xlink:href"> + <xsl:apply-templates select="$pageProperties/style:page-layout-properties/@fo:*"/> + <xsl:if test="$backgroundImage/@xlink:href"> + <xsl:text>background-image:url(</xsl:text> + <xsl:call-template name="create-href"> + <xsl:with-param name="href" select="$backgroundImage/@xlink:href"/> + </xsl:call-template> + <xsl:text>);</xsl:text> + + <xsl:if test="$backgroundImage/@style:repeat"> + <xsl:choose> + <xsl:when test="$backgroundImage/@style:repeat = 'no-repeat'"> + <xsl:text>background-repeat:no-repeat;</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>background-repeat:repeat;</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + <xsl:if test="$backgroundImage/@style:position"> + <xsl:text>background-position:</xsl:text> + <xsl:value-of select="$backgroundImage/@style:position"/> + <xsl:text>;</xsl:text> + </xsl:if> + </xsl:if> + </xsl:if> + </xsl:attribute> + </xsl:if> + <!-- processing the content of the OpenDocument content file --> + <xsl:apply-templates select="/*/office:body/*"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + + </xsl:element> + </xsl:template> + + <!-- processing the content of the OpenDocument content file --> + <xsl:template match="office:body/*"> + <xsl:param name="globalData"/> <!-- not using of 'apply-styles-and-content' as the content table information migth have been added to 'globalData' variable --> - <xsl:apply-templates select="@text:style-name | @draw:style-name | @draw:text-style-name | @table:style-name"><!-- | @presentation:style-name --> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - - <xsl:apply-templates> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> + <xsl:apply-templates select="@text:style-name | @draw:style-name | @draw:text-style-name | @table:style-name"><!-- | @presentation:style-name --> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + + <xsl:apply-templates> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> <!-- writing the footer- and endnotes beyond the body --> - <xsl:call-template name="write-text-nodes"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:template> + <xsl:call-template name="write-text-nodes"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:template> <!-- ******************************* --> <!-- *** User Field Declarations *** --> <!-- ******************************* --> - <xsl:template match="text:user-field-get | text:user-field-input"> - <xsl:param name="globalData"/> + <xsl:template match="text:user-field-get | text:user-field-input"> + <xsl:param name="globalData"/> - <xsl:value-of select="."/> - </xsl:template> + <xsl:value-of select="."/> + </xsl:template> - <xsl:template match="text:conditional-text"> - <xsl:param name="globalData"/> + <xsl:template match="text:conditional-text"> + <xsl:param name="globalData"/> - <xsl:value-of select="."/> - </xsl:template> + <xsl:value-of select="."/> + </xsl:template> <!-- ODF text fields --> - <xsl:template match="text:author-initials | text:author-name | text:chapter | text:character-count | text:creation-date | text:creation-time | text:creator | text:date | text:description | text:editing-cycles | text:editing-duration | text:file-name | text:image-count | text:initial-creator | text:keywords | text:modification-date | text:modification-time | text:object-count | text:page-continuation | text:page-count | text:page-number | text:paragraph-count | text:print-date | text:print-time | text:printed-by | text:sender-city | text:sender-company | text:sender-country | text:sender-email | text:sender-fax | text:sender-firstname | text:sender-initials | text:sender-lastname | text:sender-phone-private | text:sender-phone-work | text:sender-position | text:sender-postal-code | text:sender-state-or-province | text:sender-street | text:sender-title | text:sheet-name | text:subject | text:table-count | text:time | text:title | text:user-defined | text:word-count"> - <xsl:param name="globalData"/> - - <xsl:element name="span"> - <xsl:attribute name="title"> - <xsl:value-of select="local-name()"/> - </xsl:attribute> - <xsl:apply-templates> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:element> - </xsl:template> + <xsl:template match="text:author-initials | text:author-name | text:chapter | text:character-count | text:creation-date | text:creation-time | text:creator | text:date | text:description | text:editing-cycles | text:editing-duration | text:file-name | text:image-count | text:initial-creator | text:keywords | text:modification-date | text:modification-time | text:object-count | text:page-continuation | text:page-count | text:page-number | text:paragraph-count | text:print-date | text:print-time | text:printed-by | text:sender-city | text:sender-company | text:sender-country | text:sender-email | text:sender-fax | text:sender-firstname | text:sender-initials | text:sender-lastname | text:sender-phone-private | text:sender-phone-work | text:sender-position | text:sender-postal-code | text:sender-state-or-province | text:sender-street | text:sender-title | text:sheet-name | text:subject | text:table-count | text:time | text:title | text:user-defined | text:word-count"> + <xsl:param name="globalData"/> + + <xsl:element name="span"> + <xsl:attribute name="title"> + <xsl:value-of select="local-name()"/> + </xsl:attribute> + <xsl:apply-templates> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:element> + </xsl:template> @@ -212,83 +212,83 @@ <!-- *** Textbox *** --> <!-- *************** --> - <xsl:template match="draw:text-box"> - <xsl:param name="globalData"/> - - <xsl:comment>Next 'div' was a 'draw:text-box'.</xsl:comment> - <xsl:element name="div"> - <xsl:variable name="dimension"> - <xsl:apply-templates select="@fo:min-width"/> - <xsl:apply-templates select="@fo:max-width"/> - <xsl:apply-templates select="@fo:min-height"/> - <xsl:apply-templates select="@fo:max-height"/> - </xsl:variable> - <xsl:if test="$dimension"> - <xsl:attribute name="style"> - <xsl:value-of select="$dimension"/> - </xsl:attribute> - </xsl:if> - <xsl:apply-templates select="@draw:name"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - - <xsl:apply-templates select="node()"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:element> - </xsl:template> - - <xsl:template match="@fo:min-width"> - <xsl:text>min-width:</xsl:text> - <xsl:value-of select="."/> - <xsl:text>;</xsl:text> - </xsl:template> - <xsl:template match="@fo:max-width"> - <xsl:text>max-width:</xsl:text> - <xsl:value-of select="."/> - <xsl:text>;</xsl:text> - </xsl:template> - <xsl:template match="@fo:min-height"> - <xsl:text>min-height:</xsl:text> - <xsl:value-of select="."/> - <xsl:text>;</xsl:text> - </xsl:template> - <xsl:template match="@fo:max-height"> - <xsl:text>max-height:</xsl:text> - <xsl:value-of select="."/> - <xsl:text>;</xsl:text> - </xsl:template> + <xsl:template match="draw:text-box"> + <xsl:param name="globalData"/> + + <xsl:comment>Next 'div' was a 'draw:text-box'.</xsl:comment> + <xsl:element name="div"> + <xsl:variable name="dimension"> + <xsl:apply-templates select="@fo:min-width"/> + <xsl:apply-templates select="@fo:max-width"/> + <xsl:apply-templates select="@fo:min-height"/> + <xsl:apply-templates select="@fo:max-height"/> + </xsl:variable> + <xsl:if test="$dimension"> + <xsl:attribute name="style"> + <xsl:value-of select="$dimension"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates select="@draw:name"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + + <xsl:apply-templates select="node()"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:element> + </xsl:template> + + <xsl:template match="@fo:min-width"> + <xsl:text>min-width:</xsl:text> + <xsl:value-of select="."/> + <xsl:text>;</xsl:text> + </xsl:template> + <xsl:template match="@fo:max-width"> + <xsl:text>max-width:</xsl:text> + <xsl:value-of select="."/> + <xsl:text>;</xsl:text> + </xsl:template> + <xsl:template match="@fo:min-height"> + <xsl:text>min-height:</xsl:text> + <xsl:value-of select="."/> + <xsl:text>;</xsl:text> + </xsl:template> + <xsl:template match="@fo:max-height"> + <xsl:text>max-height:</xsl:text> + <xsl:value-of select="."/> + <xsl:text>;</xsl:text> + </xsl:template> <!-- inline style helper for the 'div' boxes --> - <xsl:template name="svg:height"> - <xsl:text>height:</xsl:text> - <xsl:choose> + <xsl:template name="svg:height"> + <xsl:text>height:</xsl:text> + <xsl:choose> <!-- changing the distance measure: inch to in --> - <xsl:when test="contains(@svg:height, 'inch')"> - <xsl:value-of select="substring-before(@svg:height, 'ch')"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="@svg:height"/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>;</xsl:text> - </xsl:template> + <xsl:when test="contains(@svg:height, 'inch')"> + <xsl:value-of select="substring-before(@svg:height, 'ch')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@svg:height"/> + </xsl:otherwise> + </xsl:choose> + <xsl:text>;</xsl:text> + </xsl:template> <!-- inline style helper for the 'div' boxes --> - <xsl:template name="svg:width"> - <xsl:text>width:</xsl:text> - <xsl:choose> + <xsl:template name="svg:width"> + <xsl:text>width:</xsl:text> + <xsl:choose> <!-- changing the distance measure: inch to in --> - <xsl:when test="contains(@svg:width, 'inch')"> - <xsl:value-of select="substring-before(@svg:width, 'ch')"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="@svg:width"/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>;</xsl:text> - </xsl:template> + <xsl:when test="contains(@svg:width, 'inch')"> + <xsl:value-of select="substring-before(@svg:width, 'ch')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@svg:width"/> + </xsl:otherwise> + </xsl:choose> + <xsl:text>;</xsl:text> + </xsl:template> @@ -296,146 +296,165 @@ <!-- *** Paragraphs *** --> <!-- ****************** --> - <xsl:template match="text:p | draw:page"> - <xsl:param name="globalData"/> + <xsl:template match="text:p | draw:page"> + <xsl:param name="globalData"/> <!-- The footnote symbol is the prefix for a footnote in the footer --> - <xsl:param name="footnotePrefix"/> - <!-- 1) In ODF sometimes the followig children are nested - <text:p> - <draw:frame> - <draw:text-box> - <text:p> - Which results in a paragraphs (the last text:p) having a paragraph as its anchestor. - In HTML a 'p' can only have inline documents (no other 'p' as children'), + <xsl:param name="footnotePrefix"/> + <!-- 1) In ODF sometimes the followig children are nested + <text:p> + <draw:frame> + <draw:text-box> + <text:p> + Which results in a paragraphs (the last text:p) having a paragraph as its anchestor. + In HTML a 'p' can only have inline documents (no other 'p' as children'), a 'div' will be given for the ancestors instead. 2) ODF images are embedded in a paragraph, but CSS is not able to express a horizontal alignment for an HTML image (text:align is only valid for block elements). A surrounding 'div' element taking over the image style solves that problem, but the div is invalid as child of a paragraph - Therefore the paragraph has to be exchanged with a HTML div element + Therefore the paragraph has to be exchanged with a HTML div element --> - <!-- 2DO page alignment fix - PART1 --> - <xsl:choose> - <xsl:when test="draw:frame and ((normalize-space(text()) != '') or (count(*) > 1 and (not(text:soft-page-break) and count(*) = 2)))"> - <!-- Create a div, if there is a 'draw:frame' child with either text (not being whitespace alone) and more than the draw:frame alone and - not the draw:frame and a soft-page-break alone (which is quite often) --> - + <!-- 2DO page alignment fix - PART1 --> + <xsl:variable name="childText"><xsl:apply-templates mode="getAllTextChildren"/></xsl:variable> + <xsl:choose> + <xsl:when test="name() = 'text:p' and not(*) and (normalize-space($childText) = '')"> + <!-- WorkAround: Test if the empty paragraph was added after an image, which OOO often does --> + <xsl:variable name="isFollowingImage"> + <xsl:call-template name="follows-empty-paragraphs-and-image"> + <xsl:with-param name="precedingElement" select="preceding-sibling::node()[1]"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="$isFollowingImage = 'no'"> + <xsl:call-template name="create-paragraph"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> + </xsl:call-template> + </xsl:if> + + </xsl:when> + <xsl:when test="draw:frame and ((normalize-space($childText) != '') or (((count(*) - count(text:soft-page-break)) > 1)))"> + <!-- If there is a 'draw:frame' child with text (not being whitespace alone) and more than the draw:frame alone and + not the draw:frame and a soft-page-break alone (which is quite often) --> + <!-- If there is a frame within the text:p or draw:page, its siblings are surrounded as well by a div and are floating (CSS float) --> - <!-- But it makes no sense to create floating if the frame is alone or only together with a soft-page-break not usable for HTML --> - <!-- The paragraph is written as DIV as there might be nested paragraphs (see above choose block) --> - <xsl:choose> - <xsl:when test="name() = 'text:p'"> - <xsl:comment>Next 'div' was a 'text:p'.</xsl:comment> - </xsl:when> - <xsl:otherwise> - <xsl:comment>Next 'div' was a 'draw:page'.</xsl:comment> - </xsl:otherwise> - </xsl:choose> - <xsl:element name="div"> - <xsl:apply-templates select="@*"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> + <!-- But it makes no sense to create floating if the frame is alone or only together with a soft-page-break not usable for HTML --> + <!-- The paragraph is written as DIV as there might be nested paragraphs (see above choose block) --> + <xsl:choose> + <xsl:when test="name() = 'text:p'"> + <xsl:comment>Next 'div' was a 'text:p'.</xsl:comment> + </xsl:when> + <xsl:otherwise> + <xsl:comment>Next 'div' was a 'draw:page'.</xsl:comment> + </xsl:otherwise> + </xsl:choose> + <xsl:element name="div"> + <xsl:apply-templates select="@*"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> <!-- the footnote symbol is the prefix for a footnote in the footer --> - <xsl:copy-of select="$footnotePrefix"/> - + <xsl:copy-of select="$footnotePrefix"/> <!-- start floating of frame (and siblings) --> - <xsl:apply-templates select="node()[1]" mode="frameFloating"> - <xsl:with-param name="globalData" select="$globalData" /> - <xsl:with-param name="previousFrameWidths" select="0"/> - <xsl:with-param name="previousFrameHeights" select="0"/> - <!-- 2DO for me (Svante) - Not used, uncertain 4now.. - <xsl:with-param name="pageMarginLeft"> - <xsl:call-template name="getPageMarginLeft"/> - </xsl:with-param>--> - </xsl:apply-templates> - </xsl:element> - <!-- after the last draw:frame sibling the CSS float is disabled -   is an unbreakable whitespace to give conent to the element and force a browser not to ignore the element --> - <div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;"> </div> - </xsl:when> - <xsl:when test="text:tab"> + <xsl:apply-templates select="node()[1]" mode="frameFloating"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="previousFrameWidths" select="0"/> + <xsl:with-param name="previousFrameHeights" select="0"/> + <!-- 2DO for me (Svante) - Not used, uncertain 4now.. + <xsl:with-param name="pageMarginLeft"> + <xsl:call-template name="getPageMarginLeft"/> + </xsl:with-param>--> + </xsl:apply-templates> + </xsl:element> + <!-- after the last draw:frame sibling the CSS float is disabled +   is an unbreakable whitespace to give conent to the element and force a browser not to ignore the element --> + <div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;"> </div> + </xsl:when> + <xsl:when test="text:tab"> <!-- If there is a tabulator (ie. text:tab) within a paragraph, a heuristic for ODF tabulators creates a span for every text:tab embracing the following text nodes aligning them according to the tabulator. A line break or another text:tab starts a new text:span, line break even the tab counter for the line. --> - <xsl:element name="p"> - <xsl:apply-templates select="@*"> - <xsl:with-param name="globalData" select="$globalData" /> - </xsl:apply-templates> + <xsl:element name="p"> + <xsl:apply-templates select="@*"> + <xsl:with-param name="globalData" select="$globalData" /> + </xsl:apply-templates> <!-- start with first child of the paragraph --> - <xsl:variable name="firstChildNode" select="node()[1]" /> - <xsl:apply-templates select="$firstChildNode" mode="tabHandling"> - <xsl:with-param name="globalData" select="$globalData" /> - <xsl:with-param name="tabStops" select="$globalData/all-doc-styles/style[@style:name = current()/@text:style-name]/*/style:tab-stops"/> - <xsl:with-param name="parentMarginLeft"> + <xsl:variable name="firstChildNode" select="node()[1]" /> + <xsl:apply-templates select="$firstChildNode" mode="tabHandling"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="tabStops" select="$globalData/all-doc-styles/style[@style:name = current()/@text:style-name]/*/style:tab-stops"/> + <xsl:with-param name="parentMarginLeft"> <!-- Styles of first paragraph in list item, including ancestor styles (inheritance) --> - <xsl:variable name="paragraphName" select="@text:style-name" /> - <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paragraphName]/final-properties"/> + <xsl:variable name="paragraphName" select="@text:style-name" /> + <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paragraphName]/final-properties"/> <!-- Only the left margin of the first paragraph of a list item will be added to the margin of the complete list (all levels)--> <!-- 2DO: left-margin in order with bidirectional --> - <xsl:choose> - <xsl:when test="contains($imageParagraphStyle, 'margin-left:')"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($imageParagraphStyle, 'margin-left:'), ';'))"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:with-param> - <xsl:with-param name="pageMarginLeft"> - <xsl:call-template name="getPageMarginLeft"/> - </xsl:with-param> - </xsl:apply-templates> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:choose> + <xsl:choose> + <xsl:when test="contains($imageParagraphStyle, 'margin-left:')"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($imageParagraphStyle, 'margin-left:'), ';'))"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="pageMarginLeft"> + <xsl:call-template name="getPageMarginLeft"/> + </xsl:with-param> + </xsl:apply-templates> + </xsl:element> + </xsl:when> + <xsl:otherwise> + <xsl:choose> <!-- !!Check if paragraph is empty!! OOo writes out empty paragraphs layouted behind an image (= draw:image within draw:frame) those have to be neglected in HTML --> - <xsl:when test="name() = 'text:p' and not(text()) and not(*)"> - <xsl:variable name="isFollowingImage"> - <xsl:call-template name="follows-empty-paragraphs-and-image"> - <xsl:with-param name="precedingElement" select="preceding-sibling::node()[1]"/> - </xsl:call-template> - </xsl:variable> - <xsl:if test="$isFollowingImage = 'yes'"> - <xsl:call-template name="create-paragraph"> - <xsl:with-param name="globalData" select="$globalData" /> - <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> - </xsl:call-template> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="create-paragraph"> - <xsl:with-param name="globalData" select="$globalData" /> - <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + <xsl:when test="name() = 'text:p' and not($childText) and not(*)"> + <xsl:variable name="isFollowingImage"> + <xsl:call-template name="follows-empty-paragraphs-and-image"> + <xsl:with-param name="precedingElement" select="preceding-sibling::node()[1]"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="$isFollowingImage = 'no'"> + <xsl:call-template name="create-paragraph"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> + </xsl:call-template> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="create-paragraph"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + <!-- Return the text --> + <xsl:template match="text()" mode="getAllTextChildren"> + <xsl:value-of select="."/> + </xsl:template> <!-- A span will be created for every text:tab embracing the following text nodes. A line break or another text:tab starts a new text:span --> - <xsl:template match="* | text()" mode="tabHandling"> - <xsl:param name="globalData"/> - <xsl:param name="tabStops"/> + <xsl:template match="* | text()" mode="tabHandling"> + <xsl:param name="globalData"/> + <xsl:param name="tabStops"/> <!-- there can be multiple tabs in one line, tabNo guesses the one to apply. By default the first i.e. "1" --> - <xsl:param name="tabCount" select="0"/> - <xsl:param name="parentMarginLeft" /> - <xsl:param name="pageMarginLeft" /> - + <xsl:param name="tabCount" select="0"/> + <xsl:param name="parentMarginLeft" /> + <xsl:param name="pageMarginLeft" /> + <!-- 2DO: EXCHANGE FOLLOING SIBLING BY VARIABLE --> - <xsl:variable name="followingSiblingNode" select="following-sibling::node()[1]"/> + <xsl:variable name="followingSiblingNode" select="following-sibling::node()[1]"/> + + + <!-- + Every tabulator indents its following content, encapuslated in a span + element. - - <!-- - Every tabulator indents its following content, encapuslated in a span - element. - This template have two modes: - + 1) Before the first tabulator it will match as usually paragraph content to HTML. 2) After the first paragraph it will always triggers two recursions. @@ -444,604 +463,621 @@ The other calls this template and will now ignore anything else than TAB and LINE-BREAK. - + The tabulators and linebreaks are being iterated, one by one to keep track of the tab number --> - <xsl:choose> - <xsl:when test="name() = 'text:tab'"> + <xsl:choose> + <xsl:when test="name() = 'text:tab'"> <!-- every frame sibling have to be incapuslated within a div with left indent --> - <xsl:element name="span"> - <xsl:choose> - <xsl:when test="count($tabStops/style:tab-stop) < 3"> + <xsl:element name="span"> + <xsl:choose> + <xsl:when test="count($tabStops/style:tab-stop) < 3"> <!-- only allow the heuristic when the style has less than 3 TABS --> - <xsl:attribute name="style"> - <xsl:call-template name="createTabIndent"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="tabStops" select="$tabStops"/> - <xsl:with-param name="tabCount" select="$tabCount + 1"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> - <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/> - </xsl:call-template> - </xsl:attribute> - </xsl:when> - <xsl:otherwise> + <xsl:attribute name="style"> + <xsl:call-template name="createTabIndent"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="tabStops" select="$tabStops"/> + <xsl:with-param name="tabCount" select="$tabCount + 1"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> + <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/> + </xsl:call-template> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> <!-- if there are more than 3 TABS in the style, create a none-breakable-space as whitespace --> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:apply-templates select="following-sibling::node()[1]" mode="tabContentHandling"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:element> - <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="tabStops" select="$tabStops"/> - <xsl:with-param name="tabCount" select="$tabCount + 1"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> - <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="name() = 'text:line-break'"> + <xsl:text> </xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="following-sibling::node()[1]" mode="tabContentHandling"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:element> + <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="tabStops" select="$tabStops"/> + <xsl:with-param name="tabCount" select="$tabCount + 1"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> + <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="name() = 'text:line-break'"> <!-- A line-break resets the tabCount to '0' --> - <br/> - <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="tabStops" select="$tabStops"/> - <xsl:with-param name="tabCount" select="0"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> - <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> + <br/> + <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="tabStops" select="$tabStops"/> + <xsl:with-param name="tabCount" select="0"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> + <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> <!-- only before the first tab all content is written out --> - <xsl:if test="$tabCount = 0"> - <xsl:apply-templates select="."> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:if> - <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="tabStops" select="$tabStops"/> - <xsl:with-param name="tabCount" select="$tabCount"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> - <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - This recursion creates the content of a tab (i.e. following siblings + <xsl:if test="$tabCount = 0"> + <xsl:apply-templates select="."> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:if> + <xsl:apply-templates select="following-sibling::node()[1]" mode="tabHandling"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="tabStops" select="$tabStops"/> + <xsl:with-param name="tabCount" select="$tabCount"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> + <xsl:with-param name="pageMarginLeft" select="$pageMarginLeft"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + This recursion creates the content of a tab (i.e. following siblings till next TAB or LINE BREAK) and ends with the next - TAB, LINE-BREAK or with the end of the paragraph. + TAB, LINE-BREAK or with the end of the paragraph. --> - <xsl:template match="* | text()" mode="tabContentHandling"> - <xsl:param name="globalData"/> + <xsl:template match="* | text()" mode="tabContentHandling"> + <xsl:param name="globalData"/> - <xsl:if test="(name() != 'text:tab') and (name() != 'text:line-break')"> + <xsl:if test="(name() != 'text:tab') and (name() != 'text:line-break')"> <!-- Write out content --> - <xsl:apply-templates select="."> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> + <xsl:apply-templates select="."> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> <!-- Apply for the next node --> - <xsl:apply-templates select="following-sibling::node()[1]" mode="tabContentHandling"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:if> - </xsl:template> - - <xsl:template name="createTabIndent"> - <xsl:param name="globalData"/> - <xsl:param name="tabStops"/> - <xsl:param name="tabCount"/> - <xsl:param name="parentMarginLeft" /> - <xsl:param name="pageMarginLeft" /> - - <xsl:text>position:absolute;left:</xsl:text> - <xsl:variable name="tabPosition"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="$tabStops/style:tab-stop[$tabCount]/@style:position"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="tabIndent"> - <xsl:choose> - <xsl:when test="$tabStops/style:tab-stop[$tabCount]/@style:type = 'center'"> + <xsl:apply-templates select="following-sibling::node()[1]" mode="tabContentHandling"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:if> + </xsl:template> + + <xsl:template name="createTabIndent"> + <xsl:param name="globalData"/> + <xsl:param name="tabStops"/> + <xsl:param name="tabCount"/> + <xsl:param name="parentMarginLeft" /> + <xsl:param name="pageMarginLeft" /> + + <xsl:text>position:absolute;left:</xsl:text> + <xsl:variable name="tabPosition"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="$tabStops/style:tab-stop[$tabCount]/@style:position"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="tabIndent"> + <xsl:choose> + <xsl:when test="$tabStops/style:tab-stop[$tabCount]/@style:type = 'center'"> <!-- in case of style:type 'center' the text is even before the tab stop, centered around the beginning. As I see currently no way in mapping this, therefore I do some HEURISTIC (minus -2.5cm) --> - <xsl:value-of select="$tabPosition + $parentMarginLeft + $pageMarginLeft - 2.5"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$tabPosition + $parentMarginLeft + $pageMarginLeft"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:choose> - <xsl:when test="$tabIndent='NaN'"> - <xsl:variable name="tabPosition"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="$tabStops/style:tab-stop[last()]/@style:position"/> - </xsl:call-template> - </xsl:variable> + <xsl:value-of select="$tabPosition + $parentMarginLeft + $pageMarginLeft - 2.5"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$tabPosition + $parentMarginLeft + $pageMarginLeft"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:choose> + <xsl:when test="$tabIndent='NaN'"> + <xsl:variable name="tabPosition"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="$tabStops/style:tab-stop[last()]/@style:position"/> + </xsl:call-template> + </xsl:variable> <!-- Heuristic: for every tab that is more than specified give a further 1 cm --> - <xsl:value-of select="$parentMarginLeft + $tabPosition + count($tabStops/style:tab-stop) - $tabCount"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$tabIndent"/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>cm;</xsl:text> - <xsl:apply-templates select="$tabStops/style:tab-stop[$tabCount]/@style:type"/> - </xsl:template> - + <xsl:value-of select="$parentMarginLeft + $tabPosition + count($tabStops/style:tab-stop) - $tabCount"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$tabIndent"/> + </xsl:otherwise> + </xsl:choose> + <xsl:text>cm;</xsl:text> + <xsl:apply-templates select="$tabStops/style:tab-stop[$tabCount]/@style:type"/> + </xsl:template> + <!-- OOo writes out empty paragraphs layouted behind an image, those have to be neglected in HTML This method checks if an empty paragraph is of that kind! --> - <xsl:template name="follows-empty-paragraphs-and-image"> - <xsl:param name="precedingElement" /> - <xsl:param name="elementToCheck" select="1"/> - - <xsl:choose> + <xsl:template name="follows-empty-paragraphs-and-image"> + <xsl:param name="precedingElement" /> + <xsl:param name="elementToCheck" select="1"/> + <xsl:choose> <!-- OOo writes out empty paragraphs layouted behind the image, - those have to be neglected in HTML --> - <xsl:when test="name($precedingElement) = 'text:p' and not($precedingElement/text()) and not($precedingElement/*)"> - <xsl:call-template name="follows-empty-paragraphs-and-image"> - <xsl:with-param name="precedingElement" select="preceding-sibling::*[$elementToCheck]"/> - <xsl:with-param name="elementToCheck" select="$elementToCheck +1"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="$precedingElement/draw:frame">no</xsl:when> - <xsl:otherwise>yes</xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="create-paragraph"> - <xsl:param name="globalData"/> + those have to be neglected in HTML + <xsl:when test="name() = 'text:p' and (normalize-space($childText) = '')"> --> + <!-- WorkAround: Test if the empty paragraph was added after an image, which OOO often does --> + <xsl:when test="(name($precedingElement) = 'text:p' and not($precedingElement/text()) and not($precedingElement/*))"> + <xsl:call-template name="follows-empty-paragraphs-and-image"> + <xsl:with-param name="precedingElement" select="preceding-sibling::*[$elementToCheck]"/> + <xsl:with-param name="elementToCheck" select="$elementToCheck +1"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$precedingElement/draw:frame">yes</xsl:when> + <xsl:otherwise>no</xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="create-paragraph"> + <xsl:param name="globalData"/> <!-- the footnote symbol is the prefix for a footnote in the footer --> - <xsl:param name="footnotePrefix"/> - - <!-- xhtml:p may only contain inline elements. - If there is one frame beyond, div must be used! --> - <xsl:variable name="elementName"> - <xsl:choose> - <xsl:when test="descendant::draw:frame[1] or descendant::text:p[1]">div</xsl:when> - <xsl:otherwise>p</xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:element name="{$elementName}"> - <xsl:choose> + <xsl:param name="footnotePrefix"/> + + <!-- xhtml:p may only contain inline elements. + If there is one frame beyond, div must be used! --> + <xsl:variable name="elementName"> + <xsl:choose> + <xsl:when test="descendant::draw:frame[1] or descendant::text:p[1]">div</xsl:when> + <xsl:otherwise>p</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:element name="{$elementName}"> + <xsl:choose> <!-- in ODF borders of paragraphs will be merged by default. Merging means the adjactend paragraphs are building a unit, where only the first and the last will have have a border to the surrounding (top / bottom border) <xsl:variable name="precedingParagraphStyle" select="preceding-sibling::*[1][name() = 'text:p']/@text:style-name"/> <xsl:variable name="followingParagraphStyle" select="following-sibling::*[1][name() = 'text:p']/@text:style-name"/> --> - <xsl:when test="$globalData/all-styles/style[@style:name = current()/@text:style-name]/@mergedBorders"> - <xsl:variable name="precedingParagraphStyle" select="preceding-sibling::*[1][name() = 'text:p']/@text:style-name"/> - <xsl:variable name="followingParagraphStyle" select="following-sibling::*[1][name() = 'text:p']/@text:style-name"/> - <xsl:choose> - <xsl:when test="$precedingParagraphStyle or $followingParagraphStyle"> - <xsl:variable name="isPrecedingBorderParagraph" select="$globalData/all-styles/style[@style:name = $precedingParagraphStyle]/@mergedBorders"/> - <xsl:variable name="isFollowingBorderParagraph" select="$globalData/all-styles/style[@style:name = $followingParagraphStyle]/@mergedBorders"/> - <xsl:choose> - <xsl:when test="not($isPrecedingBorderParagraph) and $isFollowingBorderParagraph"> - <xsl:attribute name="class"> - <xsl:value-of select="concat(translate(@text:style-name, '.,;: %()[]/\+', '_____________'), '_borderStart')"/> - </xsl:attribute> - <xsl:apply-templates> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="$isPrecedingBorderParagraph and not($isFollowingBorderParagraph)"> - <xsl:attribute name="class"> - <xsl:value-of select="concat(translate(@text:style-name, '.,;: %()[]/\+', '_____________'), '_borderEnd')"/> - </xsl:attribute> - <xsl:apply-templates> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name="class"> - <xsl:value-of select="translate(@text:style-name, '.,;: %()[]/\+', '_____________')"/> - </xsl:attribute> - <xsl:apply-templates> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="write-paragraph"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="write-paragraph"> - <xsl:with-param name="globalData" select="$globalData" /> - <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:element> - </xsl:template> - - <xsl:template name="write-paragraph"> - <xsl:param name="globalData"/> + <xsl:when test="$globalData/all-styles/style[@style:name = current()/@text:style-name]/@mergedBorders"> + <xsl:variable name="precedingParagraphStyle" select="preceding-sibling::*[1][name() = 'text:p']/@text:style-name"/> + <xsl:variable name="followingParagraphStyle" select="following-sibling::*[1][name() = 'text:p']/@text:style-name"/> + <xsl:choose> + <xsl:when test="$precedingParagraphStyle or $followingParagraphStyle"> + <xsl:variable name="isPrecedingBorderParagraph" select="$globalData/all-styles/style[@style:name = $precedingParagraphStyle]/@mergedBorders"/> + <xsl:variable name="isFollowingBorderParagraph" select="$globalData/all-styles/style[@style:name = $followingParagraphStyle]/@mergedBorders"/> + <xsl:choose> + <xsl:when test="not($isPrecedingBorderParagraph) and $isFollowingBorderParagraph"> + <xsl:attribute name="class"> + <xsl:value-of select="concat(translate(@text:style-name, '.,;: %()[]/\+', '_____________'), '_borderStart')"/> + </xsl:attribute> + <xsl:apply-templates> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$isPrecedingBorderParagraph and not($isFollowingBorderParagraph)"> + <xsl:attribute name="class"> + <xsl:value-of select="concat(translate(@text:style-name, '.,;: %()[]/\+', '_____________'), '_borderEnd')"/> + </xsl:attribute> + <xsl:apply-templates> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="class"> + <xsl:value-of select="translate(@text:style-name, '.,;: %()[]/\+', '_____________')"/> + </xsl:attribute> + <xsl:apply-templates> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="write-paragraph"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="write-paragraph"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:template> + + <xsl:template name="write-paragraph"> + <xsl:param name="globalData"/> <!-- the footnote symbol is the prefix for a footnote in the footer --> - <xsl:param name="footnotePrefix" /> + <xsl:param name="footnotePrefix" /> <!-- empty paragraph tags does not provoke an carridge return, therefore an non breakable space ( ) have been inserted.--> - <xsl:choose> - <xsl:when test="node()"> - <xsl:call-template name="apply-styles-and-content"> - <xsl:with-param name="globalData" select="$globalData" /> - <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="apply-styles-and-content"> - <xsl:with-param name="globalData" select="$globalData" /> - <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> - </xsl:call-template> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="style:tab-stop/@style:type"> - <xsl:text>text-align:</xsl:text> - <xsl:choose> - <xsl:when test=". = 'left'">left</xsl:when> - <xsl:when test=". = 'right'">right</xsl:when> - <xsl:when test=". = 'center'">center</xsl:when> - <xsl:otherwise>justify</xsl:otherwise> - </xsl:choose> - <xsl:text>;</xsl:text> - </xsl:template> - - <!-- As soon a frame is within a paragraph (text:p) or page:frame, every element floating (CSS) and worked out in sequence. + <xsl:choose> + <xsl:when test="node()"> + <xsl:call-template name="apply-styles-and-content"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="apply-styles-and-content"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="footnotePrefix" select="$footnotePrefix" /> + </xsl:call-template> + <xsl:text> </xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="style:tab-stop/@style:type"> + <xsl:text>text-align:</xsl:text> + <xsl:choose> + <xsl:when test=". = 'left'">left</xsl:when> + <xsl:when test=". = 'right'">right</xsl:when> + <xsl:when test=". = 'center'">center</xsl:when> + <xsl:otherwise>justify</xsl:otherwise> + </xsl:choose> + <xsl:text>;</xsl:text> + </xsl:template> + + <!-- As soon a frame is within a paragraph (text:p) or page:frame, every child element is floating (CSS) and worked out in sequence. Accumulating prior frame width and adding parent's left margin --> - - <!-- Matching all elements and text beyond a paragraph/text:page which are sibling of a draw:frame --> - <xsl:template match="* | text()" mode="frameFloating"> - <xsl:param name="globalData"/> - <xsl:param name="previousFrameWidths" select="0"/> - <xsl:param name="previousFrameHeights" select="0" /> + <!-- Matching all elements and text beyond a paragraph/text:page which are sibling of a draw:frame --> + <xsl:template match="* | text()" mode="frameFloating"> + <xsl:param name="globalData"/> + <xsl:param name="previousFrameWidths" select="0"/> + <xsl:param name="previousFrameHeights" select="0" /> <!-- it becomes true for siblings after a draw:frame --> - <xsl:param name="createDiv" select="false()"/> - <xsl:param name="noDivBefore" select="true()"/> - <xsl:param name="leftPosition" /> - <xsl:param name="parentMarginLeft" /> - <xsl:param name="frameAlignedToParagraphWithSvgY" /> - - <xsl:choose> - <xsl:when test="name() = 'draw:frame'"> - <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/> - - <!-- if the first node is a draw:frame create a div --> - <xsl:call-template name="createDrawFrame"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> - <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> - </xsl:call-template> - <!-- next elements will be called after the creation with the new indent (plus width of frame) --> - </xsl:when> - <xsl:otherwise> - <xsl:variable name="nextSiblingIsFrame" select="name(following-sibling::node()[1]) = 'draw:frame'"/> - <xsl:choose> - <xsl:when test="$createDiv and normalize-space(.) != ''"> + <xsl:param name="createDiv" select="false()"/> + <xsl:param name="noDivBefore" select="true()"/> + <xsl:param name="leftPosition" /> + <xsl:param name="parentMarginLeft" /> + <xsl:param name="frameAlignedToParagraphWithSvgY" /> + + <xsl:choose> + <xsl:when test="name() = 'draw:frame'"> + <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/> + + <!-- if the first node is a draw:frame create a div --> + <xsl:call-template name="createDrawFrame"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> + <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> + </xsl:call-template> + <!-- next elements will be called after the creation with the new indent (plus width of frame) --> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="nextSiblingIsFrame" select="name(following-sibling::node()[1]) = 'draw:frame'"/> + <xsl:choose> + <xsl:when test="$createDiv and normalize-space(.) != ''"> <!-- every following frame sibling till the next draw:frame - have to be incapuslated within a div with left indent. - To be moved alltogether arcording the indent (usually right) --> - <xsl:comment>Next 'div' added for floating.</xsl:comment> - <xsl:element name="div"> - <xsl:attribute name="style"> - <xsl:text>position:relative; left:</xsl:text> - <xsl:value-of select="$leftPosition"/> - <xsl:text>cm;</xsl:text> - </xsl:attribute> - <xsl:apply-templates select="."> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> + have to be incapuslated within a div with left indent. + To be moved alltogether arcording the indent (usually right) --> + <xsl:comment>Next 'div' added for floating.</xsl:comment> + <xsl:element name="div"> + <xsl:attribute name="style"> + <xsl:text>position:relative; left:</xsl:text> + <xsl:value-of select="$leftPosition"/> + <xsl:text>cm;</xsl:text> + </xsl:attribute> + <xsl:apply-templates select="."> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> <!-- if it is a frame sibling it will be NOT incapuslated within the div (as already within one) --> - <xsl:if test="not($nextSiblingIsFrame)"> - <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> - <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> - <xsl:with-param name="leftPosition" select="$leftPosition"/> - <xsl:with-param name="createDiv" select="false()"/> - <xsl:with-param name="noDivBefore" select="$noDivBefore"/> - <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/> - </xsl:apply-templates> - </xsl:if> - </xsl:element> - <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/> - - <!-- Other draw:frame will be created outside of the div element --> - <xsl:apply-templates select="following-sibling::draw:frame[1]" mode="frameFloating"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> - <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> - <xsl:with-param name="leftPosition" select="$leftPosition"/> - <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="not($createDiv)"> - <xsl:apply-templates select="."> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/> - </xsl:apply-templates> - <xsl:if test="not($nextSiblingIsFrame) or $noDivBefore"> - <xsl:variable name="followingSibling" select="following-sibling::node()[1]"/> - <xsl:choose> - <xsl:when test="normalize-space($followingSibling) != ''"> - <xsl:apply-templates select="$followingSibling" mode="frameFloating"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> - <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> - <xsl:with-param name="leftPosition" select="$leftPosition"/> - <xsl:with-param name="createDiv" select="false()"/> - <xsl:with-param name="noDivBefore" select="$noDivBefore"/> - <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </xsl:when> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + <xsl:if test="not($nextSiblingIsFrame)"> + <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> + <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> + <xsl:with-param name="leftPosition" select="$leftPosition"/> + <xsl:with-param name="createDiv" select="false()"/> + <xsl:with-param name="noDivBefore" select="$noDivBefore"/> + <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/> + </xsl:apply-templates> + </xsl:if> + </xsl:element> + <xsl:copy-of select="$frameAlignedToParagraphWithSvgY"/> + + <!-- Other draw:frame will be created outside of the div element --> + <xsl:apply-templates select="following-sibling::draw:frame[1]" mode="frameFloating"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> + <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> + <xsl:with-param name="leftPosition" select="$leftPosition"/> + <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="not($createDiv)"> + <xsl:apply-templates select="."> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/> + </xsl:apply-templates> + <xsl:if test="not($nextSiblingIsFrame) or $noDivBefore"> + <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> + <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> + <xsl:with-param name="leftPosition" select="$leftPosition"/> + <xsl:with-param name="createDiv" select="false()"/> + <xsl:with-param name="noDivBefore" select="$noDivBefore"/> + <xsl:with-param name="frameAlignedToParagraphWithSvgY" select="$frameAlignedToParagraphWithSvgY"/> + </xsl:apply-templates> + </xsl:if> + </xsl:when> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- A XML node other than text or element (e.g. commment) should not stop the recursion --> + <xsl:template match="comment()" mode="frameFloating"> + <xsl:param name="globalData"/> + <xsl:param name="previousFrameWidths" select="0"/> + <xsl:param name="previousFrameHeights" select="0" /> + <!-- it becomes true for siblings after a draw:frame --> + <xsl:param name="createDiv" select="false()"/> + <xsl:param name="noDivBefore" select="true()"/> + <xsl:param name="leftPosition" /> + <xsl:param name="parentMarginLeft" /> + <xsl:param name="frameAlignedToParagraphWithSvgY" /> + + <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeft"/> + <xsl:with-param name="leftPosition" select="$leftPosition"/> + <xsl:with-param name="createDiv" select="$createDiv"/> + <xsl:with-param name="noDivBefore" select="$noDivBefore"/> + </xsl:apply-templates> + </xsl:template> + + <!-- As draw:fame may occure within more elements than in text:p and draw:page --> - <xsl:template match="draw:frame"> - <xsl:param name="globalData"/> - <xsl:param name="previousFrameWidths" select="0"/> - <xsl:param name="previousFrameHeights" select="0" /> - - <xsl:call-template name="createDrawFrame"> - <xsl:with-param name="globalData" select="$globalData" /> - <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> - <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> - </xsl:call-template> - <!-- after the last draw:frame sibling the CSS float is disabled --> - <div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;"> </div> - </xsl:template> - - <xsl:template name="getPageMarginLeft"> + <xsl:template match="draw:frame"> + <xsl:param name="globalData"/> + <xsl:param name="previousFrameWidths" select="0"/> + <xsl:param name="previousFrameHeights" select="0" /> + + <xsl:call-template name="createDrawFrame"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths"/> + <xsl:with-param name="previousFrameHeights" select="$previousFrameHeights"/> + </xsl:call-template> + <!-- after the last draw:frame sibling the CSS float is disabled --> + <div style="clear:both; line-height:0; width:0; height:0; margin:0; padding:0;"> </div> + </xsl:template> + + <xsl:template name="getPageMarginLeft"> <!-- approximation to find the correct master page style (with page dimensions) --> - <xsl:variable name="masterPageNames"> + <xsl:variable name="masterPageNames"> <!-- Loop over every style:style containing a @style:master-page-name attribute --> - <xsl:for-each select="key('masterPage','count')"> + <xsl:for-each select="key('masterPage','count')"> <!-- Check if this style is being used in the body --> - <xsl:if test="key('elementUsingStyle', ../@style:name)"> + <xsl:if test="key('elementUsingStyle', ../@style:name)"> <!-- Check every master-page-name if it is not emtpy and return as ';' separated list --> - <xsl:if test="string-length(../@style:master-page-name) > 0"> - <xsl:value-of select="../@style:master-page-name"/>;</xsl:if> - </xsl:if> - </xsl:for-each> - </xsl:variable> + <xsl:if test="string-length(../@style:master-page-name) > 0"> + <xsl:value-of select="../@style:master-page-name"/>;</xsl:if> + </xsl:if> + </xsl:for-each> + </xsl:variable> <!-- Take the first of the masterpage list and get the according style:master-page element and find the @style:page-layout-name --> - <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/> + <xsl:variable name="pageLayoutName" select="key('masterPageElements', substring-before($masterPageNames,';'))/@style:page-layout-name"/> <!-- Find the according style:page-layout and store the properties in a variable --> - <xsl:variable name="pageMarginLeftAttr" select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties/@fo:margin-left"/> - <xsl:choose> - <xsl:when test="$pageMarginLeftAttr"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="$pageMarginLeftAttr"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:template> + <xsl:variable name="pageMarginLeftAttr" select="key('pageLayoutElements', $pageLayoutName)/style:page-layout-properties/@fo:margin-left"/> + <xsl:choose> + <xsl:when test="$pageMarginLeftAttr"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="$pageMarginLeftAttr"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:template> <!-- Elements and text aside of a draw:frame are floating, here a div is being created. - Either for a draw:frame or for text and other elements floating aside --> - <xsl:template name="createDrawFrame"> - <xsl:param name="globalData"/> - <xsl:param name="previousFrameWidths" select="0"/> - <xsl:param name="previousFrameHeights" select="0" /> - <xsl:param name="parentMarginLeft"/> - - <xsl:variable name="parentMarginLeftNew"> - <xsl:choose> - <xsl:when test="string-length(normalize-space($parentMarginLeft)) < 1"> + Either for a draw:frame or for text and other elements floating aside --> + <xsl:template name="createDrawFrame"> + <xsl:param name="globalData"/> + <xsl:param name="previousFrameWidths" select="0"/> + <xsl:param name="previousFrameHeights" select="0" /> + <xsl:param name="parentMarginLeft"/> + + <xsl:variable name="parentMarginLeftNew"> + <xsl:choose> + <xsl:when test="string-length(normalize-space($parentMarginLeft)) < 1"> <!-- Styles of first paragraph in list item, including ancestor styles (inheritance) --> - <xsl:variable name="paragraphName" select="parent::*/@text:style-name" /> - <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paragraphName]/final-properties"/> + <xsl:variable name="paragraphName" select="parent::*/@text:style-name" /> + <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paragraphName]/final-properties"/> <!-- Only the left margin of the first paragraph of a list item will be added to the margin of the complete list (all levels)--> - <xsl:choose> - <xsl:when test="contains($imageParagraphStyle, 'margin-left:')"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($imageParagraphStyle, 'margin-left:'), ';'))"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$parentMarginLeft"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name="svgWidth"> - <xsl:choose> - <xsl:when test="@svg:width"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="@svg:width"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name="svgX"> - <xsl:choose> - <xsl:when test="@svg:x"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="@svg:x"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name="leftPosition" select="$svgX - $parentMarginLeftNew - $previousFrameWidths"/> - <xsl:variable name="svgY"> - <xsl:choose> - <xsl:when test="@svg:y"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="@svg:y"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <!-- if the frame is anchored on a paragraph --> - <xsl:if test="@text:anchor-type='paragraph'"> - <xsl:comment>Next 'div' is emulating the top hight of a draw:frame.</xsl:comment> - <!-- When the svg:y is set relativ to the paragraph content, the best way to emulate a positive height, - is to add an invisbile division inbetween with a height. - Often text will flow into this 'gap', which is handled separately! - --> - <xsl:if test="$svgY > 0"> - <xsl:element name="div"> - <xsl:attribute name="style"> - <xsl:text>height:</xsl:text> - <xsl:value-of select="$svgY"/> - <xsl:text>cm;</xsl:text> - </xsl:attribute> - <xsl:text> </xsl:text> - </xsl:element> - </xsl:if> - </xsl:if> - - - <xsl:variable name="followingSibling" select="following-sibling::node()[1]"/> - <!-- - <xsl:choose> - HEURISTIC: if the frame is anchored on a paragraph and the above gab is big enough to hold a text line, - move it behind the text - <xsl:when test="@text:anchor-type='paragraph' and - ( - ($svgY > 0.5) or - ($svgX > 4) - ) and normalize-space($followingSibling) != ''"> - <xsl:apply-templates select="$followingSibling" mode="frameFloating"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeftNew"/> - <xsl:with-param name="leftPosition" select="$leftPosition"/> - <xsl:with-param name="createDiv" select="true()"/> - <xsl:with-param name="noDivBefore" select="false()"/> - <xsl:with-param name="frameAlignedToParagraphWithSvgY"> - <xsl:call-template name="createDrawFrame2"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/> - <xsl:with-param name="parentMarginLeftNew" select="$parentMarginLeftNew"/> - <xsl:with-param name="leftPosition" select="$leftPosition"/> - <xsl:with-param name="svgY" select="$svgY"/> - </xsl:call-template> - </xsl:with-param> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise>--> - <xsl:call-template name="createDrawFrame2"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/> - <xsl:with-param name="parentMarginLeftNew" select="$parentMarginLeftNew"/> - <xsl:with-param name="leftPosition" select="$leftPosition"/> - <xsl:with-param name="svgY" select="$svgY"/> - </xsl:call-template> - <!-- <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/> - <xsl:with-param name="parentMarginLeft" select="$parentMarginLeftNew"/> - <xsl:with-param name="leftPosition" select="$leftPosition"/> - <xsl:with-param name="createDiv" select="true()"/> - <xsl:with-param name="noDivBefore" select="false()"/> - </xsl:apply-templates> - - </xsl:otherwise> - </xsl:choose> --> - </xsl:template> - - <xsl:template name="createDrawFrame2"> - <xsl:param name="globalData"/> - <xsl:param name="previousFrameWidths" /> - <xsl:param name="parentMarginLeftNew"/> - <xsl:param name="leftPosition" /> - <xsl:param name="svgY" /> - - <xsl:comment>Next 'div' is a draw:frame.</xsl:comment> - <xsl:element name="div"> - <xsl:attribute name="style"> - <xsl:call-template name="widthAndHeight"/> + <xsl:choose> + <xsl:when test="contains($imageParagraphStyle, 'margin-left:')"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($imageParagraphStyle, 'margin-left:'), ';'))"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$parentMarginLeft"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="svgWidth"> + <xsl:choose> + <xsl:when test="@svg:width"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="@svg:width"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="svgX"> + <xsl:choose> + <xsl:when test="@svg:x"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="@svg:x"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="leftPosition" select="$svgX - $parentMarginLeftNew - $previousFrameWidths"/> + <xsl:variable name="svgY"> + <xsl:choose> + <xsl:when test="@svg:y"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="@svg:y"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <!-- if the frame is anchored on a paragraph --> + <xsl:if test="@text:anchor-type='paragraph'"> + <xsl:comment>Next 'div' is emulating the top hight of a draw:frame.</xsl:comment> + <!-- When the svg:y is set relativ to the paragraph content, the best way to emulate a positive height, + is to add an invisbile division inbetween with a height. + Often text will flow into this 'gap', which is handled separately! + --> + <xsl:if test="$svgY > 0"> + <xsl:element name="div"> + <xsl:attribute name="style"> + <xsl:text>height:</xsl:text> + <xsl:value-of select="$svgY"/> + <xsl:text>cm;</xsl:text> + </xsl:attribute> + <xsl:text> </xsl:text> + </xsl:element> + </xsl:if> + </xsl:if> + + + <!-- + <xsl:variable name="followingSibling" select="following-sibling::node()[1]"/> + <xsl:choose> + HEURISTIC: if the frame is anchored on a paragraph and the above gab is big enough to hold a text line, + move it behind the text + <xsl:when test="@text:anchor-type='paragraph' and + ( + ($svgY > 0.5) or + ($svgX > 4) + ) and normalize-space($followingSibling) != ''"> + <xsl:apply-templates select="$followingSibling" mode="frameFloating"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeftNew"/> + <xsl:with-param name="leftPosition" select="$leftPosition"/> + <xsl:with-param name="createDiv" select="true()"/> + <xsl:with-param name="noDivBefore" select="false()"/> + <xsl:with-param name="frameAlignedToParagraphWithSvgY"> + <xsl:call-template name="createDrawFrame2"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/> + <xsl:with-param name="parentMarginLeftNew" select="$parentMarginLeftNew"/> + <xsl:with-param name="leftPosition" select="$leftPosition"/> + <xsl:with-param name="svgY" select="$svgY"/> + </xsl:call-template> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise>--> + <xsl:call-template name="createDrawFrame2"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/> + <xsl:with-param name="parentMarginLeftNew" select="$parentMarginLeftNew"/> + <xsl:with-param name="leftPosition" select="$leftPosition"/> + <xsl:with-param name="svgY" select="$svgY"/> + </xsl:call-template> + <xsl:apply-templates select="following-sibling::node()[1]" mode="frameFloating"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="previousFrameWidths" select="$previousFrameWidths + $svgWidth"/> + <xsl:with-param name="parentMarginLeft" select="$parentMarginLeftNew"/> + <xsl:with-param name="leftPosition" select="$leftPosition"/> + <xsl:with-param name="createDiv" select="true()"/> + <xsl:with-param name="noDivBefore" select="false()"/> + </xsl:apply-templates> + <!-- + + </xsl:otherwise> + </xsl:choose> --> + </xsl:template> + + <xsl:template name="createDrawFrame2"> + <xsl:param name="globalData"/> + <xsl:param name="previousFrameWidths" /> + <xsl:param name="parentMarginLeftNew"/> + <xsl:param name="leftPosition" /> + <xsl:param name="svgY" /> + + <xsl:comment>Next 'div' is a draw:frame.</xsl:comment> + <xsl:element name="div"> + <xsl:attribute name="style"> + <xsl:call-template name="widthAndHeight"/> <!-- all images float (CSS float reltaive) with a left position calculated by svg:x - parentMarginLeft - previousFrameWidths --> - <xsl:text> float:left; padding:0; position:relative; left:</xsl:text> - <xsl:value-of select="$leftPosition"/> - <xsl:text>cm; </xsl:text> - <!-- if the frame is anchored on a char --> - <xsl:if test="@text:anchor-type='char'"> - <xsl:text>top:</xsl:text> - <xsl:value-of select="$svgY"/> - <xsl:text>cm; </xsl:text> - </xsl:if> - </xsl:attribute> - <xsl:apply-templates select="@*"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - <xsl:apply-templates select="node()"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:element> - </xsl:template> - - <xsl:template name="widthAndHeight"> - <xsl:if test="@svg:height | @svg:width"> - <xsl:choose> - <xsl:when test="not(@svg:width)"> - <xsl:call-template name="svg:height"/> - </xsl:when> - <xsl:when test="not(@svg:height)"> - <xsl:call-template name="svg:width"/> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="svg:height"/> - <xsl:call-template name="svg:width"/> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </xsl:template> + <xsl:text> float:left; padding:0; position:relative; left:</xsl:text> + <xsl:value-of select="$leftPosition"/> + <xsl:text>cm; </xsl:text> + <!-- if the frame is anchored on a char --> + <xsl:if test="@text:anchor-type='char'"> + <xsl:text>top:</xsl:text> + <xsl:value-of select="$svgY"/> + <xsl:text>cm; </xsl:text> + </xsl:if> + </xsl:attribute> + <xsl:apply-templates select="@*"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + <xsl:apply-templates select="node()"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:element> + </xsl:template> + + <xsl:template name="widthAndHeight"> + <xsl:if test="@svg:height | @svg:width"> + <xsl:choose> + <xsl:when test="not(@svg:width)"> + <xsl:call-template name="svg:height"/> + </xsl:when> + <xsl:when test="not(@svg:height)"> + <xsl:call-template name="svg:width"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="svg:height"/> + <xsl:call-template name="svg:width"/> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:template> <!-- ***************** --> <!-- *** Text Span *** --> <!-- ***************** --> - <xsl:template match="text:span"> - <xsl:param name="globalData"/> + <xsl:template match="text:span"> + <xsl:param name="globalData"/> <xsl:choose> <xsl:when test="draw:frame"> - <!-- sometimes an ODF image is anchored as character and the + <!-- sometimes an ODF image is anchored as character and the image frame appears within a span (which is not valid for HTML) Heuristic: Neglecting the span assuming no text content aside of frame within span --> <xsl:apply-templates> <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> + </xsl:apply-templates> </xsl:when> <xsl:otherwise> <xsl:element name="span"> @@ -1051,7 +1087,7 @@ </xsl:element> </xsl:otherwise> </xsl:choose> - </xsl:template> + </xsl:template> @@ -1059,156 +1095,156 @@ <!-- *** Headings *** --> <!-- **************** --> - <xsl:template match="text:h"> - <xsl:param name="globalData"/> + <xsl:template match="text:h"> + <xsl:param name="globalData"/> <!-- no creation of empty headings (without text content) --> - <xsl:if test="text() or descendant::text()"> + <xsl:if test="text() or descendant::text()"> <!-- The URL linking of an table-of-content is due to a bug (cp. bug id# 102311) not mapped as URL in the XML. Linking of the table-of-content can therefore only be archieved by a work-around in HTML --> - <xsl:call-template name="create-heading"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:if> - </xsl:template> + <xsl:call-template name="create-heading"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:if> + </xsl:template> <!-- default matching for header elements --> - <xsl:template name="create-heading"> - <xsl:param name="globalData"/> - - <xsl:variable name="headingLevel"> - <xsl:choose> - <xsl:when test="@text:outline-level < 6"> - <xsl:value-of select="@text:outline-level"/> - </xsl:when> - <xsl:otherwise>6</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name="headertyp" select="concat('h', $headingLevel)"/> - <xsl:element name="{$headertyp}"> + <xsl:template name="create-heading"> + <xsl:param name="globalData"/> + + <xsl:variable name="headingLevel"> + <xsl:choose> + <xsl:when test="@text:outline-level < 6"> + <xsl:value-of select="@text:outline-level"/> + </xsl:when> + <xsl:otherwise>6</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="headertyp" select="concat('h', $headingLevel)"/> + <xsl:element name="{$headertyp}"> <!-- outline style 'text:min-label-width' is interpreted as a CSS 'margin-right' attribute NOTE: Should be handled as CSS style in style header --> - <xsl:variable name="min-label" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-width"/> - <xsl:attribute name="class"> - <xsl:value-of select="translate(@text:style-name, '.,;: %()[]/\+', '_____________')"/> - </xsl:attribute> - - <xsl:call-template name="create-heading-anchor"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - - <xsl:apply-templates> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:element> - - </xsl:template> - - <xsl:template name="create-heading-anchor"> - <xsl:param name="globalData"/> - - <!-- writing out a heading number if desired.--> - <!-- if a corresponding 'text:outline-style' exist or is not empty --> - <xsl:choose> - <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-format != ''"> - - <!-- Every heading element will get an unique anchor for its file, from its hiearchy level and name: - For example: The heading title 'My favorite heading' might get <a name="1_2_2_My_favorite_heading" /> --> - <!-- creating an anchor for referencing the heading (e.g. from content table) --> - <xsl:variable name="headingNumber"> - <xsl:call-template name="get-heading-number"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:variable> - <xsl:call-template name="create-heading-anchor2"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="headingNumber" select="$headingNumber"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="create-heading-anchor2"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - - <xsl:template name="get-heading-number"> - <xsl:param name="globalData"/> - - <!-- write number prefix --> - <xsl:value-of select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-prefix"/> - <xsl:call-template name="write-heading-number"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - <!-- write number suffix --> - <xsl:value-of select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-suffix"/> - </xsl:template> + <xsl:variable name="min-label" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-width"/> + <xsl:attribute name="class"> + <xsl:value-of select="translate(@text:style-name, '.,;: %()[]/\+', '_____________')"/> + </xsl:attribute> + + <xsl:call-template name="create-heading-anchor"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + + <xsl:apply-templates> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:element> + + </xsl:template> + + <xsl:template name="create-heading-anchor"> + <xsl:param name="globalData"/> + + <!-- writing out a heading number if desired.--> + <!-- if a corresponding 'text:outline-style' exist or is not empty --> + <xsl:choose> + <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-format != ''"> + + <!-- Every heading element will get an unique anchor for its file, from its hiearchy level and name: + For example: The heading title 'My favorite heading' might get <a name="1_2_2_My_favorite_heading" /> --> + <!-- creating an anchor for referencing the heading (e.g. from content table) --> + <xsl:variable name="headingNumber"> + <xsl:call-template name="get-heading-number"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:variable> + <xsl:call-template name="create-heading-anchor2"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="headingNumber" select="$headingNumber"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="create-heading-anchor2"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <xsl:template name="get-heading-number"> + <xsl:param name="globalData"/> + + <!-- write number prefix --> + <xsl:value-of select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-prefix"/> + <xsl:call-template name="write-heading-number"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + <!-- write number suffix --> + <xsl:value-of select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@style:num-suffix"/> + </xsl:template> <!-- creating an anchor for referencing the heading --> - <xsl:template name="create-heading-anchor2"> - <xsl:param name="globalData"/> - <xsl:param name="headingNumber" /> - - <xsl:variable name="title"> - <xsl:apply-templates mode="concatenate"/> - </xsl:variable> - <!-- REFERENCE HANDLING - ANCHOR --> - <xsl:element namespace="{$namespace}" name="a"> - <xsl:attribute name="id"> - <xsl:value-of select="translate(concat('a_',$headingNumber, '_', normalize-space($title)), '
&<>.,;: %()[]/\+', '___________________________')"/> - </xsl:attribute> - - <xsl:element name="span"> + <xsl:template name="create-heading-anchor2"> + <xsl:param name="globalData"/> + <xsl:param name="headingNumber" /> + + <xsl:variable name="title"> + <xsl:apply-templates mode="concatenate"/> + </xsl:variable> + <!-- REFERENCE HANDLING - ANCHOR --> + <xsl:element namespace="{$namespace}" name="a"> + <xsl:attribute name="id"> + <xsl:value-of select="translate(concat('a_',$headingNumber, '_', normalize-space($title)), '
&<>.,;: %()[]/\+', '___________________________')"/> + </xsl:attribute> + + <xsl:element name="span"> <!-- outline style 'text:min-label-distance' is interpreted as a CSS 'margin-right' attribute NOTE: Should be handled as CSS style in style header --> - <xsl:variable name="minLabelDistance" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-distance"/> - <xsl:variable name="minLabelWidth" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-width"/> - - <xsl:if test="$minLabelDistance | $minLabelWidth"> - <xsl:attribute name="style"> - <xsl:if test="$minLabelDistance"> - <xsl:text>margin-right:</xsl:text> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="$minLabelDistance"/> - </xsl:call-template> - <xsl:text>cm;</xsl:text> - </xsl:if> - <xsl:if test="$minLabelWidth"> - <xsl:text>min-width:</xsl:text> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="$minLabelWidth"/> - </xsl:call-template> - <xsl:text>cm;</xsl:text> - </xsl:if> - </xsl:attribute> - </xsl:if> - <xsl:copy-of select="$headingNumber"/> - </xsl:element> - </xsl:element> - </xsl:template> - - <xsl:template name="write-heading-number"> - <xsl:param name="globalData"/> + <xsl:variable name="minLabelDistance" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-distance"/> + <xsl:variable name="minLabelWidth" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/*/@text:min-label-width"/> + + <xsl:if test="$minLabelDistance | $minLabelWidth"> + <xsl:attribute name="style"> + <xsl:if test="$minLabelDistance"> + <xsl:text>margin-right:</xsl:text> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="$minLabelDistance"/> + </xsl:call-template> + <xsl:text>cm;</xsl:text> + </xsl:if> + <xsl:if test="$minLabelWidth"> + <xsl:text>min-width:</xsl:text> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="$minLabelWidth"/> + </xsl:call-template> + <xsl:text>cm;</xsl:text> + </xsl:if> + </xsl:attribute> + </xsl:if> + <xsl:copy-of select="$headingNumber"/> + </xsl:element> + </xsl:element> + </xsl:template> + + <xsl:template name="write-heading-number"> + <xsl:param name="globalData"/> <!-- By default heading start with '1', the parameter 'textStartValue' will only be set, if the attribute @text:start-value exist --> - <xsl:choose> - <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@text:start-value"> - <xsl:call-template name="calc-heading-number"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="outlineLevel" select="@text:outline-level"/> - <xsl:with-param name="textStartValue" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@text:start-value"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="calc-heading-number"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="outlineLevel" select="@text:outline-level"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + <xsl:choose> + <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@text:start-value"> + <xsl:call-template name="calc-heading-number"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="outlineLevel" select="@text:outline-level"/> + <xsl:with-param name="textStartValue" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = current()/@text:outline-level]/@text:start-value"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="calc-heading-number"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="outlineLevel" select="@text:outline-level"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> <!-- Find the correct heading no., which is the sum of 'text:start-value' @@ -1216,149 +1252,149 @@ If the 'text:start-value is not set the default value of '1' has to be taken. If a heading number is found (e.g. text:outline-level='3') all heading numbers for the higher levels have to be written out --> - <xsl:template name="calc-heading-number"> - <xsl:param name="globalData"/> - <xsl:param name="outlineLevel"/><!-- text level of the heading --> - <xsl:param name="iOutlineLevel" select="1"/><!-- iterator, counts from 1 to the text level of the heading --> - <xsl:param name="textStartValue" select="1"/><!-- text level to start with, default is '1' --> + <xsl:template name="calc-heading-number"> + <xsl:param name="globalData"/> + <xsl:param name="outlineLevel"/><!-- text level of the heading --> + <xsl:param name="iOutlineLevel" select="1"/><!-- iterator, counts from 1 to the text level of the heading --> + <xsl:param name="textStartValue" select="1"/><!-- text level to start with, default is '1' --> - <xsl:choose> + <xsl:choose> <!-- iText levels counts up from '1' to outlineLevel Which means writing a heading number from left to right --> - <xsl:when test="$iOutlineLevel < $outlineLevel"> + <xsl:when test="$iOutlineLevel < $outlineLevel"> <!-- Write preceding heading numbers --> - <xsl:call-template name="writeNumber"> - <xsl:with-param name="numberDigit"> - <xsl:call-template name="calc-heading-digit"> - <xsl:with-param name="value" select="0"/> - <xsl:with-param name="currentoutlineLevel" select="$iOutlineLevel"/> - </xsl:call-template> - </xsl:with-param> - <xsl:with-param name="numberFormat" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($outlineLevel)]/@style:num-format"/> - </xsl:call-template> - <xsl:choose> - <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($iOutlineLevel + 1)]/@text:start-value"> - <xsl:call-template name="calc-heading-number"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="outlineLevel" select="$outlineLevel"/> - <xsl:with-param name="iOutlineLevel" select="$iOutlineLevel + 1"/> - <xsl:with-param name="textStartValue" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($iOutlineLevel + 1)]/@text:start-value"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="calc-heading-number"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="outlineLevel" select="$outlineLevel"/> - <xsl:with-param name="iOutlineLevel" select="$iOutlineLevel + 1"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> + <xsl:call-template name="writeNumber"> + <xsl:with-param name="numberDigit"> + <xsl:call-template name="calc-heading-digit"> + <xsl:with-param name="value" select="0"/> + <xsl:with-param name="currentoutlineLevel" select="$iOutlineLevel"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="numberFormat" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($outlineLevel)]/@style:num-format"/> + </xsl:call-template> + <xsl:choose> + <xsl:when test="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($iOutlineLevel + 1)]/@text:start-value"> + <xsl:call-template name="calc-heading-number"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="outlineLevel" select="$outlineLevel"/> + <xsl:with-param name="iOutlineLevel" select="$iOutlineLevel + 1"/> + <xsl:with-param name="textStartValue" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = ($iOutlineLevel + 1)]/@text:start-value"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="calc-heading-number"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="outlineLevel" select="$outlineLevel"/> + <xsl:with-param name="iOutlineLevel" select="$iOutlineLevel + 1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> <!-- Write preceding heading numbers --> - <xsl:call-template name="writeNumber"> - <xsl:with-param name="numberDigit"> - <xsl:call-template name="calc-heading-digit"> - <xsl:with-param name="value" select="$textStartValue"/> - <xsl:with-param name="currentoutlineLevel" select="$iOutlineLevel"/> - </xsl:call-template> - </xsl:with-param> - <xsl:with-param name="numberFormat" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = $outlineLevel]/@style:num-format"/> - <xsl:with-param name="last" select="true()"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="writeNumber"> - <xsl:param name="numberDigit"/> - <xsl:param name="numberFormat"/> - <xsl:param name="last"/> - - <xsl:choose> - <xsl:when test="not($numberFormat)"> - <xsl:number value="$numberDigit" format="1."/> - </xsl:when> - <xsl:otherwise> - <xsl:choose> - <xsl:when test="$last"> - <xsl:number value="$numberDigit" format="{$numberFormat}"/> - </xsl:when> - <xsl:otherwise> - <xsl:number value="$numberDigit" format="{$numberFormat}."/> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="calc-heading-digit"> - <xsl:param name="value"/> - <xsl:param name="currentoutlineLevel"/> - <xsl:param name="i" select="1"/> - - <xsl:variable name="precedingoutlineLevel" select="preceding-sibling::text:h[$i]/@text:outline-level"/> - <xsl:choose> - <xsl:when test="$currentoutlineLevel = $precedingoutlineLevel"> - <xsl:call-template name="calc-heading-digit"> - <xsl:with-param name="value" select="$value + 1"/> - <xsl:with-param name="currentoutlineLevel" select="$currentoutlineLevel"/> - <xsl:with-param name="i" select="$i + 1"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="$currentoutlineLevel < $precedingoutlineLevel"> - <xsl:call-template name="calc-heading-digit"> - <xsl:with-param name="value" select="$value"/> - <xsl:with-param name="currentoutlineLevel" select="$currentoutlineLevel"/> - <xsl:with-param name="i" select="$i + 1"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$value"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + <xsl:call-template name="writeNumber"> + <xsl:with-param name="numberDigit"> + <xsl:call-template name="calc-heading-digit"> + <xsl:with-param name="value" select="$textStartValue"/> + <xsl:with-param name="currentoutlineLevel" select="$iOutlineLevel"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="numberFormat" select="$globalData/office:styles/text:outline-style/text:outline-level-style[@text:level = $outlineLevel]/@style:num-format"/> + <xsl:with-param name="last" select="true()"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="writeNumber"> + <xsl:param name="numberDigit"/> + <xsl:param name="numberFormat"/> + <xsl:param name="last"/> + + <xsl:choose> + <xsl:when test="not($numberFormat)"> + <xsl:number value="$numberDigit" format="1."/> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$last"> + <xsl:number value="$numberDigit" format="{$numberFormat}"/> + </xsl:when> + <xsl:otherwise> + <xsl:number value="$numberDigit" format="{$numberFormat}."/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="calc-heading-digit"> + <xsl:param name="value"/> + <xsl:param name="currentoutlineLevel"/> + <xsl:param name="i" select="1"/> + + <xsl:variable name="precedingoutlineLevel" select="preceding-sibling::text:h[$i]/@text:outline-level"/> + <xsl:choose> + <xsl:when test="$currentoutlineLevel = $precedingoutlineLevel"> + <xsl:call-template name="calc-heading-digit"> + <xsl:with-param name="value" select="$value + 1"/> + <xsl:with-param name="currentoutlineLevel" select="$currentoutlineLevel"/> + <xsl:with-param name="i" select="$i + 1"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="$currentoutlineLevel < $precedingoutlineLevel"> + <xsl:call-template name="calc-heading-digit"> + <xsl:with-param name="value" select="$value"/> + <xsl:with-param name="currentoutlineLevel" select="$currentoutlineLevel"/> + <xsl:with-param name="i" select="$i + 1"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$value"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> <!-- Neglect Annotations --> - <xsl:template match="office:annotation" mode="concatenate"/> + <xsl:template match="office:annotation" mode="concatenate"/> <!-- Match text:placeholder child nodes (e.g. text) --> - <xsl:template match="text:placeholder"> - <xsl:param name="globalData"/> + <xsl:template match="text:placeholder"> + <xsl:param name="globalData"/> - <xsl:call-template name="apply-styles-and-content"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:template> + <xsl:call-template name="apply-styles-and-content"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:template> <!-- ************* --> <!-- *** Link *** --> <!-- ************* --> - <xsl:template match="text:a | draw:a"> - <xsl:param name="globalData"/> + <xsl:template match="text:a | draw:a"> + <xsl:param name="globalData"/> - <xsl:call-template name="create-common-anchor-link"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:template> + <xsl:call-template name="create-common-anchor-link"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:template> - <xsl:template name="create-common-anchor-link"> - <xsl:param name="globalData"/> + <xsl:template name="create-common-anchor-link"> + <xsl:param name="globalData"/> - <xsl:element name="a"> - <xsl:attribute name="href"> - <xsl:call-template name="create-href"> - <xsl:with-param name="href" select="@xlink:href"/> - </xsl:call-template> - </xsl:attribute> - <xsl:call-template name="apply-styles-and-content"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:element> - </xsl:template> + <xsl:element name="a"> + <xsl:attribute name="href"> + <xsl:call-template name="create-href"> + <xsl:with-param name="href" select="@xlink:href"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="apply-styles-and-content"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:element> + </xsl:template> @@ -1367,80 +1403,80 @@ <!-- ******************* --> <!-- currently suggesting that all draw:object-ole elements are images --> - <xsl:template match="draw:image | draw:object-ole"> - <xsl:param name="globalData"/> + <xsl:template match="draw:image | draw:object-ole"> + <xsl:param name="globalData"/> - <xsl:choose> - <xsl:when test="ancestor::text:p or parent::text:span or parent::text:h or parent::draw:a or parent::text:a or text:ruby-base"> + <xsl:choose> + <xsl:when test="ancestor::text:p or parent::text:span or parent::text:h or parent::draw:a or parent::text:a or text:ruby-base"> <!-- XHTML does not allow the mapped elements to contain paragraphs --> - <xsl:call-template name="create-image-element"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> + <xsl:call-template name="create-image-element"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> <!-- images are embedded in a paragraph, but are in CSS not able to express a horizontal alignment for themself. A 'div' element taking over the image style would solve that problem, but is invalid as child of a paragraph --> - <xsl:element name="p"> - <xsl:apply-templates select="@draw:style-name"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - - <xsl:call-template name="create-image-element"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="create-image-element"> - <xsl:param name="globalData"/> - - <xsl:element name="img"> - <xsl:if test="../@svg:width or ../@svg:height"> - <xsl:attribute name="style"> - <xsl:if test="../@svg:height"> - <xsl:text>height:</xsl:text> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="../@svg:height"/> - </xsl:call-template> - <xsl:text>cm;</xsl:text> - </xsl:if> - <xsl:if test="../@svg:width"> - <xsl:text>width:</xsl:text> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="../@svg:width"/> - </xsl:call-template> - <xsl:text>cm;</xsl:text> - </xsl:if> - </xsl:attribute> - </xsl:if> - <xsl:attribute name="alt"> - <xsl:choose> - <xsl:when test="../svg:desc"> - <xsl:value-of select="../svg:desc"/> - </xsl:when> - <xsl:otherwise> - <xsl:message> + <xsl:element name="p"> + <xsl:apply-templates select="@draw:style-name"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + + <xsl:call-template name="create-image-element"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="create-image-element"> + <xsl:param name="globalData"/> + + <xsl:element name="img"> + <xsl:if test="../@svg:width or ../@svg:height"> + <xsl:attribute name="style"> + <xsl:if test="../@svg:height"> + <xsl:text>height:</xsl:text> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="../@svg:height"/> + </xsl:call-template> + <xsl:text>cm;</xsl:text> + </xsl:if> + <xsl:if test="../@svg:width"> + <xsl:text>width:</xsl:text> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="../@svg:width"/> + </xsl:call-template> + <xsl:text>cm;</xsl:text> + </xsl:if> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="alt"> + <xsl:choose> + <xsl:when test="../svg:desc"> + <xsl:value-of select="../svg:desc"/> + </xsl:when> + <xsl:otherwise> + <xsl:message> Accessibility Warning: No alternate text ('svg:desc' element) set for image '<xsl:value-of select="@xlink:href"/>'!</xsl:message> - </xsl:otherwise> - </xsl:choose> - </xsl:attribute> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> - <xsl:attribute name="src"> - <xsl:call-template name="create-href"> - <xsl:with-param name="href" select="@xlink:href"/> - </xsl:call-template> - </xsl:attribute> + <xsl:attribute name="src"> + <xsl:call-template name="create-href"> + <xsl:with-param name="href" select="@xlink:href"/> + </xsl:call-template> + </xsl:attribute> <!-- style interpretation only, as no subelements are allowed for img in XHTML --> - <xsl:apply-templates select="@draw:style-name"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:apply-templates> - </xsl:element> - </xsl:template> + <xsl:apply-templates select="@draw:style-name"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:apply-templates> + </xsl:element> + </xsl:template> <!-- ************ --> <!-- *** list *** --> @@ -1487,212 +1523,212 @@ Further details beyond text:list-list.. --> - <xsl:key name="listStyles" match=" /*/office:styles/text:list-style | /*/office:automatic-styles/text:list-style | /*/office:styles/style:graphic-properties/text:list-style | /*/office:automatic-styles/style:graphic-properties/text:list-style | /*/office:styles/text:list-style | /*/office:automatic-styles/text:list-style | /*/office:styles/style:graphic-properties/text:list-style | /*/office:automatic-styles/style:graphic-properties/text:list-style" use="@style:name"/> + <xsl:key name="listStyles" match=" /*/office:styles/text:list-style | /*/office:automatic-styles/text:list-style | /*/office:styles/style:graphic-properties/text:list-style | /*/office:automatic-styles/style:graphic-properties/text:list-style | /*/office:styles/text:list-style | /*/office:automatic-styles/text:list-style | /*/office:styles/style:graphic-properties/text:list-style | /*/office:automatic-styles/style:graphic-properties/text:list-style" use="@style:name"/> <!-- A text list may only have text:list-item and text:list-header as children. --> - <xsl:template match="text:list"> - <xsl:param name="globalData"/> - <xsl:param name="isListNumberingReset"/> - <xsl:param name="isNextLevelNumberingReset"/> - <xsl:param name="listLevel" select="1"/> - <xsl:param name="listRestart" select="false()"/> - <xsl:param name="itemLabel" select="''"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName" select="@text:style-name"/> + <xsl:template match="text:list"> + <xsl:param name="globalData"/> + <xsl:param name="isListNumberingReset"/> + <xsl:param name="isNextLevelNumberingReset"/> + <xsl:param name="listLevel" select="1"/> + <xsl:param name="listRestart" select="false()"/> + <xsl:param name="itemLabel" select="''"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName" select="@text:style-name"/> <!-- To choose list type - get the list style, with the same 'text:style-name' and same 'text:level' >--> - <xsl:variable name="listStyleRTF"> - <xsl:variable name="listStyleInContentFile" select="key('listStyles', $listStyleName)"/> - <xsl:choose> - <xsl:when test="$listStyleInContentFile"> - <xsl:copy-of select="$listStyleInContentFile"/> - </xsl:when> - <xsl:when test="$globalData/office:styles/text:list-style[@style:name = $listStyleName]"> - <xsl:copy-of select="$globalData/office:styles/text:list-style[@style:name = $listStyleName]"/> - </xsl:when> - <xsl:when test="$globalData/office:styles/style:graphic-properties/text:list-style[@style:name = $listStyleName]"> - <xsl:copy-of select="$globalData/office:styles/style:graphic-properties/text:list-style[@style:name = $listStyleName]"/> - </xsl:when> - </xsl:choose> - </xsl:variable> - - <xsl:choose> - <xsl:when test="function-available('common:node-set')"> - <xsl:call-template name="create-list-type"> - <xsl:with-param name="listStyle" select="common:node-set($listStyleRTF)" /> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listRestart" select="$listRestart"/> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="listStyleName" select="$listStyleName" /> - </xsl:call-template> - </xsl:when> - <xsl:when test="function-available('xalan:nodeset')"> - <xsl:call-template name="create-list-type"> - <xsl:with-param name="listStyle" select="xalan:nodeset($listStyleRTF)" /> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listRestart" select="$listRestart"/> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="listStyleName" select="$listStyleName" /> - </xsl:call-template> - </xsl:when> - <xsl:when test="function-available('xt:node-set')"> - <xsl:call-template name="create-list-type"> - <xsl:with-param name="listStyle" select="xt:node-set($listStyleRTF)" /> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listRestart" select="$listRestart"/> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="listStyleName" select="$listStyleName" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:message terminate="yes">The required node-set function was not found!</xsl:message> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="create-list-type"> - <xsl:param name="globalData"/> - <xsl:param name="isListNumberingReset"/> - <xsl:param name="isNextLevelNumberingReset"/> - <xsl:param name="listLevel" /> - <xsl:param name="listRestart" /> - <xsl:param name="itemLabel"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName" /> - - <!-- $globalData/styles-file/*/office:styles/ --> - <xsl:variable name="listLevelStyle" select="$listStyle/*/*[@text:level = number($listLevel)]"/> - <xsl:variable name="listIndent"> - <xsl:call-template name="getListIndent"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="firstPara" select="*[1]/*[name() = 'text:p' or name() = 'text:h'][1]"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="isEmptyList" select="not(*[1]/*[name() = 'text:h' or name() = 'text:p' or name() = 'text:name'])"/> - <xsl:variable name="listType"> - <xsl:choose> + <xsl:variable name="listStyleRTF"> + <xsl:variable name="listStyleInContentFile" select="key('listStyles', $listStyleName)"/> + <xsl:choose> + <xsl:when test="$listStyleInContentFile"> + <xsl:copy-of select="$listStyleInContentFile"/> + </xsl:when> + <xsl:when test="$globalData/office:styles/text:list-style[@style:name = $listStyleName]"> + <xsl:copy-of select="$globalData/office:styles/text:list-style[@style:name = $listStyleName]"/> + </xsl:when> + <xsl:when test="$globalData/office:styles/style:graphic-properties/text:list-style[@style:name = $listStyleName]"> + <xsl:copy-of select="$globalData/office:styles/style:graphic-properties/text:list-style[@style:name = $listStyleName]"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="function-available('common:node-set')"> + <xsl:call-template name="create-list-type"> + <xsl:with-param name="listStyle" select="common:node-set($listStyleRTF)" /> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listRestart" select="$listRestart"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="listStyleName" select="$listStyleName" /> + </xsl:call-template> + </xsl:when> + <xsl:when test="function-available('xalan:nodeset')"> + <xsl:call-template name="create-list-type"> + <xsl:with-param name="listStyle" select="xalan:nodeset($listStyleRTF)" /> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listRestart" select="$listRestart"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="listStyleName" select="$listStyleName" /> + </xsl:call-template> + </xsl:when> + <xsl:when test="function-available('xt:node-set')"> + <xsl:call-template name="create-list-type"> + <xsl:with-param name="listStyle" select="xt:node-set($listStyleRTF)" /> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listRestart" select="$listRestart"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="listStyleName" select="$listStyleName" /> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:message terminate="yes">The required node-set function was not found!</xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="create-list-type"> + <xsl:param name="globalData"/> + <xsl:param name="isListNumberingReset"/> + <xsl:param name="isNextLevelNumberingReset"/> + <xsl:param name="listLevel" /> + <xsl:param name="listRestart" /> + <xsl:param name="itemLabel"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName" /> + + <!-- $globalData/styles-file/*/office:styles/ --> + <xsl:variable name="listLevelStyle" select="$listStyle/*/*[@text:level = number($listLevel)]"/> + <xsl:variable name="listIndent"> + <xsl:call-template name="getListIndent"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="firstPara" select="*[1]/*[name() = 'text:p' or name() = 'text:h'][1]"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="isEmptyList" select="not(*[1]/*[name() = 'text:h' or name() = 'text:p' or name() = 'text:name'])"/> + <xsl:variable name="listType"> + <xsl:choose> <!-- ordered list --> - <xsl:when test="name($listLevelStyle) = 'text:list-level-style-number'"> - <xsl:text>ol</xsl:text> - </xsl:when> + <xsl:when test="name($listLevelStyle) = 'text:list-level-style-number'"> + <xsl:text>ol</xsl:text> + </xsl:when> <!-- unordered list (bullet or image) --> - <xsl:otherwise> - <xsl:text>ul</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:element name="{$listType}"> - <xsl:apply-templates select="*[1]" mode="listItemSibling"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isEmptyList" select="$isEmptyList"/> - <xsl:with-param name="isListNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset"> - <xsl:choose> - <xsl:when test="$isListNumberingReset"> - <xsl:value-of select="true()"/> - </xsl:when> - <xsl:otherwise> + <xsl:otherwise> + <xsl:text>ul</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:element name="{$listType}"> + <xsl:apply-templates select="*[1]" mode="listItemSibling"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isEmptyList" select="$isEmptyList"/> + <xsl:with-param name="isListNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset"> + <xsl:choose> + <xsl:when test="$isListNumberingReset"> + <xsl:value-of select="true()"/> + </xsl:when> + <xsl:otherwise> <!-- A list is empty if a text:list does not have a text:list-header or text:list-item (wildcard as only those can exist beyond a text:list), which contains a text:h or text:p --> - <xsl:value-of select="not($isEmptyList)"/> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="listIndent" select="$listIndent"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listRestart"> - <xsl:choose> - <xsl:when test="$listRestart"> - <xsl:value-of select="$listRestart"/> - </xsl:when> - <xsl:otherwise> + <xsl:value-of select="not($isEmptyList)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="listIndent" select="$listIndent"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listRestart"> + <xsl:choose> + <xsl:when test="$listRestart"> + <xsl:value-of select="$listRestart"/> + </xsl:when> + <xsl:otherwise> <!-- descdendants restart their list numbering, when an ancestor is not empty --> - <xsl:value-of select="not($isEmptyList)"/> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="minLabelDist"> - <xsl:choose> - <xsl:when test="$listLevelStyle/*/@text:min-label-distance"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="$listLevelStyle/*/@text:min-label-distance"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:with-param> - <xsl:with-param name="minLabelWidth"> - <xsl:choose> - <xsl:when test="$listLevelStyle/*/@text:min-label-width"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="$listLevelStyle/*/@text:min-label-width"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:with-param> - </xsl:apply-templates> - </xsl:element> - </xsl:template> + <xsl:value-of select="not($isEmptyList)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="minLabelDist"> + <xsl:choose> + <xsl:when test="$listLevelStyle/*/@text:min-label-distance"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="$listLevelStyle/*/@text:min-label-distance"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="minLabelWidth"> + <xsl:choose> + <xsl:when test="$listLevelStyle/*/@text:min-label-width"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="$listLevelStyle/*/@text:min-label-width"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:element> + </xsl:template> <!-- See comment before text:list template --> - <xsl:template name="getListIndent"> - <xsl:param name="globalData"/> - <xsl:param name="listLevelStyle"/> + <xsl:template name="getListIndent"> + <xsl:param name="globalData"/> + <xsl:param name="listLevelStyle"/> <!-- The first paragraph of the list item (heading is special paragraph in ODF) --> - <xsl:param name="firstPara" /> + <xsl:param name="firstPara" /> <!-- Styles of first paragraph in list item, including ancestor styles (inheritance) --> - <xsl:variable name="firstParaStyles" select="$globalData/all-styles/style[@style:name = $firstPara/@text:style-name]/final-properties"/> + <xsl:variable name="firstParaStyles" select="$globalData/all-styles/style[@style:name = $firstPara/@text:style-name]/final-properties"/> <!-- Only the left margin of the first paragraph of a list item will be added to the margin of the complete list (all levels)--> - <xsl:variable name="firstParaLeftMargin"> - <xsl:choose> - <xsl:when test="contains($firstParaStyles, 'margin-left:')"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($firstParaStyles, 'margin-left:'), ';'))"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name="spaceBefore"> - <xsl:choose> - <xsl:when test="$listLevelStyle/*/@text:space-before"> - <xsl:call-template name="convert2cm"> - <xsl:with-param name="value" select="$listLevelStyle/*/@text:space-before"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> + <xsl:variable name="firstParaLeftMargin"> + <xsl:choose> + <xsl:when test="contains($firstParaStyles, 'margin-left:')"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="normalize-space(substring-before(substring-after($firstParaStyles, 'margin-left:'), ';'))"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="spaceBefore"> + <xsl:choose> + <xsl:when test="$listLevelStyle/*/@text:space-before"> + <xsl:call-template name="convert2cm"> + <xsl:with-param name="value" select="$listLevelStyle/*/@text:space-before"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> <!-- Only if the left-margin of the first paragraph is positive the sum text:space-before and fo:left-margin is taken as list indent --> - <xsl:choose> - <xsl:when test="$firstParaLeftMargin > 0"> - <xsl:value-of select="$firstParaLeftMargin + $spaceBefore"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$spaceBefore"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + <xsl:choose> + <xsl:when test="$firstParaLeftMargin > 0"> + <xsl:value-of select="$firstParaLeftMargin + $spaceBefore"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$spaceBefore"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> <!-- ****************** --> <!-- *** list item *** --> @@ -1714,105 +1750,105 @@ only used, when text does not fit in text:min-label-width (ignored) --> - <xsl:template match="text:list-item | text:list-header" mode="listItemSibling"> - <xsl:param name="globalData"/> - <xsl:param name="firstitemLabelWidth"/> - <xsl:param name="isEmptyList" select="not(*[name() = 'text:h' or name() = 'text:p' or name() = 'text:name'])"/> - <xsl:param name="isListNumberingReset"/> - <xsl:param name="isNextLevelNumberingReset"/> - <xsl:param name="itemNumber"/> - <xsl:param name="itemLabel"/> - <xsl:param name="listLevel"/> - <xsl:param name="listLevelStyle"/> - <xsl:param name="listRestart"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName"/> - <xsl:param name="minLabelDist"/> - <xsl:param name="minLabelWidth"/> - <xsl:param name="listIndent" /> - - - <xsl:variable name="listIndentNew"> - <xsl:choose> - <xsl:when test="$listIndent"> - <xsl:value-of select="$listIndent"/> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="getListIndent"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="firstPara" select="*[name() = 'text:p' or name() = 'text:h'][1]" /> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name="itemNumberNew"> - <xsl:if test="$listStyle/text:list-style/text:list-level-style-number"> - <xsl:choose> - <xsl:when test="$isEmptyList"> + <xsl:template match="text:list-item | text:list-header" mode="listItemSibling"> + <xsl:param name="globalData"/> + <xsl:param name="firstitemLabelWidth"/> + <xsl:param name="isEmptyList" select="not(*[name() = 'text:h' or name() = 'text:p' or name() = 'text:name'])"/> + <xsl:param name="isListNumberingReset"/> + <xsl:param name="isNextLevelNumberingReset"/> + <xsl:param name="itemNumber"/> + <xsl:param name="itemLabel"/> + <xsl:param name="listLevel"/> + <xsl:param name="listLevelStyle"/> + <xsl:param name="listRestart"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName"/> + <xsl:param name="minLabelDist"/> + <xsl:param name="minLabelWidth"/> + <xsl:param name="listIndent" /> + + + <xsl:variable name="listIndentNew"> + <xsl:choose> + <xsl:when test="$listIndent"> + <xsl:value-of select="$listIndent"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="getListIndent"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="firstPara" select="*[name() = 'text:p' or name() = 'text:h'][1]" /> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="itemNumberNew"> + <xsl:if test="$listStyle/text:list-style/text:list-level-style-number"> + <xsl:choose> + <xsl:when test="$isEmptyList"> <!-- An empty list item (no text:h/text:p as child), will not count as item and does not increment the count. --> - <xsl:variable name="tempItemNumber"> - <xsl:choose> + <xsl:variable name="tempItemNumber"> + <xsl:choose> <!-- siblings will be incremented by one --> - <xsl:when test="$itemNumber"> - <xsl:value-of select="$itemNumber + 1"/> - </xsl:when> + <xsl:when test="$itemNumber"> + <xsl:value-of select="$itemNumber + 1"/> + </xsl:when> <!-- if a higher list level had content the numbering starts with 1 --> - <xsl:when test="$isListNumberingReset and $listLevel > 1"> - <xsl:value-of select="1"/> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="getItemNumber"> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:choose> + <xsl:when test="$isListNumberingReset and $listLevel > 1"> + <xsl:value-of select="1"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="getItemNumber"> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:choose> <!-- in case the empty list-item is the first list-item in document --> - <xsl:when test="$tempItemNumber = 1"> - <xsl:value-of select="1"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$tempItemNumber - 1"/> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:choose> - <xsl:when test="@text:start-value"> - <xsl:value-of select="@text:start-value"/> - </xsl:when> + <xsl:when test="$tempItemNumber = 1"> + <xsl:value-of select="1"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$tempItemNumber - 1"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="@text:start-value"> + <xsl:value-of select="@text:start-value"/> + </xsl:when> <!-- text:start-value from list level style will only be taken on the first list-item of a list --> - <xsl:when test="$listLevelStyle/@text:start-value and count(preceding-sibling::text:list-item) = 0"> - <xsl:value-of select="$listLevelStyle/@text:start-value"/> - </xsl:when> + <xsl:when test="$listLevelStyle/@text:start-value and count(preceding-sibling::text:list-item) = 0"> + <xsl:value-of select="$listLevelStyle/@text:start-value"/> + </xsl:when> <!-- siblings will be incremented by one --> - <xsl:when test="$itemNumber"> - <xsl:value-of select="$itemNumber + 1"/> - </xsl:when> + <xsl:when test="$itemNumber"> + <xsl:value-of select="$itemNumber + 1"/> + </xsl:when> <!-- if a higher list level had content the numbering starts with 1 --> - <xsl:when test="$isListNumberingReset and $listLevel > 1"> - <xsl:value-of select="1"/> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="getItemNumber"> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </xsl:variable> - <xsl:variable name="itemLabelNew"> - <xsl:if test="$listStyle/text:list-style/text:list-level-style-number"> + <xsl:when test="$isListNumberingReset and $listLevel > 1"> + <xsl:value-of select="1"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="getItemNumber"> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:variable> + <xsl:variable name="itemLabelNew"> + <xsl:if test="$listStyle/text:list-style/text:list-level-style-number"> <!-- A numbered label (e.g. 2.C.III) is created for every text:list-item/header. Above list levels are listed in the label, if the list-style requires this. Levels are separated by a '.' @@ -1821,1017 +1857,1016 @@ The prefix/suffix (as well list level dependent) comes before and after the complete label (after truncation) --> <!-- Numbered label will be generated --> - <xsl:call-template name="createItemLabel"> - <xsl:with-param name="itemNumber" select="$itemNumberNew"/> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="listLevelsToDisplay"> - <xsl:variable name="display" select="$listLevelStyle/@text:display-levels"/> - <xsl:choose> - <xsl:when test="$display"> - <xsl:value-of select="$display"/> - </xsl:when> - <xsl:otherwise>1</xsl:otherwise> - </xsl:choose> - </xsl:with-param> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - </xsl:call-template> - </xsl:if> - </xsl:variable> - <xsl:element name="li"> - <xsl:choose> - <xsl:when test="$isEmptyList"> - <xsl:apply-templates> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="itemLabel" select="$itemLabelNew"/> - <xsl:with-param name="listLevel" select="$listLevel + 1"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> + <xsl:call-template name="createItemLabel"> + <xsl:with-param name="itemNumber" select="$itemNumberNew"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="listLevelsToDisplay"> + <xsl:variable name="display" select="$listLevelStyle/@text:display-levels"/> + <xsl:choose> + <xsl:when test="$display"> + <xsl:value-of select="$display"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + </xsl:call-template> + </xsl:if> + </xsl:variable> + <xsl:element name="li"> + <xsl:choose> + <xsl:when test="$isEmptyList"> + <xsl:apply-templates> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="itemLabel" select="$itemLabelNew"/> + <xsl:with-param name="listLevel" select="$listLevel + 1"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> <!-- Possible following children are text:h, text:p, list:text, text:soft-page-break --> - <xsl:apply-templates mode="list-item-children" select="*[1]"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isEmptyList" select="$isEmptyList"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:apply-templates mode="list-item-children" select="*[1]"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isEmptyList" select="$isEmptyList"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> <!-- The new created label is given to the children --> - <xsl:with-param name="itemLabel" select="$itemLabelNew"/> - <xsl:with-param name="listLabelElement"> - <xsl:choose> - <xsl:when test="name() = 'text:list-header'"/> - <xsl:otherwise> - <xsl:variable name="listLabelWidth"> - <xsl:choose> - <xsl:when test="$minLabelWidth > $minLabelDist"> - <xsl:value-of select="$minLabelWidth"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$minLabelDist"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> + <xsl:with-param name="itemLabel" select="$itemLabelNew"/> + <xsl:with-param name="listLabelElement"> + <xsl:choose> + <xsl:when test="name() = 'text:list-header'"/> + <xsl:otherwise> + <xsl:variable name="listLabelWidth"> + <xsl:choose> + <xsl:when test="$minLabelWidth > $minLabelDist"> + <xsl:value-of select="$minLabelWidth"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$minLabelDist"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> <!-- Numbering is being done by this transformation creating a HTML span representing the number label The html:span represents the list item/header label (e.g. 1.A.III) As the html:span is usually a inline element is formated by CSS as block element to use width upon it, to disable the caridge return float:left is used and later neglected --> - <xsl:element name="span"> - <xsl:if test="$listLevelStyle/@text:style-name"> - <xsl:attribute name="class"> - <xsl:value-of select="$listLevelStyle/@text:style-name"/> - </xsl:attribute> - </xsl:if> - <xsl:attribute name="style"> - <xsl:text>display:block;float:</xsl:text> + <xsl:element name="span"> + <xsl:if test="$listLevelStyle/@text:style-name"> + <xsl:attribute name="class"> + <xsl:value-of select="$listLevelStyle/@text:style-name"/> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="style"> + <xsl:text>display:block;float:</xsl:text> <!-- 2DO: Svante - copy this functionality for other used margin:left (in western country 'left') --> - <xsl:call-template name="getOppositeWritingDirection"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/> - </xsl:call-template> - <xsl:text>;min-width:</xsl:text> - <xsl:value-of select="$listLabelWidth"/> - <xsl:text>cm</xsl:text> - </xsl:attribute> - <xsl:variable name="labelContent"> - <xsl:choose> - <xsl:when test="text:number"> - <xsl:apply-templates select="text:number" mode="listnumber"/> - </xsl:when> - <xsl:when test="name($listLevelStyle) = 'text:list-level-style-bullet'"> - <xsl:value-of select="$listLevelStyle/@style:num-prefix"/> - <xsl:value-of select="$listLevelStyle/@text:bullet-char"/> - <xsl:value-of select="$listLevelStyle/@style:num-suffix"/> - </xsl:when> - <xsl:when test="name($listLevelStyle) = 'text:list-level-style-number'"> - <xsl:value-of select="$listLevelStyle/@style:num-prefix"/> - <xsl:value-of select="$itemLabelNew"/> - <xsl:value-of select="$listLevelStyle/@style:num-suffix"/> - </xsl:when> - <xsl:otherwise> + <xsl:call-template name="getOppositeWritingDirection"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/> + </xsl:call-template> + <xsl:text>;min-width:</xsl:text> + <xsl:value-of select="$listLabelWidth"/> + <xsl:text>cm</xsl:text> + </xsl:attribute> + <xsl:variable name="labelContent"> + <xsl:choose> + <xsl:when test="text:number"> + <xsl:apply-templates select="text:number" mode="listnumber"/> + </xsl:when> + <xsl:when test="name($listLevelStyle) = 'text:list-level-style-bullet'"> + <xsl:value-of select="$listLevelStyle/@style:num-prefix"/> + <xsl:value-of select="$listLevelStyle/@text:bullet-char"/> + <xsl:value-of select="$listLevelStyle/@style:num-suffix"/> + </xsl:when> + <xsl:when test="name($listLevelStyle) = 'text:list-level-style-number'"> + <xsl:value-of select="$listLevelStyle/@style:num-prefix"/> + <xsl:value-of select="$itemLabelNew"/> + <xsl:value-of select="$listLevelStyle/@style:num-suffix"/> + </xsl:when> + <xsl:otherwise> <!-- Listing with image as bullets, taken from the list style's href --> - <xsl:value-of select="$listLevelStyle/@xlink:href"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <!-- Some browsers have problem with stand-alone elements (e.g. <span/>) - Therefore a comment is being inserted into an empty label --> - <xsl:choose> - <xsl:when test="$labelContent != ''"> - <xsl:value-of select="$labelContent"/> - </xsl:when> - <xsl:otherwise> - <xsl:comment> </xsl:comment> - </xsl:otherwise> - </xsl:choose> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - <xsl:with-param name="listLabelEmptyElement"> - <xsl:variable name="listLabelWidth"> - <xsl:choose> - <xsl:when test="$minLabelWidth > $minLabelDist"> - <xsl:value-of select="$minLabelWidth"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$minLabelDist"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:element name="span"> - <xsl:if test="$listLevelStyle/@text:style-name"> - <xsl:attribute name="class"> - <xsl:value-of select="$listLevelStyle/@text:style-name"/> - </xsl:attribute> - </xsl:if> - <xsl:attribute name="style"> - <xsl:text>display:block;float:</xsl:text> - <xsl:call-template name="getOppositeWritingDirection"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/> - </xsl:call-template> - <xsl:text>;min-width:</xsl:text> - <xsl:value-of select="$listLabelWidth"/> - <xsl:text>cm</xsl:text> - </xsl:attribute> - <xsl:comment> </xsl:comment> - </xsl:element> - </xsl:with-param> - <xsl:with-param name="listLevel" select="$listLevel + 1"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listRestart" select="$listRestart"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="listIndent" select="$listIndentNew"/> - <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </xsl:element> - <xsl:apply-templates select="following-sibling::*[1]" mode="listItemSibling"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="itemNumber" select="$itemNumberNew"/> - <xsl:with-param name="listIndent"> - <xsl:choose> - <xsl:when test="not($isEmptyList)"> - <xsl:value-of select="$listIndentNew"/> - </xsl:when> - </xsl:choose> - </xsl:with-param> + <xsl:value-of select="$listLevelStyle/@xlink:href"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <!-- Some browsers have problem with stand-alone elements (e.g. <span/>) + Therefore a comment is being inserted into an empty label --> + <xsl:choose> + <xsl:when test="$labelContent != ''"> + <xsl:value-of select="$labelContent"/> + </xsl:when> + <xsl:otherwise> + <xsl:comment> </xsl:comment> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="listLabelEmptyElement"> + <xsl:variable name="listLabelWidth"> + <xsl:choose> + <xsl:when test="$minLabelWidth > $minLabelDist"> + <xsl:value-of select="$minLabelWidth"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$minLabelDist"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:element name="span"> + <xsl:if test="$listLevelStyle/@text:style-name"> + <xsl:attribute name="class"> + <xsl:value-of select="$listLevelStyle/@text:style-name"/> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="style"> + <xsl:text>display:block;float:</xsl:text> + <xsl:call-template name="getOppositeWritingDirection"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/> + </xsl:call-template> + <xsl:text>;min-width:</xsl:text> + <xsl:value-of select="$listLabelWidth"/> + <xsl:text>cm</xsl:text> + </xsl:attribute> + <xsl:comment> </xsl:comment> + </xsl:element> + </xsl:with-param> + <xsl:with-param name="listLevel" select="$listLevel + 1"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listRestart" select="$listRestart"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="listIndent" select="$listIndentNew"/> + <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + <xsl:apply-templates select="following-sibling::*[1]" mode="listItemSibling"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="itemNumber" select="$itemNumberNew"/> + <xsl:with-param name="listIndent"> + <xsl:choose> + <xsl:when test="not($isEmptyList)"> + <xsl:value-of select="$listIndentNew"/> + </xsl:when> + </xsl:choose> + </xsl:with-param> <!-- Receives the same parent label --> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="minLabelDist" select="$minLabelDist"/> - <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> - </xsl:apply-templates> - </xsl:template> - - <xsl:template name="getOppositeWritingDirection"> - <xsl:param name="globalData"/> - <xsl:param name="paraStyleName"/> - - <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paraStyleName]/final-properties"/> - - <xsl:choose> - <xsl:when test="contains($imageParagraphStyle, 'writing-mode:')"> - <xsl:choose> - <xsl:when test="contains(substring-before(substring-after($imageParagraphStyle, 'writing-mode:'), ';'), 'rl')">right</xsl:when> - <xsl:otherwise>left</xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise>left</xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="text:number" mode="listnumber"> - <xsl:apply-templates/> - </xsl:template> - - <xsl:template match="text:number" mode="list-item-children"> - <xsl:param name="globalData"/> - <xsl:param name="listLabelElement"/> - <xsl:param name="listLabelEmptyElement"/> - <xsl:param name="isEmptyList"/> - <xsl:param name="isListNumberingReset"/> - <xsl:param name="isNextLevelNumberingReset"/> - <xsl:param name="itemLabel"/> - <xsl:param name="itemNumber"/> - <xsl:param name="listIndent"/> - <xsl:param name="listLevel"/> - <xsl:param name="listLevelStyle" /> - <xsl:param name="listRestart"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName"/> - <xsl:param name="minLabelWidth"/> - - <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isEmptyList" select="$isEmptyList"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="listLabelElement" select="$listLabelElement"/> - <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listRestart" select="$listRestart"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="listIndent" select="$listIndent"/> - <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> - </xsl:apply-templates> - </xsl:template> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="minLabelDist" select="$minLabelDist"/> + <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template name="getOppositeWritingDirection"> + <xsl:param name="globalData"/> + <xsl:param name="paraStyleName"/> + + <xsl:variable name="imageParagraphStyle" select="$globalData/all-styles/style[@style:name = $paraStyleName]/final-properties"/> + + <xsl:choose> + <xsl:when test="contains($imageParagraphStyle, 'writing-mode:')"> + <xsl:choose> + <xsl:when test="contains(substring-before(substring-after($imageParagraphStyle, 'writing-mode:'), ';'), 'rl')">right</xsl:when> + <xsl:otherwise>left</xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise>left</xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="text:number" mode="listnumber"> + <xsl:apply-templates/> + </xsl:template> + + <xsl:template match="text:number" mode="list-item-children"> + <xsl:param name="globalData"/> + <xsl:param name="listLabelElement"/> + <xsl:param name="listLabelEmptyElement"/> + <xsl:param name="isEmptyList"/> + <xsl:param name="isListNumberingReset"/> + <xsl:param name="isNextLevelNumberingReset"/> + <xsl:param name="itemLabel"/> + <xsl:param name="itemNumber"/> + <xsl:param name="listIndent"/> + <xsl:param name="listLevel"/> + <xsl:param name="listLevelStyle" /> + <xsl:param name="listRestart"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName"/> + <xsl:param name="minLabelWidth"/> + + <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isEmptyList" select="$isEmptyList"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="listLabelElement" select="$listLabelElement"/> + <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listRestart" select="$listRestart"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="listIndent" select="$listIndent"/> + <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> + </xsl:apply-templates> + </xsl:template> <!-- Each key element holds the set of all text:list-item/text:list-header of a certain level and a certain style --> - <xsl:key name="getListItemsByLevelAndStyle" use="concat(count(ancestor::text:list), ancestor::text:list/@text:style-name)" match="text:list-item | text:list-header"/> + <xsl:key name="getListItemsByLevelAndStyle" use="concat(count(ancestor::text:list), ancestor::text:list/@text:style-name)" match="text:list-item | text:list-header"/> <!-- Each key element holds the set of all text:list-item/text:list-header of a certain style --> - <xsl:key name="getListItemsByStyle" use="ancestor::text:list/@text:style-name" match="text:list-item | text:list-header"/> + <xsl:key name="getListItemsByStyle" use="ancestor::text:list/@text:style-name" match="text:list-item | text:list-header"/> <!-- The Numbering start value (or offset from regular counteing) is used at the first item of offset, but have to be reused on following item/headers with no text:start-value --> - <xsl:template name="getItemNumber"> - <xsl:param name="listLevel"/> - <xsl:param name="listLevelStyle"/> - <xsl:param name="listStyleName"/> - <xsl:param name="listStyle"/> - - <xsl:call-template name="countListItemTillStartValue"> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="preceding::text:list-item[generate-id(key('getListItemsByLevelAndStyle', concat($listLevel, $listStyleName))) = generate-id(key('getListItemsByLevelAndStyle', concat(count(ancestor::text:list), ancestor::text:list/@text:style-name)))]"/> - - <xsl:with-param name="precedingListItemsOfSameStyle" select="preceding::text:list-item[generate-id(key('getListItemsByStyle', $listStyleName)) = generate-id(key('getListItemsByStyle', ancestor::text:list/@text:style-name))]"/> - </xsl:call-template> - </xsl:template> + <xsl:template name="getItemNumber"> + <xsl:param name="listLevel"/> + <xsl:param name="listLevelStyle"/> + <xsl:param name="listStyleName"/> + <xsl:param name="listStyle"/> + + <xsl:call-template name="countListItemTillStartValue"> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="preceding::text:list-item[generate-id(key('getListItemsByLevelAndStyle', concat($listLevel, $listStyleName))) = generate-id(key('getListItemsByLevelAndStyle', concat(count(ancestor::text:list), ancestor::text:list/@text:style-name)))]"/> + + <xsl:with-param name="precedingListItemsOfSameStyle" select="preceding::text:list-item[generate-id(key('getListItemsByStyle', $listStyleName)) = generate-id(key('getListItemsByStyle', ancestor::text:list/@text:style-name))]"/> + </xsl:call-template> + </xsl:template> <!-- When there is a text:start-value the last have to be found and added to the number --> - <xsl:template name="countListItemTillStartValue"> - <xsl:param name="IteratorSameLevelAndStyle" select="1"/> - <xsl:param name="IteratorSameStyle" select="1"/> - <xsl:param name="itemNumber" select="1"/> - <xsl:param name="listLevel"/> - <xsl:param name="listLevelStyle"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName"/> - <xsl:param name="precedingListItemsOfSameLevelAndStyle" /> - <xsl:param name="precedingListItemsOfSameLevelAndStyleCount" select="count($precedingListItemsOfSameLevelAndStyle)"/> - <xsl:param name="precedingListItemsOfSameStyle" /> - <xsl:param name="precedingListItemsOfSameStyleCount" select="count($precedingListItemsOfSameStyle)"/> + <xsl:template name="countListItemTillStartValue"> + <xsl:param name="IteratorSameLevelAndStyle" select="1"/> + <xsl:param name="IteratorSameStyle" select="1"/> + <xsl:param name="itemNumber" select="1"/> + <xsl:param name="listLevel"/> + <xsl:param name="listLevelStyle"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName"/> + <xsl:param name="precedingListItemsOfSameLevelAndStyle" /> + <xsl:param name="precedingListItemsOfSameLevelAndStyleCount" select="count($precedingListItemsOfSameLevelAndStyle)"/> + <xsl:param name="precedingListItemsOfSameStyle" /> + <xsl:param name="precedingListItemsOfSameStyleCount" select="count($precedingListItemsOfSameStyle)"/> <!-- E.g.: If a list level 2 number is searched, a level 3 with content found with only a level 1 parent with content, the level 3 gets a 'pseudoLevel' --> - <xsl:param name="pseudoLevel" select="0" /> + <xsl:param name="pseudoLevel" select="0" /> <!-- set the next of preceding list items. Starting from the current to the next previous text:list-item --> - <xsl:variable name="precedingListItemOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle[$precedingListItemsOfSameLevelAndStyleCount - $IteratorSameLevelAndStyle + 1]"/> - <xsl:variable name="precedingListItemOfSameStyle" select="$precedingListItemsOfSameStyle[$precedingListItemsOfSameStyleCount - $IteratorSameStyle + 1]"/> - <xsl:choose> - <xsl:when test="($precedingListItemOfSameStyle and $precedingListItemOfSameLevelAndStyle) or ($precedingListItemOfSameStyle and $listStyle/text:list-style/@text:consecutive-numbering)"> - <xsl:for-each select="$precedingListItemOfSameStyle"> - <xsl:choose> + <xsl:variable name="precedingListItemOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle[$precedingListItemsOfSameLevelAndStyleCount - $IteratorSameLevelAndStyle + 1]"/> + <xsl:variable name="precedingListItemOfSameStyle" select="$precedingListItemsOfSameStyle[$precedingListItemsOfSameStyleCount - $IteratorSameStyle + 1]"/> + <xsl:choose> + <xsl:when test="($precedingListItemOfSameStyle and $precedingListItemOfSameLevelAndStyle) or ($precedingListItemOfSameStyle and $listStyle/text:list-style/@text:consecutive-numbering)"> + <xsl:for-each select="$precedingListItemOfSameStyle"> + <xsl:choose> <!-- if it is a higher list level element --> - <xsl:when test="$listStyle/text:list-style/@text:consecutive-numbering"> - - <xsl:call-template name="countListItem"> - <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" /> - <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> - <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> - <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> - <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> + <xsl:when test="$listStyle/text:list-style/@text:consecutive-numbering"> + + <xsl:call-template name="countListItem"> + <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" /> + <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> + <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> + <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> + <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> <!-- NOT CONSECUTIVE NUMBERING --> - <xsl:variable name="currentListLevel" select="count(ancestor::text:list)"/> - <xsl:choose> + <xsl:variable name="currentListLevel" select="count(ancestor::text:list)"/> + <xsl:choose> <!-- IF IT IS A HIGHER LIST LEVEL ELEMENT --> - <xsl:when test="$currentListLevel < $listLevel"> - <xsl:choose> + <xsl:when test="$currentListLevel < $listLevel"> + <xsl:choose> <!-- if it has content the counting is ended --> - <xsl:when test="*[name() = 'text:h' or name() = 'text:p']"> + <xsl:when test="*[name() = 'text:h' or name() = 'text:p']"> <!-- 2DO: Perhaps the children still have to be processed --> - <xsl:value-of select="$itemNumber + $pseudoLevel"/> - </xsl:when> - <xsl:otherwise> + <xsl:value-of select="$itemNumber + $pseudoLevel"/> + </xsl:when> + <xsl:otherwise> <!-- if it is empty the counting continues --> - <xsl:call-template name="countListItemTillStartValue"> - <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" /> - <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> - <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> - <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> - <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:when> + <xsl:call-template name="countListItemTillStartValue"> + <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" /> + <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> + <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> + <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> + <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> <!-- IF IT IS A LIST LEVEL ELEMENT OF THE COUNTING LEVEL --> - <xsl:when test="$currentListLevel = $listLevel"> - <xsl:call-template name="countListItem"> - <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" /> - <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> - <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> - <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> - <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> + <xsl:when test="$currentListLevel = $listLevel"> + <xsl:call-template name="countListItem"> + <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" /> + <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> + <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> + <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> + <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> <!-- list item below the current level does not count --> - <xsl:call-template name="countListItemTillStartValue"> - <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" /> - <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> - <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> - <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> - <xsl:with-param name="pseudoLevel"> - <xsl:choose> + <xsl:call-template name="countListItemTillStartValue"> + <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle" /> + <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> + <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> + <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> + <xsl:with-param name="pseudoLevel"> + <xsl:choose> <!-- empty list item does not count --> - <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])"> - <xsl:value-of select="$pseudoLevel"/> - </xsl:when> - <xsl:otherwise>1</xsl:otherwise> - </xsl:choose> - </xsl:with-param> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$itemNumber"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="countListItem"> - <xsl:param name="IteratorSameLevelAndStyle"/> - <xsl:param name="IteratorSameStyle"/> - <xsl:param name="itemNumber"/> - <xsl:param name="listLevel"/> - <xsl:param name="listLevelStyle"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName"/> - <xsl:param name="precedingListItemsOfSameLevelAndStyle"/> - <xsl:param name="precedingListItemsOfSameLevelAndStyleCount"/> - <xsl:param name="precedingListItemsOfSameStyle"/> - <xsl:param name="precedingListItemsOfSameStyleCount"/> - <xsl:param name="pseudoLevel" /> - - <xsl:choose> - <xsl:when test="@text:start-value"> - <xsl:choose> - <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])"> + <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])"> + <xsl:value-of select="$pseudoLevel"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$itemNumber"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="countListItem"> + <xsl:param name="IteratorSameLevelAndStyle"/> + <xsl:param name="IteratorSameStyle"/> + <xsl:param name="itemNumber"/> + <xsl:param name="listLevel"/> + <xsl:param name="listLevelStyle"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName"/> + <xsl:param name="precedingListItemsOfSameLevelAndStyle"/> + <xsl:param name="precedingListItemsOfSameLevelAndStyleCount"/> + <xsl:param name="precedingListItemsOfSameStyle"/> + <xsl:param name="precedingListItemsOfSameStyleCount"/> + <xsl:param name="pseudoLevel" /> + + <xsl:choose> + <xsl:when test="@text:start-value"> + <xsl:choose> + <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])"> <!-- empty list item does not count --> - <xsl:call-template name="countListItemTillStartValue"> - <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" /> - <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> - <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> - <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> - <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$itemNumber + @text:start-value"/> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:when test="$listLevelStyle/@text:start-value"> - <xsl:choose> - <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])"> + <xsl:call-template name="countListItemTillStartValue"> + <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" /> + <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> + <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> + <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> + <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$itemNumber + @text:start-value"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="$listLevelStyle/@text:start-value"> + <xsl:choose> + <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])"> <!-- empty list item does not count --> - <xsl:call-template name="countListItemTillStartValue"> - <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" /> - <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> - <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> - <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> - <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$itemNumber + $listLevelStyle/@text:start-value"/> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:choose> - <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])"> + <xsl:call-template name="countListItemTillStartValue"> + <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" /> + <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> + <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> + <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> + <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$itemNumber + $listLevelStyle/@text:start-value"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="not(*[name() = 'text:h' or name() = 'text:p'])"> <!-- empty list item does not count --> - <xsl:call-template name="countListItemTillStartValue"> - <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" /> - <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> - <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> - <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> - <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> + <xsl:call-template name="countListItemTillStartValue"> + <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" /> + <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> + <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> + <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> + <xsl:with-param name="pseudoLevel" select="$pseudoLevel" /> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> <!-- count on till you find a start-value or the end is reached --> - <xsl:call-template name="countListItemTillStartValue"> - <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" /> - <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> - <xsl:with-param name="itemNumber" select="$itemNumber + 1"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> - <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> - <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> - <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> - <xsl:with-param name="pseudoLevel" select="0" /> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + <xsl:call-template name="countListItemTillStartValue"> + <xsl:with-param name="IteratorSameLevelAndStyle" select="$IteratorSameLevelAndStyle + 1" /> + <xsl:with-param name="IteratorSameStyle" select="$IteratorSameStyle + 1"/> + <xsl:with-param name="itemNumber" select="$itemNumber + 1"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyle" select="$precedingListItemsOfSameLevelAndStyle"/> + <xsl:with-param name="precedingListItemsOfSameLevelAndStyleCount" select="$precedingListItemsOfSameLevelAndStyleCount"/> + <xsl:with-param name="precedingListItemsOfSameStyle" select="$precedingListItemsOfSameStyle"/> + <xsl:with-param name="precedingListItemsOfSameStyleCount" select="$precedingListItemsOfSameStyleCount"/> + <xsl:with-param name="pseudoLevel" select="0" /> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> <!-- Creates the list label containing the number, which is separated by '.' between the levels. Depending on the levels to display (listLevelsToDisplay) --> - <xsl:template name="createItemLabel"> - <xsl:param name="itemLabel" select="''"/> - <xsl:param name="itemNumber" /> - <xsl:param name="listLevel" /> - <xsl:param name="listLevelStyle" /> - <xsl:param name="listLevelsToDisplay" /> - - <xsl:choose> - <xsl:when test="$listLevelsToDisplay < $listLevel"> - <xsl:call-template name="truncLabel"> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="itemNumber" select="$itemNumber" /> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle" /> - <xsl:with-param name="listLevelsToDisplay" select="$listLevelsToDisplay"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:variable name="numberedSymbol"> - <xsl:comment> </xsl:comment> - <!-- only give out a number when number format is not empty --> - <xsl:if test="$listLevelStyle/@style:num-format != ''"> - <xsl:number value="$itemNumber" format="{$listLevelStyle/@style:num-format}"/> - </xsl:if> - </xsl:variable> - <xsl:choose> - <xsl:when test="$listLevelsToDisplay != 1"> - <xsl:value-of select="concat($itemLabel, '.' , $numberedSymbol)"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$numberedSymbol"/> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="truncLabel"> - <xsl:param name="itemLabel" /> - <xsl:param name="itemNumber" /> - <xsl:param name="listLevel" /> - <xsl:param name="listLevelStyle" /> - <xsl:param name="listLevelsToDisplay" /> - <xsl:param name="listStyle" /> - <xsl:param name="listStyleName" /> - - <xsl:call-template name="createItemLabel"> - <xsl:with-param name="itemLabel"> - <xsl:if test="contains($itemLabel, '.')"> - <xsl:value-of select="substring-after($itemLabel, '.')"/> - </xsl:if> - </xsl:with-param> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLevel" select="$listLevel - 1"/> - <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> - <xsl:with-param name="listLevelsToDisplay" select="$listLevelsToDisplay"/> - </xsl:call-template> - </xsl:template> - - - <xsl:template match="text:p" mode="list-item-children"> - <xsl:param name="globalData"/> - <xsl:param name="listLabelElement"/> - <xsl:param name="listLabelEmptyElement"/> - <xsl:param name="isEmptyList"/> - <xsl:param name="isListNumberingReset"/> - <xsl:param name="isNextLevelNumberingReset"/> - <xsl:param name="itemLabel"/> - <xsl:param name="itemNumber"/> - <xsl:param name="listIndent"/> - <xsl:param name="listLevel"/> - <xsl:param name="listRestart"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName"/> - <xsl:param name="minLabelWidth"/> - - <!-- 2DO page alignment fix - PART1 --> - - <!-- xhtml:p may only contain inline elements. - If there is one frame beyond, div must be used! --> - <xsl:variable name="elementName"> - <xsl:choose> - <xsl:when test="descendant::draw:frame[1] or descendant::text:p[1]">div</xsl:when> - <xsl:otherwise>p</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:element name="{$elementName}"> - <xsl:call-template name="create-list-style"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="listIndent" select="$listIndent"/> - <xsl:with-param name="styleName" select="@text:style-name"/> - </xsl:call-template> - <xsl:choose> - <xsl:when test="$listLabelElement"> - <xsl:copy-of select="$listLabelElement"/> - </xsl:when> - <xsl:otherwise> - <xsl:copy-of select="$listLabelEmptyElement"/> - </xsl:otherwise> - </xsl:choose> - <xsl:apply-templates> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="listIndent" select="$minLabelWidth"/> - </xsl:apply-templates> + <xsl:template name="createItemLabel"> + <xsl:param name="itemLabel" select="''"/> + <xsl:param name="itemNumber" /> + <xsl:param name="listLevel" /> + <xsl:param name="listLevelStyle" /> + <xsl:param name="listLevelsToDisplay" /> + + <xsl:choose> + <xsl:when test="$listLevelsToDisplay < $listLevel"> + <xsl:call-template name="truncLabel"> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="itemNumber" select="$itemNumber" /> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle" /> + <xsl:with-param name="listLevelsToDisplay" select="$listLevelsToDisplay"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="numberedSymbol"> + <xsl:comment> </xsl:comment> + <!-- only give out a number when number format is not empty --> + <xsl:if test="$listLevelStyle/@style:num-format != ''"> + <xsl:number value="$itemNumber" format="{$listLevelStyle/@style:num-format}"/> + </xsl:if> + </xsl:variable> + <xsl:choose> + <xsl:when test="$listLevelsToDisplay != 1"> + <xsl:value-of select="concat($itemLabel, '.' , $numberedSymbol)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$numberedSymbol"/> + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="truncLabel"> + <xsl:param name="itemLabel" /> + <xsl:param name="itemNumber" /> + <xsl:param name="listLevel" /> + <xsl:param name="listLevelStyle" /> + <xsl:param name="listLevelsToDisplay" /> + <xsl:param name="listStyle" /> + <xsl:param name="listStyleName" /> + + <xsl:call-template name="createItemLabel"> + <xsl:with-param name="itemLabel"> + <xsl:if test="contains($itemLabel, '.')"> + <xsl:value-of select="substring-after($itemLabel, '.')"/> + </xsl:if> + </xsl:with-param> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLevel" select="$listLevel - 1"/> + <xsl:with-param name="listLevelStyle" select="$listLevelStyle"/> + <xsl:with-param name="listLevelsToDisplay" select="$listLevelsToDisplay"/> + </xsl:call-template> + </xsl:template> + + + <xsl:template match="text:p" mode="list-item-children"> + <xsl:param name="globalData"/> + <xsl:param name="listLabelElement"/> + <xsl:param name="listLabelEmptyElement"/> + <xsl:param name="isEmptyList"/> + <xsl:param name="isListNumberingReset"/> + <xsl:param name="isNextLevelNumberingReset"/> + <xsl:param name="itemLabel"/> + <xsl:param name="itemNumber"/> + <xsl:param name="listIndent"/> + <xsl:param name="listLevel"/> + <xsl:param name="listRestart"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName"/> + <xsl:param name="minLabelWidth"/> + + <!-- 2DO page alignment fix - PART1 --> + + <!-- xhtml:p may only contain inline elements. + If there is one frame beyond, div must be used! --> + <xsl:variable name="elementName"> + <xsl:choose> + <xsl:when test="descendant::draw:frame[1] or descendant::text:p[1]">div</xsl:when> + <xsl:otherwise>p</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:element name="{$elementName}"> + <xsl:call-template name="create-list-style"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="listIndent" select="$listIndent"/> + <xsl:with-param name="styleName" select="@text:style-name"/> + </xsl:call-template> + <xsl:choose> + <xsl:when test="$listLabelElement"> + <xsl:copy-of select="$listLabelElement"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$listLabelEmptyElement"/> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="listIndent" select="$minLabelWidth"/> + </xsl:apply-templates> <!-- this span disables the float necessary to bring two block elements on one line. It contains a space as IE6 bug workaround --> - <span class="odfLiEnd"></span> - <xsl:text> </xsl:text> - </xsl:element> - - <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isEmptyList" select="$isEmptyList"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listRestart" select="$listRestart"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="listIndent" select="$listIndent"/> - <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> - </xsl:apply-templates> - </xsl:template> + <span class="odfLiEnd"></span> + <xsl:text> </xsl:text> + </xsl:element> + + <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isEmptyList" select="$isEmptyList"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listRestart" select="$listRestart"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="listIndent" select="$listIndent"/> + <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> + </xsl:apply-templates> + </xsl:template> <!-- Neglecting the left margin behavior for headings for now --> - <xsl:template match="text:h" mode="list-item-children"> - <xsl:param name="globalData"/> - <xsl:param name="listLabelElement"/> - <xsl:param name="listLabelEmptyElement"/> - <xsl:param name="isEmptyList"/> - <xsl:param name="isListNumberingReset"/> - <xsl:param name="isNextLevelNumberingReset"/> - <xsl:param name="itemLabel"/> - <xsl:param name="itemNumber"/> - <xsl:param name="listIndent"/> - <xsl:param name="listLevel"/> - <xsl:param name="listRestart"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName"/> - <xsl:param name="minLabelWidth"/> - - <xsl:element name="h"> - <xsl:call-template name="create-list-style"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="listIndent" select="$listIndent"/> - <xsl:with-param name="styleName" select="@text:style-name"/> - </xsl:call-template> - <xsl:variable name="title"> - <xsl:apply-templates mode="concatenate"/> - </xsl:variable> - <xsl:choose> - <xsl:when test="$listLabelElement"> - <xsl:copy-of select="$listLabelElement"/> - </xsl:when> - <xsl:otherwise> - <xsl:copy-of select="$listLabelEmptyElement"/> - </xsl:otherwise> - </xsl:choose> - - <!-- REFERENCE HANDLING - ANCHOR --> - <xsl:element namespace="{$namespace}" name="a"> - <xsl:attribute name="id"> - <xsl:value-of select="translate(concat('a_',$listLabelElement, '_', normalize-space($title)), '
&<>.,;: %()[]/\+', '___________________________')"/> - </xsl:attribute> - <xsl:apply-templates> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="listIndent" select="$minLabelWidth"/> - </xsl:apply-templates> - </xsl:element> + <xsl:template match="text:h" mode="list-item-children"> + <xsl:param name="globalData"/> + <xsl:param name="listLabelElement"/> + <xsl:param name="listLabelEmptyElement"/> + <xsl:param name="isEmptyList"/> + <xsl:param name="isListNumberingReset"/> + <xsl:param name="isNextLevelNumberingReset"/> + <xsl:param name="itemLabel"/> + <xsl:param name="itemNumber"/> + <xsl:param name="listIndent"/> + <xsl:param name="listLevel"/> + <xsl:param name="listRestart"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName"/> + <xsl:param name="minLabelWidth"/> + + <xsl:element name="h"> + <xsl:call-template name="create-list-style"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="listIndent" select="$listIndent"/> + <xsl:with-param name="styleName" select="@text:style-name"/> + </xsl:call-template> + <xsl:variable name="title"> + <xsl:apply-templates mode="concatenate"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="$listLabelElement"> + <xsl:copy-of select="$listLabelElement"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$listLabelEmptyElement"/> + </xsl:otherwise> + </xsl:choose> + + <!-- REFERENCE HANDLING - ANCHOR --> + <xsl:element namespace="{$namespace}" name="a"> + <xsl:attribute name="id"> + <xsl:value-of select="translate(concat('a_',$listLabelElement, '_', normalize-space($title)), '
&<>.,;: %()[]/\+', '___________________________')"/> + </xsl:attribute> + <xsl:apply-templates> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="listIndent" select="$minLabelWidth"/> + </xsl:apply-templates> + </xsl:element> <!-- this span disables the float necessary to bring two block elements on one line. It contains a space as IE6 bug workaround --> - <span class="odfLiEnd"></span> - <xsl:text> </xsl:text> - </xsl:element> - - <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isEmptyList" select="$isEmptyList"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listRestart" select="$listRestart"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="listIndent" select="$listIndent"/> - <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> - </xsl:apply-templates> - </xsl:template> - - - <xsl:template match="*" mode="list-item-children"> - <xsl:param name="globalData"/> - <xsl:param name="isEmptyList"/> - <xsl:param name="listLabelEmptyElement"/> - <xsl:param name="isListNumberingReset"/> - <xsl:param name="isNextLevelNumberingReset"/> - <xsl:param name="itemLabel"/> - <xsl:param name="itemNumber"/> - <xsl:param name="listIndent"/> - <xsl:param name="listLevel"/> - <xsl:param name="listRestart"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName"/> - <xsl:param name="minLabelWidth"/> - - <xsl:apply-templates select="self::*"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isEmptyList" select="$isEmptyList"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listIndent" select="$listIndent"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listRestart" select="$listRestart"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - </xsl:apply-templates> - - <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isEmptyList" select="$isEmptyList"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listRestart" select="$listRestart"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - <xsl:with-param name="listIndent" select="$listIndent"/> - <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> - </xsl:apply-templates> - </xsl:template> - - <xsl:template match="*" mode="listItemSibling"> - <xsl:param name="globalData"/> - <xsl:param name="isEmptyList"/> - <xsl:param name="isListNumberingReset"/> - <xsl:param name="isNextLevelNumberingReset"/> - <xsl:param name="itemLabel"/> - <xsl:param name="itemNumber"/> - <xsl:param name="listIndent"/> - <xsl:param name="listLevel"/> - <xsl:param name="listRestart"/> - <xsl:param name="listStyle"/> - <xsl:param name="listStyleName"/> - - <xsl:apply-templates select="self::*"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isEmptyList" select="$isEmptyList"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listIndent" select="$listIndent"/> + <span class="odfLiEnd"></span> + <xsl:text> </xsl:text> + </xsl:element> + + <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isEmptyList" select="$isEmptyList"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listRestart" select="$listRestart"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="listIndent" select="$listIndent"/> + <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> + </xsl:apply-templates> + </xsl:template> + + + <xsl:template match="*" mode="list-item-children"> + <xsl:param name="globalData"/> + <xsl:param name="isEmptyList"/> + <xsl:param name="listLabelEmptyElement"/> + <xsl:param name="isListNumberingReset"/> + <xsl:param name="isNextLevelNumberingReset"/> + <xsl:param name="itemLabel"/> + <xsl:param name="itemNumber"/> + <xsl:param name="listIndent"/> + <xsl:param name="listLevel"/> + <xsl:param name="listRestart"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName"/> + <xsl:param name="minLabelWidth"/> + + <xsl:apply-templates select="self::*"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isEmptyList" select="$isEmptyList"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listIndent" select="$listIndent"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listRestart" select="$listRestart"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + </xsl:apply-templates> + + <xsl:apply-templates mode="list-item-children" select="following-sibling::*[1]"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isEmptyList" select="$isEmptyList"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listLabelEmptyElement" select="$listLabelEmptyElement"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listRestart" select="$listRestart"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + <xsl:with-param name="listIndent" select="$listIndent"/> + <xsl:with-param name="minLabelWidth" select="$minLabelWidth"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="*" mode="listItemSibling"> + <xsl:param name="globalData"/> + <xsl:param name="isEmptyList"/> + <xsl:param name="isListNumberingReset"/> + <xsl:param name="isNextLevelNumberingReset"/> + <xsl:param name="itemLabel"/> + <xsl:param name="itemNumber"/> + <xsl:param name="listIndent"/> + <xsl:param name="listLevel"/> + <xsl:param name="listRestart"/> + <xsl:param name="listStyle"/> + <xsl:param name="listStyleName"/> + + <xsl:apply-templates select="self::*"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isEmptyList" select="$isEmptyList"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listIndent" select="$listIndent"/> <!-- receives the same parent label, only with a different itemNumber --> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - </xsl:apply-templates> - <xsl:apply-templates select="following-sibling::*[1]" mode="listItemSibling"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="isEmptyList" select="$isEmptyList"/> - <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> - <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> - <xsl:with-param name="itemNumber" select="$itemNumber"/> - <xsl:with-param name="listIndent" select="$listIndent"/> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + </xsl:apply-templates> + <xsl:apply-templates select="following-sibling::*[1]" mode="listItemSibling"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="isEmptyList" select="$isEmptyList"/> + <xsl:with-param name="isListNumberingReset" select="$isListNumberingReset"/> + <xsl:with-param name="isNextLevelNumberingReset" select="$isNextLevelNumberingReset"/> + <xsl:with-param name="itemNumber" select="$itemNumber"/> + <xsl:with-param name="listIndent" select="$listIndent"/> <!-- receives the same parent label, only with a different itemNumber --> - <xsl:with-param name="itemLabel" select="$itemLabel"/> - <xsl:with-param name="listLevel" select="$listLevel"/> - <xsl:with-param name="listStyle" select="$listStyle"/> - <xsl:with-param name="listStyleName" select="$listStyleName"/> - </xsl:apply-templates> - </xsl:template> - - <xsl:template match="text()" mode="list-item-children"> - <xsl:value-of select="."/> - </xsl:template> - - - <xsl:template name="create-list-style"> - <xsl:param name="globalData"/> - <xsl:param name="listIndent" select="0"/> - <xsl:param name="styleName"/> - - <xsl:if test="$styleName"> - <xsl:attribute name="class"> - <xsl:value-of select="translate($styleName, '.,;: %()[]/\+', '_____________')"/> - </xsl:attribute> - </xsl:if> - <xsl:attribute name="style"> - <xsl:text>margin-</xsl:text> - <xsl:call-template name="getOppositeWritingDirection"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/> - </xsl:call-template> - <xsl:text>:</xsl:text> - <xsl:value-of select="$listIndent"/> - <xsl:text>cm;</xsl:text> - </xsl:attribute> - </xsl:template> + <xsl:with-param name="itemLabel" select="$itemLabel"/> + <xsl:with-param name="listLevel" select="$listLevel"/> + <xsl:with-param name="listStyle" select="$listStyle"/> + <xsl:with-param name="listStyleName" select="$listStyleName"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="text()" mode="list-item-children"> + <xsl:value-of select="."/> + </xsl:template> + + + <xsl:template name="create-list-style"> + <xsl:param name="globalData"/> + <xsl:param name="listIndent" select="0"/> + <xsl:param name="styleName"/> + + <xsl:if test="$styleName"> + <xsl:attribute name="class"> + <xsl:value-of select="translate($styleName, '.,;: %()[]/\+', '_____________')"/> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="style"> + <xsl:text>margin-</xsl:text> + <xsl:call-template name="getOppositeWritingDirection"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="paraStyleName" select="descendant-or-self::*/@text:style-name"/> + </xsl:call-template> + <xsl:text>:</xsl:text> + <xsl:value-of select="$listIndent"/> + <xsl:text>cm;</xsl:text> + </xsl:attribute> + </xsl:template> <!-- ********************************************** --> <!-- *** Text Section (contains: draw:text-box) *** --> <!-- ********************************************** --> - <xsl:template match="text:section"> - <xsl:param name="globalData"/> + <xsl:template match="text:section"> + <xsl:param name="globalData"/> - <xsl:if test="not(contains(@text:display, 'none'))"> - <xsl:comment>Next 'div' was a 'text:section'.</xsl:comment> - <xsl:element name="div"> - <xsl:call-template name="apply-styles-and-content"> - <xsl:with-param name="globalData" select="$globalData"/> - </xsl:call-template> - </xsl:element> - </xsl:if> - </xsl:template> + <xsl:if test="not(contains(@text:display, 'none'))"> + <xsl:comment>Next 'div' was a 'text:section'.</xsl:comment> + <xsl:element name="div"> + <xsl:call-template name="apply-styles-and-content"> + <xsl:with-param name="globalData" select="$globalData"/> + </xsl:call-template> + </xsl:element> + </xsl:if> + </xsl:template> <!-- Hidden text dependend on Office variables: The text is not shown, if condition is 'true'. Implemented solely for conditons as '<VARIABLE>==0' or '<VARIABLE>==1' --> - <xsl:key match="text:variable-set" name="varSet" use="@text:name"/> - <xsl:template match="text:hidden-text"> - <xsl:param name="globalData"/> - - <xsl:variable name="varName" select="substring-before(@text:condition, '==')"/> - <xsl:variable name="varValue" select="substring-after(@text:condition, '==')"/> - <xsl:choose> - <xsl:when test="key('varSet', $varName)/@text:value != $varValue"> - <xsl:value-of select="@text:string-value"/> - </xsl:when> - <xsl:otherwise> - <xsl:comment> - <xsl:value-of select="$varName"/> - <xsl:value-of select="@text:string-value"/> - <xsl:value-of select="$varName"/> - </xsl:comment> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="@text:style-name | @draw:style-name | @draw:text-style-name | @table:style-name"><!-- | @presentation:style-name--> - <xsl:param name="globalData"/> - - <xsl:attribute name="class"> - <xsl:value-of select="translate(., '.,;: %()[]/\+', '_____________')"/> - </xsl:attribute> - </xsl:template> + <xsl:key match="text:variable-set" name="varSet" use="@text:name"/> + <xsl:template match="text:hidden-text"> + <xsl:param name="globalData"/> + + <xsl:variable name="varName" select="substring-before(@text:condition, '==')"/> + <xsl:variable name="varValue" select="substring-after(@text:condition, '==')"/> + <xsl:choose> + <xsl:when test="key('varSet', $varName)/@text:value != $varValue"> + <xsl:value-of select="@text:string-value"/> + </xsl:when> + <xsl:otherwise> + <xsl:comment> + <xsl:value-of select="$varName"/> + <xsl:value-of select="@text:string-value"/> + <xsl:value-of select="$varName"/> + </xsl:comment> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="@text:style-name | @draw:style-name | @draw:text-style-name | @table:style-name"><!-- | @presentation:style-name--> + <xsl:param name="globalData"/> + + <xsl:attribute name="class"> + <xsl:value-of select="translate(., '.,;: %()[]/\+', '_____________')"/> + </xsl:attribute> + </xsl:template> <!-- ***************** --> <!-- *** Footnotes *** --> <!-- ***************** --> - <xsl:template match="text:note"> - <xsl:param name="globalData"/> + <xsl:template match="text:note"> + <xsl:param name="globalData"/> <!-- get style configuration --> - <xsl:variable name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" /> - - <xsl:variable name="titlePrefix"> - <xsl:choose> - <xsl:when test="@text:note-class = 'footnote'"> - <xsl:text>Footnote: </xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>Endnote: </xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> + <xsl:variable name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" /> + + <xsl:variable name="titlePrefix"> + <xsl:choose> + <xsl:when test="@text:note-class = 'footnote'"> + <xsl:text>Footnote: </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>Endnote: </xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> <!-- write anchor --> - <xsl:element name="span"> - <xsl:attribute name="class"> - <xsl:value-of select="$footnoteConfig/@text:citation-body-style-name"/> - </xsl:attribute> - <xsl:attribute name="title"> - <xsl:value-of select="$titlePrefix"/> - <xsl:apply-templates mode="textOnly" select="text:note-body"/> - </xsl:attribute> - <xsl:element name="a"> - <xsl:attribute name="href"> - <xsl:value-of select="concat('#', @text:id)"/> - </xsl:attribute> - <xsl:attribute name="id"> - <xsl:value-of select="concat('body_', @text:id)"/> - </xsl:attribute> - <xsl:apply-templates mode="textOnly" select="text:note-citation"/> - </xsl:element> - </xsl:element> - </xsl:template> - - <xsl:template match="*" mode="textOnly"> - <xsl:apply-templates select="* | text()" mode="textOnly" /> - </xsl:template> - - <xsl:template match="text()" mode="textOnly"> - <xsl:value-of select="."/> - </xsl:template> + <xsl:element name="span"> + <xsl:attribute name="class"> + <xsl:value-of select="$footnoteConfig/@text:citation-body-style-name"/> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:value-of select="$titlePrefix"/> + <xsl:apply-templates mode="textOnly" select="text:note-body"/> + </xsl:attribute> + <xsl:element name="a"> + <xsl:attribute name="href"> + <xsl:value-of select="concat('#', @text:id)"/> + </xsl:attribute> + <xsl:attribute name="id"> + <xsl:value-of select="concat('body_', @text:id)"/> + </xsl:attribute> + <xsl:apply-templates mode="textOnly" select="text:note-citation"/> + </xsl:element> + </xsl:element> + </xsl:template> + + <xsl:template match="*" mode="textOnly"> + <xsl:apply-templates select="* | text()" mode="textOnly" /> + </xsl:template> + + <xsl:template match="text()" mode="textOnly"> + <xsl:value-of select="."/> + </xsl:template> <!-- Useful in case of 'style:map', conditional formatting, where a style references to another --> - <xsl:key name="textNotes" match="text:note" use="@text:note-class"/> + <xsl:key name="textNotes" match="text:note" use="@text:note-class"/> <!-- writing the footer- and endnotes beyond the body --> - <xsl:template name="write-text-nodes"> - <xsl:param name="globalData"/> + <xsl:template name="write-text-nodes"> + <xsl:param name="globalData"/> <!-- write footnote body --> - <xsl:for-each select="key('textNotes', 'footnote')"> - <xsl:call-template name="write-text-node"> - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" /> - </xsl:call-template> - </xsl:for-each> + <xsl:for-each select="key('textNotes', 'footnote')"> + <xsl:call-template name="write-text-node"> + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" /> + </xsl:call-template> + </xsl:for-each> <!-- write endnote body --> - <xsl:for-each select="key('textNotes', 'endnote')"> - <xsl:call-template name="write-text-node"> - - <xsl:with-param name="globalData" select="$globalData"/> - <xsl:with-param name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" /> - </xsl:call-template> - </xsl:for-each> - </xsl:template> - - <xsl:template name="write-text-node"> - <xsl:param name="globalData"/> - <xsl:param name="footnoteConfig"/> - - <xsl:apply-templates select="text:note-body/*[1]"> - <xsl:with-param name="globalData" select="$globalData" /> - <xsl:with-param name="footnotePrefix"> - <xsl:element name="span"> - <xsl:attribute name="class">footnodeNumber</xsl:attribute> - <xsl:element name="a"> - <xsl:attribute name="class"> - <xsl:value-of select="$footnoteConfig/@text:citation-style-name"/> - </xsl:attribute> - <xsl:attribute name="id"> - <xsl:value-of select="@text:id"/> - </xsl:attribute> - <xsl:attribute name="href"> - <xsl:value-of select="concat('#body_', @text:id)"/> - </xsl:attribute> - <xsl:apply-templates mode="textOnly" select="text:note-citation"/> - </xsl:element> - </xsl:element> - </xsl:with-param> - </xsl:apply-templates> - <xsl:apply-templates select="text:note-body/*[position()>1]"> - <xsl:with-param name="globalData" select="$globalData" /> - </xsl:apply-templates> - </xsl:template> - - <!-- DISABLING this tab handling as the tab width is only relative - <xsl:template match="text:tab"> - <xsl:param name="globalData"/> - - <xsl:variable name="tabNo"> - <xsl:choose> - <xsl:when test="preceding-sibling::text:line-break"> - <xsl:call-template name="countTextTab"/> - </xsl:when> - <xsl:when test="preceding-sibling::text:tab"> - <xsl:value-of select="count(preceding-sibling::text:tab)"/> - </xsl:when> - <xsl:otherwise>1</xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:element name="span"> - <xsl:attribute name="style">margin-left:<xsl:value-of select="$globalData/all-doc-styles/style[@style:name = current()/parent::*/@text:style-name]/*/style:tab-stops/style:tab-stop[$tabNo]/@style:position"/>;</xsl:attribute> + <xsl:for-each select="key('textNotes', 'endnote')"> + <xsl:call-template name="write-text-node"> + + <xsl:with-param name="globalData" select="$globalData"/> + <xsl:with-param name="footnoteConfig" select="$globalData/office:styles/text:notes-configuration[@text:note-class=current()/@text:note-class]" /> + </xsl:call-template> + </xsl:for-each> + </xsl:template> + + <xsl:template name="write-text-node"> + <xsl:param name="globalData"/> + <xsl:param name="footnoteConfig"/> + + <xsl:apply-templates select="text:note-body/*[1]"> + <xsl:with-param name="globalData" select="$globalData" /> + <xsl:with-param name="footnotePrefix"> + <xsl:element name="span"> + <xsl:attribute name="class">footnodeNumber</xsl:attribute> + <xsl:element name="a"> + <xsl:attribute name="class"> + <xsl:value-of select="$footnoteConfig/@text:citation-style-name"/> + </xsl:attribute> + <xsl:attribute name="id"> + <xsl:value-of select="@text:id"/> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:value-of select="concat('#body_', @text:id)"/> + </xsl:attribute> + <xsl:apply-templates mode="textOnly" select="text:note-citation"/> + </xsl:element> + </xsl:element> + </xsl:with-param> + </xsl:apply-templates> + <xsl:apply-templates select="text:note-body/*[position()>1]"> + <xsl:with-param name="globalData" select="$globalData" /> + </xsl:apply-templates> + </xsl:template> + + <!-- DISABLING this tab handling as the tab width is only relative + <xsl:template match="text:tab"> + <xsl:param name="globalData"/> + + <xsl:variable name="tabNo"> + <xsl:choose> + <xsl:when test="preceding-sibling::text:line-break"> + <xsl:call-template name="countTextTab"/> + </xsl:when> + <xsl:when test="preceding-sibling::text:tab"> + <xsl:value-of select="count(preceding-sibling::text:tab)"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:element name="span"> + <xsl:attribute name="style">margin-left:<xsl:value-of select="$globalData/all-doc-styles/style[@style:name = current()/parent::*/@text:style-name]/*/style:tab-stops/style:tab-stop[$tabNo]/@style:position"/>;</xsl:attribute> </xsl:element> - </xsl:template> - - <xsl:template name="countTextTab"> - <xsl:param name="tabCount" select="1"/> - <xsl:param name="context" select="."/> - - <xsl:choose> - <xsl:when test="preceding-sibling::*[1]"> - <xsl:for-each select="preceding-sibling::*[1]"> - <xsl:call-template name="countTextTab"> - <xsl:with-param name="tabCout"> - <xsl:choose> - <xsl:when test="name(.) = 'text:tab'"> - <xsl:value-of select="$tabCount + 1"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$tabCount"/> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - <xsl:with-param name="context" select="preceding-sibling::*[1]" /> - </xsl:call-template> - </xsl:for-each> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$tabCount"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + </xsl:template> + + <xsl:template name="countTextTab"> + <xsl:param name="tabCount" select="1"/> + <xsl:param name="context" select="."/> + + <xsl:choose> + <xsl:when test="preceding-sibling::*[1]"> + <xsl:for-each select="preceding-sibling::*[1]"> + <xsl:call-template name="countTextTab"> + <xsl:with-param name="tabCout"> + <xsl:choose> + <xsl:when test="name(.) = 'text:tab'"> + <xsl:value-of select="$tabCount + 1"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$tabCount"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + <xsl:with-param name="context" select="preceding-sibling::*[1]" /> + </xsl:call-template> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$tabCount"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> --> <!-- MathML --> - <xsl:template match="draw:object[math:math]"> - <math xmlns="http://www.w3.org/1998/Math/MathML"> - <xsl:apply-templates select="math:math/math:semantics/*" mode="math"/> - </math> - </xsl:template> - - <xsl:template match="*" mode="math"> - <xsl:element name="{local-name()}" namespace="http://www.w3.org/1998/Math/MathML"> - <xsl:apply-templates select="@*|node()" mode="math"/> - </xsl:element> - </xsl:template> - - <xsl:template match="@*" mode="math"> - <xsl:attribute name="{local-name()}"> - <xsl:value-of select="."/> - </xsl:attribute> - </xsl:template> - - <xsl:template match="math:annotation" mode="math"/> - - + <xsl:template match="draw:object[math:math]"> + <math xmlns="http://www.w3.org/1998/Math/MathML"> + <xsl:apply-templates select="math:math/math:semantics/*" mode="math"/> + </math> + </xsl:template> + + <xsl:template match="*" mode="math"> + <xsl:element name="{local-name()}" namespace="http://www.w3.org/1998/Math/MathML"> + <xsl:apply-templates select="@*|node()" mode="math"/> + </xsl:element> + </xsl:template> + + <xsl:template match="@*" mode="math"> + <xsl:attribute name="{local-name()}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:template> + + <xsl:template match="math:annotation" mode="math"/> + </xsl:stylesheet>
\ No newline at end of file diff --git a/filter/source/xsltfilter/XSLTransformer.java b/filter/source/xsltfilter/XSLTransformer.java index 86d13cbc23e5..4806c18b8161 100644 --- a/filter/source/xsltfilter/XSLTransformer.java +++ b/filter/source/xsltfilter/XSLTransformer.java @@ -78,6 +78,8 @@ import com.sun.star.uno.UnoRuntime; import com.sun.star.lib.uno.adapter.XInputStreamToInputStreamAdapter; import com.sun.star.lib.uno.adapter.XOutputStreamToOutputStreamAdapter; +import net.sf.saxon.FeatureKeys; + /** This outer class provides an inner class to implement the service * description, a method to instantiate the * component on demand (__getServiceFactory()), and a method to give @@ -291,6 +293,9 @@ public class XSLTransformer // create new transformer for this stylesheet TransformerFactory tfactory = TransformerFactory.newInstance(); debug("TransformerFactory is '" + tfactory.getClass().getName() + "'"); + // some external saxons (Debian, Ubuntu, ...) have this disabled + // per default + tfactory.setAttribute(FeatureKeys.ALLOW_EXTERNAL_FUNCTIONS, new Boolean(true)); transformer = tfactory.newTransformer(new StreamSource(stylesheeturl)); transformer.setOutputProperty("encoding", "UTF-8"); // transformer.setURIResolver(XSLTransformer.this); diff --git a/filter/source/xsltfilter/exports.map b/filter/source/xsltfilter/exports.map deleted file mode 100644 index ba501f9ae076..000000000000 --- a/filter/source/xsltfilter/exports.map +++ /dev/null @@ -1,10 +0,0 @@ -UDK_3_0_0 { - global: - GetVersionInfo; - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -}; diff --git a/filter/source/xsltfilter/makefile.mk b/filter/source/xsltfilter/makefile.mk index af9476224c63..1a20572d1698 100644 --- a/filter/source/xsltfilter/makefile.mk +++ b/filter/source/xsltfilter/makefile.mk @@ -33,9 +33,6 @@ LIBTARGET=NO # --- Settings ----------------------------------------------------- CLASSDIR!:=$(CLASSDIR)$/$(TARGET) -.IF "$(XML_CLASSPATH)" != "" -XCLASSPATH+=":$(XML_CLASSPATH)" -.ENDIF .INCLUDE: settings.mk SLOFILES=$(SLO)$/XSLTFilter.obj $(SLO)$/fla.obj @@ -44,7 +41,7 @@ SHL1TARGETDEPN=makefile.mk SHL1OBJS=$(SLOFILES) SHL1TARGET=$(LIBNAME)$(DLLPOSTFIX) SHL1IMPLIB=i$(LIBNAME) -SHL1VERSIONMAP=exports.map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map SHL1DEF=$(MISC)$/$(SHL1TARGET).def DEF1NAME=$(SHL1TARGET) @@ -68,6 +65,12 @@ JARCOMPRESS = TRUE JARCLASSDIRS = XSLTransformer*.class XSLTFilterOLEExtracter*.class JARTARGET = $(TARGET).jar +.IF "$(SYSTEM_SAXON)" == "YES" +XCLASSPATH+=$(SAXON_JAR) +.ELSE +JARFILES += saxon9.jar +.ENDIF + # --- Files -------------------------------------------------------- JAVACLASSFILES=$(CLASSDIR)$/XSLTransformer.class $(CLASSDIR)$/XSLTFilterOLEExtracter.class .ENDIF diff --git a/filter/source/xsltvalidate/makefile.mk b/filter/source/xsltvalidate/makefile.mk index 45e46cca459b..5337d31a4bd7 100644 --- a/filter/source/xsltvalidate/makefile.mk +++ b/filter/source/xsltvalidate/makefile.mk @@ -39,13 +39,13 @@ CLASSDIR!:=$(CLASSDIR)$/$(TARGET) JARFILES = ridl.jar unoil.jar jurt.jar juh.jar crimson.jar .IF "$(SYSTEM_XALAN)" == "YES" -XCLASSPATH!:=$(XCLASSPATH)$(PATH_SEPERATOR)$(XALAN_JAR) +EXTRAJARFILES += $(XALAN_JAR) .ELSE JARFILES += xalan.jar .ENDIF .IF "$(SYSTEM_XML_APIS)" == "YES" -XCLASSPATH!:=$(XCLASSPATH)$(PATH_SEPERATOR)$(XML_APIS_JAR) +EXTRAJARFILES += $(XML_APIS_JAR) .ELSE JARFILES += xml-apis.jar .ENDIF diff --git a/hwpfilter/source/hwp.map b/hwpfilter/source/hwp.map deleted file mode 100644 index ac2c3750bfe0..000000000000 --- a/hwpfilter/source/hwp.map +++ /dev/null @@ -1,8 +0,0 @@ -UDK_3_0_0 { - global: - component_getImplementationEnvironment; - component_writeInfo; - component_getFactory; - local: - *; -}; diff --git a/hwpfilter/source/makefile.mk b/hwpfilter/source/makefile.mk index c059c1ae2ed4..98b00d0618d6 100644 --- a/hwpfilter/source/makefile.mk +++ b/hwpfilter/source/makefile.mk @@ -88,7 +88,7 @@ SHL1STDLIBS+= \ SHL1DEF= $(MISC)$/$(SHL1TARGET).def SHL1LIBS= $(SLB)$/$(TARGET).lib -SHL1VERSIONMAP = hwp.map +SHL1VERSIONMAP = $(SOLARENV)/src/component.map DEF1NAME=$(SHL1TARGET) diff --git a/oox/inc/oox/drawingml/shape.hxx b/oox/inc/oox/drawingml/shape.hxx index 7dad1be76635..f4f5a5ee68fe 100644 --- a/oox/inc/oox/drawingml/shape.hxx +++ b/oox/inc/oox/drawingml/shape.hxx @@ -123,9 +123,10 @@ public: void setName( const rtl::OUString& rName ) { msName = rName; } ::rtl::OUString getName( ) { return msName; } void setId( const rtl::OUString& rId ) { msId = rId; } - void setSubType( sal_uInt32 nSubType ) { mnSubType = nSubType; } + void setSubType( sal_Int32 nSubType ) { mnSubType = nSubType; } sal_Int32 getSubType() const { return mnSubType; } - void setIndex( sal_uInt32 nIndex ) { mnIndex = nIndex; } + void setSubTypeIndex( sal_uInt32 nSubTypeIndex ) { mnSubTypeIndex = nSubTypeIndex; } + sal_Int32 getSubTypeIndex() const { return mnSubTypeIndex; } // setDefaults has to be called if styles are imported (OfficeXML is not storing properties having the default value) void setDefaults(); @@ -186,11 +187,11 @@ protected: TextListStylePtr mpMasterTextListStyle; ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mxShape; - rtl::OUString msServiceName; - rtl::OUString msName; - rtl::OUString msId; - sal_uInt32 mnSubType; // if this type is not zero, then the shape is a placeholder - sal_uInt32 mnIndex; + rtl::OUString msServiceName; + rtl::OUString msName; + rtl::OUString msId; + sal_Int32 mnSubType; // if this type is not zero, then the shape is a placeholder + sal_Int32 mnSubTypeIndex; ShapeStyleRefMap maShapeStyleRefs; diff --git a/oox/inc/oox/drawingml/textbodyproperties.hxx b/oox/inc/oox/drawingml/textbodyproperties.hxx index 7b17c561e286..6688eea7746c 100644 --- a/oox/inc/oox/drawingml/textbodyproperties.hxx +++ b/oox/inc/oox/drawingml/textbodyproperties.hxx @@ -41,6 +41,10 @@ struct TextBodyProperties PropertyMap maPropertyMap; OptValue< sal_Int32 > moRotation; OptValue< sal_Int32 > moVert; + + explicit TextBodyProperties(); + + void pushToPropMap( PropertyMap& rPropMap ) const; }; // ============================================================================ diff --git a/oox/inc/oox/drawingml/textparagraph.hxx b/oox/inc/oox/drawingml/textparagraph.hxx index e98232477f3b..d8c97cbfa114 100644 --- a/oox/inc/oox/drawingml/textparagraph.hxx +++ b/oox/inc/oox/drawingml/textparagraph.hxx @@ -54,8 +54,8 @@ public: inline TextParagraphProperties& getProperties() { return maProperties; } inline const TextParagraphProperties& getProperties() const { return maProperties; } - inline TextParagraphProperties& getEndProperties() { return maEndProperties; } - inline const TextParagraphProperties& getEndProperties() const { return maEndProperties; } + inline TextCharacterProperties& getEndProperties() { return maEndProperties; } + inline const TextCharacterProperties& getEndProperties() const { return maEndProperties; } //inline void setProperties( TextParagraphPropertiesPtr pProps ) { mpProperties = pProps; } @@ -69,7 +69,7 @@ public: private: TextParagraphProperties maProperties; - TextParagraphProperties maEndProperties; + TextCharacterProperties maEndProperties; TextRunVector maRuns; }; diff --git a/oox/inc/oox/xls/stylesbuffer.hxx b/oox/inc/oox/xls/stylesbuffer.hxx index 0cef90019809..4fa9c964108e 100644 --- a/oox/inc/oox/xls/stylesbuffer.hxx +++ b/oox/inc/oox/xls/stylesbuffer.hxx @@ -526,8 +526,13 @@ struct ApiBorderData bool mbDiagUsed; /// True = diagonal line format used. explicit ApiBorderData(); + + /** Returns true, if any of the outer border lines is visible. */ + bool hasAnyOuterBorder() const; }; +bool operator==( const ApiBorderData& rLeft, const ApiBorderData& rRight ); + // ============================================================================ class Border : public WorkbookHelper @@ -561,6 +566,11 @@ public: /** Final processing after import of all style settings. */ void finalizeImport(); + /** Returns the border model structure. */ + inline const BorderModel& getModel() const { return maModel; } + /** Returns the converted API border data struct. */ + inline const ApiBorderData& getApiData() const { return maApiData; } + /** Writes all border attributes to the passed property map. */ void writeToPropertyMap( PropertyMap& rPropMap ) const; @@ -636,6 +646,8 @@ struct ApiSolidFillData explicit ApiSolidFillData(); }; +bool operator==( const ApiSolidFillData& rLeft, const ApiSolidFillData& rRight ); + // ============================================================================ /** Contains cell fill attributes, either a pattern fill or a gradient fill. */ @@ -682,6 +694,13 @@ public: /** Final processing after import of all style settings. */ void finalizeImport(); + /** Returns the fill pattern model structure, if extant. */ + inline const PatternFillModel* getPatternModel() const { return mxPatternModel.get(); } + /** Returns the fill gradient model structure, if extant. */ + inline const GradientFillModel* getGradientModel() const { return mxGradientModel.get(); } + /** Returns the converted API fill data struct. */ + inline const ApiSolidFillData& getApiData() const { return maApiData; } + /** Writes all fill attributes to the passed property map. */ void writeToPropertyMap( PropertyMap& rPropMap ) const; @@ -751,6 +770,9 @@ public: /** Final processing after import of all style settings. */ void finalizeImport(); + /** Returns true, if the XF is a cell XF, and false, if it is a style XF. */ + inline bool isCellXf() const { return maModel.mbCellXf; } + /** Returns the referred font object. */ FontRef getFont() const; /** Returns the alignment data of this style. */ @@ -768,13 +790,13 @@ public: private: /** Sets 'attribute used' flags from the passed BIFF bit field. */ void setBiffUsedFlags( sal_uInt8 nUsedFlags ); - /** Updates own used flags from the passed cell style XF. */ - void updateUsedFlags( const Xf& rStyleXf ); private: XfModel maModel; /// Cell XF or style XF model data. Alignment maAlignment; /// Cell alignment data. Protection maProtection; /// Cell protection data. + ::com::sun::star::table::CellVertJustify + meRotationRef; /// Rotation reference dependent on border. }; typedef ::boost::shared_ptr< Xf > XfRef; @@ -981,6 +1003,8 @@ public: sal_Int32 getPaletteColor( sal_Int32 nIndex ) const; /** Returns the specified font object. */ FontRef getFont( sal_Int32 nFontId ) const; + /** Returns the specified border object. */ + BorderRef getBorder( sal_Int32 nBorderId ) const; /** Returns the specified cell format object. */ XfRef getCellXf( sal_Int32 nXfId ) const; /** Returns the specified style format object. */ @@ -995,6 +1019,11 @@ public: /** Returns the model of the default application font (used in the "Normal" cell style). */ const FontModel& getDefaultFontModel() const; + /** Returns true, if the specified borders are equal. */ + bool equalBorders( sal_Int32 nBorderId1, sal_Int32 nBorderId2 ) const; + /** Returns true, if the specified fills are equal. */ + bool equalFills( sal_Int32 nFillId1, sal_Int32 nFillId2 ) const; + /** Returns the default style sheet for unused cells. */ ::rtl::OUString getDefaultStyleName() const; /** Creates the style sheet described by the style XF with the passed identifier. */ diff --git a/oox/source/core/filterbase.cxx b/oox/source/core/filterbase.cxx index 902784cafe80..902784cafe80 100644..100755 --- a/oox/source/core/filterbase.cxx +++ b/oox/source/core/filterbase.cxx diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index ded047f2436b..87faadd7a9ce 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -85,13 +85,25 @@ namespace core { // ============================================================================ +namespace { + +bool lclHasSuffix( const OUString& rFragmentPath, const OUString& rSuffix ) +{ + sal_Int32 nSuffixPos = rFragmentPath.getLength() - rSuffix.getLength(); + return (nSuffixPos >= 0) && rFragmentPath.match( rSuffix, nSuffixPos ); +} + +} // namespace + +// ============================================================================ + struct XmlFilterBaseImpl { typedef RefMap< OUString, Relations > RelationsMap; + Reference< XFastParser > mxFastParser; OUString maBinSuffix; - Reference< XFastTokenHandler > - mxTokenHandler; + OUString maVmlSuffix; RelationsMap maRelationsMap; TextFieldStack maTextFieldStack; explicit XmlFilterBaseImpl(); @@ -101,7 +113,7 @@ struct XmlFilterBaseImpl XmlFilterBaseImpl::XmlFilterBaseImpl() : maBinSuffix( CREATE_OUSTRING( ".bin" ) ), - mxTokenHandler( new FastTokenHandler ) + maVmlSuffix( CREATE_OUSTRING( ".vml" ) ) { } @@ -113,6 +125,38 @@ XmlFilterBase::XmlFilterBase( const Reference< XMultiServiceFactory >& rxGlobalF mnRelId( 1 ), mnMaxDocId( 0 ) { + try + { + // create the fast parser + mxImpl->mxFastParser.set( rxGlobalFactory->createInstance( CREATE_OUSTRING( "com.sun.star.xml.sax.FastParser" ) ), UNO_QUERY_THROW ); + mxImpl->mxFastParser->setTokenHandler( new FastTokenHandler ); + + // register XML namespaces + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://www.w3.org/XML/1998/namespace" ), NMSP_XML ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/package/2006/relationships" ), NMSP_PACKAGE_RELATIONSHIPS ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/officeDocument/2006/relationships" ), NMSP_RELATIONSHIPS ); + + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/main" ), NMSP_DRAWINGML ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/diagram" ), NMSP_DIAGRAM ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/chart" ), NMSP_CHART ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" ), NMSP_CDR ); + + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:vml" ), NMSP_VML ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:office" ), NMSP_OFFICE ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:word" ), NMSP_VML_DOC ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:excel" ), NMSP_VML_XLS ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:powerpoint" ), NMSP_VML_PPT ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.microsoft.com/office/2006/activeX" ), NMSP_AX ); + + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/spreadsheetml/2006/main"), NMSP_XLS ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" ), NMSP_XDR ); + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.microsoft.com/office/excel/2006/main" ), NMSP_XM ); + + mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/presentationml/2006/main"), NMSP_PPT ); + } + catch( Exception& ) + { + } } XmlFilterBase::~XmlFilterBase() @@ -140,8 +184,7 @@ bool XmlFilterBase::importFragment( const ::rtl::Reference< FragmentHandler >& r return false; // try to import binary streams (fragment extension must be '.bin') - sal_Int32 nBinSuffixPos = aFragmentPath.getLength() - mxImpl->maBinSuffix.getLength(); - if( (nBinSuffixPos >= 0) && aFragmentPath.match( mxImpl->maBinSuffix, nBinSuffixPos ) ) + if( lclHasSuffix( aFragmentPath, mxImpl->maBinSuffix ) ) { try { @@ -170,41 +213,16 @@ bool XmlFilterBase::importFragment( const ::rtl::Reference< FragmentHandler >& r if( !xDocHandler.is() ) return false; + // check that the fast parser exists + if( !mxImpl->mxFastParser.is() ) + return false; + // try to import XML stream try { // try to open the fragment stream (this may fail - do not assert) Reference< XInputStream > xInStrm( rxHandler->openFragmentStream(), UNO_SET_THROW ); - // create the fast parser - Reference< XFastParser > xParser( getGlobalFactory()->createInstance( - CREATE_OUSTRING( "com.sun.star.xml.sax.FastParser" ) ), UNO_QUERY_THROW ); - xParser->setFastDocumentHandler( xDocHandler ); - xParser->setTokenHandler( mxImpl->mxTokenHandler ); - - // register XML namespaces - xParser->registerNamespace( CREATE_OUSTRING( "http://www.w3.org/XML/1998/namespace" ), NMSP_XML ); - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/package/2006/relationships" ), NMSP_PACKAGE_RELATIONSHIPS ); - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/officeDocument/2006/relationships" ), NMSP_RELATIONSHIPS ); - - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/main" ), NMSP_DRAWINGML ); - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/diagram" ), NMSP_DIAGRAM ); - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/chart" ), NMSP_CHART ); - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" ), NMSP_CDR ); - - xParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:vml" ), NMSP_VML ); - xParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:office" ), NMSP_OFFICE ); - xParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:word" ), NMSP_VML_DOC ); - xParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:excel" ), NMSP_VML_XLS ); - xParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:powerpoint" ), NMSP_VML_PPT ); - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.microsoft.com/office/2006/activeX" ), NMSP_AX ); - - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/spreadsheetml/2006/main"), NMSP_XLS ); - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" ), NMSP_XDR ); - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.microsoft.com/office/excel/2006/main" ), NMSP_XM ); - - xParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/presentationml/2006/main"), NMSP_PPT ); - // create the input source and parse the stream InputSource aSource; aSource.aInputStream = xInStrm; @@ -212,7 +230,8 @@ bool XmlFilterBase::importFragment( const ::rtl::Reference< FragmentHandler >& r // own try/catch block for showing parser failure assertion with fragment path try { - xParser->parseStream( aSource ); + mxImpl->mxFastParser->setFastDocumentHandler( xDocHandler ); + mxImpl->mxFastParser->parseStream( aSource ); return true; } catch( Exception& ) diff --git a/oox/source/drawingml/makefile.mk b/oox/source/drawingml/makefile.mk index 443c30bb16a9..e2d4ea6b8f3d 100644 --- a/oox/source/drawingml/makefile.mk +++ b/oox/source/drawingml/makefile.mk @@ -66,6 +66,7 @@ SLOFILES = \ $(SLO)$/spdefcontext.obj\ $(SLO)$/textbody.obj\ $(SLO)$/textbodycontext.obj\ + $(SLO)$/textbodyproperties.obj\ $(SLO)$/textbodypropertiescontext.obj\ $(SLO)$/textcharacterproperties.obj\ $(SLO)$/textcharacterpropertiescontext.obj\ diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx index e017ce0188f9..59b3f35dc8cc 100644 --- a/oox/source/drawingml/shape.cxx +++ b/oox/source/drawingml/shape.cxx @@ -47,6 +47,7 @@ #include <basegfx/point/b2dpoint.hxx> #include <basegfx/polygon/b2dpolygon.hxx> #include <basegfx/matrix/b2dhommatrix.hxx> +#include <com/sun/star/document/XActionLockable.hpp> using rtl::OUString; using namespace ::oox::core; @@ -89,7 +90,7 @@ Shape::Shape( const sal_Char* pServiceName ) , mpCustomShapePropertiesPtr( new CustomShapeProperties ) , mpMasterTextListStyle( new TextListStyle ) , mnSubType( 0 ) -, mnIndex( 0 ) +, mnSubTypeIndex( -1 ) , mnRotation( 0 ) , mbFlipH( false ) , mbFlipV( false ) @@ -157,6 +158,9 @@ void Shape::addShape( if ( xShapes.is() ) addChildren( rFilterBase, *this, pTheme, xShapes, pShapeRect ? *pShapeRect : awt::Rectangle( maPosition.X, maPosition.Y, maSize.Width, maSize.Height ), pShapeMap ); } + Reference< document::XActionLockable > xLockable( mxShape, UNO_QUERY ); + if( xLockable.is() ) + xLockable->removeActionLock(); } catch( const Exception& ) { @@ -365,6 +369,10 @@ Reference< XShape > Shape::createAndInsert( } rxShapes->add( mxShape ); + Reference< document::XActionLockable > xLockable( mxShape, UNO_QUERY ); + if( xLockable.is() ) + xLockable->addActionLock(); + // sj: removing default text of placeholder objects such as SlideNumberShape or HeaderShape if ( bClearText ) { @@ -412,13 +420,23 @@ Reference< XShape > Shape::createAndInsert( aFillProperties.assignUsed( getFillProperties() ); PropertyMap aShapeProperties; + PropertyMap::const_iterator aShapePropIter; + aShapeProperties.insert( getShapeProperties().begin(), getShapeProperties().end() ); if( mxCreateCallback.get() ) - aShapeProperties.insert( mxCreateCallback->getShapeProperties().begin(), mxCreateCallback->getShapeProperties().end() ); + { + for ( aShapePropIter = mxCreateCallback->getShapeProperties().begin(); + aShapePropIter != mxCreateCallback->getShapeProperties().end(); aShapePropIter++ ) + aShapeProperties[ (*aShapePropIter).first ] = (*aShapePropIter).second; + } // add properties from textbody to shape properties if( mpTextBody.get() ) - aShapeProperties.insert( mpTextBody->getTextProperties().maPropertyMap.begin(), mpTextBody->getTextProperties().maPropertyMap.end() ); + { + for ( aShapePropIter = mpTextBody->getTextProperties().maPropertyMap.begin(); + aShapePropIter != mpTextBody->getTextProperties().maPropertyMap.end(); aShapePropIter++ ) + aShapeProperties[ (*aShapePropIter).first ] = (*aShapePropIter).second; + } // applying properties PropertySet aPropSet( xSet ); @@ -464,6 +482,8 @@ Reference< XShape > Shape::createAndInsert( getTextBody()->insertAt( rFilterBase, xText, xAt, aCharStyleProperties, mpMasterTextListStyle ); } } + if( xLockable.is() ) + xLockable->removeActionLock(); } // use a callback for further processing on the XShape (e.g. charts) diff --git a/oox/source/drawingml/shapecontext.cxx b/oox/source/drawingml/shapecontext.cxx index 4ee664b1c66c..a5a1f16f5935 100644 --- a/oox/source/drawingml/shapecontext.cxx +++ b/oox/source/drawingml/shapecontext.cxx @@ -90,7 +90,7 @@ Reference< XFastContextHandler > ShapeContext::createFastChildContext( sal_Int32 break; case XML_ph: mpShapePtr->setSubType( xAttribs->getOptionalValueToken( XML_type, XML_obj ) ); - mpShapePtr->setIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() ); + mpShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() ); break; // nvSpPr CT_ShapeNonVisual end diff --git a/oox/source/drawingml/shapegroupcontext.cxx b/oox/source/drawingml/shapegroupcontext.cxx index 1b90be3952ab..56ce53767641 100644 --- a/oox/source/drawingml/shapegroupcontext.cxx +++ b/oox/source/drawingml/shapegroupcontext.cxx @@ -75,7 +75,7 @@ Reference< XFastContextHandler > ShapeGroupContext::createFastChildContext( sal_ break; case XML_ph: mpGroupShapePtr->setSubType( xAttribs->getOptionalValueToken( XML_type, FastToken::DONTKNOW ) ); - mpGroupShapePtr->setIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() ); + mpGroupShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() ); break; // nvSpPr CT_ShapeNonVisual end diff --git a/oox/source/drawingml/textbodycontext.cxx b/oox/source/drawingml/textbodycontext.cxx index 9a197ee691bf..8de730849b24 100644 --- a/oox/source/drawingml/textbodycontext.cxx +++ b/oox/source/drawingml/textbodycontext.cxx @@ -109,7 +109,7 @@ Reference< XFastContextHandler > TextParagraphContext::createFastChildContext( s xRet.set( new TextParagraphPropertiesContext( *this, xAttribs, mrParagraph.getProperties() ) ); break; case NMSP_DRAWINGML|XML_endParaRPr: - xRet.set( new TextParagraphPropertiesContext( *this, xAttribs, mrParagraph.getEndProperties() ) ); + xRet.set( new TextCharacterPropertiesContext( *this, xAttribs, mrParagraph.getEndProperties() ) ); break; } diff --git a/oox/source/drawingml/textbodyproperties.cxx b/oox/source/drawingml/textbodyproperties.cxx new file mode 100644 index 000000000000..afd4766b0106 --- /dev/null +++ b/oox/source/drawingml/textbodyproperties.cxx @@ -0,0 +1,58 @@ +/************************************************************************* + * + * 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: textbodyproperties.cxx,v $ + * $Revision: 1.1 $ + * + * 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. + * + ************************************************************************/ + +#include "oox/drawingml/textbodyproperties.hxx" +#include <com/sun/star/text/WritingMode.hpp> +#include "properties.hxx" +#include "tokens.hxx" + +namespace oox { +namespace drawingml { + +// ============================================================================ + +TextBodyProperties::TextBodyProperties() +{ +} + +void TextBodyProperties::pushToPropMap( PropertyMap& rPropMap ) const +{ + rPropMap.insert( maPropertyMap.begin(), maPropertyMap.end() ); + + // #160799# fake different vertical text modes by top-bottom writing mode + if( moVert.get( XML_horz ) != XML_horz ) + rPropMap[ PROP_TextWritingMode ] <<= ::com::sun::star::text::WritingMode_TB_RL; +} + +// ============================================================================ + +} // namespace drawingml +} // namespace oox + diff --git a/oox/source/drawingml/textbodypropertiescontext.cxx b/oox/source/drawingml/textbodypropertiescontext.cxx index 291af2687149..ec605a3adadd 100644 --- a/oox/source/drawingml/textbodypropertiescontext.cxx +++ b/oox/source/drawingml/textbodypropertiescontext.cxx @@ -28,6 +28,8 @@ #include "oox/drawingml/textbodypropertiescontext.hxx" #include <com/sun/star/text/ControlCharacter.hpp> +#include <com/sun/star/drawing/TextVerticalAdjust.hpp> +#include <com/sun/star/drawing/TextHorizontalAdjust.hpp> #include "oox/drawingml/textbodyproperties.hxx" #include "oox/drawingml/drawingmltypes.hxx" #include "oox/helper/attributelist.hxx" @@ -38,6 +40,7 @@ using ::rtl::OUString; using namespace ::oox::core; +using namespace ::com::sun::star; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::text; using namespace ::com::sun::star::xml::sax; @@ -56,7 +59,7 @@ TextBodyPropertiesContext::TextBodyPropertiesContext( ContextHandler& rParent, // ST_TextWrappingType sal_Int32 nWrappingType = aAttribs.getToken( XML_wrap, XML_square ); - mrTextBodyProp.maPropertyMap[ PROP_TextWordWrap ] <<= (nWrappingType == XML_square); + mrTextBodyProp.maPropertyMap[ PROP_TextWordWrap ] <<= static_cast< sal_Bool >( nWrappingType == XML_square ); // ST_Coordinate OUString sValue; @@ -78,7 +81,17 @@ TextBodyPropertiesContext::TextBodyPropertiesContext( ContextHandler& rParent, // ST_TextAnchoringType -// sal_Int32 nAnchoringType = xAttributes->getOptionalValueToken( XML_anchor, XML_t ); + drawing::TextVerticalAdjust eVA( drawing::TextVerticalAdjust_TOP ); + switch( xAttributes->getOptionalValueToken( XML_anchor, XML_t ) ) + { + case XML_b : eVA = drawing::TextVerticalAdjust_BOTTOM; break; + case XML_dist : + case XML_just : + case XML_ctr : eVA = drawing::TextVerticalAdjust_CENTER; break; + default: + case XML_t : eVA = drawing::TextVerticalAdjust_TOP; break; + } + mrTextBodyProp.maPropertyMap[ PROP_TextVerticalAdjust ] <<= eVA; // bool bAnchorCenter = aAttribs.getBool( XML_anchorCtr, false ); diff --git a/oox/source/drawingml/textcharacterpropertiescontext.cxx b/oox/source/drawingml/textcharacterpropertiescontext.cxx index 6797b8336c02..cfba04a7b44b 100644 --- a/oox/source/drawingml/textcharacterpropertiescontext.cxx +++ b/oox/source/drawingml/textcharacterpropertiescontext.cxx @@ -56,13 +56,20 @@ TextCharacterPropertiesContext::TextCharacterPropertiesContext( , mrTextCharacterProperties( rTextCharacterProperties ) { AttributeList aAttribs( rXAttributes ); - mrTextCharacterProperties.moLang = aAttribs.getString( XML_lang ); - mrTextCharacterProperties.moHeight = aAttribs.getInteger( XML_sz ); - mrTextCharacterProperties.moUnderline = aAttribs.getToken( XML_u ); - mrTextCharacterProperties.moStrikeout = aAttribs.getToken( XML_strike ); -// mrTextCharacterProperties.moCaseMap = aAttribs.getToken( XML_cap ); - mrTextCharacterProperties.moBold = aAttribs.getBool( XML_b ); - mrTextCharacterProperties.moItalic = aAttribs.getBool( XML_i ); + if ( aAttribs.hasAttribute( XML_lang ) ) + mrTextCharacterProperties.moLang = aAttribs.getString( XML_lang ); + if ( aAttribs.hasAttribute( XML_sz ) ) + mrTextCharacterProperties.moHeight = aAttribs.getInteger( XML_sz ); + if ( aAttribs.hasAttribute( XML_u ) ) + mrTextCharacterProperties.moUnderline = aAttribs.getToken( XML_u ); + if ( aAttribs.hasAttribute( XML_strike ) ) + mrTextCharacterProperties.moStrikeout = aAttribs.getToken( XML_strike ); + +// mrTextCharacterProperties.moCaseMap = aAttribs.getToken( XML_cap ); + if ( aAttribs.hasAttribute( XML_b ) ) + mrTextCharacterProperties.moBold = aAttribs.getBool( XML_b ); + if ( aAttribs.hasAttribute( XML_i ) ) + mrTextCharacterProperties.moItalic = aAttribs.getBool( XML_i ); // TODO /* todo: we need to be able to iterate over the XFastAttributes diff --git a/oox/source/drawingml/textparagraph.cxx b/oox/source/drawingml/textparagraph.cxx index 1ff78541243e..a4bef1a5013c 100644 --- a/oox/source/drawingml/textparagraph.cxx +++ b/oox/source/drawingml/textparagraph.cxx @@ -29,6 +29,7 @@ #include "oox/drawingml/drawingmltypes.hxx" #include <rtl/ustring.hxx> +#include "oox/helper/propertyset.hxx" #include <com/sun/star/text/XText.hpp> #include <com/sun/star/text/XTextCursor.hpp> #include <com/sun/star/text/ControlCharacter.hpp> @@ -78,11 +79,21 @@ void TextParagraph::insertAt( xText->insertControlCharacter( xStart, ControlCharacter::APPEND_PARAGRAPH, sal_False ); xAt->gotoEnd( sal_True ); } + if ( maRuns.begin() == maRuns.end() ) + { + PropertySet aPropSet( xStart ); - for( TextRunVector::const_iterator aIt = maRuns.begin(), aEnd = maRuns.end(); aIt != aEnd; ++aIt ) + TextCharacterProperties aTextCharacterProps( aTextCharacterStyle ); + aTextCharacterProps.assignUsed( maEndProperties ); + aTextCharacterProps.pushToPropSet( aPropSet, rFilterBase ); + } + else { - (*aIt)->insertAt( rFilterBase, xText, xAt, aTextCharacterStyle ); - nParagraphSize += (*aIt)->getText().getLength(); + for( TextRunVector::const_iterator aIt = maRuns.begin(), aEnd = maRuns.end(); aIt != aEnd; ++aIt ) + { + (*aIt)->insertAt( rFilterBase, xText, xAt, aTextCharacterStyle ); + nParagraphSize += (*aIt)->getText().getLength(); + } } xAt->gotoEnd( sal_True ); @@ -94,7 +105,6 @@ void TextParagraph::insertAt( pTextParagraphStyle->pushToPropSet( rFilterBase, xProps, aioBulletList, NULL, sal_False, fCharacterSize ); fCharacterSize = pTextParagraphStyle->getCharHeightPoints( 18 ); } - maProperties.pushToPropSet( rFilterBase, xProps, aioBulletList, &pTextParagraphStyle->getBulletList(), sal_True, fCharacterSize ); // empty paragraphs do not have bullets in ppt diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index a49d41ef4759..5aeb56883d2d 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -1339,15 +1339,10 @@ void DrawingML::WriteConnectorConnections( EscherConnectorListEntry& rConnectorE // from sw/source/filter/ww8/wrtw8num.cxx for default bullets to export to MS intact static void lcl_SubstituteBullet(String& rNumStr, rtl_TextEncoding& rChrSet, String& rFontName) { - StarSymbolToMSMultiFont *pConvert = 0; - FontFamily eFamily = FAMILY_DECORATIVE; - - if (!pConvert) - { - pConvert = CreateStarSymbolToMSMultiFont(); - } sal_Unicode cChar = rNumStr.GetChar(0); + StarSymbolToMSMultiFont *pConvert = CreateStarSymbolToMSMultiFont(); String sFont = pConvert->ConvertChar(cChar); + delete pConvert; if (sFont.Len()) { rNumStr = static_cast< sal_Unicode >(cChar | 0xF000); @@ -1363,7 +1358,6 @@ static void lcl_SubstituteBullet(String& rNumStr, rtl_TextEncoding& rChrSet, Str let words own font substitution kick in */ rChrSet = RTL_TEXTENCODING_UNICODE; - eFamily = FAMILY_SWISS; rFontName = ::GetFontToken(rFontName, 0); } else @@ -1376,7 +1370,6 @@ static void lcl_SubstituteBullet(String& rNumStr, rtl_TextEncoding& rChrSet, Str rFontName.AssignAscii(RTL_CONSTASCII_STRINGPARAM("Wingdings")); rNumStr = static_cast< sal_Unicode >(0x6C); } - delete pConvert; } sal_Unicode DrawingML::SubstituteBullet( sal_Unicode cBulletId, ::com::sun::star::awt::FontDescriptor& rFontDesc ) diff --git a/oox/source/ole/axcontrol.cxx b/oox/source/ole/axcontrol.cxx index da0acd233cbb..95d5c7dc67b7 100644 --- a/oox/source/ole/axcontrol.cxx +++ b/oox/source/ole/axcontrol.cxx @@ -1070,6 +1070,7 @@ void AxToggleButtonModel::convertProperties( PropertyMap& rPropMap, const Contro rPropMap.setProperty( PROP_Toggle, true ); rConv.convertAxBackground( rPropMap, mnBackColor, mnFlags, API_TRANSPARENCY_NOTSUPPORTED ); rConv.convertAxPicture( rPropMap, maPictureData, mnPicturePos ); + rConv.convertAxState( rPropMap, maValue, mnMultiSelect, API_DEFAULTSTATE_BOOLEAN, mbAwtModel ); AxMorphDataModelBase::convertProperties( rPropMap, rConv ); } diff --git a/oox/source/ppt/pptshape.cxx b/oox/source/ppt/pptshape.cxx index 016857161696..ed53992f944b 100644 --- a/oox/source/ppt/pptshape.cxx +++ b/oox/source/ppt/pptshape.cxx @@ -93,7 +93,13 @@ void PPTShape::addShape( aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getTitleTextStyle() : rSlidePersist.getTitleTextStyle(); } break; - case XML_obj : + case XML_subTitle : + { + if ( ( meShapeLocation == Master ) || ( meShapeLocation == Layout ) ) + sServiceName = rtl::OUString(); + } + break; + case XML_obj : { const rtl::OUString sOutlinerShapeService( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.presentation.OutlinerShape" ) ); sServiceName = sOutlinerShapeService; @@ -155,37 +161,42 @@ void PPTShape::addShape( break; } } - if ( !aMasterTextListStyle.get() ) - aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getOtherTextStyle() : rSlidePersist.getOtherTextStyle(); - setMasterTextListStyle( aMasterTextListStyle ); - Reference< XShape > xShape( createAndInsert( rFilterBase, sServiceName, pTheme, rxShapes, pShapeRect, bClearText ) ); - if ( !rSlidePersist.isMasterPage() && rSlidePersist.getPage().is() && ( (sal_Int32)mnSubType == XML_title ) ) + if ( sServiceName.getLength() ) { - try - { - rtl::OUString aTitleText; - Reference< XTextRange > xText( xShape, UNO_QUERY_THROW ); - aTitleText = xText->getString(); - if ( aTitleText.getLength() && ( aTitleText.getLength() < 64 ) ) // just a magic value, but we don't want to set slide names which are too long + if ( !aMasterTextListStyle.get() ) + aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getOtherTextStyle() : rSlidePersist.getOtherTextStyle(); + setMasterTextListStyle( aMasterTextListStyle ); + + Reference< XShape > xShape( createAndInsert( rFilterBase, sServiceName, pTheme, rxShapes, pShapeRect, bClearText ) ); + if ( !rSlidePersist.isMasterPage() && rSlidePersist.getPage().is() && ( (sal_Int32)mnSubType == XML_title ) ) + { + try + { + rtl::OUString aTitleText; + Reference< XTextRange > xText( xShape, UNO_QUERY_THROW ); + aTitleText = xText->getString(); + if ( aTitleText.getLength() && ( aTitleText.getLength() < 64 ) ) // just a magic value, but we don't want to set slide names which are too long + { + Reference< container::XNamed > xName( rSlidePersist.getPage(), UNO_QUERY_THROW ); + xName->setName( aTitleText ); + } + } + catch( uno::Exception& ) { - Reference< container::XNamed > xName( rSlidePersist.getPage(), UNO_QUERY_THROW ); - xName->setName( aTitleText ); + } } - catch( uno::Exception& ) + if( pShapeMap && msId.getLength() ) { + (*pShapeMap)[ msId ] = shared_from_this(); } - } - if( pShapeMap && msId.getLength() ) - { - (*pShapeMap)[ msId ] = shared_from_this(); - } - // if this is a group shape, we have to add also each child shape - Reference< XShapes > xShapes( xShape, UNO_QUERY ); - if ( xShapes.is() ) - addChildren( rFilterBase, *this, pTheme, xShapes, pShapeRect ? *pShapeRect : awt::Rectangle( maPosition.X, maPosition.Y, maSize.Width, maSize.Height ), pShapeMap ); + // if this is a group shape, we have to add also each child shape + Reference< XShapes > xShapes( xShape, UNO_QUERY ); + if ( xShapes.is() ) + addChildren( rFilterBase, *this, pTheme, xShapes, pShapeRect ? *pShapeRect : awt::Rectangle( maPosition.X, maPosition.Y, maSize.Width, maSize.Height ), pShapeMap ); + } } } catch( const Exception& ) diff --git a/oox/source/ppt/pptshapecontext.cxx b/oox/source/ppt/pptshapecontext.cxx index 472f5292770e..8379a6e95735 100644 --- a/oox/source/ppt/pptshapecontext.cxx +++ b/oox/source/ppt/pptshapecontext.cxx @@ -63,7 +63,7 @@ PPTShapeContext::PPTShapeContext( ContextHandler& rParent, const SlidePersistPtr { } -oox::drawingml::ShapePtr findPlaceholder( const sal_Int32 nMasterPlaceholder, std::vector< oox::drawingml::ShapePtr >& rShapes ) +oox::drawingml::ShapePtr findPlaceholder( const sal_Int32 nMasterPlaceholder, sal_Int32 nSubTypeIndex, std::vector< oox::drawingml::ShapePtr >& rShapes ) { oox::drawingml::ShapePtr aShapePtr; std::vector< oox::drawingml::ShapePtr >::reverse_iterator aRevIter( rShapes.rbegin() ); @@ -71,11 +71,14 @@ oox::drawingml::ShapePtr findPlaceholder( const sal_Int32 nMasterPlaceholder, st { if ( (*aRevIter)->getSubType() == nMasterPlaceholder ) { - aShapePtr = *aRevIter; - break; + if ( ( nSubTypeIndex == -1 ) || ( nSubTypeIndex == (*aRevIter)->getSubTypeIndex() ) ) + { + aShapePtr = *aRevIter; + break; + } } std::vector< oox::drawingml::ShapePtr >& rChildren = (*aRevIter)->getChildren(); - aShapePtr = findPlaceholder( nMasterPlaceholder, rChildren ); + aShapePtr = findPlaceholder( nMasterPlaceholder, nSubTypeIndex, rChildren ); if ( aShapePtr.get() ) break; aRevIter++; @@ -84,10 +87,11 @@ oox::drawingml::ShapePtr findPlaceholder( const sal_Int32 nMasterPlaceholder, st } // if nFirstPlaceholder can't be found, it will be searched for nSecondPlaceholder -oox::drawingml::ShapePtr findPlaceholder( sal_Int32 nFirstPlaceholder, sal_Int32 nSecondPlaceholder, std::vector< oox::drawingml::ShapePtr >& rShapes ) +oox::drawingml::ShapePtr findPlaceholder( sal_Int32 nFirstPlaceholder, sal_Int32 nSecondPlaceholder, + sal_Int32 nSubTypeIndex, std::vector< oox::drawingml::ShapePtr >& rShapes ) { - oox::drawingml::ShapePtr pPlaceholder = findPlaceholder( nFirstPlaceholder, rShapes ); - return !nSecondPlaceholder || pPlaceholder.get() ? pPlaceholder : findPlaceholder( nSecondPlaceholder, rShapes ); + oox::drawingml::ShapePtr pPlaceholder = findPlaceholder( nFirstPlaceholder, nSubTypeIndex, rShapes ); + return !nSecondPlaceholder || pPlaceholder.get() ? pPlaceholder : findPlaceholder( nSecondPlaceholder, nSubTypeIndex, rShapes ); } Reference< XFastContextHandler > PPTShapeContext::createFastChildContext( sal_Int32 aElementToken, const Reference< XFastAttributeList >& xAttribs ) throw (SAXException, RuntimeException) @@ -107,7 +111,7 @@ Reference< XFastContextHandler > PPTShapeContext::createFastChildContext( sal_In { sal_Int32 nSubType( xAttribs->getOptionalValueToken( XML_type, XML_obj ) ); mpShapePtr->setSubType( nSubType ); - mpShapePtr->setIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() ); + mpShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() ); if ( nSubType ) { PPTShape* pPPTShapePtr = dynamic_cast< PPTShape* >( mpShapePtr.get() ); @@ -131,7 +135,8 @@ Reference< XFastContextHandler > PPTShapeContext::createFastChildContext( sal_In nSecondPlaceholder = XML_title; break; case XML_obj : // slide/layout - nFirstPlaceholder = XML_body; + nFirstPlaceholder = XML_obj; + nSecondPlaceholder = XML_body; break; case XML_dt : // slide/layout/master/notes/notesmaster/handoutmaster case XML_sldNum : // slide/layout/master/notes/notesmaster/handoutmaster @@ -154,12 +159,13 @@ Reference< XFastContextHandler > PPTShapeContext::createFastChildContext( sal_In { oox::drawingml::ShapePtr pPlaceholder; if ( eShapeLocation == Layout ) // for layout objects the referenced object can be found within the same shape tree - pPlaceholder = findPlaceholder( nFirstPlaceholder, nSecondPlaceholder, mpSlidePersistPtr->getShapes()->getChildren() ); + pPlaceholder = findPlaceholder( nFirstPlaceholder, nSecondPlaceholder, -1, mpSlidePersistPtr->getShapes()->getChildren() ); else if ( eShapeLocation == Slide ) // normal slide shapes have to search within the corresponding master tree for referenced objects { SlidePersistPtr pMasterPersist( mpSlidePersistPtr->getMasterPersist() ); if ( pMasterPersist.get() ) - pPlaceholder = findPlaceholder( nFirstPlaceholder, nSecondPlaceholder, pMasterPersist->getShapes()->getChildren() ); + pPlaceholder = findPlaceholder( nFirstPlaceholder, nSecondPlaceholder, + pPPTShapePtr->getSubTypeIndex(), pMasterPersist->getShapes()->getChildren() ); } if ( pPlaceholder.get() ) { diff --git a/oox/source/ppt/pptshapegroupcontext.cxx b/oox/source/ppt/pptshapegroupcontext.cxx index 4113b399e6eb..ef8dbeedcd6c 100644 --- a/oox/source/ppt/pptshapegroupcontext.cxx +++ b/oox/source/ppt/pptshapegroupcontext.cxx @@ -76,7 +76,7 @@ Reference< XFastContextHandler > PPTShapeGroupContext::createFastChildContext( s break; case NMSP_PPT|XML_ph: mpGroupShapePtr->setSubType( xAttribs->getOptionalValueToken( XML_type, FastToken::DONTKNOW ) ); - mpGroupShapePtr->setIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() ); + mpGroupShapePtr->setSubTypeIndex( xAttribs->getOptionalValue( XML_idx ).toInt32() ); break; // nvSpPr CT_ShapeNonVisual end diff --git a/oox/source/ppt/slidepersist.cxx b/oox/source/ppt/slidepersist.cxx index 7c2c4ccfd06d..39540335cf13 100644 --- a/oox/source/ppt/slidepersist.cxx +++ b/oox/source/ppt/slidepersist.cxx @@ -67,9 +67,11 @@ SlidePersist::SlidePersist( XmlFilterBase& rFilter, sal_Bool bMaster, sal_Bool b { if ( pDefaultTextStyle ) { + /* maTitleTextStylePtr->apply( *pDefaultTextStyle.get() ); maBodyTextStylePtr->apply( *pDefaultTextStyle.get() ); maNotesTextStylePtr->apply( *pDefaultTextStyle.get() ); + */ maOtherTextStylePtr->apply( *pDefaultTextStyle.get() ); } } diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt index 655bd40d6e1f..609eeda60cde 100644 --- a/oox/source/token/properties.txt +++ b/oox/source/token/properties.txt @@ -386,6 +386,7 @@ TextOverlap TextRightDistance TextRotation TextUpperDistance +TextVerticalAdjust TextWordWrap TextWritingMode Title diff --git a/oox/source/token/tokenmap.cxx b/oox/source/token/tokenmap.cxx index 339ff5c40b44..b5ed8e9a9323 100644 --- a/oox/source/token/tokenmap.cxx +++ b/oox/source/token/tokenmap.cxx @@ -32,6 +32,8 @@ #include "tokens.hxx" #include "oox/helper/containerhelper.hxx" +#include <string.h> + using ::rtl::OString; using ::rtl::OUString; using ::com::sun::star::uno::Sequence; diff --git a/oox/source/xls/biffhelper.cxx b/oox/source/xls/biffhelper.cxx index 68699766804d..afd7e04e6a08 100644 --- a/oox/source/xls/biffhelper.cxx +++ b/oox/source/xls/biffhelper.cxx @@ -56,19 +56,27 @@ const sal_uInt16 BIFF_IMGDATA_NATIVE = 14; // ---------------------------------------------------------------------------- -bool lclCalcRkFromDouble( sal_Int32& ornRkValue, double fValue ) +union DecodedDouble +{ + double mfValue; + sal_math_Double maStruct; + + inline explicit DecodedDouble() {} + inline explicit DecodedDouble( double fValue ) : mfValue( fValue ) {} +}; + +bool lclCalcRkFromDouble( sal_Int32& ornRkValue, const DecodedDouble& rDecDbl ) { // double - const sal_math_Double* pValue = reinterpret_cast< const sal_math_Double* >( &fValue ); - if( (pValue->w32_parts.lsw == 0) && ((pValue->w32_parts.msw & 0x3) == 0) ) + if( (rDecDbl.maStruct.w32_parts.lsw == 0) && ((rDecDbl.maStruct.w32_parts.msw & 0x3) == 0) ) { - ornRkValue = static_cast< sal_Int32 >( pValue->w32_parts.msw ); + ornRkValue = static_cast< sal_Int32 >( rDecDbl.maStruct.w32_parts.msw ); return true; } // integer double fInt = 0.0; - double fFrac = modf( fValue, &fInt ); + double fFrac = modf( rDecDbl.mfValue, &fInt ); if( (fFrac == 0.0) && (-536870912.0 <= fInt) && (fInt <= 536870911.0) ) // 2^29 { ornRkValue = static_cast< sal_Int32 >( fInt ); @@ -80,6 +88,22 @@ bool lclCalcRkFromDouble( sal_Int32& ornRkValue, double fValue ) return false; } +bool lclCalcRkFromDouble( sal_Int32& ornRkValue, double fValue ) +{ + DecodedDouble aDecDbl( fValue ); + if( lclCalcRkFromDouble( ornRkValue, aDecDbl ) ) + return true; + + aDecDbl.mfValue *= 100.0; + if( lclCalcRkFromDouble( ornRkValue, aDecDbl ) ) + { + ornRkValue |= BIFF_RK_100FLAG; + return true; + } + + return false; +} + // ---------------------------------------------------------------------------- void lclImportImgDataDib( StreamDataSequence& orDataSeq, BiffInputStream& rStrm, sal_Int32 nBytes, BiffType eBiff ) @@ -164,23 +188,22 @@ void lclImportImgDataDib( StreamDataSequence& orDataSeq, BiffInputStream& rStrm, /*static*/ double BiffHelper::calcDoubleFromRk( sal_Int32 nRkValue ) { - double fValue = 0.0; + DecodedDouble aDecDbl( 0.0 ); if( getFlag( nRkValue, BIFF_RK_INTFLAG ) ) { sal_Int32 nTemp = nRkValue >> 2; setFlag< sal_Int32 >( nTemp, 0xE0000000, nRkValue < 0 ); - fValue = nTemp; + aDecDbl.mfValue = nTemp; } else { - sal_math_Double* pDouble = reinterpret_cast< sal_math_Double* >( &fValue ); - pDouble->w32_parts.msw = static_cast< sal_uInt32 >( nRkValue & BIFF_RK_VALUEMASK ); + aDecDbl.maStruct.w32_parts.msw = static_cast< sal_uInt32 >( nRkValue & BIFF_RK_VALUEMASK ); } if( getFlag( nRkValue, BIFF_RK_100FLAG ) ) - fValue /= 100.0; + aDecDbl.mfValue /= 100.0; - return fValue; + return aDecDbl.mfValue; } /*static*/ bool BiffHelper::calcRkFromDouble( sal_Int32& ornRkValue, double fValue ) @@ -211,10 +234,10 @@ void lclImportImgDataDib( StreamDataSequence& orDataSeq, BiffInputStream& rStrm, case BIFF_ERR_NA: nApiError = 0x7FFF; break; default: OSL_ENSURE( false, "BiffHelper::calcDoubleFromError - unknown error code" ); } - double fValue; - ::rtl::math::setNan( &fValue ); - reinterpret_cast< sal_math_Double* >( &fValue )->nan_parts.fraction_lo = nApiError; - return fValue; + DecodedDouble aDecDbl; + ::rtl::math::setNan( &aDecDbl.mfValue ); + aDecDbl.maStruct.nan_parts.fraction_lo = nApiError; + return aDecDbl.mfValue; } /*static*/ rtl_TextEncoding BiffHelper::calcTextEncodingFromCodePage( sal_uInt16 nCodePage ) @@ -244,15 +267,14 @@ void lclImportImgDataDib( StreamDataSequence& orDataSeq, BiffInputStream& rStrm, sal_uInt16 nFormat, nEnv; sal_Int32 nBytes; rStrm >> nFormat >> nEnv >> nBytes; - OSL_ENSURE( (nFormat == BIFF_IMGDATA_WMF) || (nFormat == BIFF_IMGDATA_DIB) || (nFormat == BIFF_IMGDATA_NATIVE), "BiffHelper::importImgData - unknown format" ); OSL_ENSURE( nBytes > 0, "BiffHelper::importImgData - invalid data size" ); if( (0 < nBytes) && (nBytes <= rStrm.getRemaining()) ) { switch( nFormat ) { - case BIFF_IMGDATA_WMF: /* TODO */ break; +// case BIFF_IMGDATA_WMF: /* TODO */ break; case BIFF_IMGDATA_DIB: lclImportImgDataDib( orDataSeq, rStrm, nBytes, eBiff ); break; - case BIFF_IMGDATA_NATIVE: /* TODO */ break; +// case BIFF_IMGDATA_NATIVE: /* TODO */ break; default: OSL_ENSURE( false, "BiffHelper::importImgData - unknown image format" ); } } diff --git a/oox/source/xls/formulabase.cxx b/oox/source/xls/formulabase.cxx index b9b9c3d57dcc..b2e5ba0ee931 100644 --- a/oox/source/xls/formulabase.cxx +++ b/oox/source/xls/formulabase.cxx @@ -229,12 +229,13 @@ const size_t FUNCINFO_PARAMINFOCOUNT = 5; /// Number of parameter const sal_uInt16 FUNCFLAG_VOLATILE = 0x0001; /// Result is volatile (e.g. NOW() function). const sal_uInt16 FUNCFLAG_IMPORTONLY = 0x0002; /// Only used in import filter. const sal_uInt16 FUNCFLAG_EXPORTONLY = 0x0004; /// Only used in export filter. -const sal_uInt16 FUNCFLAG_MACROCALL = 0x0008; /// Function is simulated by macro call in Excel. -const sal_uInt16 FUNCFLAG_EXTERNAL = 0x0010; /// Function is external in Calc. -const sal_uInt16 FUNCFLAG_MACROFUNC = 0x0020; /// Function is a macro-sheet function. -const sal_uInt16 FUNCFLAG_MACROCMD = 0x0040; /// Function is a macro-sheet command. -const sal_uInt16 FUNCFLAG_ALWAYSVAR = 0x0080; /// Function is always represented by a tFuncVar token. -const sal_uInt16 FUNCFLAG_PARAMPAIRS = 0x0100; /// Optional parameters are expected to appear in pairs. +const sal_uInt16 FUNCFLAG_MACROCALL = 0x0008; /// Function is stored as macro call in Excel (_xlfn. prefix). OOXML name MUST exist. +const sal_uInt16 FUNCFLAG_MACROCALLODF = 0x0010; /// ODF-only function stored as macro call in Excel (_xlfnodf. prefix). ODF name MUST exist. +const sal_uInt16 FUNCFLAG_EXTERNAL = 0x0020; /// Function is external in Calc. +const sal_uInt16 FUNCFLAG_MACROFUNC = 0x0040; /// Function is a macro-sheet function. +const sal_uInt16 FUNCFLAG_MACROCMD = 0x0080; /// Function is a macro-sheet command. +const sal_uInt16 FUNCFLAG_ALWAYSVAR = 0x0100; /// Function is always represented by a tFuncVar token. +const sal_uInt16 FUNCFLAG_PARAMPAIRS = 0x0200; /// Optional parameters are expected to appear in pairs. const sal_uInt16 FUNCFLAG_FUNCLIBMASK = 0xF000; /// Mask for function library bits. const sal_uInt16 FUNCFLAG_EUROTOOL = 0x1000; /// Function is part of the EuroTool add-in. @@ -346,7 +347,6 @@ static const FunctionData saFuncTableBiff2[] = { "TREND", "TREND", 50, 50, 1, 3, A, { RA, RA, RA, C }, 0 }, { "LOGEST", "LOGEST", 51, 51, 1, 2, A, { RA, RA, C, C }, 0 }, { "GROWTH", "GROWTH", 52, 52, 1, 3, A, { RA, RA, RA, C }, 0 }, - { 0, "RETURN", 55, 55, 0, 1, R, { RO }, FUNCFLAG_MACROFUNC }, { "PV", "PV", 56, 56, 3, 5, V, { VR }, 0 }, { "FV", "FV", 57, 57, 3, 5, V, { VR }, 0 }, { "NPER", "NPER", 58, 58, 3, 5, V, { VR }, 0 }, @@ -370,11 +370,9 @@ static const FunctionData saFuncTableBiff2[] = { "ROWS", "ROWS", 76, 76, 1, 1, V, { RO }, 0 }, { "COLUMNS", "COLUMNS", 77, 77, 1, 1, V, { RO }, 0 }, { "OFFSET", "OFFSET", 78, 78, 3, 5, R, { RO, VR }, FUNCFLAG_VOLATILE }, - { 0, "ABSREF", 79, 79, 2, 2, R, { VR, RO }, FUNCFLAG_MACROFUNC }, { "SEARCH", "SEARCH", 82, 82, 2, 3, V, { VR }, 0 }, { "TRANSPOSE", "TRANSPOSE", 83, 83, 1, 1, A, { VO }, 0 }, { "TYPE", "TYPE", 86, 86, 1, 1, V, { VX }, 0 }, - { 0, "ACTIVE.CELL", 94, 94, 0, 0, R, {}, FUNCFLAG_MACROFUNC }, { "ATAN2", "ATAN2", 97, 97, 2, 2, V, { VR }, 0 }, { "ASIN", "ASIN", 98, 98, 1, 1, V, { VR }, 0 }, { "ACOS", "ACOS", 99, 99, 1, 1, V, { VR }, 0 }, @@ -408,9 +406,6 @@ static const FunctionData saFuncTableBiff2[] = { "SYD", "SYD", 143, 143, 4, 4, V, { VR }, 0 }, { "DDB", "DDB", 144, 144, 4, 5, V, { VR }, 0 }, { "INDIRECT", "INDIRECT", 148, 148, 1, 2, R, { VR }, FUNCFLAG_VOLATILE }, - { 0, "ADD.BAR", 151, 151, 0, 0, V, {}, FUNCFLAG_MACROFUNC | FUNCFLAG_ALWAYSVAR }, - { 0, "ADD.MENU", 152, 152, 2, 2, V, { VR, RO }, FUNCFLAG_MACROFUNC | FUNCFLAG_ALWAYSVAR }, - { 0, "ADD.COMMAND", 153, 153, 3, 3, V, { VR, RO }, FUNCFLAG_MACROFUNC | FUNCFLAG_ALWAYSVAR }, { "CLEAN", "CLEAN", 162, 162, 1, 1, V, { VR }, 0 }, { "MDETERM", "MDETERM", 163, 163, 1, 1, V, { VA }, 0 }, { "MINVERSE", "MINVERSE", 164, 164, 1, 1, A, { VA }, 0 }, @@ -434,10 +429,16 @@ static const FunctionData saFuncTableBiff2[] = // *** macro sheet commands *** { 0, "A1.R1C1", 30, 30, 0, 1, V, { VR }, FUNCFLAG_MACROCMD }, + { 0, "RETURN", 55, 55, 0, 1, R, { RO }, FUNCFLAG_MACROFUNC }, + { 0, "ABSREF", 79, 79, 2, 2, R, { VR, RO }, FUNCFLAG_MACROFUNC }, { 0, "ADD.ARROW", 81, 81, 0, 0, V, {}, FUNCFLAG_MACROCMD }, + { 0, "ACTIVE.CELL", 94, 94, 0, 0, R, {}, FUNCFLAG_MACROFUNC }, { 0, "ACTIVATE", 103, 103, 0, 2, V, { VR }, FUNCFLAG_MACROCMD }, { 0, "ACTIVATE.NEXT", 104, 104, 0, 0, V, {}, FUNCFLAG_MACROCMD }, - { 0, "ACTIVATE.PREV", 105, 105, 0, 0, V, {}, FUNCFLAG_MACROCMD } + { 0, "ACTIVATE.PREV", 105, 105, 0, 0, V, {}, FUNCFLAG_MACROCMD }, + { 0, "ADD.BAR", 151, 151, 0, 0, V, {}, FUNCFLAG_MACROFUNC | FUNCFLAG_ALWAYSVAR }, + { 0, "ADD.MENU", 152, 152, 2, 2, V, { VR, RO }, FUNCFLAG_MACROFUNC | FUNCFLAG_ALWAYSVAR }, + { 0, "ADD.COMMAND", 153, 153, 3, 3, V, { VR, RO }, FUNCFLAG_MACROFUNC | FUNCFLAG_ALWAYSVAR } }; /** Functions new in BIFF3. */ @@ -447,9 +448,6 @@ static const FunctionData saFuncTableBiff3[] = { "TREND", "TREND", 50, 50, 1, 4, A, { RA, RA, RA, VV }, 0 }, // BIFF2: 1-3, BIFF3: 1-4 { "LOGEST", "LOGEST", 51, 51, 1, 4, A, { RA, RA, VV }, 0 }, // BIFF2: 1-2, BIFF3: 1-4 { "GROWTH", "GROWTH", 52, 52, 1, 4, A, { RA, RA, RA, VV }, 0 }, // BIFF2: 1-3, BIFF3: 1-4 - { 0, "ADD.BAR", 151, 151, 0, 1, V, { VR }, FUNCFLAG_MACROFUNC }, // BIFF2: 0, BIFF3: 0-1 - { 0, "ADD.MENU", 152, 152, 2, 3, V, { VR, RO }, FUNCFLAG_MACROFUNC }, // BIFF2: 2, BIFF3: 2-3 - { 0, "ADD.COMMAND", 153, 153, 3, 4, V, { VR, RO }, FUNCFLAG_MACROFUNC }, // BIFF2: 3, BIFF3: 3-4 { "TRUNC", "TRUNC", 197, 197, 1, 2, V, { VR }, 0 }, // BIFF2: 1, BIFF3: 1-2 { "DOLLAR", "USDOLLAR", 204, 204, 1, 2, V, { VR }, FUNCFLAG_IMPORTONLY }, { 0/*"FIND"*/, "FINDB", 205, 205, 2, 3, V, { VR }, 0 }, @@ -478,7 +476,13 @@ static const FunctionData saFuncTableBiff3[] = { "ATANH", "ATANH", 234, 234, 1, 1, V, { VR }, 0 }, { "ACOTH", "ATANH", 234, 234, 1, 1, V, { VR }, FUNCFLAG_EXPORTONLY }, { "DGET", "DGET", 235, 235, 3, 3, V, { RO, RR }, 0 }, - { "INFO", "INFO", 244, 244, 1, 1, V, { VR }, FUNCFLAG_VOLATILE } + { "INFO", "INFO", 244, 244, 1, 1, V, { VR }, FUNCFLAG_VOLATILE }, + + // *** macro sheet commands *** + + { 0, "ADD.BAR", 151, 151, 0, 1, V, { VR }, FUNCFLAG_MACROFUNC }, // BIFF2: 0, BIFF3: 0-1 + { 0, "ADD.MENU", 152, 152, 2, 3, V, { VR, RO }, FUNCFLAG_MACROFUNC }, // BIFF2: 2, BIFF3: 2-3 + { 0, "ADD.COMMAND", 153, 153, 3, 4, V, { VR, RO }, FUNCFLAG_MACROFUNC } // BIFF2: 3, BIFF3: 3-4 }; /** Functions new in BIFF4. */ @@ -662,8 +666,6 @@ static const FunctionData saFuncTableBiff5[] = { "WEEKDAY", "WEEKDAY", 70, 70, 1, 2, V, { VR }, 0 }, // BIFF2-4: 1, BIFF5: 1-2 { "HLOOKUP", "HLOOKUP", 101, 101, 3, 4, V, { VV, RO, RO, VV }, 0 }, // BIFF2-4: 3, BIFF5: 3-4 { "VLOOKUP", "VLOOKUP", 102, 102, 3, 4, V, { VV, RO, RO, VV }, 0 }, // BIFF2-4: 3, BIFF5: 3-4 - { 0, "ADD.MENU", 152, 152, 2, 4, V, { VR, RO, RO, VR }, FUNCFLAG_MACROFUNC }, // BIFF3-4: 2-3, BIFF5: 2-4 - { 0, "ADD.COMMAND", 153, 153, 3, 5, V, { VR, RO, RO, RO, VR }, FUNCFLAG_MACROFUNC }, // BIFF3-4: 3-4, BIFF5: 3-5 { "DAYS360", "DAYS360", 220, 220, 2, 3, V, { VR }, 0 }, // BIFF3-4: 2, BIFF5: 2-3 { 0, "EXTERN.CALL", 255, 255, 1, MX, R, { RO_E, RO }, FUNCFLAG_EXPORTONLY }, // MACRO or EXTERNAL { "CONCATENATE", "CONCATENATE", 336, 336, 0, MX, V, { VR }, 0 }, @@ -686,6 +688,8 @@ static const FunctionData saFuncTableBiff5[] = // *** macro sheet commands *** + { 0, "ADD.MENU", 152, 152, 2, 4, V, { VR, RO, RO, VR }, FUNCFLAG_MACROFUNC }, // BIFF3-4: 2-3, BIFF5: 2-4 + { 0, "ADD.COMMAND", 153, 153, 3, 5, V, { VR, RO, RO, RO, VR }, FUNCFLAG_MACROFUNC }, // BIFF3-4: 3-4, BIFF5: 3-5 { 0, "ADD.CHART.AUTOFORMAT", 390, 390, 0, 2, V, { VR }, FUNCFLAG_MACROCMD }, { 0, "ADD.LIST.ITEM", 451, 451, 0, 2, V, { VR }, FUNCFLAG_MACROCMD }, { 0, "ACTIVE.CELL.FONT", 476, 476, 0, 14, V, { VR }, FUNCFLAG_MACROCMD } @@ -738,41 +742,39 @@ static const FunctionData saFuncTableOox[] = /** Functions defined by OpenFormula, but not supported by Calc or by Excel. */ static const FunctionData saFuncTableOdf[] = { - { "ARABIC", 0, NOID, NOID, 1, 1, V, { VR }, 0 }, - { "B", 0, NOID, NOID, 3, 4, V, { VR }, 0 }, - { "BASE", 0, NOID, NOID, 2, 3, V, { VR }, 0 }, - { "BITAND", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "BITLSHIFT", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "BITOR", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "BITRSHIFT", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "BITXOR", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "CHISQDIST", 0, NOID, NOID, 2, 3, V, { VR }, 0 }, - { "CHISQINV", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "COMBINA", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "DAYS", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "DDE", 0, NOID, NOID, 3, 4, V, { VR }, 0 }, - { "DECIMAL", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "FDIST", 0, NOID, NOID, 3, 4, V, { VR }, 0 }, - { "FINV", 0, NOID, NOID, 3, 3, V, { VR }, 0 }, - { "FORMULA", 0, NOID, NOID, 1, 1, V, { RO }, 0 }, - { "GAMMA", 0, NOID, NOID, 1, 1, V, { VR }, 0 }, - { "GAUSS", 0, NOID, NOID, 1, 1, V, { VR }, 0 }, - { "IFNA", 0, NOID, NOID, 2, 2, V, { VR, RO }, 0 }, - { "ISFORMULA", 0, NOID, NOID, 1, 1, V, { RO }, 0 }, - { "ISOWEEKNUM", 0, NOID, NOID, 1, 2, V, { VR }, 0 }, - { "MULTIPLE.OPERATIONS", 0, NOID, NOID, 3, 5, V, { RO }, 0 }, - { "MUNIT", 0, NOID, NOID, 1, 1, A, { VR }, 0 }, - { "NUMBERVALUE", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "PDURATION", 0, NOID, NOID, 3, 3, V, { VR }, 0 }, - { "PERMUTATIONA", 0, NOID, NOID, 2, 2, V, { VR }, 0 }, - { "PHI", 0, NOID, NOID, 1, 1, V, { VR }, 0 }, - { "RRI", 0, NOID, NOID, 3, 3, V, { VR }, 0 }, - { "SHEET", 0, NOID, NOID, 1, 1, V, { RO }, 0 }, - { "SHEETS", 0, NOID, NOID, 0, 1, V, { RO }, 0 }, - { "SKEWP", 0, NOID, NOID, 1, MX, V, { RX }, 0 }, - { "UNICHAR", 0, NOID, NOID, 1, 1, V, { VR }, 0 }, - { "UNICODE", 0, NOID, NOID, 1, 1, V, { VR }, 0 }, - { "XOR", 0, NOID, NOID, 1, MX, V, { RX }, 0 } + { "ARABIC", 0, NOID, NOID, 1, 1, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "B", 0, NOID, NOID, 3, 4, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "BASE", 0, NOID, NOID, 2, 3, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "BITAND", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "BITLSHIFT", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "BITOR", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "BITRSHIFT", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "BITXOR", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "CHISQDIST", 0, NOID, NOID, 2, 3, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "CHISQINV", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "COMBINA", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "DAYS", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "DECIMAL", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "FDIST", 0, NOID, NOID, 3, 4, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "FINV", 0, NOID, NOID, 3, 3, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "FORMULA", 0, NOID, NOID, 1, 1, V, { RO }, FUNCFLAG_MACROCALLODF }, + { "GAMMA", 0, NOID, NOID, 1, 1, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "GAUSS", 0, NOID, NOID, 1, 1, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "IFNA", 0, NOID, NOID, 2, 2, V, { VR, RO }, FUNCFLAG_MACROCALLODF }, + { "ISFORMULA", 0, NOID, NOID, 1, 1, V, { RO }, FUNCFLAG_MACROCALLODF }, + { "ISOWEEKNUM", 0, NOID, NOID, 1, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "MUNIT", 0, NOID, NOID, 1, 1, A, { VR }, FUNCFLAG_MACROCALLODF }, + { "NUMBERVALUE", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "PDURATION", 0, NOID, NOID, 3, 3, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "PERMUTATIONA", 0, NOID, NOID, 2, 2, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "PHI", 0, NOID, NOID, 1, 1, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "RRI", 0, NOID, NOID, 3, 3, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "SHEET", 0, NOID, NOID, 1, 1, V, { RO }, FUNCFLAG_MACROCALLODF }, + { "SHEETS", 0, NOID, NOID, 0, 1, V, { RO }, FUNCFLAG_MACROCALLODF }, + { "SKEWP", 0, NOID, NOID, 1, MX, V, { RX }, FUNCFLAG_MACROCALLODF }, + { "UNICHAR", 0, NOID, NOID, 1, 1, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "UNICODE", 0, NOID, NOID, 1, 1, V, { VR }, FUNCFLAG_MACROCALLODF }, + { "XOR", 0, NOID, NOID, 1, MX, V, { RX }, FUNCFLAG_MACROCALLODF } }; // ---------------------------------------------------------------------------- @@ -895,6 +897,7 @@ FunctionProviderImpl::FunctionProviderImpl( FilterType eFilter, BiffType eBiff, initFuncs( saFuncTableBiff8, STATIC_ARRAY_END( saFuncTableBiff8 ), nMaxParam, bImportFilter ); if( eFilter == FILTER_OOX ) initFuncs( saFuncTableOox, STATIC_ARRAY_END( saFuncTableOox ), nMaxParam, bImportFilter ); + initFuncs( saFuncTableOdf, STATIC_ARRAY_END( saFuncTableOdf ), nMaxParam, bImportFilter ); } void FunctionProviderImpl::initFunc( const FunctionData& rFuncData, sal_uInt8 nMaxParam ) @@ -905,13 +908,25 @@ void FunctionProviderImpl::initFunc( const FunctionData& rFuncData, sal_uInt8 nM xFuncInfo->maOdfFuncName = OUString::createFromAscii( rFuncData.mpcOdfFuncName ); if( rFuncData.mpcOoxFuncName ) xFuncInfo->maOoxFuncName = OUString::createFromAscii( rFuncData.mpcOoxFuncName ); + if( getFlag( rFuncData.mnFlags, FUNCFLAG_MACROCALL ) ) + { + OSL_ENSURE( xFuncInfo->maOoxFuncName.getLength() > 0, "FunctionProviderImpl::initFunc - missing OOXML function name" ); + OSL_ENSURE( !getFlag( rFuncData.mnFlags, FUNCFLAG_MACROCALLODF ), "FunctionProviderImpl::initFunc - unexpected flag FUNCFLAG_MACROCALLODF" ); xFuncInfo->maBiffMacroName = CREATE_OUSTRING( "_xlfn." ) + xFuncInfo->maOoxFuncName; + } + else if( getFlag( rFuncData.mnFlags, FUNCFLAG_MACROCALLODF ) ) + { + OSL_ENSURE( xFuncInfo->maOdfFuncName.getLength() > 0, "FunctionProviderImpl::initFunc - missing ODF function name" ); + xFuncInfo->maBiffMacroName = CREATE_OUSTRING( "_xlfnodf." ) + xFuncInfo->maOdfFuncName; + } + switch( rFuncData.mnFlags & FUNCFLAG_FUNCLIBMASK ) { case FUNCFLAG_EUROTOOL: xFuncInfo->meFuncLibType = FUNCLIB_EUROTOOL; break; default: xFuncInfo->meFuncLibType = FUNCLIB_UNKNOWN; } + xFuncInfo->mnApiOpCode = -1; xFuncInfo->mnOobFuncId = rFuncData.mnOobFuncId; xFuncInfo->mnBiffFuncId = rFuncData.mnBiffFuncId; diff --git a/oox/source/xls/pivottablebuffer.cxx b/oox/source/xls/pivottablebuffer.cxx index d6214a843cb6..b4e3e1c52a65 100644 --- a/oox/source/xls/pivottablebuffer.cxx +++ b/oox/source/xls/pivottablebuffer.cxx @@ -1422,7 +1422,7 @@ void PivotTable::finalizeImport() } catch( Exception& ) { - OSL_ENSURE( false, "PivotTable::finalizeImport - exception while creating the pivot table" ); + OSL_ENSURE( false, "PivotTable::finalizeImport - exception while creating the DataPilot table" ); } } } diff --git a/oox/source/xls/stylesbuffer.cxx b/oox/source/xls/stylesbuffer.cxx index e48104065315..b9a11b5104ea 100644 --- a/oox/source/xls/stylesbuffer.cxx +++ b/oox/source/xls/stylesbuffer.cxx @@ -69,6 +69,7 @@ using ::com::sun::star::awt::FontDescriptor; using ::com::sun::star::awt::XDevice; using ::com::sun::star::awt::XFont2; using ::com::sun::star::table::BorderLine; +using ::com::sun::star::table::TableBorder; using ::com::sun::star::text::XText; using ::com::sun::star::style::XStyle; using ::oox::core::FilterBase; @@ -1415,7 +1416,6 @@ void Alignment::writeToPropertyMap( PropertyMap& rPropMap ) const rPropMap[ PROP_VertJustify ] <<= maApiData.meVerJustify; rPropMap[ PROP_WritingMode ] <<= maApiData.mnWritingMode; rPropMap[ PROP_RotateAngle ] <<= maApiData.mnRotation; - rPropMap[ PROP_RotateReference ] <<= ::com::sun::star::table::CellVertJustify_STANDARD; // rotation reference rPropMap[ PROP_Orientation ] <<= maApiData.meOrientation; rPropMap[ PROP_ParaIndent ] <<= maApiData.mnIndent; rPropMap[ PROP_IsTextWrapped ] <<= maApiData.mbWrapText; @@ -1534,6 +1534,57 @@ ApiBorderData::ApiBorderData() : { } +bool ApiBorderData::hasAnyOuterBorder() const +{ + return + (maBorder.IsTopLineValid && (maBorder.TopLine.OuterLineWidth > 0)) || + (maBorder.IsBottomLineValid && (maBorder.BottomLine.OuterLineWidth > 0)) || + (maBorder.IsLeftLineValid && (maBorder.LeftLine.OuterLineWidth > 0)) || + (maBorder.IsRightLineValid && (maBorder.RightLine.OuterLineWidth > 0)); +} + +namespace { + +bool operator==( const BorderLine& rLeft, const BorderLine& rRight ) +{ + return + (rLeft.Color == rRight.Color) && + (rLeft.InnerLineWidth == rRight.InnerLineWidth) && + (rLeft.OuterLineWidth == rRight.OuterLineWidth) && + (rLeft.LineDistance == rRight.LineDistance); +} + +bool operator==( const TableBorder& rLeft, const TableBorder& rRight ) +{ + return + (rLeft.TopLine == rRight.TopLine) && + (rLeft.IsTopLineValid == rRight.IsTopLineValid) && + (rLeft.BottomLine == rRight.BottomLine) && + (rLeft.IsBottomLineValid == rRight.IsBottomLineValid) && + (rLeft.LeftLine == rRight.LeftLine) && + (rLeft.IsLeftLineValid == rRight.IsLeftLineValid) && + (rLeft.RightLine == rRight.RightLine) && + (rLeft.IsRightLineValid == rRight.IsRightLineValid) && + (rLeft.HorizontalLine == rRight.HorizontalLine) && + (rLeft.IsHorizontalLineValid == rRight.IsHorizontalLineValid) && + (rLeft.VerticalLine == rRight.VerticalLine) && + (rLeft.IsVerticalLineValid == rRight.IsVerticalLineValid) && + (rLeft.Distance == rRight.Distance) && + (rLeft.IsDistanceValid == rRight.IsDistanceValid); +} + +} // namespace + +bool operator==( const ApiBorderData& rLeft, const ApiBorderData& rRight ) +{ + return + (rLeft.maBorder == rRight.maBorder) && + (rLeft.maTLtoBR == rRight.maTLtoBR) && + (rLeft.maBLtoTR == rRight.maBLtoTR) && + (rLeft.mbBorderUsed == rRight.mbBorderUsed) && + (rLeft.mbDiagUsed == rRight.mbDiagUsed); +} + // ============================================================================ namespace { @@ -1837,6 +1888,14 @@ ApiSolidFillData::ApiSolidFillData() : { } +bool operator==( const ApiSolidFillData& rLeft, const ApiSolidFillData& rRight ) +{ + return + (rLeft.mnColor == rRight.mnColor) && + (rLeft.mbTransparent == rRight.mbTransparent) && + (rLeft.mbUsed == rRight.mbUsed); +} + // ============================================================================ namespace { @@ -2149,7 +2208,8 @@ XfModel::XfModel() : Xf::Xf( const WorkbookHelper& rHelper ) : WorkbookHelper( rHelper ), maAlignment( rHelper ), - maProtection( rHelper ) + maProtection( rHelper ), + meRotationRef( ::com::sun::star::table::CellVertJustify_STANDARD ) { } @@ -2332,13 +2392,46 @@ void Xf::importXf( BiffInputStream& rStrm ) void Xf::finalizeImport() { + StylesBuffer& rStyles = getStyles(); + // alignment and protection maAlignment.finalizeImport(); maProtection.finalizeImport(); - // update used flags from cell style - if( maModel.mbCellXf ) - if( const Xf* pStyleXf = getStyles().getStyleXf( maModel.mnStyleXfId ).get() ) - updateUsedFlags( *pStyleXf ); + + /* Enables the used flags, if the formatting attributes differ from the + style XF. In cell XFs Excel uses the cell attributes, if they differ + from the parent style XF (even if the used flag is switched off). + #109899# ...or if the respective flag is not set in parent style XF. + */ + const Xf* pStyleXf = isCellXf() ? rStyles.getStyleXf( maModel.mnStyleXfId ).get() : 0; + if( pStyleXf ) + { + const XfModel& rStyleData = pStyleXf->maModel; + if( !maModel.mbFontUsed ) + maModel.mbFontUsed = !rStyleData.mbFontUsed || (maModel.mnFontId != rStyleData.mnFontId); + if( !maModel.mbNumFmtUsed ) + maModel.mbNumFmtUsed = !rStyleData.mbNumFmtUsed || (maModel.mnNumFmtId != rStyleData.mnNumFmtId); + if( !maModel.mbAlignUsed ) + maModel.mbAlignUsed = !rStyleData.mbAlignUsed || !(maAlignment.getApiData() == pStyleXf->maAlignment.getApiData()); + if( !maModel.mbProtUsed ) + maModel.mbProtUsed = !rStyleData.mbProtUsed || !(maProtection.getApiData() == pStyleXf->maProtection.getApiData()); + if( !maModel.mbBorderUsed ) + maModel.mbBorderUsed = !rStyleData.mbBorderUsed || !rStyles.equalBorders( maModel.mnBorderId, rStyleData.mnBorderId ); + if( !maModel.mbAreaUsed ) + maModel.mbAreaUsed = !rStyleData.mbAreaUsed || !rStyles.equalFills( maModel.mnFillId, rStyleData.mnFillId ); + } + + /* #i38709# Decide which rotation reference mode to use. If any outer + border line of the cell is set (either explicitly or via cell style), + and the cell contents are rotated, set rotation reference to bottom of + cell. This causes the borders to be painted rotated with the text. */ + if( const Alignment* pAlignment = maModel.mbAlignUsed ? &maAlignment : (pStyleXf ? &pStyleXf->maAlignment : 0) ) + { + sal_Int32 nBorderId = maModel.mbBorderUsed ? maModel.mnBorderId : (pStyleXf ? pStyleXf->maModel.mnBorderId : -1); + if( const Border* pBorder = rStyles.getBorder( nBorderId ).get() ) + if( (pAlignment->getApiData().mnRotation != 0) && pBorder->getApiData().hasAnyOuterBorder() ) + meRotationRef = ::com::sun::star::table::CellVertJustify_BOTTOM; + } } FontRef Xf::getFont() const @@ -2358,7 +2451,7 @@ void Xf::writeToPropertyMap( PropertyMap& rPropMap ) const StylesBuffer& rStyles = getStyles(); // create and set cell style - if( maModel.mbCellXf ) + if( isCellXf() ) rPropMap[ PROP_CellStyle ] <<= rStyles.createCellStyle( maModel.mnStyleXfId ); if( maModel.mbFontUsed ) @@ -2373,6 +2466,8 @@ void Xf::writeToPropertyMap( PropertyMap& rPropMap ) const rStyles.writeBorderToPropertyMap( rPropMap, maModel.mnBorderId ); if( maModel.mbAreaUsed ) rStyles.writeFillToPropertyMap( rPropMap, maModel.mnFillId ); + if( maModel.mbAlignUsed || maModel.mbBorderUsed ) + rPropMap[ PROP_RotateReference ] <<= meRotationRef; } void Xf::writeToPropertySet( PropertySet& rPropSet ) const @@ -2388,37 +2483,15 @@ void Xf::setBiffUsedFlags( sal_uInt8 nUsedFlags ) - In cell XFs a *set* bit means a used attribute. - In style XFs a *cleared* bit means a used attribute. The boolean flags always store true, if the attribute is used. - The "maModel.mbCellXf == getFlag(...)" construct evaluates to true in - both mentioned cases: cell XF and set bit; or style XF and cleared bit. - */ - maModel.mbFontUsed = maModel.mbCellXf == getFlag( nUsedFlags, BIFF_XF_FONT_USED ); - maModel.mbNumFmtUsed = maModel.mbCellXf == getFlag( nUsedFlags, BIFF_XF_NUMFMT_USED ); - maModel.mbAlignUsed = maModel.mbCellXf == getFlag( nUsedFlags, BIFF_XF_ALIGN_USED ); - maModel.mbProtUsed = maModel.mbCellXf == getFlag( nUsedFlags, BIFF_XF_PROT_USED ); - maModel.mbBorderUsed = maModel.mbCellXf == getFlag( nUsedFlags, BIFF_XF_BORDER_USED ); - maModel.mbAreaUsed = maModel.mbCellXf == getFlag( nUsedFlags, BIFF_XF_AREA_USED ); -} - -void Xf::updateUsedFlags( const Xf& rStyleXf ) -{ - /* Enables the used flags, if the formatting attributes differ from the - passed style XF. In cell XFs Excel uses the cell attributes, if they - differ from the parent style XF. - #109899# ...or if the respective flag is not set in parent style XF. + The "isCellXf() == getFlag(...)" construct evaluates to true in both + mentioned cases: cell XF and set bit; or style XF and cleared bit. */ - const XfModel& rStyleData = rStyleXf.maModel; - if( !maModel.mbFontUsed ) - maModel.mbFontUsed = !rStyleData.mbFontUsed || (maModel.mnFontId != rStyleData.mnFontId); - if( !maModel.mbNumFmtUsed ) - maModel.mbNumFmtUsed = !rStyleData.mbNumFmtUsed || (maModel.mnNumFmtId != rStyleData.mnNumFmtId); - if( !maModel.mbAlignUsed ) - maModel.mbAlignUsed = !rStyleData.mbAlignUsed || !(maAlignment.getApiData() == rStyleXf.maAlignment.getApiData()); - if( !maModel.mbProtUsed ) - maModel.mbProtUsed = !rStyleData.mbProtUsed || !(maProtection.getApiData() == rStyleXf.maProtection.getApiData()); - if( !maModel.mbBorderUsed ) - maModel.mbBorderUsed = !rStyleData.mbBorderUsed || (maModel.mnBorderId != rStyleData.mnBorderId); - if( !maModel.mbAreaUsed ) - maModel.mbAreaUsed = !rStyleData.mbAreaUsed || (maModel.mnFillId != rStyleData.mnFillId); + maModel.mbFontUsed = isCellXf() == getFlag( nUsedFlags, BIFF_XF_FONT_USED ); + maModel.mbNumFmtUsed = isCellXf() == getFlag( nUsedFlags, BIFF_XF_NUMFMT_USED ); + maModel.mbAlignUsed = isCellXf() == getFlag( nUsedFlags, BIFF_XF_ALIGN_USED ); + maModel.mbProtUsed = isCellXf() == getFlag( nUsedFlags, BIFF_XF_PROT_USED ); + maModel.mbBorderUsed = isCellXf() == getFlag( nUsedFlags, BIFF_XF_BORDER_USED ); + maModel.mbAreaUsed = isCellXf() == getFlag( nUsedFlags, BIFF_XF_AREA_USED ); } // ============================================================================ @@ -3150,11 +3223,12 @@ void StylesBuffer::importFormat( BiffInputStream& rStrm ) void StylesBuffer::importXf( BiffInputStream& rStrm ) { XfRef xXf( new Xf( *this ) ); - // store XF in both lists (except BIFF2 which does not support cell styles) - maCellXfs.push_back( xXf ); - if( getBiff() != BIFF2 ) - maStyleXfs.push_back( xXf ); xXf->importXf( rStrm ); + + XfRef xCellXf, xStyleXf; + (xXf->isCellXf() ? xCellXf : xStyleXf) = xXf; + maCellXfs.push_back( xCellXf ); + maStyleXfs.push_back( xStyleXf ); } void StylesBuffer::importStyle( BiffInputStream& rStrm ) @@ -3173,20 +3247,11 @@ void StylesBuffer::finalizeImport() // borders and fills maBorders.forEachMem( &Border::finalizeImport ); maFills.forEachMem( &Fill::finalizeImport ); - - /* Style XFs and cell XFs. The BIFF format stores cell XFs and style XFs - mixed in a single list. The import filter has stored the XFs in both - lists to make the getStyleXf() function working correctly (e.g. for - retrieving the default font, see getDefaultFont() function), except for - BIFF2 which does not support cell styles at all. Therefore, if in BIFF - filter mode, we do not need to finalize the cell styles list. */ - if( getFilterType() == FILTER_OOX ) - maStyleXfs.forEachMem( &Xf::finalizeImport ); + // style XFs and cell XFs + maStyleXfs.forEachMem( &Xf::finalizeImport ); maCellXfs.forEachMem( &Xf::finalizeImport ); - // built-in and user defined cell styles maCellStyles.finalizeImport(); - // differential formatting (for conditional formatting) maDxfs.forEachMem( &Dxf::finalizeImport ); } @@ -3201,6 +3266,11 @@ FontRef StylesBuffer::getFont( sal_Int32 nFontId ) const return maFonts.get( nFontId ); } +BorderRef StylesBuffer::getBorder( sal_Int32 nBorderId ) const +{ + return maBorders.get( nBorderId ); +} + XfRef StylesBuffer::getCellXf( sal_Int32 nXfId ) const { return maCellXfs.get( nXfId ); @@ -3242,6 +3312,56 @@ const FontModel& StylesBuffer::getDefaultFontModel() const return xDefFont.get() ? xDefFont->getModel() : getTheme().getDefaultFontModel(); } +bool StylesBuffer::equalBorders( sal_Int32 nBorderId1, sal_Int32 nBorderId2 ) const +{ + if( nBorderId1 == nBorderId2 ) + return true; + + switch( getFilterType() ) + { + case FILTER_OOX: + // in OOXML, borders are assumed to be unique + return false; + + case FILTER_BIFF: + { + // in BIFF, a new border entry has been created for every XF + const Border* pBorder1 = maBorders.get( nBorderId1 ).get(); + const Border* pBorder2 = maBorders.get( nBorderId2 ).get(); + return pBorder1 && pBorder2 && (pBorder1->getApiData() == pBorder2->getApiData()); + } + + case FILTER_UNKNOWN: + break; + } + return false; +} + +bool StylesBuffer::equalFills( sal_Int32 nFillId1, sal_Int32 nFillId2 ) const +{ + if( nFillId1 == nFillId2 ) + return true; + + switch( getFilterType() ) + { + case FILTER_OOX: + // in OOXML, fills are assumed to be unique + return false; + + case FILTER_BIFF: + { + // in BIFF, a new fill entry has been created for every XF + const Fill* pFill1 = maFills.get( nFillId1 ).get(); + const Fill* pFill2 = maFills.get( nFillId2 ).get(); + return pFill1 && pFill2 && (pFill1->getApiData() == pFill2->getApiData()); + } + + case FILTER_UNKNOWN: + break; + } + return false; +} + OUString StylesBuffer::getDefaultStyleName() const { return maCellStyles.getDefaultStyleName(); diff --git a/unoxml/qa/complex/RDFRepositoryTest.java b/unoxml/qa/complex/RDFRepositoryTest.java index 52f37c40dad6..f3f9cbd8ae41 100644 --- a/unoxml/qa/complex/RDFRepositoryTest.java +++ b/unoxml/qa/complex/RDFRepositoryTest.java @@ -42,6 +42,7 @@ import com.sun.star.lang.WrappedTargetException; import com.sun.star.lang.WrappedTargetRuntimeException; import com.sun.star.beans.XPropertySet; import com.sun.star.beans.PropertyValue; +import com.sun.star.beans.Pair; import com.sun.star.beans.StringPair; import com.sun.star.container.XEnumeration; import com.sun.star.container.ElementExistException; @@ -460,9 +461,10 @@ public class RDFRepositoryTest extends ComplexTestCase XTextRange xTR = new TestRange(content); XMetadatable xM = (XMetadatable) xTR; - Statement[] result = xRep.getStatementRDFa((XMetadatable)xTR); + Pair<Statement[], Boolean> result = + xRep.getStatementRDFa((XMetadatable)xTR); assure("RDFa: get: not empty (initial)", - 0 == result.length); + 0 == result.First.length); try { xRep.setStatementRDFa(foo, new XURI[] {}, xM, "", null); @@ -484,7 +486,8 @@ public class RDFRepositoryTest extends ComplexTestCase result = xRep.getStatementRDFa((XMetadatable)xTR); assure("RDFa: get: without content", - 1 == result.length && eq((Statement)result[0], x_FooBarTRLit)); + !result.Second && (1 == result.First.length) + && eq((Statement)result.First[0], x_FooBarTRLit)); //FIXME: do this? xTR.setString(lit.getStringValue()); @@ -496,13 +499,13 @@ public class RDFRepositoryTest extends ComplexTestCase */ Statement x_FooBarLittype = new Statement(foo, bar, littype, null); - Statement x_FooLabelLit = new Statement(foo, rdfslabel, lit, null); xRep.setStatementRDFa(foo, new XURI[] { bar }, xM, "42", uint); result = xRep.getStatementRDFa((XMetadatable)xTR); assure("RDFa: get: with content", - 2 == result.length && eq((Statement)result[0], x_FooLabelLit) - && eq((Statement)result[1], x_FooBarLittype)); + result.Second && + (1 == result.First.length) && + eq((Statement)result.First[0], x_FooBarLittype)); //FIXME: do this? xTR.setString(content); @@ -518,7 +521,7 @@ public class RDFRepositoryTest extends ComplexTestCase result = xRep.getStatementRDFa((XMetadatable)xTR); assure("RDFa: get: not empty (removed)", - 0 == result.length); + 0 == result.First.length); xRep.setStatementRDFa(foo, new XURI[] { foo, bar, baz }, xM, "", null); @@ -527,14 +530,15 @@ public class RDFRepositoryTest extends ComplexTestCase Statement x_FooBazTRLit = new Statement(foo, baz, trlit, null); result = xRep.getStatementRDFa((XMetadatable) xTR); assure("RDFa: get: without content (multiple predicates, reinsert)", - eq(result, new Statement[] { + !result.Second && + eq(result.First, new Statement[] { x_FooFooTRLit, x_FooBarTRLit, x_FooBazTRLit })); xRep.removeStatementRDFa((XMetadatable)xTR); result = xRep.getStatementRDFa((XMetadatable) xTR); assure("RDFa: get: not empty (re-removed)", - 0 == result.length); + 0 == result.First.length); log.println("...done"); diff --git a/unoxml/source/rdf/librdf_repository.cxx b/unoxml/source/rdf/librdf_repository.cxx index e111c1e5176b..72c89aeac19d 100644 --- a/unoxml/source/rdf/librdf_repository.cxx +++ b/unoxml/source/rdf/librdf_repository.cxx @@ -27,9 +27,19 @@ #include "librdf_repository.hxx" -#include <comphelper/stlunosequence.hxx> -#include <comphelper/sequenceasvector.hxx> -#include <comphelper/makesequence.hxx> +#include <string.h> + +#include <set> +#include <map> +#include <functional> +#include <algorithm> + +#include <boost/utility.hpp> +#include <boost/shared_ptr.hpp> +#include <boost/shared_array.hpp> +#include <boost/bind.hpp> + +#include <librdf.h> #include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/lang/XInitialization.hpp> @@ -37,7 +47,7 @@ #include <com/sun/star/lang/IllegalArgumentException.hpp> #include <com/sun/star/io/XSeekableInputStream.hpp> #include <com/sun/star/text/XTextRange.hpp> -#include "com/sun/star/rdf/XDocumentRepository.hpp" +#include <com/sun/star/rdf/XDocumentRepository.hpp> #include <com/sun/star/rdf/XLiteral.hpp> #include <com/sun/star/rdf/FileFormat.hpp> #include <com/sun/star/rdf/URIs.hpp> @@ -45,24 +55,15 @@ #include <com/sun/star/rdf/URI.hpp> #include <com/sun/star/rdf/Literal.hpp> +#include <rtl/ref.hxx> +#include <rtl/ustring.hxx> #include <cppuhelper/implbase1.hxx> #include <cppuhelper/implbase3.hxx> #include <cppuhelper/basemutex.hxx> -#include <rtl/ref.hxx> -#include <rtl/ustring.hxx> - -#include <librdf.h> - -#include <boost/utility.hpp> -#include <boost/shared_ptr.hpp> -#include <boost/shared_array.hpp> -#include <boost/bind.hpp> - -#include <map> -#include <functional> -#include <algorithm> -#include <string.h> +#include <comphelper/stlunosequence.hxx> +#include <comphelper/sequenceasvector.hxx> +#include <comphelper/makesequence.hxx> /** @@ -125,66 +126,53 @@ bool isInternalContext(librdf_node *i_pNode) throw () //////////////////////////////////////////////////////////////////////////// -#if 0 -class librdf_Statement: - public ::cppu::WeakImplHelper1< - rdf::XStatement> +// n.b.: librdf destructor functions dereference null pointers! +// so they need to be wrapped to be usable with boost::shared_ptr. +static void safe_librdf_free_world(librdf_world *const world) { -public: - - librdf_Statement( - uno::Reference< rdf::XResource > const & i_xSubject, - uno::Reference< rdf::XResource > const & i_xPredicate, - uno::Reference< rdf::XNode > const & i_xObject, - uno::Reference< rdf::XURI > const & i_xGraph) - : m_xSubject(i_xSubject), m_xPredicate(i_xPredicate), - m_xObject(i_xObject), m_xGraph(i_xGraph) - { } - virtual ~librdf_Statement() {} - - // ::com::sun::star::rdf::XStatement: - virtual uno::Reference< rdf::XResource > SAL_CALL getSubject() - throw (uno::RuntimeException); - virtual uno::Reference< rdf::XResource > SAL_CALL getPredicate() - throw (uno::RuntimeException); - virtual uno::Reference< rdf::XNode > SAL_CALL getObject() - throw (uno::RuntimeException); - virtual uno::Reference< rdf::XURI > SAL_CALL getGraph() - throw (uno::RuntimeException); - -private: - - uno::Reference< rdf::XResource > m_xSubject; - uno::Reference< rdf::XResource > m_xPredicate; - uno::Reference< rdf::XNode > m_xObject; - uno::Reference< rdf::XURI > m_xGraph; -}; - -// ::com::sun::star::rdf::XStatement: -uno::Reference< rdf::XResource > SAL_CALL -librdf_Statement::getSubject() throw (uno::RuntimeException) + if (world) { librdf_free_world(world); } +} +static void safe_librdf_free_model(librdf_model *const model) { - return m_xSubject; + if (model) { librdf_free_model(model); } } - -uno::Reference< rdf::XResource > SAL_CALL -librdf_Statement::getPredicate() throw (uno::RuntimeException) +static void safe_librdf_free_node(librdf_node* node) { - return m_xPredicate; + if (node) { librdf_free_node(node); } } - -uno::Reference< rdf::XNode > SAL_CALL -librdf_Statement::getObject() throw (uno::RuntimeException) +static void safe_librdf_free_parser(librdf_parser *const parser) { - return m_xObject; + if (parser) { librdf_free_parser(parser); } } - -uno::Reference< rdf::XURI > SAL_CALL -librdf_Statement::getGraph() throw (uno::RuntimeException) +static void safe_librdf_free_query(librdf_query *const query) { - return m_xGraph; + if (query) { librdf_free_query(query); } +} +static void +safe_librdf_free_query_results(librdf_query_results *const query_results) +{ + if (query_results) { librdf_free_query_results(query_results); } +} +static void safe_librdf_free_serializer(librdf_serializer *const serializer) +{ + if (serializer) { librdf_free_serializer(serializer); } +} +static void safe_librdf_free_statement(librdf_statement *const statement) +{ + if (statement) { librdf_free_statement(statement); } +} +static void safe_librdf_free_storage(librdf_storage *const storage) +{ + if (storage) { librdf_free_storage(storage); } +} +static void safe_librdf_free_stream(librdf_stream *const stream) +{ + if (stream) { librdf_free_stream(stream); } +} +static void safe_librdf_free_uri(librdf_uri *const uri) +{ + if (uri) { librdf_free_uri(uri); } } -#endif //////////////////////////////////////////////////////////////////////////// @@ -220,13 +208,9 @@ public: uno::Reference<rdf::XResource> convertToXResource(librdf_node* i_pNode) const; uno::Reference<rdf::XNode> convertToXNode(librdf_node* i_pNode) const; -// uno::Reference<rdf::XStatement> -// convertToXStatement(librdf_statement* i_pStmt, librdf_node* i_pContext) -// const; rdf::Statement convertToStatement(librdf_statement* i_pStmt, librdf_node* i_pContext) const; - uno::Reference<rdf::XURI> getRDFsLabel() const; private: uno::Reference< uno::XComponentContext > m_xContext; @@ -325,8 +309,8 @@ public: const uno::Reference< rdf::XMetadatable > & i_xElement) throw (uno::RuntimeException, lang::IllegalArgumentException, rdf::RepositoryException); - virtual uno::Sequence<rdf::Statement> SAL_CALL getStatementRDFa( - const uno::Reference< rdf::XMetadatable > & i_xElement) + virtual beans::Pair< uno::Sequence<rdf::Statement>, sal_Bool > SAL_CALL + getStatementRDFa(uno::Reference< rdf::XMetadatable > const& i_xElement) throw (uno::RuntimeException, lang::IllegalArgumentException, rdf::RepositoryException); virtual uno::Reference< container::XEnumeration > SAL_CALL @@ -404,6 +388,9 @@ private: /// type conversion helper librdf_TypeConverter m_TypeConverter; + + /// set of xml:ids of elements with xhtml:content + ::std::set< ::rtl::OUString > m_RDFaXHTMLContentSet; }; @@ -422,11 +409,13 @@ public: librdf_GraphResult(librdf_Repository *i_pRepository, ::osl::Mutex & i_rMutex, boost::shared_ptr<librdf_stream> const& i_pStream, + boost::shared_ptr<librdf_node> const& i_pContext, boost::shared_ptr<librdf_query> const& i_pQuery = boost::shared_ptr<librdf_query>() ) : m_xRep(i_pRepository) , m_rMutex(i_rMutex) , m_pQuery(i_pQuery) + , m_pContext(i_pContext) , m_pStream(i_pStream) { }; @@ -449,8 +438,11 @@ private: // the query (in case this is a result of a graph query) // not that the redland documentation spells this out explicity, but // queries must be freed only after all the results are completely read - boost::shared_ptr<librdf_query> m_pQuery; - boost::shared_ptr<librdf_stream> m_pStream; + boost::shared_ptr<librdf_query> const m_pQuery; + boost::shared_ptr<librdf_node> const m_pContext; + boost::shared_ptr<librdf_stream> const m_pStream; + + librdf_node* getContext() const; }; @@ -462,6 +454,17 @@ librdf_GraphResult::hasMoreElements() throw (uno::RuntimeException) return m_pStream.get() && !librdf_stream_end(m_pStream.get()); } +librdf_node* librdf_GraphResult::getContext() const +{ + if (!m_pStream.get() || librdf_stream_end(m_pStream.get())) + return NULL; + librdf_node *pCtxt( static_cast<librdf_node *> + (librdf_stream_get_context(m_pStream.get())) ); + if (pCtxt) + return pCtxt; + return m_pContext.get(); +} + ::com::sun::star::uno::Any SAL_CALL librdf_GraphResult::nextElement() throw (uno::RuntimeException, container::NoSuchElementException, @@ -469,8 +472,8 @@ throw (uno::RuntimeException, container::NoSuchElementException, { ::osl::MutexGuard g(m_rMutex); if (!m_pStream.get() || !librdf_stream_end(m_pStream.get())) { - librdf_node *pCtxt( static_cast<librdf_node *> - (librdf_stream_get_context(m_pStream.get())) ); + librdf_node * pCtxt = getContext(); + librdf_statement *pStmt( librdf_stream_get_object(m_pStream.get()) ); if (!pStmt) { rdf::QueryException e(::rtl::OUString::createFromAscii( @@ -565,7 +568,7 @@ public: void operator() (librdf_node** io_pArray) const throw () { - std::for_each(io_pArray, io_pArray + m_Count, librdf_free_node); + std::for_each(io_pArray, io_pArray + m_Count, safe_librdf_free_node); delete[] io_pArray; } }; @@ -778,9 +781,9 @@ osl::Mutex librdf_Repository::m_aMutex; librdf_Repository::librdf_Repository( uno::Reference< uno::XComponentContext > const & i_xContext) : /*BaseMutex(),*/ m_xContext(i_xContext) -// m_pWorld (static_cast<librdf_world *>(0), librdf_free_world ), - , m_pStorage(static_cast<librdf_storage*>(0), librdf_free_storage) - , m_pModel (static_cast<librdf_model *>(0), librdf_free_model ) +// m_pWorld (static_cast<librdf_world *>(0), safe_librdf_free_world ), + , m_pStorage(static_cast<librdf_storage*>(0), safe_librdf_free_storage) + , m_pModel (static_cast<librdf_model *>(0), safe_librdf_free_model ) , m_NamedGraphs() , m_TypeConverter(i_xContext, *this) { @@ -788,7 +791,7 @@ librdf_Repository::librdf_Repository( ::osl::MutexGuard g(m_aMutex); if (!m_NumInstances++) { - m_pWorld.reset(m_TypeConverter.createWorld(), librdf_free_world); + m_pWorld.reset(m_TypeConverter.createWorld(), safe_librdf_free_world); } } @@ -841,7 +844,7 @@ throw (uno::RuntimeException) ::osl::MutexGuard g(m_aMutex); const boost::shared_ptr<librdf_node> pNode( librdf_new_node_from_blank_identifier(m_pWorld.get(), NULL), - librdf_free_node); + safe_librdf_free_node); if (!pNode) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::createBlankNode: " @@ -930,7 +933,7 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, const boost::shared_ptr<librdf_node> pContext( librdf_new_node_from_uri_string(m_pWorld.get(), reinterpret_cast<const unsigned char*> (context.getStr())), - librdf_free_node); + safe_librdf_free_node); if (!pContext) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::importGraph: " @@ -942,7 +945,7 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, const boost::shared_ptr<librdf_uri> pBaseURI( librdf_new_uri(m_pWorld.get(), reinterpret_cast<const unsigned char*> (baseURI.getStr())), - librdf_free_uri); + safe_librdf_free_uri); if (!pBaseURI) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::importGraph: " @@ -951,7 +954,7 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, const boost::shared_ptr<librdf_parser> pParser( librdf_new_parser(m_pWorld.get(), "rdfxml", NULL, NULL), - librdf_free_parser); + safe_librdf_free_parser); if (!pParser) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::importGraph: " @@ -968,7 +971,7 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, librdf_parser_parse_counted_string_as_stream(pParser.get(), reinterpret_cast<const unsigned char*>(buf.getConstArray()), buf.getLength(), pBaseURI.get()), - librdf_free_stream); + safe_librdf_free_stream); if (!pStream) { throw rdf::ParseException(::rtl::OUString::createFromAscii( "librdf_Repository::importGraph: " @@ -1037,7 +1040,7 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, const boost::shared_ptr<librdf_node> pContext( librdf_new_node_from_uri_string(m_pWorld.get(), reinterpret_cast<const unsigned char*> (context.getStr())), - librdf_free_node); + safe_librdf_free_node); if (!pContext) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::exportGraph: " @@ -1048,7 +1051,7 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, const boost::shared_ptr<librdf_uri> pBaseURI( librdf_new_uri(m_pWorld.get(), reinterpret_cast<const unsigned char*> (baseURI.getStr())), - librdf_free_uri); + safe_librdf_free_uri); if (!pBaseURI) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::exportGraph: " @@ -1057,7 +1060,7 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, const boost::shared_ptr<librdf_stream> pStream( librdf_model_context_as_stream(m_pModel.get(), pContext.get()), - librdf_free_stream); + safe_librdf_free_stream); if (!pStream) { throw rdf::RepositoryException(::rtl::OUString::createFromAscii( "librdf_Repository::exportGraph: " @@ -1067,7 +1070,7 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, const char *format("rdfxml-abbrev"); const boost::shared_ptr<librdf_serializer> pSerializer( librdf_new_serializer(m_pWorld.get(), format, NULL, NULL), - librdf_free_serializer); + safe_librdf_free_serializer); if (!pSerializer) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::exportGraph: " @@ -1077,19 +1080,19 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, const boost::shared_ptr<librdf_uri> pRelativeURI( librdf_new_uri(m_pWorld.get(), reinterpret_cast<const unsigned char*> ("http://feature.librdf.org/raptor-relativeURIs")), - librdf_free_uri); + safe_librdf_free_uri); const boost::shared_ptr<librdf_uri> pWriteBaseURI( librdf_new_uri(m_pWorld.get(), reinterpret_cast<const unsigned char*> ("http://feature.librdf.org/raptor-writeBaseURI")), - librdf_free_uri); + safe_librdf_free_uri); const boost::shared_ptr<librdf_node> p0( librdf_new_node_from_literal(m_pWorld.get(), reinterpret_cast<const unsigned char*> ("0"), NULL, 0), - librdf_free_node); + safe_librdf_free_node); const boost::shared_ptr<librdf_node> p1( librdf_new_node_from_literal(m_pWorld.get(), reinterpret_cast<const unsigned char*> ("1"), NULL, 0), - librdf_free_node); + safe_librdf_free_node); if (!pWriteBaseURI || !pRelativeURI || !p0 || !p1) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::exportGraph: " @@ -1225,26 +1228,28 @@ throw (uno::RuntimeException, rdf::RepositoryException) isMetadatableWithoutMetadata(i_xObject)) { return new librdf_GraphResult(this, m_aMutex, - ::boost::shared_ptr<librdf_stream>()); + ::boost::shared_ptr<librdf_stream>(), + ::boost::shared_ptr<librdf_node>()); } ::osl::MutexGuard g(m_aMutex); const boost::shared_ptr<librdf_statement> pStatement( m_TypeConverter.mkStatement(m_pWorld.get(), i_xSubject, i_xPredicate, i_xObject), - librdf_free_statement); + safe_librdf_free_statement); OSL_ENSURE(pStatement, "mkStatement failed"); const boost::shared_ptr<librdf_stream> pStream( librdf_model_find_statements(m_pModel.get(), pStatement.get()), - librdf_free_stream); + safe_librdf_free_stream); if (!pStream) { throw rdf::RepositoryException(::rtl::OUString::createFromAscii( "librdf_Repository::getStatements: " "librdf_model_find_statements failed"), *this); } - return new librdf_GraphResult(this, m_aMutex, pStream); + return new librdf_GraphResult(this, m_aMutex, pStream, + ::boost::shared_ptr<librdf_node>()); } @@ -1258,7 +1263,7 @@ throw (uno::RuntimeException, rdf::QueryException, rdf::RepositoryException) const boost::shared_ptr<librdf_query> pQuery( librdf_new_query(m_pWorld.get(), s_sparql, NULL, reinterpret_cast<const unsigned char*> (query.getStr()), NULL), - librdf_free_query); + safe_librdf_free_query); if (!pQuery) { throw rdf::QueryException(::rtl::OUString::createFromAscii( "librdf_Repository::querySelect: " @@ -1266,7 +1271,7 @@ throw (uno::RuntimeException, rdf::QueryException, rdf::RepositoryException) } const boost::shared_ptr<librdf_query_results> pResults( librdf_model_query_execute(m_pModel.get(), pQuery.get()), - librdf_free_query_results); + safe_librdf_free_query_results); if (!pResults || !librdf_query_results_is_bindings(pResults.get())) { throw rdf::QueryException(::rtl::OUString::createFromAscii( "librdf_Repository::querySelect: " @@ -1308,7 +1313,7 @@ throw (uno::RuntimeException, rdf::QueryException, rdf::RepositoryException) const boost::shared_ptr<librdf_query> pQuery( librdf_new_query(m_pWorld.get(), s_sparql, NULL, reinterpret_cast<const unsigned char*> (query.getStr()), NULL), - librdf_free_query); + safe_librdf_free_query); if (!pQuery) { throw rdf::QueryException(::rtl::OUString::createFromAscii( "librdf_Repository::queryConstruct: " @@ -1316,7 +1321,7 @@ throw (uno::RuntimeException, rdf::QueryException, rdf::RepositoryException) } const boost::shared_ptr<librdf_query_results> pResults( librdf_model_query_execute(m_pModel.get(), pQuery.get()), - librdf_free_query_results); + safe_librdf_free_query_results); if (!pResults || !librdf_query_results_is_graph(pResults.get())) { throw rdf::QueryException(::rtl::OUString::createFromAscii( "librdf_Repository::queryConstruct: " @@ -1324,14 +1329,15 @@ throw (uno::RuntimeException, rdf::QueryException, rdf::RepositoryException) } const boost::shared_ptr<librdf_stream> pStream( librdf_query_results_as_stream(pResults.get()), - librdf_free_stream); + safe_librdf_free_stream); if (!pStream) { throw rdf::QueryException(::rtl::OUString::createFromAscii( "librdf_Repository::queryConstruct: " "librdf_query_results_as_stream failed"), *this); } - return new librdf_GraphResult(this, m_aMutex, pStream, pQuery); + return new librdf_GraphResult(this, m_aMutex, pStream, + ::boost::shared_ptr<librdf_node>(), pQuery); } ::sal_Bool SAL_CALL @@ -1345,7 +1351,7 @@ throw (uno::RuntimeException, rdf::QueryException, rdf::RepositoryException) const boost::shared_ptr<librdf_query> pQuery( librdf_new_query(m_pWorld.get(), s_sparql, NULL, reinterpret_cast<const unsigned char*> (query.getStr()), NULL), - librdf_free_query); + safe_librdf_free_query); if (!pQuery) { throw rdf::QueryException(::rtl::OUString::createFromAscii( "librdf_Repository::queryAsk: " @@ -1353,7 +1359,7 @@ throw (uno::RuntimeException, rdf::QueryException, rdf::RepositoryException) } const boost::shared_ptr<librdf_query_results> pResults( librdf_model_query_execute(m_pModel.get(), pQuery.get()), - librdf_free_query_results); + safe_librdf_free_query_results); if (!pResults || !librdf_query_results_is_boolean(pResults.get())) { throw rdf::QueryException(::rtl::OUString::createFromAscii( "librdf_Repository::queryAsk: " @@ -1434,12 +1440,12 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, "librdf_Repository::setStatementRDFa: " "ensureMetadataReference did not"), *this); } + ::rtl::OUString const sXmlId(mdref.First + + ::rtl::OUString::createFromAscii("#") + mdref.Second); uno::Reference<rdf::XURI> xXmlId; try { xXmlId.set( rdf::URI::create(m_xContext, - ::rtl::OUString::createFromAscii(s_nsOOo) - + mdref.First + ::rtl::OUString::createFromAscii("#") - + mdref.Second), + ::rtl::OUString::createFromAscii(s_nsOOo) + sXmlId), uno::UNO_QUERY_THROW); } catch (lang::IllegalArgumentException & iae) { throw lang::WrappedTargetRuntimeException( @@ -1449,15 +1455,18 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, } ::osl::MutexGuard g(m_aMutex); - uno::Reference<rdf::XNode> xText; + ::rtl::OUString const content( (i_rRDFaContent.getLength() == 0) + ? xTextRange->getString() + : i_rRDFaContent ); + uno::Reference<rdf::XNode> xContent; try { - if (i_xRDFaDatatype.is() && (i_rRDFaContent.equalsAscii(""))) { - xText.set( rdf::Literal::createWithType(m_xContext, - xTextRange->getString(), i_xRDFaDatatype), + if (i_xRDFaDatatype.is()) { + xContent.set(rdf::Literal::createWithType(m_xContext, + content, i_xRDFaDatatype), uno::UNO_QUERY_THROW); } else { - xText.set( rdf::Literal::create(m_xContext, - xTextRange->getString()), uno::UNO_QUERY_THROW); + xContent.set(rdf::Literal::create(m_xContext, content), + uno::UNO_QUERY_THROW); } } catch (lang::IllegalArgumentException & iae) { throw lang::WrappedTargetRuntimeException( @@ -1465,36 +1474,16 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, "librdf_Repository::setStatementRDFa: " "cannot create literal"), *this, uno::makeAny(iae)); } - if (i_rRDFaContent.equalsAscii("")) { - removeStatementRDFa(i_xObject); - ::std::for_each(::comphelper::stl_begin(i_rPredicates), - ::comphelper::stl_end(i_rPredicates), - ::boost::bind( &librdf_Repository::addStatementGraph, - this, i_xSubject, _1, xText, xXmlId, true)); + removeStatementRDFa(i_xObject); + if (i_rRDFaContent.getLength() == 0) { + m_RDFaXHTMLContentSet.erase(sXmlId); } else { - uno::Reference<rdf::XURI> xLabel( m_TypeConverter.getRDFsLabel() ); - uno::Reference<rdf::XNode> xContent; - try { - if (!i_xRDFaDatatype.is()) { - xContent.set(rdf::Literal::create(m_xContext, i_rRDFaContent), - uno::UNO_QUERY_THROW); - } else { - xContent.set(rdf::Literal::createWithType(m_xContext, - i_rRDFaContent, i_xRDFaDatatype), uno::UNO_QUERY_THROW); - } - } catch (lang::IllegalArgumentException & iae) { - throw lang::WrappedTargetRuntimeException( - ::rtl::OUString::createFromAscii( - "librdf_Repository::setStatementRDFa: " - "cannot create literal"), *this, uno::makeAny(iae)); - } - removeStatementRDFa(i_xObject); - ::std::for_each(::comphelper::stl_begin(i_rPredicates), - ::comphelper::stl_end(i_rPredicates), - ::boost::bind( &librdf_Repository::addStatementGraph, - this, i_xSubject, _1, xContent, xXmlId, true)); - addStatementGraph(i_xSubject, xLabel, xText, xXmlId, true); + m_RDFaXHTMLContentSet.insert(sXmlId); } + ::std::for_each(::comphelper::stl_begin(i_rPredicates), + ::comphelper::stl_end(i_rPredicates), + ::boost::bind( &librdf_Repository::addStatementGraph, + this, i_xSubject, _1, xContent, xXmlId, true)); } void SAL_CALL librdf_Repository::removeStatementRDFa( @@ -1529,7 +1518,7 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, clearGraph(xXmlId, true); } -uno::Sequence<rdf::Statement> SAL_CALL +beans::Pair< uno::Sequence<rdf::Statement>, sal_Bool > SAL_CALL librdf_Repository::getStatementRDFa( const uno::Reference< rdf::XMetadatable > & i_xElement) throw (uno::RuntimeException, lang::IllegalArgumentException, @@ -1541,14 +1530,14 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, } const beans::StringPair mdref( i_xElement->getMetadataReference() ); if (mdref.First.equalsAscii("") || mdref.Second.equalsAscii("")) { - return uno::Sequence<rdf::Statement>(); + return beans::Pair< uno::Sequence<rdf::Statement>, sal_Bool >(); } + ::rtl::OUString const sXmlId(mdref.First + + ::rtl::OUString::createFromAscii("#") + mdref.Second); uno::Reference<rdf::XURI> xXmlId; try { xXmlId.set( rdf::URI::create(m_xContext, - ::rtl::OUString::createFromAscii(s_nsOOo) - + mdref.First + ::rtl::OUString::createFromAscii("#") - + mdref.Second), + ::rtl::OUString::createFromAscii(s_nsOOo) + sXmlId), uno::UNO_QUERY_THROW); } catch (lang::IllegalArgumentException & iae) { throw lang::WrappedTargetRuntimeException( @@ -1563,21 +1552,16 @@ throw (uno::RuntimeException, lang::IllegalArgumentException, getStatementsGraph(0, 0, 0, xXmlId, true) ); OSL_ENSURE(xIter.is(), "getStatementRDFa: no result?"); if (!xIter.is()) throw uno::RuntimeException(); - const uno::Reference<rdf::XURI> xLabel( m_TypeConverter.getRDFsLabel() ); while (xIter->hasMoreElements()) { rdf::Statement stmt; if (!(xIter->nextElement() >>= stmt)) { OSL_ENSURE(false, "getStatementRDFa: result of wrong type?"); } else { - OSL_ENSURE(stmt.Predicate.is(), "getStatementRDFa: no predicate?"); - if (stmt.Predicate->getStringValue() != xLabel->getStringValue()) { - ret.push_back(stmt); - } else { // the RDFs:label comes first - ret.insert(ret.begin(), stmt); - } + ret.push_back(stmt); } } - return ret.getAsConstList(); + return beans::Pair< uno::Sequence<rdf::Statement>, sal_Bool >( + ret.getAsConstList(), 0 != m_RDFaXHTMLContentSet.count(sXmlId)); } extern "C" @@ -1608,19 +1592,20 @@ throw (uno::RuntimeException, rdf::RepositoryException) isMetadatableWithoutMetadata(i_xObject)) { return new librdf_GraphResult(this, m_aMutex, - ::boost::shared_ptr<librdf_stream>()); + ::boost::shared_ptr<librdf_stream>(), + ::boost::shared_ptr<librdf_node>()); } ::osl::MutexGuard g(m_aMutex); const boost::shared_ptr<librdf_statement> pStatement( m_TypeConverter.mkStatement(m_pWorld.get(), i_xSubject, i_xPredicate, i_xObject), - librdf_free_statement); + safe_librdf_free_statement); OSL_ENSURE(pStatement, "mkStatement failed"); const boost::shared_ptr<librdf_stream> pStream( librdf_model_find_statements(m_pModel.get(), pStatement.get()), - librdf_free_stream); + safe_librdf_free_stream); if (!pStream) { throw rdf::RepositoryException(::rtl::OUString::createFromAscii( "librdf_Repository::getStatementsRDFa: " @@ -1634,7 +1619,8 @@ throw (uno::RuntimeException, rdf::RepositoryException) "librdf_stream_add_map failed"), *this); } - return new librdf_GraphResult(this, m_aMutex, pStream); + return new librdf_GraphResult(this, m_aMutex, pStream, + ::boost::shared_ptr<librdf_node>()); } // ::com::sun::star::lang::XInitialization: @@ -1646,11 +1632,11 @@ throw (uno::RuntimeException, uno::Exception) ::osl::MutexGuard g(m_aMutex); -// m_pWorld.reset(m_TypeConverter.createWorld(), librdf_free_world); +// m_pWorld.reset(m_TypeConverter.createWorld(), safe_librdf_free_world); m_pStorage.reset(m_TypeConverter.createStorage(m_pWorld.get()), - librdf_free_storage); + safe_librdf_free_storage); m_pModel.reset(m_TypeConverter.createModel( - m_pWorld.get(), m_pStorage.get()), librdf_free_model); + m_pWorld.get(), m_pStorage.get()), safe_librdf_free_model); } const NamedGraphMap_t::iterator SAL_CALL librdf_Repository::clearGraph( @@ -1677,7 +1663,7 @@ const NamedGraphMap_t::iterator SAL_CALL librdf_Repository::clearGraph( const boost::shared_ptr<librdf_node> pContext( librdf_new_node_from_uri_string(m_pWorld.get(), reinterpret_cast<const unsigned char*> (context.getStr())), - librdf_free_node); + safe_librdf_free_node); if (!pContext) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::clearGraph: " @@ -1728,7 +1714,7 @@ void SAL_CALL librdf_Repository::addStatementGraph( const boost::shared_ptr<librdf_node> pContext( librdf_new_node_from_uri_string(m_pWorld.get(), reinterpret_cast<const unsigned char*> (context.getStr())), - librdf_free_node); + safe_librdf_free_node); if (!pContext) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::addStatement: " @@ -1737,8 +1723,21 @@ void SAL_CALL librdf_Repository::addStatementGraph( const boost::shared_ptr<librdf_statement> pStatement( m_TypeConverter.mkStatement(m_pWorld.get(), i_xSubject, i_xPredicate, i_xObject), - librdf_free_statement); + safe_librdf_free_statement); OSL_ENSURE(pStatement, "mkStatement failed"); + + // Test for duplicate statement + // librdf_model_add_statement disallows duplicates while + // librdf_model_context_add_statement allows duplicates + { + const boost::shared_ptr<librdf_stream> pStream( + librdf_model_find_statements_in_context(m_pModel.get(), + pStatement.get(), pContext.get()), + safe_librdf_free_stream); + if (pStream && !librdf_stream_end(pStream.get())) + return; + } + if (librdf_model_context_add_statement(m_pModel.get(), pContext.get(), pStatement.get())) { throw rdf::RepositoryException(::rtl::OUString::createFromAscii( @@ -1776,7 +1775,7 @@ void SAL_CALL librdf_Repository::removeStatementsGraph( const boost::shared_ptr<librdf_node> pContext( librdf_new_node_from_uri_string(m_pWorld.get(), reinterpret_cast<const unsigned char*> (context.getStr())), - librdf_free_node); + safe_librdf_free_node); if (!pContext) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::removeStatements: " @@ -1785,13 +1784,13 @@ void SAL_CALL librdf_Repository::removeStatementsGraph( const boost::shared_ptr<librdf_statement> pStatement( m_TypeConverter.mkStatement(m_pWorld.get(), i_xSubject, i_xPredicate, i_xObject), - librdf_free_statement); + safe_librdf_free_statement); OSL_ENSURE(pStatement, "mkStatement failed"); const boost::shared_ptr<librdf_stream> pStream( librdf_model_find_statements_in_context(m_pModel.get(), pStatement.get(), pContext.get()), - librdf_free_stream); + safe_librdf_free_stream); if (!pStream) { throw rdf::RepositoryException(::rtl::OUString::createFromAscii( "librdf_Repository::removeStatements: " @@ -1835,7 +1834,8 @@ librdf_Repository::getStatementsGraph( isMetadatableWithoutMetadata(i_xObject)) { return new librdf_GraphResult(this, m_aMutex, - ::boost::shared_ptr<librdf_stream>()); + ::boost::shared_ptr<librdf_stream>(), + ::boost::shared_ptr<librdf_node>()); } ::osl::MutexGuard g(m_aMutex); @@ -1852,7 +1852,7 @@ librdf_Repository::getStatementsGraph( const boost::shared_ptr<librdf_node> pContext( librdf_new_node_from_uri_string(m_pWorld.get(), reinterpret_cast<const unsigned char*> (context.getStr())), - librdf_free_node); + safe_librdf_free_node); if (!pContext) { throw uno::RuntimeException(::rtl::OUString::createFromAscii( "librdf_Repository::getStatements: " @@ -1861,20 +1861,22 @@ librdf_Repository::getStatementsGraph( const boost::shared_ptr<librdf_statement> pStatement( m_TypeConverter.mkStatement(m_pWorld.get(), i_xSubject, i_xPredicate, i_xObject), - librdf_free_statement); + safe_librdf_free_statement); OSL_ENSURE(pStatement, "mkStatement failed"); const boost::shared_ptr<librdf_stream> pStream( librdf_model_find_statements_in_context(m_pModel.get(), pStatement.get(), pContext.get()), - librdf_free_stream); + safe_librdf_free_stream); if (!pStream) { throw rdf::RepositoryException(::rtl::OUString::createFromAscii( "librdf_Repository::getStatements: " "librdf_model_find_statements_in_context failed"), *this); } - return new librdf_GraphResult(this, m_aMutex, pStream); + // librdf_model_find_statements_in_context is buggy and does not put + // the context into result statements; pass it to librdf_GraphResult here + return new librdf_GraphResult(this, m_aMutex, pStream, pContext); } librdf_world *librdf_TypeConverter::createWorld() const @@ -1926,8 +1928,8 @@ librdf_model *librdf_TypeConverter::createModel( prtNode(contexts); std::cout << std::endl; // librdf_model_set_feature(repository, LIBRDF_FEATURE_CONTEXTS, ...); - librdf_free_node(contexts); - librdf_free_uri(ctxt); + safe_librdf_free_node(contexts); + safe_librdf_free_uri(ctxt); } #endif return pRepository; @@ -2012,7 +2014,7 @@ librdf_node* librdf_TypeConverter::mkNode( librdf_world* i_pWorld, NULL, 0); } else { const boost::shared_ptr<librdf_uri> pDatatype( - mkURI(i_pWorld, xType), librdf_free_uri); + mkURI(i_pWorld, xType), safe_librdf_free_uri); ret = librdf_new_node_from_typed_literal(i_pWorld, reinterpret_cast<const unsigned char*> (val.getStr()), NULL, pDatatype.get()); @@ -2051,11 +2053,11 @@ librdf_statement* librdf_TypeConverter::mkStatement( librdf_world* i_pWorld, try { pObject = mkNode(i_pWorld, i_xObject); } catch (...) { - librdf_free_node(pPredicate); + safe_librdf_free_node(pPredicate); throw; } } catch (...) { - librdf_free_node(pSubject); + safe_librdf_free_node(pSubject); throw; } // NB: this takes ownership of the nodes! (which is really ugly) @@ -2180,22 +2182,6 @@ librdf_TypeConverter::convertToXNode(librdf_node* i_pNode) const } } -#if 0 -uno::Reference<rdf::XStatement> -librdf_TypeConverter::convertToXStatement(librdf_statement* i_pStmt, - librdf_node* i_pContext) const -{ - if (!i_pStmt) { - throw uno::RuntimeException(); - } - return new librdf_Statement( - convertToXResource(librdf_statement_get_subject(i_pStmt)), - convertToXResource(librdf_statement_get_predicate(i_pStmt)), - convertToXNode(librdf_statement_get_object(i_pStmt)), - convertToXURI(i_pContext)); -} -#endif - rdf::Statement librdf_TypeConverter::convertToStatement(librdf_statement* i_pStmt, librdf_node* i_pContext) const @@ -2210,26 +2196,6 @@ librdf_TypeConverter::convertToStatement(librdf_statement* i_pStmt, convertToXURI(i_pContext)); } -uno::Reference<rdf::XURI> librdf_TypeConverter::getRDFsLabel() const -{ - static uno::Reference< rdf::XURI> xLabel; - - if (!xLabel.is()) { - try { - // rdfs:label - xLabel.set(rdf::URI::createKnown(m_xContext, - rdf::URIs::RDFS_LABEL), - uno::UNO_QUERY_THROW); - } catch (lang::IllegalArgumentException & iae) { - throw lang::WrappedTargetRuntimeException( - ::rtl::OUString::createFromAscii( - "librdf_TypeConverter::getRDFsLabel: " - "cannot create rdfs:label"), m_rRep, uno::makeAny(iae)); - } - } - return xLabel; -} - } // closing anonymous implementation namespace diff --git a/unoxml/source/rdf/makefile.mk b/unoxml/source/rdf/makefile.mk index 39741bda15b1..1fd36f45ce0b 100644 --- a/unoxml/source/rdf/makefile.mk +++ b/unoxml/source/rdf/makefile.mk @@ -58,7 +58,7 @@ SHL1OBJS= $(SLOFILES) SHL1TARGET= $(TARGET)$(DLLPOSTFIX) SHL1IMPLIB= i$(TARGET) -SHL1VERSIONMAP=../service/exports.map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map SHL1DEF=$(MISC)$/$(SHL1TARGET).def DEF1NAME=$(SHL1TARGET) diff --git a/unoxml/source/service/exports.map b/unoxml/source/service/exports.map deleted file mode 100644 index ba501f9ae076..000000000000 --- a/unoxml/source/service/exports.map +++ /dev/null @@ -1,10 +0,0 @@ -UDK_3_0_0 { - global: - GetVersionInfo; - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -}; diff --git a/unoxml/source/service/makefile.mk b/unoxml/source/service/makefile.mk index bbce7e913f09..93aec0746323 100644 --- a/unoxml/source/service/makefile.mk +++ b/unoxml/source/service/makefile.mk @@ -53,7 +53,7 @@ SHL1OBJS= $(SLOFILES) SHL1TARGET= $(TARGET)$(DLLPOSTFIX) SHL1IMPLIB= i$(TARGET) -SHL1VERSIONMAP=exports.map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map SHL1DEF=$(MISC)$/$(SHL1TARGET).def DEF1NAME=$(SHL1TARGET) diff --git a/unoxml/test/export.map b/unoxml/test/export.map index 709047ae63e5..7321bbca16ad 100644 --- a/unoxml/test/export.map +++ b/unoxml/test/export.map @@ -25,7 +25,7 @@ # #************************************************************************* -UDK_3.1 { +UDK_3_0_0 { global: registerAllTestFunction; diff --git a/unoxml/test/makefile.mk b/unoxml/test/makefile.mk index 8fcba9ff328a..11fe8884befd 100644 --- a/unoxml/test/makefile.mk +++ b/unoxml/test/makefile.mk @@ -37,6 +37,8 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk +CFLAGSCXX += $(CPPUNIT_CFLAGS) + # --- Common ---------------------------------------------------------- # BEGIN ---------------------------------------------------------------- diff --git a/writerfilter/inc/resourcemodel/Protocol.hxx b/writerfilter/inc/resourcemodel/Protocol.hxx new file mode 100644 index 000000000000..d0405861f695 --- /dev/null +++ b/writerfilter/inc/resourcemodel/Protocol.hxx @@ -0,0 +1,98 @@ +/************************************************************************* + * + * 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: $ + * $Revision: $ + * + * 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 INCLUDE_WRITERFILTER_PROTOCOL_HXX +#define INCLUDE_WRITERFILTER_PROTOCOL_HXX + +#include <boost/shared_ptr.hpp> +#include "WW8ResourceModel.hxx" +#include "TagLogger.hxx" +namespace writerfilter +{ + +class StreamProtocol : public Stream +{ + Stream * m_pStream; + TagLogger::Pointer_t m_pTagLogger; + +public: + typedef boost::shared_ptr<StreamProtocol> Pointer_t; + + StreamProtocol(Stream * pStream, TagLogger::Pointer_t pTagLogger); + virtual ~StreamProtocol(); + + virtual void startSectionGroup(); + virtual void endSectionGroup(); + virtual void startParagraphGroup(); + virtual void endParagraphGroup(); + virtual void startCharacterGroup(); + virtual void endCharacterGroup(); + virtual void text(const sal_uInt8 * data, size_t len); + virtual void utext(const sal_uInt8 * data, size_t len); + virtual void props(writerfilter::Reference<Properties>::Pointer_t ref); + virtual void table(Id name, + writerfilter::Reference<Table>::Pointer_t ref); + virtual void substream(Id name, + writerfilter::Reference<Stream>::Pointer_t ref); + virtual void info(const string & rInfo); + virtual void startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); + virtual void endShape(); +}; + +class PropertiesProtocol : public Properties +{ + Properties * m_pProperties; + TagLogger::Pointer_t m_pTagLogger; + +public: + typedef boost::shared_ptr<PropertiesProtocol> Pointer_t; + + PropertiesProtocol(Properties * pProperties, TagLogger::Pointer_t pTagLogger); + virtual ~PropertiesProtocol(); + + virtual void attribute(Id name, Value & val); + virtual void sprm(Sprm & sprm); +}; + +class TableProtocol : public Table +{ + Table * m_pTable; + TagLogger::Pointer_t m_pTagLogger; + +public: + typedef boost::shared_ptr<TableProtocol> Pointer_t; + + TableProtocol(Table * pTable, TagLogger::Pointer_t pTagLogger); + virtual ~TableProtocol(); + + virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); +}; + +} +#endif // INCLUDE_WRITERFILTER_PROTOCOL_HXX diff --git a/writerfilter/inc/resourcemodel/TableData.hxx b/writerfilter/inc/resourcemodel/TableData.hxx index 50f28d2bc5bf..aca4fce71064 100644 --- a/writerfilter/inc/resourcemodel/TableData.hxx +++ b/writerfilter/inc/resourcemodel/TableData.hxx @@ -208,6 +208,15 @@ public: } /** + Add properties to the last cell of the row. + */ + void insertCellProperties(PropertiesPointer pProps) + { + if (! mCells.empty()) + mCells.back()->insertProperties(pProps); + } + + /** Return number of cells in the row. */ unsigned int getCellCount() @@ -330,17 +339,35 @@ public: mpRow->addCell(start, pProps); } + /** + End the current cell of the current row. + + @parm end end handle of the cell + */ void endCell(const T & end) { mpRow->endCell(end); } + /** + Return if the current cell of the current row is open. + */ bool isCellOpen() const { return mpRow->isCellOpen(); } /** + Insert properties to the current cell of the current row. + + @param pProps the properties to add + */ + void insertCellProperties(PropertiesPointer pProps) + { + mpRow->insertCellProperties(pProps); + } + + /** Add properties to a cell of the current row. @param i index of the cell diff --git a/writerfilter/inc/resourcemodel/TableManager.hxx b/writerfilter/inc/resourcemodel/TableManager.hxx index 45fadad42351..fe43694d25d2 100644 --- a/writerfilter/inc/resourcemodel/TableManager.hxx +++ b/writerfilter/inc/resourcemodel/TableManager.hxx @@ -42,6 +42,8 @@ #include <boost/shared_ptr.hpp> #include <stack> +#include "util.hxx" +#include "TagLogger.hxx" namespace writerfilter { @@ -100,11 +102,6 @@ public: @param rT end handle of cell */ virtual void endCell(const T & rT) = 0; - - virtual T* getTable( ) - { - return NULL; - }; }; template <typename T, typename PropertiesPointer> @@ -118,59 +115,300 @@ template <typename T, typename PropertiesPointer> */ class TableManager { - typedef boost::shared_ptr<T> T_p; +#ifdef DEBUG_TABLE + TagLogger::Pointer_t mpTableLogger; +#endif + + class TableManagerState + { + /** + properties at the current point in document + */ + PropertiesPointer mpProps; + + /** + properties of the current cell + */ + PropertiesPointer mpCellProps; + + /** + properties of the current row + */ + PropertiesPointer mpRowProps; + + /** + properties of the current table + */ + stack<PropertiesPointer> mTableProps; + + /** + true if at the end of a row + */ + bool mbRowEnd; + + /** + true when in a cell + */ + bool mbInCell; + + /** + true when at the end of a cell + */ + bool mbCellEnd; + + public: + /** + Constructor + */ + TableManagerState() + : mbRowEnd(false), mbInCell(false), mbCellEnd(false) + { + } + + virtual ~TableManagerState() + { + } + + void startLevel() + { + PropertiesPointer pProps; + mTableProps.push(pProps); + } + + void endLevel() + { + mTableProps.pop(); + } + + /** + Reset to initial state at beginning of row. + */ + void resetCellSpecifics() + { + mbRowEnd = false; + mbInCell = false; + mbCellEnd = false; + } + + void resetProps() + { + mpProps.reset(); + } + + void setProps(PropertiesPointer pProps) + { + mpProps = pProps; + } + + PropertiesPointer getProps() + { + return mpProps; + } + + void resetCellProps() + { + mpCellProps.reset(); + } + + void setCellProps(PropertiesPointer pProps) + { + mpCellProps = pProps; + } + + PropertiesPointer getCellProps() + { + return mpCellProps; + } + + void resetRowProps() + { + mpCellProps.reset(); + } + + void setRowProps(PropertiesPointer pProps) + { + mpRowProps = pProps; + } + + PropertiesPointer getRowProps() + { + return mpRowProps; + } + + void resetTableProps() + { + if (mTableProps.size() > 0) + mTableProps.top().reset(); + } + + void setTableProps(PropertiesPointer pProps) + { + if (mTableProps.size() > 0) + mTableProps.top() = pProps; + } + + PropertiesPointer getTableProps() + { + PropertiesPointer pResult; + + if (mTableProps.size() > 0) + pResult = mTableProps.top(); + + return pResult; + } + + void setInCell(bool bInCell) + { + mbInCell = bInCell; + } + + bool isInCell() const + { + return mbInCell; + } + + void setCellEnd(bool bCellEnd) + { + mbCellEnd = bCellEnd; + } + + bool isCellEnd() const + { + return mbCellEnd; + } + + void setRowEnd(bool bRowEnd) + { + mbRowEnd = bRowEnd; + } + + bool isRowEnd() const + { + return mbRowEnd; + } + }; /** - true if at the end of a row + handle for the current position in document */ - bool mbRowEnd; + T mCurHandle; - /** - true when in a cell - */ - bool mbInCell; + TableManagerState mState; - /** - true when at the end of a cell - */ - bool mbCellEnd; +protected: + PropertiesPointer getProps() + { + return mState.getProps(); + } - /** - depth of the current cell - */ - sal_uInt32 mnTableDepthNew; + void setProps(PropertiesPointer pProps) + { + mState.setProps(pProps); + } - /** - depth of the previous cell - */ - sal_uInt32 mnTableDepth; + void resetProps() + { + mState.resetProps(); + } - /** - properties at the current point in document - */ - PropertiesPointer mpProps; + PropertiesPointer getCellProps() + { + return mState.getCellProps(); + } - /** - properties of the current cell - */ - vector< PropertiesPointer > mpCellProps; + void setCellProps(PropertiesPointer pProps) + { + mState.setCellProps(pProps); + } - /** - properties of the current row - */ - vector< PropertiesPointer > mpRowProps; + void resetCellProps() + { + mState.resetCellProps(); + } + + PropertiesPointer getRowProps() + { + return mState.getRowProps(); + } + + void setRowProps(PropertiesPointer pProps) + { + mState.setRowProps(pProps); + } + + void resetRowProps() + { + mState.resetRowProps(); + } + + void setInCell(bool bInCell) + { + mState.setInCell(bInCell); + } + + bool isInCell() const + { + return mState.isInCell(); + } + + void setCellEnd(bool bCellEnd) + { + mState.setCellEnd(bCellEnd); + } + + bool isCellEnd() const + { + return mState.isCellEnd(); + } + + void setRowEnd(bool bRowEnd) + { + mState.setRowEnd(bRowEnd); + } + + bool isRowEnd() const + { + return mState.isRowEnd(); + } + + PropertiesPointer getTableProps() + { + return mState.getTableProps(); + } + + void setTableProps(PropertiesPointer pProps) + { + mState.setTableProps(pProps); + } + + void resetTableProps() + { + mState.resetTableProps(); + } + + T getHandle() + { + return mCurHandle; + } + + void setHandle(const T & rHandle) + { + mCurHandle = rHandle; + } + +private: + typedef boost::shared_ptr<T> T_p; /** - properties of the current table: don't use them directly. - */ - PropertiesPointer mpTableProps; + depth of the current cell + */ + sal_uInt32 mnTableDepthNew; /** - handle for the current position in document + depth of the previous cell */ - T mCurHandle; + sal_uInt32 mnTableDepth; - T* mpInnerTable; /** stack of table data @@ -212,6 +450,22 @@ class TableManager */ void resolveCurrentTable(); + /** + Open a cell at current level. + */ + + void openCell(const T & handle, PropertiesPointer pProps); + + /** + Close a cell at current level. + */ + void closeCell(const T & handle); + + /** + Ensure a cell is open at the current level. + */ + void ensureOpenCell(PropertiesPointer pProps); + protected: /** @@ -234,6 +488,7 @@ protected: */ virtual void clearData(); + public: TableManager(); virtual ~TableManager(){} @@ -348,25 +603,48 @@ public: only control information, e.g. end of row. */ virtual bool isIgnore() const; + + +#ifdef DEBUG_TABLE + void setTagLogger(TagLogger::Pointer_t _tagLogger) + { + mpTableLogger = _tagLogger; + } +#endif }; template <typename T, typename PropertiesPointer> TableManager<T, PropertiesPointer>::TableManager() -: mbRowEnd(false), mbInCell(false), mbCellEnd(false), mnTableDepthNew(0), - mnTableDepth(0), mpInnerTable( NULL ) +: mnTableDepthNew(0), mnTableDepth(0) { + setRowEnd(false); + setInCell(false); + setCellEnd(false); } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::cellDepth(sal_uInt32 nDepth) { +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + { + mpTableLogger->startElement("tablemanager.cellDepth"); + mpTableLogger->attribute("depth", nDepth); + mpTableLogger->endElement("tablemanager.cellDepth"); + } +#endif + mnTableDepthNew = nDepth; } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::inCell() { - mbInCell = true; +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->element("tablemanager.inCell"); +#endif + setInCell(true); if (mnTableDepthNew < 1) mnTableDepthNew = 1; @@ -375,13 +653,23 @@ void TableManager<T, PropertiesPointer>::inCell() template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::endCell() { - mbCellEnd = true; +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->element("tablemanager.endCell"); +#endif + + setCellEnd(true); } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::endRow() { - mbRowEnd = true; +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->element("tablemanager.endRow"); +#endif + + setRowEnd(true); } template <typename T, typename PropertiesPointer> @@ -394,44 +682,80 @@ void TableManager<T, PropertiesPointer>::setHandler template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::handle(const T & rHandle) { - mCurHandle = rHandle; +#ifdef DEBUG_TABLE + if (mpTableLogger.get()) + { + mpTableLogger->startElement("tablemanager.handle"); + mpTableLogger->chars(toString(rHandle)); + mpTableLogger->endElement("tablemanager.handle"); + } +#endif + + setHandle(rHandle); } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::startLevel() { -#if DEBUG - std::clog << "TableManager::startLevel()" << std::endl; +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + { + typename TableData<T, PropertiesPointer>::Pointer_t pTableData; + + if (mTableDataStack.size() > 0) + pTableData = mTableDataStack.top(); + + mpTableLogger->startElement("tablemanager.startLevel"); + mpTableLogger->attribute("level", mTableDataStack.size()); + + if (pTableData.get() != NULL) + mpTableLogger->attribute("openCell", + pTableData->isCellOpen() ? "yes" : "no"); + + mpTableLogger->endElement("tablemanager.startLevel"); + } #endif + typename TableData<T, PropertiesPointer>::Pointer_t pTableData (new TableData<T, PropertiesPointer>(mTableDataStack.size())); mTableDataStack.push(pTableData); - - PropertiesPointer pEmptyProps; - cellProps( pEmptyProps ); + mState.startLevel(); } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::endLevel() { -#if DEBUG - std::clog << "TableManager::endLevel()" << std::endl; -#endif if (mpTableDataHandler.get() != NULL) resolveCurrentTable(); + + mState.endLevel(); mTableDataStack.pop(); - if ( mpCellProps.size( ) > 0 ) - mpCellProps.pop_back( ); +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + { + typename TableData<T, PropertiesPointer>::Pointer_t pTableData; + + if (mTableDataStack.size() > 0) + pTableData = mTableDataStack.top(); + + mpTableLogger->startElement("tablemanager.endLevel"); + mpTableLogger->attribute("level", mTableDataStack.size()); + + if (pTableData.get() != NULL) + mpTableLogger->attribute("openCell", + pTableData->isCellOpen() ? "yes" : "no"); + + mpTableLogger->endElement("tablemanager.endLevel"); + } +#endif } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::startParagraphGroup() { - mbRowEnd = false; - mbInCell = false; - mbCellEnd = false; + mState.resetCellSpecifics(); mnTableDepthNew = 0; } @@ -439,6 +763,16 @@ template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::endParagraphGroup() { sal_Int32 nTableDepthDifference = mnTableDepthNew - mnTableDepth; + + PropertiesPointer pEmptyProps; + + while (nTableDepthDifference > 0) + { + ensureOpenCell(pEmptyProps); + startLevel(); + + --nTableDepthDifference; + } while (nTableDepthDifference < 0) { endLevel(); @@ -448,38 +782,30 @@ void TableManager<T, PropertiesPointer>::endParagraphGroup() mnTableDepth = mnTableDepthNew; - typename TableData<T, PropertiesPointer>::Pointer_t pTableData = + if (mnTableDepth > 0) + { + typename TableData<T, PropertiesPointer>::Pointer_t pTableData = mTableDataStack.top(); - if (mbRowEnd) - { - endOfRowAction(); - pTableData->endRow( mpRowProps.back( ) ); - mpRowProps.back( ).reset(); - } - else if ( mbInCell ) - { - if (! pTableData->isCellOpen()) + if (isRowEnd()) { - if ( mpInnerTable ) - { - pTableData->addCell( *mpInnerTable, mpCellProps.back( ) ); - mpInnerTable = NULL; - } - else - { - pTableData->addCell( mCurHandle, mpCellProps.back( ) ); - } + endOfRowAction(); + pTableData->endRow(getRowProps()); + resetRowProps(); } - if (mbCellEnd) + else if (isInCell()) { - endOfCellAction(); - pTableData->endCell(mCurHandle); + ensureOpenCell(getCellProps()); + + if (isCellEnd()) + { + endOfCellAction(); + closeCell(getHandle()); + } } + resetCellProps(); } - if ( mpCellProps.size( ) > 0 ) - mpCellProps.back().reset( ); } template <typename T, typename PropertiesPointer> @@ -513,19 +839,29 @@ bool TableManager<T, PropertiesPointer>::sprm(Sprm & rSprm) template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::props(PropertiesPointer pProps) { - mpProps = pProps; + setProps(pProps); } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::handle0x7() { +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->startElement("tablemanager.handle0x7"); +#endif + if (mnTableDepthNew < 1) mnTableDepthNew = 1; - if (mbInCell) + if (isInCell()) endCell(); else endRow(); + +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->endElement("tablemanager.handle0x7"); +#endif } template <typename T, typename PropertiesPointer> @@ -555,50 +891,85 @@ void TableManager<T, PropertiesPointer>::utext(const sal_uInt8 * data, size_t le template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::cellProps(PropertiesPointer pProps) { - if ( mpCellProps.size( ) == mTableDataStack.size( ) ) - { - if ( mpCellProps.back( ).get( ) ) - mpCellProps.back()->insert( pProps ); - else - mpCellProps.back( ) = pProps; - } +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->startElement("tablemanager.cellProps"); +#endif + + if(getCellProps().get()) + getCellProps()->insert( pProps ); else - mpCellProps.push_back( pProps ); + setCellProps(pProps); + +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->endElement("tablemanager.cellProps"); +#endif } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::cellPropsByCell (unsigned int i, PropertiesPointer pProps) { +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->startElement("tablemanager.cellPropsByCell"); +#endif + mTableDataStack.top()->insertCellProperties(i, pProps); + +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->endElement("tablemanager.cellPropsByCell"); +#endif } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::insertRowProps(PropertiesPointer pProps) { - if ( mpRowProps.size( ) == ( mTableDataStack.size( ) - 1 ) ) - { - if( mpRowProps.back( ).get( ) ) - mpRowProps.back( )->insert( pProps ); - else - mpRowProps.back( ) = pProps; - } +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->startElement("tablemanager.insertRowProps"); +#endif + + if( getRowProps().get() ) + getRowProps()->insert( pProps ); else - mpRowProps.push_back( pProps ); + setRowProps(pProps); + +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->endElement("tablemanager.insertRowProps"); +#endif } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::insertTableProps(PropertiesPointer pProps) { - typename TableData<T, PropertiesPointer>::Pointer_t - pTableData = mTableDataStack.top(); +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->startElement("tablemanager.insertTableProps"); +#endif - pTableData->insertTableProperties( pProps ); + if( getTableProps().get() ) + getTableProps()->insert( pProps ); + else + setTableProps(pProps); + +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->endElement("tablemanager.insertTableProps"); +#endif } template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::resolveCurrentTable() { +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->startElement("tablemanager.resolveCurrentTable"); +#endif + if (mpTableDataHandler.get() != NULL) { typename TableData<T, PropertiesPointer>::Pointer_t @@ -606,7 +977,7 @@ void TableManager<T, PropertiesPointer>::resolveCurrentTable() unsigned int nRows = pTableData->getRowCount(); - mpTableDataHandler->startTable(nRows, pTableData->getDepth(), pTableData->getTableProperties( ) ); + mpTableDataHandler->startTable(nRows, pTableData->getDepth(), getTableProps()); for (unsigned int nRow = 0; nRow < nRows; ++nRow) { @@ -629,13 +1000,14 @@ void TableManager<T, PropertiesPointer>::resolveCurrentTable() } mpTableDataHandler->endTable(); - - // The inner table has to be stored only if there is something in the stack - // The 0 depth is the dummy table for the whole stream - if ( pTableData->getDepth( ) > 1 ) - mpInnerTable = mpTableDataHandler->getTable( ); } + resetTableProps(); clearData(); + +#ifdef DEBUG_TABLE + if (mpTableLogger.get() != NULL) + mpTableLogger->endElement("tablemanager.resolveCurrentTable"); +#endif } template <typename T, typename PropertiesPointer> @@ -651,13 +1023,77 @@ void TableManager<T, PropertiesPointer>::endOfRowAction() template <typename T, typename PropertiesPointer> bool TableManager<T, PropertiesPointer>::isIgnore() const { - return mbRowEnd; + return isRowEnd(); } + template <typename T, typename PropertiesPointer> void TableManager<T, PropertiesPointer>::clearData() { } +template <typename T, typename PropertiesPointer> +void TableManager<T, PropertiesPointer>::openCell +(const T & rHandle, PropertiesPointer pProps) +{ +#ifdef DEBUG_TABLE + mpTableLogger->startElement("tablemanager.openCell"); + mpTableLogger->chars(toString(rHandle)); + mpTableLogger->endElement("tablemanager.openCell"); +#endif + + if (mTableDataStack.size() > 0) + { + typename TableData<T, PropertiesPointer>::Pointer_t + pTableData = mTableDataStack.top(); + + pTableData->addCell(rHandle, pProps); + } +} + +template <typename T, typename PropertiesPointer> +void TableManager<T, PropertiesPointer>::closeCell +(const T & rHandle) +{ +#ifdef DEBUG_TABLE + mpTableLogger->startElement("tablemanager.closeCell"); + mpTableLogger->chars(toString(rHandle)); + mpTableLogger->endElement("tablemanager.closeCell"); +#endif + + if (mTableDataStack.size() > 0) + { + typename TableData<T, PropertiesPointer>::Pointer_t + pTableData = mTableDataStack.top(); + + pTableData->endCell(rHandle); + } +} + +template <typename T, typename PropertiesPointer> +void TableManager<T, PropertiesPointer>::ensureOpenCell(PropertiesPointer pProps) +{ +#ifdef DEBUG_TABLE + mpTableLogger->startElement("tablemanager.ensureOpenCell"); +#endif + + if (mTableDataStack.size() > 0) + { + typename TableData<T, PropertiesPointer>::Pointer_t + pTableData = mTableDataStack.top(); + + if (pTableData.get() != NULL) + { + if (!pTableData->isCellOpen()) + openCell(getHandle(), pProps); + else + pTableData->insertCellProperties(pProps); + } + } +#ifdef DEBUG_TABLE + mpTableLogger->endElement("tablemanager.ensureOpenCell"); +#endif +} + } #endif // INCLUDED_TABLE_MANAGER_HXX diff --git a/writerfilter/inc/resourcemodel/TagLogger.hxx b/writerfilter/inc/resourcemodel/TagLogger.hxx index c846779df456..cf58dc3be8c3 100644 --- a/writerfilter/inc/resourcemodel/TagLogger.hxx +++ b/writerfilter/inc/resourcemodel/TagLogger.hxx @@ -74,6 +74,8 @@ namespace writerfilter XMLTag(string sTag, eMode mode = COMPLETE) : mTag(sTag), mMode(mode) {} void addAttr(string name, string value); + void addAttr(string name, const ::rtl::OUString & value); + void addAttr(string name, sal_uInt32 nValue); void addTag(Pointer_t pTag); void chars(const string & rChars); const string & getTag() const; @@ -90,6 +92,7 @@ namespace writerfilter private: stack<XMLTag::Pointer_t> mTags; XMLTag::Pointer_t currentTag() const; + XMLTag::Pointer_t mpRoot; TagLogger(); @@ -103,6 +106,7 @@ namespace writerfilter void startElement(const string & name); void attribute(const string & name, const string & value); void attribute(const string & name, const ::rtl::OUString & value); + void attribute(const string & name, sal_uInt32 value); void addTag(XMLTag::Pointer_t pTag); void chars(const string & chars); void chars(const ::rtl::OUString & chars); diff --git a/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx b/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx index 387527f09e06..4dabea550a9d 100644 --- a/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx +++ b/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx @@ -150,6 +150,7 @@ public: class WRITERFILTER_DLLPUBLIC Table { public: + typedef boost::shared_ptr<Table> Pointer_t; /** Receives an entry of the table. diff --git a/writerfilter/inc/resourcemodel/util.hxx b/writerfilter/inc/resourcemodel/util.hxx index 4b57a77326b8..360dfc3d4113 100644 --- a/writerfilter/inc/resourcemodel/util.hxx +++ b/writerfilter/inc/resourcemodel/util.hxx @@ -28,6 +28,7 @@ #ifndef INCLUDED_RESOURCEMODEL_UTIL_HXX #define INCLUDED_RESOURCEMODEL_UTIL_HXX #include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/text/XTextRange.hpp> #include <WriterFilterDllApi.hxx> #include <string> @@ -41,5 +42,7 @@ namespace writerfilter string WRITERFILTER_DLLPUBLIC propertysetToString (uno::Reference<beans::XPropertySet> const & rProps); + string toString(uno::Reference< text::XTextRange > textRange); + string toString(const string & rString); } #endif // INCLUDED_RESOURCEMODEL_UTIL_HXX diff --git a/writerfilter/prj/build.lst b/writerfilter/prj/build.lst index 2ba4dc7301a4..e70b99a052c5 100644 --- a/writerfilter/prj/build.lst +++ b/writerfilter/prj/build.lst @@ -4,7 +4,7 @@ wf writerfilter\source\resourcemodel nmake - all wf_resourcemodel NULL wf writerfilter\source\doctok nmake - all wf_doctok wf_resourcemodel NULL wf writerfilter\source\ooxml nmake - all wf_ooxml wf_resourcemodel NULL wf writerfilter\source\filter nmake - all wf_filter NULL -wf writerfilter\source\dmapper nmake - all wf_dmapper wf_resourcemodel wf_ooxml NULL +wf writerfilter\source\dmapper nmake - all wf_dmapper wf_doctok wf_ooxml wf_resourcemodel NULL wf writerfilter\unocomponent\debugservices\doctok nmake - all wf_debugservicesdoctok NULL wf writerfilter\unocomponent\debugservices\ooxml nmake - all wf_debugservicesooxml NULL wf writerfilter\unocomponent nmake - all wf_unocomponent wf_doctok wf_ooxml wf_resourcemodel wf_debugservicesdoctok wf_debugservicesooxml NULL diff --git a/writerfilter/qa/cppunittests/doctok/export.map b/writerfilter/qa/cppunittests/doctok/export.map index 4ca70fa85463..879fa8953788 100644 --- a/writerfilter/qa/cppunittests/doctok/export.map +++ b/writerfilter/qa/cppunittests/doctok/export.map @@ -1,4 +1,4 @@ -UDK_3.0 { +UDK_3_0_0 { global: registerAllTestFunction; diff --git a/writerfilter/qa/cppunittests/doctok/makefile.mk b/writerfilter/qa/cppunittests/doctok/makefile.mk index 6ee065ee6161..298bb4da906b 100644 --- a/writerfilter/qa/cppunittests/doctok/makefile.mk +++ b/writerfilter/qa/cppunittests/doctok/makefile.mk @@ -37,6 +37,7 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk +CFLAGSCXX += $(CPPUNIT_CFLAGS) # BEGIN ---------------------------------------------------------------- # auto generated Target:doctok by codegen.pl diff --git a/writerfilter/qa/cppunittests/odiapi/export.map b/writerfilter/qa/cppunittests/odiapi/export.map index 0e4fe0c88ff2..7321bbca16ad 100644 --- a/writerfilter/qa/cppunittests/odiapi/export.map +++ b/writerfilter/qa/cppunittests/odiapi/export.map @@ -25,7 +25,7 @@ # #************************************************************************* -UDK_3.0 { +UDK_3_0_0 { global: registerAllTestFunction; diff --git a/writerfilter/qa/cppunittests/odiapi/makefile.mk b/writerfilter/qa/cppunittests/odiapi/makefile.mk index 2843771e166f..6fc9adcd2f51 100644 --- a/writerfilter/qa/cppunittests/odiapi/makefile.mk +++ b/writerfilter/qa/cppunittests/odiapi/makefile.mk @@ -34,6 +34,8 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk +CFLAGSCXX += $(CPPUNIT_CFLAGS) + # BEGIN ---------------------------------------------------------------- # auto generated Target:testjob by codegen.pl diff --git a/writerfilter/qa/cppunittests/qname/export.map b/writerfilter/qa/cppunittests/qname/export.map index 0e4fe0c88ff2..7321bbca16ad 100644 --- a/writerfilter/qa/cppunittests/qname/export.map +++ b/writerfilter/qa/cppunittests/qname/export.map @@ -25,7 +25,7 @@ # #************************************************************************* -UDK_3.0 { +UDK_3_0_0 { global: registerAllTestFunction; diff --git a/writerfilter/qa/cppunittests/qname/makefile.mk b/writerfilter/qa/cppunittests/qname/makefile.mk index 0eb0e16053db..c2e989d91beb 100644 --- a/writerfilter/qa/cppunittests/qname/makefile.mk +++ b/writerfilter/qa/cppunittests/qname/makefile.mk @@ -37,6 +37,8 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk +CFLAGSCXX += $(CPPUNIT_CFLAGS) + # BEGIN ---------------------------------------------------------------- # auto generated Target:testjob by codegen.pl diff --git a/writerfilter/qa/cppunittests/sl/export.map b/writerfilter/qa/cppunittests/sl/export.map index 0e4fe0c88ff2..7321bbca16ad 100644 --- a/writerfilter/qa/cppunittests/sl/export.map +++ b/writerfilter/qa/cppunittests/sl/export.map @@ -25,7 +25,7 @@ # #************************************************************************* -UDK_3.0 { +UDK_3_0_0 { global: registerAllTestFunction; diff --git a/writerfilter/qa/cppunittests/sl/makefile.mk b/writerfilter/qa/cppunittests/sl/makefile.mk index 2bea9e16b792..b7a943e376e9 100644 --- a/writerfilter/qa/cppunittests/sl/makefile.mk +++ b/writerfilter/qa/cppunittests/sl/makefile.mk @@ -37,6 +37,8 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk +CFLAGSCXX += $(CPPUNIT_CFLAGS) + # BEGIN ---------------------------------------------------------------- # auto generated Target:testjob by codegen.pl diff --git a/writerfilter/qa/cppunittests/xxml/export.map b/writerfilter/qa/cppunittests/xxml/export.map index 0e4fe0c88ff2..7321bbca16ad 100644 --- a/writerfilter/qa/cppunittests/xxml/export.map +++ b/writerfilter/qa/cppunittests/xxml/export.map @@ -25,7 +25,7 @@ # #************************************************************************* -UDK_3.0 { +UDK_3_0_0 { global: registerAllTestFunction; diff --git a/writerfilter/qa/cppunittests/xxml/makefile.mk b/writerfilter/qa/cppunittests/xxml/makefile.mk index 78022b6e59ba..32d0febc1c85 100644 --- a/writerfilter/qa/cppunittests/xxml/makefile.mk +++ b/writerfilter/qa/cppunittests/xxml/makefile.mk @@ -37,6 +37,8 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk +CFLAGSCXX += $(CPPUNIT_CFLAGS) + # BEGIN ---------------------------------------------------------------- # auto generated Target:testjob by codegen.pl diff --git a/writerfilter/qa/documents/HeaderFooter.doc b/writerfilter/qa/documents/HeaderFooter.doc Binary files differnew file mode 100644 index 000000000000..9b023b485761 --- /dev/null +++ b/writerfilter/qa/documents/HeaderFooter.doc diff --git a/writerfilter/qa/documents/HeaderFooter.docx b/writerfilter/qa/documents/HeaderFooter.docx Binary files differnew file mode 100644 index 000000000000..1c550b4d547b --- /dev/null +++ b/writerfilter/qa/documents/HeaderFooter.docx diff --git a/writerfilter/qa/documents/Paragraph with footnote.doc b/writerfilter/qa/documents/Paragraph with footnote.doc Binary files differnew file mode 100644 index 000000000000..eaf22b5ef699 --- /dev/null +++ b/writerfilter/qa/documents/Paragraph with footnote.doc diff --git a/writerfilter/qa/documents/Paragraph with footnote.docx b/writerfilter/qa/documents/Paragraph with footnote.docx Binary files differnew file mode 100644 index 000000000000..fbaac59dc283 --- /dev/null +++ b/writerfilter/qa/documents/Paragraph with footnote.docx diff --git a/writerfilter/qa/documents/docx/tables/Table in B2.docx b/writerfilter/qa/documents/docx/tables/Table in B2.docx Binary files differnew file mode 100644 index 000000000000..4295cec35ff4 --- /dev/null +++ b/writerfilter/qa/documents/docx/tables/Table in B2.docx diff --git a/writerfilter/qa/documents/docx/tables/table in A1.docx b/writerfilter/qa/documents/docx/tables/table in A1.docx Binary files differnew file mode 100644 index 000000000000..d4161eaaa1ff --- /dev/null +++ b/writerfilter/qa/documents/docx/tables/table in A1.docx diff --git a/writerfilter/qa/documents/docx/tables/~$sted-tables3.docx b/writerfilter/qa/documents/docx/tables/~$sted-tables3.docx Binary files differnew file mode 100644 index 000000000000..bfea337b7db7 --- /dev/null +++ b/writerfilter/qa/documents/docx/tables/~$sted-tables3.docx diff --git a/writerfilter/source/dmapper/BorderHandler.cxx b/writerfilter/source/dmapper/BorderHandler.cxx index 66ca373b6465..df2503793884 100644 --- a/writerfilter/source/dmapper/BorderHandler.cxx +++ b/writerfilter/source/dmapper/BorderHandler.cxx @@ -26,12 +26,15 @@ ************************************************************************/ #include <BorderHandler.hxx> #include <PropertyMap.hxx> +#include <resourcemodel/QNameToString.hxx> #include <doctok/resourceids.hxx> #include <ConversionHelper.hxx> #include <com/sun/star/table/BorderLine.hpp> #include <ooxml/resourceids.hxx> +#include <dmapperLoggers.hxx> namespace writerfilter { + namespace dmapper { using namespace ::com::sun::star; @@ -60,6 +63,12 @@ BorderHandler::~BorderHandler() -----------------------------------------------------------------------*/ void BorderHandler::attribute(Id rName, Value & rVal) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("BorderHandler.attribute"); + dmapper_logger->attribute("id", (*QNameToString::Instance())(rName)); + dmapper_logger->endElement("BorderHandler.attribute"); +#endif + sal_Int32 nIntValue = rVal.getInt(); /* WRITERFILTERSTATUS: table: BorderHandler_attributedata */ switch( rName ) @@ -113,6 +122,11 @@ void BorderHandler::attribute(Id rName, Value & rVal) -----------------------------------------------------------------------*/ void BorderHandler::sprm(Sprm & rSprm) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("BorderHandler.sprm"); + dmapper_logger->attribute("sprm", rSprm.toString()); +#endif + /* WRITERFILTERSTATUS: table: BorderHandler_sprm */ switch( rSprm.getId()) { @@ -140,6 +154,11 @@ void BorderHandler::sprm(Sprm & rSprm) break; default:; } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("BorderHandler.sprm"); +#endif + } /*-- 24.04.2007 09:09:01--------------------------------------------------- diff --git a/writerfilter/source/dmapper/CellColorHandler.cxx b/writerfilter/source/dmapper/CellColorHandler.cxx index 8220a55a60fd..2de4554e06dc 100644 --- a/writerfilter/source/dmapper/CellColorHandler.cxx +++ b/writerfilter/source/dmapper/CellColorHandler.cxx @@ -66,32 +66,32 @@ void CellColorHandler::attribute(Id rName, Value & rVal) /* WRITERFILTERSTATUS: table: CellColor_attributedata */ switch( rName ) { - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_cellTopColor: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_cellLeftColor: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_cellBottomColor: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_cellRightColor: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ // nIntValue contains the color, directly break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Shd_val: + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ { //might be clear, pct5...90, some hatch types //TODO: The values need symbolic names! m_nShadowType = nIntValue; //clear == 0, solid: 1, pct5: 2, pct50:8, pct95: x3c, horzStripe:0x0e, thinVertStripe: 0x15 } break; - /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Shd_fill: + /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ if( nIntValue == OOXML_COLOR_AUTO ) nIntValue = 0xffffff; //fill color auto means white m_nFillColor = nIntValue; break; - /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Shd_color: + /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ if( nIntValue == OOXML_COLOR_AUTO ) nIntValue = 0; //shading color auto means black //color of the shading diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 8e5fb325d2e9..81a02461971a 100644..100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -154,10 +154,6 @@ DomainMapper::DomainMapper( const uno::Reference< uno::XComponentContext >& xCon { (void)rEx; } - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("domainmapper"); -#endif } /*-- 09.06.2006 09:52:12--------------------------------------------------- @@ -186,10 +182,6 @@ DomainMapper::~DomainMapper() } delete m_pImpl; - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("domainmapper"); -#endif } /*-- 09.06.2006 09:52:12--------------------------------------------------- @@ -200,6 +192,7 @@ void DomainMapper::attribute(Id nName, Value & val) dmapper_logger->startElement("attribute"); dmapper_logger->attribute("name", (*QNameToString::Instance())(nName)); dmapper_logger->attribute("value", val.toString()); + dmapper_logger->endElement("attribute"); #endif static ::rtl::OUString sLocalBookmarkName; sal_Int32 nIntValue = val.getInt(); @@ -215,12 +208,6 @@ void DomainMapper::attribute(Id nName, Value & val) switch( nName ) { /* attributes to be ignored */ - case NS_rtf::LN_UNUSED4: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - - case NS_rtf::LN_UNUSED8: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_UNUSED1_3: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ @@ -582,16 +569,13 @@ void DomainMapper::attribute(Id nName, Value & val) case NS_rtf::LN_FNORESTART: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; - case NS_rtf::LN_FPREV: + case NS_rtf::LN_FIDENTSAV: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; - case NS_rtf::LN_FPREVSPACE: + case NS_rtf::LN_FCONVERTED: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; - case NS_rtf::LN_FWORD6: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ - break; - case NS_rtf::LN_UNUSED5_7: + case NS_rtf::LN_FTENTATIVE: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; case NS_rtf::LN_RGBXCHNUMS: @@ -624,10 +608,10 @@ void DomainMapper::attribute(Id nName, Value & val) case NS_rtf::LN_FSIMPLELIST: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; - case NS_rtf::LN_FRESTARTHDN: + case NS_rtf::LN_fAutoNum: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; - case NS_rtf::LN_UNSIGNED26_2: + case NS_rtf::LN_fHybrid: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; case NS_rtf::LN_ILVL: @@ -642,7 +626,7 @@ void DomainMapper::attribute(Id nName, Value & val) case NS_rtf::LN_UNSIGNED4_6: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; - case NS_rtf::LN_CLFOLVL: + case NS_rtf::LN_clfolvl: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; case NS_rtf::LN_CBFFNM1: @@ -1447,7 +1431,7 @@ void DomainMapper::attribute(Id nName, Value & val) case NS_rtf::LN_LISTLEVEL: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; - case NS_rtf::LN_LFO: + case NS_rtf::LN_LFOData: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; case NS_rtf::LN_F: @@ -1944,6 +1928,7 @@ void DomainMapper::attribute(Id nName, Value & val) case NS_sprm::LN_PWHeightAbs: case NS_sprm::LN_PDxaFromText: case NS_sprm::LN_PDyaFromText: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { ParagraphProperties* pParaProperties = dynamic_cast< ParagraphProperties*>(m_pImpl->GetTopContext().get()); if( pParaProperties ) @@ -2036,8 +2021,8 @@ void DomainMapper::attribute(Id nName, Value & val) pParaProperties->SethRule( nIntValue ); break; case NS_sprm::LN_PWr: - { /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + { //should be either LN_Value_wordprocessingml_ST_Wrap_notBeside or LN_Value_wordprocessingml_ST_Wrap_around OSL_ENSURE( sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_around || sal::static_int_cast<Id>(nIntValue) == NS_ooxml::LN_Value_wordprocessingml_ST_Wrap_notBeside, @@ -2055,11 +2040,11 @@ void DomainMapper::attribute(Id nName, Value & val) pParaProperties->Seth(ConversionHelper::convertTwipToMM100(nIntValue)); break; case NS_sprm::LN_PDxaFromText: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ pParaProperties->SethSpace( ConversionHelper::convertTwipToMM100(nIntValue )); break; case NS_sprm::LN_PDyaFromText: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ pParaProperties->SetvSpace( ConversionHelper::convertTwipToMM100(nIntValue )); break; default:; @@ -2103,15 +2088,19 @@ void DomainMapper::attribute(Id nName, Value & val) switch( nName ) { case NS_ooxml::LN_CT_LineNumber_countBy: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ aSettings.nInterval = nIntValue; break; case NS_ooxml::LN_CT_LineNumber_start: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ aSettings.nStartValue = nIntValue; // todo: has to be set at (each) first paragraph break; case NS_ooxml::LN_CT_LineNumber_distance: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ aSettings.nDistance = ConversionHelper::convertTwipToMM100( nIntValue ); break; case NS_ooxml::LN_CT_LineNumber_restart: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ //page:empty, probably 0,section:1,continuous:2; aSettings.bRestartAtEachPage = nIntValue < 1; break; @@ -2124,12 +2113,15 @@ void DomainMapper::attribute(Id nName, Value & val) /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->SetCustomFtnMark( true ); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_FtnEdnRef_id: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ // footnote or endnote reference id - not needed case NS_ooxml::LN_CT_Color_themeColor: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Color_themeTint: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Color_themeShade: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //unsupported break; case NS_ooxml::LN_endtrackchange: @@ -2154,9 +2146,6 @@ void DomainMapper::attribute(Id nName, Value & val) } } } -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("attribute"); -#endif } /*-- 09.06.2006 09:52:12--------------------------------------------------- @@ -2217,6 +2206,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case NS_sprm::LN_PJcExtra: // sprmPJc Asian (undocumented) /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ case NS_sprm::LN_PJc: // sprmPJc + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ handleParaJustification(nIntValue, rContext, bExchangeLeftRight); break; case NS_sprm::LN_PFSideBySide: @@ -2322,9 +2312,9 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case NS_sprm::LN_PNest: // sprmPNest //not handled in the old WW8 filter break; - case 0x8460: //first line indent Asian - undocumented + case NS_sprm::LN_PDxaLeft1: // sprmPDxaLeft1 case 19: - case NS_sprm::LN_PDxaLeft1: // sprmPDxaLeft1 + case NS_sprm::LN_PDxaLeft180: // sprmPDxaLeft180 /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 1 */ rContext->Insert( eSprmType == SPRM_DEFAULT ? PROP_PARA_FIRST_LINE_INDENT : PROP_FIRST_LINE_OFFSET, @@ -2426,8 +2416,8 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmPWr - /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_PrBase_pBdr: //paragraph border + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ resolveSprmProps(rSprm); break; /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ @@ -2460,22 +2450,27 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp switch( nSprmId ) { case NS_sprm::LN_PBrcTop: + /* WRITERFILTERSTATUS: */ eBorderId = PROP_TOP_BORDER; eBorderDistId = PROP_TOP_BORDER_DISTANCE; break; case NS_sprm::LN_PBrcLeft: + /* WRITERFILTERSTATUS: */ eBorderId = PROP_LEFT_BORDER; eBorderDistId = PROP_LEFT_BORDER_DISTANCE; break; case NS_sprm::LN_PBrcBottom: + /* WRITERFILTERSTATUS: */ eBorderId = PROP_BOTTOM_BORDER ; eBorderDistId = PROP_BOTTOM_BORDER_DISTANCE; break; case NS_sprm::LN_PBrcRight: + /* WRITERFILTERSTATUS: */ eBorderId = PROP_RIGHT_BORDER; eBorderDistId = PROP_RIGHT_BORDER_DISTANCE ; break; case NS_sprm::LN_PBrcBetween: + /* WRITERFILTERSTATUS: */ //not supported break; default:; @@ -2495,21 +2490,26 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp switch( nSprmId ) { case NS_sprm::LN_PBrcBetween: // sprmPBrcBetween + /* WRITERFILTERSTATUS: */ OSL_ENSURE( false, "TODO: inner border is not handled"); break; case NS_sprm::LN_PBrcLeft: // sprmPBrcLeft + /* WRITERFILTERSTATUS: */ eBorderId = PROP_LEFT_BORDER; eBorderDistId = PROP_LEFT_BORDER_DISTANCE ; break; case NS_sprm::LN_PBrcRight: // sprmPBrcRight + /* WRITERFILTERSTATUS: */ eBorderId = PROP_RIGHT_BORDER ; eBorderDistId = PROP_RIGHT_BORDER_DISTANCE ; break; case NS_sprm::LN_PBrcTop: // sprmPBrcTop + /* WRITERFILTERSTATUS: */ eBorderId = PROP_TOP_BORDER ; eBorderDistId = PROP_TOP_BORDER_DISTANCE; break; case NS_sprm::LN_PBrcBottom: // sprmPBrcBottom + /* WRITERFILTERSTATUS: */ default: eBorderId = PROP_BOTTOM_BORDER ; eBorderDistId = PROP_BOTTOM_BORDER_DISTANCE; @@ -2537,6 +2537,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmPBrcBar case NS_sprm::LN_PFNoAutoHyph: // sprmPFNoAutoHyph + /* WRITERFILTERSTATUS: done: 100, planned: 1, spent: 0 */ rContext->Insert(PROP_PARA_IS_HYPHENATION, true, uno::makeAny( nIntValue ? false : true )); break; case NS_sprm::LN_PWHeightAbs: @@ -2547,8 +2548,8 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; // sprmPDcs case NS_sprm::LN_PShd: // sprmPShd - { /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 2 */ + { //contains fore color, back color and shadow percentage, results in a brush writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if( pProperties.get()) @@ -2571,8 +2572,8 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; // sprmPFLocked case NS_sprm::LN_PFWidowControl: case NS_ooxml::LN_CT_PPrBase_widowControl: - { /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ + { uno::Any aVal( uno::makeAny( sal_Int8(nIntValue ? 2 : 0 ))); rContext->Insert( PROP_PARA_WIDOWS, true, aVal ); rContext->Insert( PROP_PARA_ORPHANS, true, aVal ); @@ -2588,6 +2589,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmPFWordWrap case NS_sprm::LN_PFOverflowPunct: ; // sprmPFOverflowPunct - hanging punctuation + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ rContext->Insert(PROP_PARA_IS_HANGING_PUNCTUATION, true, uno::makeAny( nIntValue ? false : true )); break; case NS_sprm::LN_PFTopLinePunct: @@ -2726,6 +2728,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case NS_sprm::LN_CFItalicBi:// sprmCFItalicBi (offset 0x27 to normal italic) /* WRITERFILTERSTATUS: done: 100, planned: , spent: 0.5 */ case NS_sprm::LN_CFBold: //sprmCFBold + /* WRITERFILTERSTATUS: done: 100, planned: , spent: 0.5 */ case 61: /*sprmCFItalic*/ /* WRITERFILTERSTATUS: done: 100, planned: , spent: 0.5 */ case NS_sprm::LN_CFItalic: //sprmCFItalic @@ -2751,31 +2754,39 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case 60:// sprmCFBold case NS_sprm::LN_CFBoldBi: // sprmCFBoldBi case NS_sprm::LN_CFBold: /*sprmCFBold*/ + /* WRITERFILTERSTATUS: */ ePropertyId = nSprmId != NS_sprm::LN_CFBoldBi ? PROP_CHAR_WEIGHT : PROP_CHAR_WEIGHT_COMPLEX; break; case 61: /*sprmCFItalic*/ case NS_sprm::LN_CFItalicBi: // sprmCFItalicBi case NS_sprm::LN_CFItalic: /*sprmCFItalic*/ + /* WRITERFILTERSTATUS: */ ePropertyId = nSprmId == 0x836 ? PROP_CHAR_POSTURE : PROP_CHAR_POSTURE_COMPLEX; break; case NS_sprm::LN_CFStrike: /*sprmCFStrike*/ case NS_sprm::LN_CFDStrike : /*sprmCFDStrike double strike through*/ + /* WRITERFILTERSTATUS: */ ePropertyId = PROP_CHAR_STRIKEOUT; break; case NS_sprm::LN_CFOutline: /*sprmCFOutline*/ + /* WRITERFILTERSTATUS: */ ePropertyId = PROP_CHAR_CONTOURED; break; case NS_sprm::LN_CFShadow: /*sprmCFShadow*/ + /* WRITERFILTERSTATUS: */ ePropertyId = PROP_CHAR_SHADOWED; break; case NS_sprm::LN_CFSmallCaps: /*sprmCFSmallCaps*/ case NS_sprm::LN_CFCaps: /*sprmCFCaps*/ + /* WRITERFILTERSTATUS: */ ePropertyId = PROP_CHAR_CASE_MAP; break; case NS_sprm::LN_CFVanish: /*sprmCFVanish*/ + /* WRITERFILTERSTATUS: */ ePropertyId = PROP_CHAR_HIDDEN; break; case NS_sprm::LN_CFEmboss: /*sprmCFEmboss*/ + /* WRITERFILTERSTATUS: */ ePropertyId = PROP_CHAR_RELIEF; break; } @@ -2817,6 +2828,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case 60:/*sprmCFBold*/ case NS_sprm::LN_CFBold: /*sprmCFBold*/ case NS_sprm::LN_CFBoldBi: // sprmCFBoldBi + /* WRITERFILTERSTATUS: */ { uno::Any aBold( uno::makeAny( nIntValue ? awt::FontWeight::BOLD : awt::FontWeight::NORMAL ) ); rContext->Insert(ePropertyId, true, aBold ); @@ -2827,6 +2839,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case 61: /*sprmCFItalic*/ case NS_sprm::LN_CFItalic: /*sprmCFItalic*/ case NS_sprm::LN_CFItalicBi: // sprmCFItalicBi + /* WRITERFILTERSTATUS: */ { uno::Any aPosture( uno::makeAny( nIntValue ? awt::FontSlant_ITALIC : awt::FontSlant_NONE ) ); rContext->Insert( ePropertyId, true, aPosture ); @@ -2835,27 +2848,33 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } break; case NS_sprm::LN_CFStrike: /*sprmCFStrike*/ + /* WRITERFILTERSTATUS: */ rContext->Insert(ePropertyId, true, uno::makeAny( nIntValue ? awt::FontStrikeout::SINGLE : awt::FontStrikeout::NONE ) ); break; case NS_sprm::LN_CFDStrike : /*sprmCFDStrike double strike through*/ + /* WRITERFILTERSTATUS: */ rContext->Insert(ePropertyId, true, uno::makeAny( awt::FontStrikeout::DOUBLE ) ); break; case NS_sprm::LN_CFOutline: /*sprmCFOutline*/ case NS_sprm::LN_CFShadow: /*sprmCFShadow*/ case NS_sprm::LN_CFVanish: /*sprmCFVanish*/ + /* WRITERFILTERSTATUS: */ rContext->Insert(ePropertyId, true, uno::makeAny( nIntValue ? true : false )); break; case NS_sprm::LN_CFSmallCaps: /*sprmCFSmallCaps*/ + /* WRITERFILTERSTATUS: */ rContext->Insert(ePropertyId, true, uno::makeAny( nIntValue ? style::CaseMap::SMALLCAPS : style::CaseMap::NONE)); break; case NS_sprm::LN_CFCaps: /*sprmCFCaps*/ + /* WRITERFILTERSTATUS: */ rContext->Insert(ePropertyId, true, uno::makeAny( nIntValue ? style::CaseMap::UPPERCASE : style::CaseMap::NONE)); break; case NS_sprm::LN_CFEmboss: /*sprmCFEmboss*/ + /* WRITERFILTERSTATUS: */ rContext->Insert(ePropertyId, true, uno::makeAny( nIntValue ? awt::FontRelief::EMBOSSED : awt::FontRelief::NONE )); break; @@ -3021,7 +3040,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp eFontPitch = PROP_CHAR_FONT_PITCH_COMPLEX; break; } - const FontEntry* pFontEntry = pFontTable->getFontEntry(sal_uInt32(nIntValue)); + const FontEntry::Pointer_t pFontEntry(pFontTable->getFontEntry(sal_uInt32(nIntValue))); rContext->Insert(eFontName, true, uno::makeAny( pFontEntry->sFontName )); // rContext->Insert(eFontStyle, uno::makeAny( pFontEntry-> )); // rContext->Insert(eFontFamily, uno::makeAny( pFontEntry-> )); @@ -3048,13 +3067,13 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmCPropRMark case NS_sprm::LN_CSfxText: + /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ // The file-format has many character animations. We have only // one, so we use it always. Suboptimal solution though. if (nIntValue) rContext->Insert(PROP_CHAR_FLASH, true, uno::makeAny( true )); else rContext->Insert(PROP_CHAR_FLASH, true, uno::makeAny( false )); - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmCSfxText case NS_sprm::LN_CFBiDi: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ @@ -3091,7 +3110,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; // sprmCCpg case NS_sprm::LN_CLidBi: // sprmCLidBi language complex /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ - case 0x4873: //sprmCRgLid + case NS_sprm::LN_CRgLid0_80: //sprmCRgLid0_80 /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 1 */ //undocumented but interpreted as western language case NS_sprm::LN_CRgLid0: // sprmCRgLid0 language Western @@ -3197,8 +3216,8 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case 143: case NS_sprm::LN_SFTitlePage: // sprmSFTitlePage case NS_ooxml::LN_EG_SectPrContents_titlePg: - { /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ + { OSL_ENSURE(pSectionContext, "SectionContext unavailable!"); if(pSectionContext) pSectionContext->SetTitlePage( nIntValue > 0 ? true : false );//section has title page @@ -3689,14 +3708,14 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ resolveSprmProps(rSprm); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_Tabs_tab: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ resolveSprmProps(rSprm); m_pImpl->IncorporateTabStop(m_pImpl->m_aCurrentTabStop); m_pImpl->m_aCurrentTabStop = DeletableTabStop(); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_PPrBase_tabs: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { // Initialize tab stop vector from style sheet if( !m_pImpl->IsStyleSheetImport() ) @@ -3749,10 +3768,10 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ resolveSprmProps(rSprm); break; - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ case NS_ooxml::LN_EG_SectPrContents_footnotePr: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 1ß0, planned: 0.5, spent: 0 */ case NS_ooxml::LN_EG_SectPrContents_endnotePr: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->SetInFootnoteProperties( NS_ooxml::LN_EG_SectPrContents_footnotePr == nSprmId ); resolveSprmProps(rSprm); break; @@ -3783,8 +3802,8 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } break; case NS_ooxml::LN_CT_PPrBase_framePr: - { /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + { PropertyMapPtr pContext = m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH); if( pContext.get() ) { @@ -3893,8 +3912,8 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; case NS_ooxml::LN_CT_PPrBase_pStyle: - { /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + { m_pImpl->SetCurrentParaStyleId( sStringValue ); StyleSheetTablePtr pStyleTable = m_pImpl->GetStyleSheetTable(); const ::rtl::OUString sConvertedStyleName = pStyleTable->ConvertStyleName( sStringValue, true ); @@ -3932,14 +3951,14 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp resolveSprmProps(rSprm);//contains LN_CT_TblCellMar_top, LN_CT_TblCellMar_left, LN_CT_TblCellMar_bottom, LN_CT_TblCellMar_right } break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_TblCellMar_top: - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_TblCellMar_left: - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_TblCellMar_bottom: - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_TblCellMar_right: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if( pProperties.get()) @@ -3951,14 +3970,18 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp switch(nSprmId) { case NS_ooxml::LN_CT_TblCellMar_top: + /* WRITERFILTERSTATUS: */ break; case NS_ooxml::LN_CT_TblCellMar_left: + /* WRITERFILTERSTATUS: */ eId = META_PROP_CELL_MAR_LEFT; break; case NS_ooxml::LN_CT_TblCellMar_bottom: + /* WRITERFILTERSTATUS: */ eId = META_PROP_CELL_MAR_BOTTOM; break; case NS_ooxml::LN_CT_TblCellMar_right: + /* WRITERFILTERSTATUS: */ eId = META_PROP_CELL_MAR_RIGHT; break; default:; @@ -4016,18 +4039,18 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp // case NS_ooxml::LN_CT_FtnEdn_id /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ // case NS_ooxml::LN_EG_FtnEdnNumProps_numRestart - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_FtnProps_pos: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ //footnotes in word can be at page end or beneath text - writer supports only the first //endnotes in word can be at section end or document end - writer supports only the latter // -> so this property can be ignored break; - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_EG_FtnEdnNumProps_numStart: - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_FtnProps_numFmt: - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_EdnProps_numFmt: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { try { @@ -4122,23 +4145,24 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ break; case NS_ooxml::LN_EG_RPrBase_snapToGrid: // "Use document grid settings for inter-paragraph spacing" + /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; case NS_sprm::LN_PContextualSpacing: //TODO: determines whether top/bottom paragraph spacing is added if equal styles are following - unsupported break; case NS_ooxml::LN_EG_SectPrContents_formProt: //section protection, only form editing is enabled - unsupported + /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; case NS_ooxml::LN_CT_Lvl_pStyle: + /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ //TODO: numbering style should apply current numbering level - not yet supported break; default: { -#if OSL_DEBUG_LEVEL > 0 - ::rtl::OString sMessage( "DomainMapper::sprm() - Id: "); - sMessage += ::rtl::OString::valueOf( sal_Int32( nSprmId ), 10 ); - sMessage += ::rtl::OString(" / 0x"); - sMessage += ::rtl::OString::valueOf( sal_Int32( nSprmId ), 16 ); - OSL_ENSURE( false, sMessage.getStr()); // +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("unhandled"); + dmapper_logger->attribute("id", nSprmId); + dmapper_logger->endElement("unhandled"); #endif } } @@ -4153,7 +4177,15 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp void DomainMapper::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("entry"); +#endif + ref->resolve(*this); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("entry"); +#endif } /*-- 09.06.2006 09:52:13--------------------------------------------------- @@ -4258,12 +4290,19 @@ void DomainMapper::endParagraphGroup() void DomainMapper::startShape( uno::Reference< drawing::XShape > xShape ) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("shape"); +#endif m_pImpl->PushShapeContext( xShape ); } void DomainMapper::endShape( ) { m_pImpl->PopShapeContext( ); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("shape"); +#endif } /*-- 13.06.2007 16:15:55--------------------------------------------------- @@ -4399,6 +4438,9 @@ void DomainMapper::text(const sal_uInt8 * data_, size_t len) //sal_uInt32 nSize = pContext->size(); //<-- + if (pContext == NULL) + pContext.reset(new PropertyMap()); + m_pImpl->appendTextPortion( sText, pContext ); #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("text"); @@ -4421,6 +4463,13 @@ void DomainMapper::utext(const sal_uInt8 * data_, size_t len) OUStringBuffer aBuffer = OUStringBuffer(len); aBuffer.append( (const sal_Unicode *) data_, len); sText = aBuffer.makeStringAndClear(); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("utext"); + dmapper_logger->chars(sText); + dmapper_logger->endElement("utext"); +#endif + try { m_pImpl->getTableManager().utext(data_, len); @@ -4449,7 +4498,7 @@ void DomainMapper::utext(const sal_uInt8 * data_, size_t len) //otherwise ignore sText } else */ - if( pContext->GetFootnote().is() ) + if( pContext && pContext->GetFootnote().is() ) { if( !pContext->GetFootnoteSymbol() ) pContext->GetFootnote()->setLabel( sText ); @@ -4462,13 +4511,13 @@ void DomainMapper::utext(const sal_uInt8 * data_, size_t len) set at the field or directly inserted into the text*/ m_pImpl->SetFieldResult( sText ); else + { + if (pContext == NULL) + pContext.reset(new PropertyMap()); + m_pImpl->appendTextPortion( sText, pContext ); + } -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("utext"); - dmapper_logger->chars(sText); - dmapper_logger->endElement("utext"); -#endif } } catch( const uno::RuntimeException& ) @@ -4548,8 +4597,9 @@ void DomainMapper::table(Id name, writerfilter::Reference<Table>::Pointer_t ref) case NS_ooxml::LN_THEMETABLE: ref->resolve ( *m_pImpl->GetThemeTable() ); break; - case NS_ooxml::LN_SETTINGS: - ref->resolve( *m_pImpl->GetSettingsTable( ) ); + case NS_ooxml::LN_settings_settings: + ref->resolve ( *m_pImpl->GetSettingsTable() ); + m_pImpl->ApplySettingsTable(); break; default: OSL_ENSURE( false, "which table is to be filled here?"); diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index e88d8d1d5a67..e070a42a3289 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -30,8 +30,10 @@ #include <com/sun/star/table/TableBorderDistances.hpp> #include <com/sun/star/table/TableBorder.hpp> #include <com/sun/star/text/HoriOrientation.hpp> -#if OSL_DEBUG_LEVEL > 1 -#include <iostream> +#include <dmapperLoggers.hxx> + +#ifdef DEBUG_DOMAINMAPPER +#include <PropertyMapHelper.hxx> #endif namespace writerfilter { @@ -43,21 +45,13 @@ using namespace ::std; #define DEF_BORDER_DIST 190 //0,19cm #define DEFAULT_CELL_MARGIN 108 //default cell margin, not documented -#ifdef DEBUG -static void lcl_printHandle(const Handle_t rHandle) -{ - if (!rHandle.get()) - return; - rtl::OUString aOUStr = rHandle->getString(); - rtl::OString aOStr(aOUStr.getStr(), aOUStr.getLength(), RTL_TEXTENCODING_ASCII_US ); - - clog << aOStr.getStr() << endl; -} +#ifdef DEBUG_DOMAINMAPPER static void lcl_printProperties( PropertyMapPtr pProps ) { if( pProps.get() ) { - clog << "<properties>"; + dmapper_logger->startElement("properties"); + PropertyMap::const_iterator aMapIter = pProps->begin(); PropertyMap::const_iterator aEndIter = pProps->end(); PropertyNameSupplier& rPropSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); @@ -71,18 +65,21 @@ static void lcl_printProperties( PropertyMapPtr pProps ) sal_Int32 nColor; if ( aMapIter->second >>= aLine ) { - clog << ": BorderLine ( Color: " << aLine.Color; - clog << ", Inner: " << aLine.InnerLineWidth; - clog << ", Outer: " << aLine.OuterLineWidth << ") "; + dmapper_logger->startElement("borderline"); + dmapper_logger->attribute("color", aLine.Color); + dmapper_logger->attribute("inner", aLine.InnerLineWidth); + dmapper_logger->attribute("outer", aLine.OuterLineWidth); + dmapper_logger->endElement("borderline"); } else if ( aMapIter->second >>= nColor ) { - clog << ": Color ( " << nColor << " ) "; + dmapper_logger->startElement("color"); + dmapper_logger->attribute("number", nColor); + dmapper_logger->endElement("color"); } - - clog << " - "; } - clog << endl; + + dmapper_logger->endElement("properties"); } } #endif @@ -107,11 +104,12 @@ void DomainMapperTableHandler::startTable(unsigned int nRows, m_pTableSeq = TableSequencePointer_t(new TableSequence_t(nRows)); m_nRowIndex = 0; -#if OSL_DEBUG_LEVEL > 1 - char sBuffer[256]; - snprintf(sBuffer, sizeof(sBuffer), "%d", nRows); - clog << "<table rows=\"" << sBuffer << "\">" << endl; - lcl_printProperties( pProps ); +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("tablehandler.table"); + dmapper_logger->attribute("rows", nRows); + + if (pProps.get() != NULL) + dmapper_logger->addTag(pProps->toTag()); #endif } @@ -120,6 +118,11 @@ void DomainMapperTableHandler::startTable(unsigned int nRows, -----------------------------------------------------------------------*/ PropertyMapPtr lcl_SearchParentStyleSheetAndMergeProperties(const StyleSheetEntryPtr pStyleSheet, StyleSheetTablePtr pStyleSheetTable) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("lcl_SearchParentStyleSheetAndMergeProperties"); + dmapper_logger->addTag(pStyleSheet->toTag()); +#endif + PropertyMapPtr pRet; if( pStyleSheet->sBaseStyleIdentifier.getLength()) { @@ -132,6 +135,11 @@ PropertyMapPtr lcl_SearchParentStyleSheetAndMergeProperties(const StyleSheetEntr } pRet->insert( pStyleSheet->pProperties, true ); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("lcl_SearchParentStyleSheetAndMergeProperties"); +#endif + return pRet; } @@ -233,46 +241,65 @@ void lcl_computeCellBorders( PropertyMapPtr pTableBorders, PropertyMapPtr pCellP } } -void DomainMapperTableHandler::endTable() -{ -#if OSL_DEBUG_LEVEL > 1 +#ifdef DEBUG_DOMAINMAPPER + +void lcl_debug_BorderLine(table::BorderLine & rLine) { - clog << "</table>" << endl; - sal_uInt32 nCells = 0; - sal_uInt32 nRows = m_aRowProperties.size(); - if( nRows == m_aCellProperties.size() ) - { - for( sal_uInt32 nRow = 0; nRow < nRows; ++nRow ) - nCells += m_aCellProperties[nRow].size(); - } - sal_uInt32 nTblPropSize = m_aTableProperties.get() ? m_aTableProperties->size() : 0; - (void)nTblPropSize; + dmapper_logger->startElement("BorderLine"); + dmapper_logger->attribute("Color", rLine.Color); + dmapper_logger->attribute("InnerLineWidth", rLine.InnerLineWidth); + dmapper_logger->attribute("OuterLineWidth", rLine.OuterLineWidth); + dmapper_logger->attribute("LineDistance", rLine.LineDistance); + dmapper_logger->endElement("BorderLine"); +} - ::rtl::OUString sNames; - if( nTblPropSize ) - { - const beans::PropertyValues aDebugTbl = m_aTableProperties->GetPropertyValues(); - for( sal_uInt32 nDebug = 0; nDebug < nTblPropSize; ++nDebug) - { - const ::rtl::OUString sName = aDebugTbl[nDebug].Name; - sNames += sName; - sNames += ::rtl::OUString('-'); - } - m_aTableProperties->Invalidate(); - sNames += ::rtl::OUString(' '); - clog << "Props: " << rtl::OUStringToOString( sNames, RTL_TEXTENCODING_UTF8 ).getStr( ) << endl; - } +void lcl_debug_TableBorder(table::TableBorder & rBorder) +{ + dmapper_logger->startElement("TableBorder"); + lcl_debug_BorderLine(rBorder.TopLine); + dmapper_logger->attribute("IsTopLineValid", rBorder.IsTopLineValid); + lcl_debug_BorderLine(rBorder.BottomLine); + dmapper_logger->attribute("IsBottomLineValid", rBorder.IsBottomLineValid); + lcl_debug_BorderLine(rBorder.LeftLine); + dmapper_logger->attribute("IsLeftLineValid", rBorder.IsLeftLineValid); + lcl_debug_BorderLine(rBorder.RightLine); + dmapper_logger->attribute("IsRightLineValid", rBorder.IsRightLineValid); + lcl_debug_BorderLine(rBorder.VerticalLine); + dmapper_logger->attribute("IsVerticalLineValid", rBorder.IsVerticalLineValid); + lcl_debug_BorderLine(rBorder.HorizontalLine); + dmapper_logger->attribute("IsHorizontalLineValid", rBorder.IsHorizontalLineValid); + dmapper_logger->attribute("Distance", rBorder.Distance); + dmapper_logger->attribute("IsDistanceValid", rBorder.IsDistanceValid); + dmapper_logger->endElement("TableBorder"); } #endif - TablePropertyValues_t aTableProperties; - sal_Int32 nLeftBorderDistance, nRightBorderDistance, nTopBorderDistance, nBottomBorderDistance; - nLeftBorderDistance = nRightBorderDistance = DEF_BORDER_DIST; - nTopBorderDistance = nBottomBorderDistance = 0; +struct TableInfo +{ + sal_Int32 nLeftBorderDistance; + sal_Int32 nRightBorderDistance; + sal_Int32 nTopBorderDistance; + sal_Int32 nBottomBorderDistance; + PropertyMapPtr pTableDefaults; + PropertyMapPtr pTableBorders; + TableStyleSheetEntry* pTableStyle; + TablePropertyValues_t aTableProperties; + + TableInfo() + : nLeftBorderDistance(DEF_BORDER_DIST) + , nRightBorderDistance(DEF_BORDER_DIST) + , nTopBorderDistance(0) + , nBottomBorderDistance(0) + , pTableDefaults(new PropertyMap) + , pTableBorders(new PropertyMap) + , pTableStyle(NULL) + { + } - PropertyMapPtr pTableDefaults( new PropertyMap ); - PropertyMapPtr pTableBorders( new PropertyMap ); +}; +TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo & rInfo) +{ // will receive the table style if any TableStyleSheetEntry* pTableStyle = NULL; @@ -286,7 +313,7 @@ void DomainMapperTableHandler::endTable() sal_Int32 nTableWidth = 0; PropertyMap::iterator aTableStyleIter = - m_aTableProperties->find( PropertyDefinition( META_PROP_TABLE_STYLE_NAME, false ) ); + m_aTableProperties->find( PropertyDefinition( META_PROP_TABLE_STYLE_NAME, false ) ); if(aTableStyleIter != m_aTableProperties->end()) { // Apply table style properties recursively @@ -294,7 +321,7 @@ void DomainMapperTableHandler::endTable() aTableStyleIter->second >>= sTableStyleName; StyleSheetTablePtr pStyleSheetTable = m_rDMapper_Impl.GetStyleSheetTable(); const StyleSheetEntryPtr pStyleSheet = pStyleSheetTable->FindStyleSheetByISTD( sTableStyleName ); - pTableStyle = static_cast<TableStyleSheetEntry*>( pStyleSheet.get( ) ); + pTableStyle = dynamic_cast<TableStyleSheetEntry*>( pStyleSheet.get( ) ); m_aTableProperties->erase( aTableStyleIter ); if( pStyleSheet ) @@ -307,31 +334,53 @@ void DomainMapperTableHandler::endTable() PropertyMapPtr pMergedProperties = lcl_SearchParentStyleSheetAndMergeProperties(pStyleSheet, pStyleSheetTable); +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("mergedProps"); + dmapper_logger->addTag(pMergedProperties->toTag()); + dmapper_logger->endElement("mergedProps"); +#endif + m_aTableProperties->insert( pMergedProperties ); m_aTableProperties->insert( pTableProps ); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("TableProperties"); + dmapper_logger->addTag(m_aTableProperties->toTag()); + dmapper_logger->endElement("TableProperties"); +#endif } } // Set the table default attributes for the cells - pTableDefaults->insert( m_aTableProperties ); + rInfo.pTableDefaults->insert( m_aTableProperties ); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("TableDefaults"); + dmapper_logger->addTag(rInfo.pTableDefaults->toTag()); + dmapper_logger->endElement("TableDefaults"); +#endif m_aTableProperties->getValue( TablePropertyMap::GAP_HALF, nGapHalf ); m_aTableProperties->getValue( TablePropertyMap::LEFT_MARGIN, nLeftMargin ); - m_aTableProperties->getValue( TablePropertyMap::CELL_MAR_LEFT, nLeftBorderDistance ); - m_aTableProperties->getValue( TablePropertyMap::CELL_MAR_RIGHT, nRightBorderDistance ); - m_aTableProperties->getValue( TablePropertyMap::CELL_MAR_TOP, nTopBorderDistance ); - m_aTableProperties->getValue( TablePropertyMap::CELL_MAR_BOTTOM, nBottomBorderDistance ); + m_aTableProperties->getValue( TablePropertyMap::CELL_MAR_LEFT, + rInfo.nLeftBorderDistance ); + m_aTableProperties->getValue( TablePropertyMap::CELL_MAR_RIGHT, + rInfo.nRightBorderDistance ); + m_aTableProperties->getValue( TablePropertyMap::CELL_MAR_TOP, + rInfo.nTopBorderDistance ); + m_aTableProperties->getValue( TablePropertyMap::CELL_MAR_BOTTOM, + rInfo.nBottomBorderDistance ); table::TableBorderDistances aDistances; aDistances.IsTopDistanceValid = - aDistances.IsBottomDistanceValid = - aDistances.IsLeftDistanceValid = - aDistances.IsRightDistanceValid = sal_True; - aDistances.TopDistance = static_cast<sal_Int16>( nTopBorderDistance ); - aDistances.BottomDistance = static_cast<sal_Int16>( nBottomBorderDistance ); - aDistances.LeftDistance = static_cast<sal_Int16>( nLeftBorderDistance ); - aDistances.RightDistance = static_cast<sal_Int16>( nRightBorderDistance ); + aDistances.IsBottomDistanceValid = + aDistances.IsLeftDistanceValid = + aDistances.IsRightDistanceValid = sal_True; + aDistances.TopDistance = static_cast<sal_Int16>( rInfo.nTopBorderDistance ); + aDistances.BottomDistance = static_cast<sal_Int16>( rInfo.nBottomBorderDistance ); + aDistances.LeftDistance = static_cast<sal_Int16>( rInfo.nLeftBorderDistance ); + aDistances.RightDistance = static_cast<sal_Int16>( rInfo.nRightBorderDistance ); m_aTableProperties->Insert( PROP_TABLE_BORDER_DISTANCES, false, uno::makeAny( aDistances ) ); @@ -345,10 +394,11 @@ void DomainMapperTableHandler::endTable() aTableBorder.IsTopLineValid = true; m_aTableProperties->erase( aTblBorderIter ); - pTableBorders->Insert( PROP_TOP_BORDER, false, uno::makeAny( aTableBorder.TopLine ) ); - PropertyMap::iterator pIt = pTableDefaults->find( PropertyDefinition( PROP_TOP_BORDER, false ) ); - if ( pIt != pTableDefaults->end( ) ) - pTableDefaults->erase( pIt ); + rInfo.pTableBorders->Insert( PROP_TOP_BORDER, false, + uno::makeAny( aTableBorder.TopLine ) ); + PropertyMap::iterator pIt = rInfo.pTableDefaults->find( PropertyDefinition( PROP_TOP_BORDER, false ) ); + if ( pIt != rInfo.pTableDefaults->end( ) ) + rInfo.pTableDefaults->erase( pIt ); } aTblBorderIter = m_aTableProperties->find( PropertyDefinition(PROP_BOTTOM_BORDER, false) ); if( aTblBorderIter != m_aTableProperties->end() ) @@ -357,10 +407,11 @@ void DomainMapperTableHandler::endTable() aTableBorder.IsBottomLineValid = true; m_aTableProperties->erase( aTblBorderIter ); - pTableBorders->Insert( PROP_BOTTOM_BORDER, false, uno::makeAny( aTableBorder.BottomLine ) ); - PropertyMap::iterator pIt = pTableDefaults->find( PropertyDefinition( PROP_BOTTOM_BORDER, false ) ); - if ( pIt != pTableDefaults->end( ) ) - pTableDefaults->erase( pIt ); + rInfo.pTableBorders->Insert( PROP_BOTTOM_BORDER, false, + uno::makeAny( aTableBorder.BottomLine)); + PropertyMap::iterator pIt = rInfo.pTableDefaults->find( PropertyDefinition( PROP_BOTTOM_BORDER, false ) ); + if ( pIt != rInfo.pTableDefaults->end( ) ) + rInfo.pTableDefaults->erase( pIt ); } aTblBorderIter = m_aTableProperties->find( PropertyDefinition(PROP_LEFT_BORDER, false) ); if( aTblBorderIter != m_aTableProperties->end() ) @@ -369,10 +420,11 @@ void DomainMapperTableHandler::endTable() aTableBorder.IsLeftLineValid = true; m_aTableProperties->erase( aTblBorderIter ); - pTableBorders->Insert( PROP_LEFT_BORDER, false, uno::makeAny( aTableBorder.LeftLine ) ); - PropertyMap::iterator pIt = pTableDefaults->find( PropertyDefinition( PROP_LEFT_BORDER, false ) ); - if ( pIt != pTableDefaults->end( ) ) - pTableDefaults->erase( pIt ); + rInfo.pTableBorders->Insert( PROP_LEFT_BORDER, false, + uno::makeAny( aTableBorder.LeftLine ) ); + PropertyMap::iterator pIt = rInfo.pTableDefaults->find( PropertyDefinition( PROP_LEFT_BORDER, false ) ); + if ( pIt != rInfo.pTableDefaults->end( ) ) + rInfo.pTableDefaults->erase( pIt ); } aTblBorderIter = m_aTableProperties->find( PropertyDefinition(PROP_RIGHT_BORDER, false) ); if( aTblBorderIter != m_aTableProperties->end() ) @@ -381,10 +433,11 @@ void DomainMapperTableHandler::endTable() aTableBorder.IsRightLineValid = true; m_aTableProperties->erase( aTblBorderIter ); - pTableBorders->Insert( PROP_RIGHT_BORDER, false, uno::makeAny( aTableBorder.RightLine ) ); - PropertyMap::iterator pIt = pTableDefaults->find( PropertyDefinition( PROP_RIGHT_BORDER, false ) ); - if ( pIt != pTableDefaults->end( ) ) - pTableDefaults->erase( pIt ); + rInfo.pTableBorders->Insert( PROP_RIGHT_BORDER, false, + uno::makeAny( aTableBorder.RightLine ) ); + PropertyMap::iterator pIt = rInfo.pTableDefaults->find( PropertyDefinition( PROP_RIGHT_BORDER, false ) ); + if ( pIt != rInfo.pTableDefaults->end( ) ) + rInfo.pTableDefaults->erase( pIt ); } aTblBorderIter = m_aTableProperties->find( PropertyDefinition(META_PROP_HORIZONTAL_BORDER, false) ); if( aTblBorderIter != m_aTableProperties->end() ) @@ -393,10 +446,12 @@ void DomainMapperTableHandler::endTable() aTableBorder.IsHorizontalLineValid = true; m_aTableProperties->erase( aTblBorderIter ); - pTableBorders->Insert( META_PROP_HORIZONTAL_BORDER, false, uno::makeAny( aTableBorder.HorizontalLine ) ); - PropertyMap::iterator pIt = pTableDefaults->find( PropertyDefinition( META_PROP_HORIZONTAL_BORDER, false ) ); - if ( pIt != pTableDefaults->end( ) ) - pTableDefaults->erase( pIt ); + rInfo.pTableBorders->Insert + (META_PROP_HORIZONTAL_BORDER, false, + uno::makeAny( aTableBorder.HorizontalLine ) ); + PropertyMap::iterator pIt = rInfo.pTableDefaults->find( PropertyDefinition( META_PROP_HORIZONTAL_BORDER, false ) ); + if ( pIt != rInfo.pTableDefaults->end( ) ) + rInfo.pTableDefaults->erase( pIt ); } aTblBorderIter = m_aTableProperties->find( PropertyDefinition(META_PROP_VERTICAL_BORDER, false) ); if( aTblBorderIter != m_aTableProperties->end() ) @@ -405,17 +460,23 @@ void DomainMapperTableHandler::endTable() aTableBorder.IsVerticalLineValid = true; m_aTableProperties->erase( aTblBorderIter ); - pTableBorders->Insert( META_PROP_VERTICAL_BORDER, false, uno::makeAny( aTableBorder.VerticalLine ) ); - PropertyMap::iterator pIt = pTableDefaults->find( PropertyDefinition( META_PROP_VERTICAL_BORDER, false ) ); - if ( pIt != pTableDefaults->end( ) ) - pTableDefaults->erase( pIt ); + rInfo.pTableBorders->Insert + (META_PROP_VERTICAL_BORDER, false, + uno::makeAny( aTableBorder.VerticalLine ) ); + PropertyMap::iterator pIt = rInfo.pTableDefaults->find( PropertyDefinition( META_PROP_VERTICAL_BORDER, false ) ); + if ( pIt != rInfo.pTableDefaults->end( ) ) + rInfo.pTableDefaults->erase( pIt ); } aTableBorder.Distance = 0; aTableBorder.IsDistanceValid = false; m_aTableProperties->Insert( PROP_TABLE_BORDER, false, uno::makeAny( aTableBorder ) ); - m_aTableProperties->Insert( PROP_LEFT_MARGIN, false, uno::makeAny( nLeftMargin - nGapHalf - nLeftBorderDistance)); +#ifdef DEBUG_DOMAINMAPPER + lcl_debug_TableBorder(aTableBorder); +#endif + + m_aTableProperties->Insert( PROP_LEFT_MARGIN, false, uno::makeAny( nLeftMargin - nGapHalf - rInfo.nLeftBorderDistance)); m_aTableProperties->getValue( TablePropertyMap::TABLE_WIDTH, nTableWidth ); if( nTableWidth > 0 ) @@ -427,22 +488,37 @@ void DomainMapperTableHandler::endTable() //fill default value - if not available const PropertyMap::const_iterator aRepeatIter = - m_aTableProperties->find( PropertyDefinition( PROP_HEADER_ROW_COUNT, false ) ); + m_aTableProperties->find( PropertyDefinition( PROP_HEADER_ROW_COUNT, false ) ); if( aRepeatIter == m_aTableProperties->end() ) m_aTableProperties->Insert( PROP_HEADER_ROW_COUNT, false, uno::makeAny( (sal_Int32)0 )); // Remove the PROP_HEADER_ROW_COUNT from the table default to avoid // propagating it to the cells PropertyMap::iterator aDefaultRepeatIt = - pTableDefaults->find( PropertyDefinition( PROP_HEADER_ROW_COUNT, false ) ); - if ( aDefaultRepeatIt != pTableDefaults->end( ) ) - pTableDefaults->erase( aDefaultRepeatIt ); + rInfo.pTableDefaults->find( PropertyDefinition( PROP_HEADER_ROW_COUNT, false ) ); + if ( aDefaultRepeatIt != rInfo.pTableDefaults->end( ) ) + rInfo.pTableDefaults->erase( aDefaultRepeatIt ); + + rInfo.aTableProperties = m_aTableProperties->GetPropertyValues(); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("debug.tableprops"); + dmapper_logger->addTag(m_aTableProperties->toTag()); + dmapper_logger->endElement("debug.tableprops"); +#endif - aTableProperties = m_aTableProperties->GetPropertyValues(); } - // expands to uno::Sequence< Sequence< beans::PropertyValues > > - CellPropertyValuesSeq_t aCellProperties( m_aCellProperties.size() ); + return pTableStyle; +} + +CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(TableInfo & rInfo) +{ +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("getCellProperties"); +#endif + + CellPropertyValuesSeq_t aCellProperties( m_aCellProperties.size() ); // std::vector< std::vector<PropertyMapPtr> > m_aCellProperties PropertyMapVector2::const_iterator aRowOfCellsIterator = m_aCellProperties.begin(); @@ -467,7 +543,7 @@ void DomainMapperTableHandler::endTable() PropertyMap::iterator pTcCnfStyleIt = pRowProps->find( PropertyDefinition( PROP_CNF_STYLE, true ) ); if ( pTcCnfStyleIt != pRowProps->end( ) ) { - if ( pTableStyle ) + if ( rInfo.pTableStyle ) { rtl::OUString sMask; pTcCnfStyleIt->second >>= sMask; @@ -490,26 +566,26 @@ void DomainMapperTableHandler::endTable() //aCellIterator points to a PropertyMapPtr; if( aCellIterator->get() ) { - if ( pTableDefaults->size( ) ) - pAllCellProps->insert( pTableDefaults ); + if ( rInfo.pTableDefaults->size( ) ) + pAllCellProps->insert( rInfo.pTableDefaults ); - // Fill the cell properties with the ones of the style - sal_Int32 nCellStyleMask = 0; - const PropertyMap::iterator aCnfStyleIter = + // Fill the cell properties with the ones of the style + sal_Int32 nCellStyleMask = 0; + const PropertyMap::iterator aCnfStyleIter = aCellIterator->get()->find( PropertyDefinition( PROP_CNF_STYLE, false ) ); - if ( aCnfStyleIter != aCellIterator->get( )->end( ) ) - { - if ( pTableStyle ) { - rtl::OUString sMask; - aCnfStyleIter->second >>= sMask; - nCellStyleMask = sMask.toInt32( 2 ); + if ( aCnfStyleIter != aCellIterator->get( )->end( ) ) + { + if ( rInfo.pTableStyle ) { + rtl::OUString sMask; + aCnfStyleIter->second >>= sMask; + nCellStyleMask = sMask.toInt32( 2 ); + } + aCellIterator->get( )->erase( aCnfStyleIter ); } - aCellIterator->get( )->erase( aCnfStyleIter ); - } - if ( pTableStyle ) + if ( rInfo.pTableStyle ) { - PropertyMapPtr pStyleProps = pTableStyle->GetProperties( nCellStyleMask + nRowStyleMask ); + PropertyMapPtr pStyleProps = rInfo.pTableStyle->GetProperties( nCellStyleMask + nRowStyleMask ); pAllCellProps->insert( pStyleProps ); } @@ -517,43 +593,48 @@ void DomainMapperTableHandler::endTable() pAllCellProps->insert( *aCellIterator ); aCellIterator->get( )->swap( *pAllCellProps.get( ) ); -#if DEBUG - clog << "Cell #" << nCell << ", Row #" << nRow << endl; +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("cell"); + dmapper_logger->attribute("cell", nCell); + dmapper_logger->attribute("row", nRow); #endif - lcl_computeCellBorders( pTableBorders, *aCellIterator, nCell, nRow, bIsEndCol, bIsEndRow ); + lcl_computeCellBorders( rInfo.pTableBorders, *aCellIterator, nCell, nRow, bIsEndCol, bIsEndRow ); //now set the default left+right border distance TODO: there's an sprm containing the default distance! const PropertyMap::const_iterator aLeftDistanceIter = - aCellIterator->get()->find( PropertyDefinition(PROP_LEFT_BORDER_DISTANCE, false) ); + aCellIterator->get()->find( PropertyDefinition(PROP_LEFT_BORDER_DISTANCE, false) ); if( aLeftDistanceIter == aCellIterator->get()->end() ) aCellIterator->get()->Insert( PROP_LEFT_BORDER_DISTANCE, false, - uno::makeAny(nLeftBorderDistance ) ); + uno::makeAny(rInfo.nLeftBorderDistance ) ); const PropertyMap::const_iterator aRightDistanceIter = - aCellIterator->get()->find( PropertyDefinition(PROP_RIGHT_BORDER_DISTANCE, false) ); + aCellIterator->get()->find( PropertyDefinition(PROP_RIGHT_BORDER_DISTANCE, false) ); if( aRightDistanceIter == aCellIterator->get()->end() ) aCellIterator->get()->Insert( PROP_RIGHT_BORDER_DISTANCE, false, - uno::makeAny((sal_Int32) nRightBorderDistance ) ); + uno::makeAny((sal_Int32) rInfo.nRightBorderDistance ) ); const PropertyMap::const_iterator aTopDistanceIter = - aCellIterator->get()->find( PropertyDefinition(PROP_TOP_BORDER_DISTANCE, false) ); + aCellIterator->get()->find( PropertyDefinition(PROP_TOP_BORDER_DISTANCE, false) ); if( aTopDistanceIter == aCellIterator->get()->end() ) aCellIterator->get()->Insert( PROP_TOP_BORDER_DISTANCE, false, - uno::makeAny((sal_Int32) nTopBorderDistance ) ); + uno::makeAny((sal_Int32) rInfo.nTopBorderDistance ) ); const PropertyMap::const_iterator aBottomDistanceIter = - aCellIterator->get()->find( PropertyDefinition(PROP_BOTTOM_BORDER_DISTANCE, false) ); + aCellIterator->get()->find( PropertyDefinition(PROP_BOTTOM_BORDER_DISTANCE, false) ); if( aBottomDistanceIter == aCellIterator->get()->end() ) aCellIterator->get()->Insert( PROP_BOTTOM_BORDER_DISTANCE, false, - uno::makeAny((sal_Int32) nBottomBorderDistance ) ); + uno::makeAny((sal_Int32) rInfo.nBottomBorderDistance ) ); pSingleCellProperties[nCell] = aCellIterator->get()->GetPropertyValues(); +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("cell"); +#endif } ++nCell; ++aCellIterator; } -#if OSL_DEBUG_LEVEL > 1 -//-->debug cell properties +#ifdef DEBUG_DOMAINMAPPER + //-->debug cell properties { ::rtl::OUString sNames; const uno::Sequence< beans::PropertyValues > aDebugCurrentRow = aCellProperties[nRow]; @@ -573,91 +654,101 @@ void DomainMapperTableHandler::endTable() } (void)sNames; } -//--< + //--< #endif ++nRow; ++aRowOfCellsIterator; } -#if OSL_DEBUG_LEVEL > 1 -//-->debug cell properties of all rows - { - ::rtl::OUString sNames; - for( sal_Int32 nDebugRow = 0; nDebugRow < aCellProperties.getLength(); ++nDebugRow) - { - const uno::Sequence< beans::PropertyValues > aDebugCurrentRow = aCellProperties[nDebugRow]; - sal_Int32 nDebugCells = aDebugCurrentRow.getLength(); - (void) nDebugCells; - for( sal_Int32 nDebugCell = 0; nDebugCell < nDebugCells; ++nDebugCell) - { - const uno::Sequence< beans::PropertyValue >& aDebugCellProperties = aDebugCurrentRow[nDebugCell]; - sal_Int32 nDebugCellProperties = aDebugCellProperties.getLength(); - for( sal_Int32 nDebugProperty = 0; nDebugProperty < nDebugCellProperties; ++nDebugProperty) - { - const ::rtl::OUString sName = aDebugCellProperties[nDebugProperty].Name; - sNames += sName; - sNames += ::rtl::OUString('-'); - } - sNames += ::rtl::OUString('+'); - } - sNames += ::rtl::OUString('|'); - } - (void)sNames; - } -//--< + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("getCellProperties"); +#endif + + return aCellProperties; +} + +RowPropertyValuesSeq_t DomainMapperTableHandler::endTableGetRowProperties() +{ +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("getRowProperties"); #endif - RowPropertyValuesSeq_t aRowProperties( m_aRowProperties.size() ); + RowPropertyValuesSeq_t aRowProperties( m_aRowProperties.size() ); PropertyMapVector1::const_iterator aRowIter = m_aRowProperties.begin(); PropertyMapVector1::const_iterator aRowIterEnd = m_aRowProperties.end(); - nRow = 0; + sal_Int32 nRow = 0; while( aRowIter != aRowIterEnd ) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("rowProps.row"); +#endif if( aRowIter->get() ) { //set default to 'break across pages" if( aRowIter->get()->find( PropertyDefinition( PROP_IS_SPLIT_ALLOWED, false )) == aRowIter->get()->end()) aRowIter->get()->Insert( PROP_IS_SPLIT_ALLOWED, false, uno::makeAny(sal_True ) ); - aRowProperties[nRow] = aRowIter->get()->GetPropertyValues(); + aRowProperties[nRow] = (*aRowIter)->GetPropertyValues(); +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->addTag((*aRowIter)->toTag()); + dmapper_logger->addTag(lcl_PropertyValuesToTag(aRowProperties[nRow])); +#endif } ++nRow; ++aRowIter; +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("rowProps.row"); +#endif } +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("getRowProperties"); +#endif + + return aRowProperties; +} + +void DomainMapperTableHandler::endTable() +{ +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("tablehandler.endTable"); +#endif + + TableInfo aTableInfo; + aTableInfo.pTableStyle = endTableGetTableStyle(aTableInfo); + // expands to uno::Sequence< Sequence< beans::PropertyValues > > + + CellPropertyValuesSeq_t aCellProperties = endTableGetCellProperties(aTableInfo); + + RowPropertyValuesSeq_t aRowProperties = endTableGetRowProperties(); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->addTag(lcl_PropertyValueSeqToTag(aRowProperties)); +#endif + if (m_pTableSeq->getLength() > 0) { try { -#if OSL_DEBUG_LEVEL > 1 - { - sal_Int32 nCellPropertiesRows = aCellProperties.getLength(); - sal_Int32 nCellPropertiesCells = aCellProperties[0].getLength(); - sal_Int32 nCellPropertiesProperties = aCellProperties[0][0].getLength(); - (void) nCellPropertiesRows; - (void) nCellPropertiesCells; - (void) nCellPropertiesProperties; - ++nCellPropertiesProperties; - } - clog << "Converting table" << endl; -#endif - uno::Reference<text::XTextTable> xTable = m_xText->convertToTable(*m_pTableSeq, aCellProperties, aRowProperties, - aTableProperties); + aTableInfo.aTableProperties); m_xTableRange = xTable->getAnchor( ); } catch (lang::IllegalArgumentException e) { -#if OSL_DEBUG_LEVEL > 1 - clog << "failed to import table!" << endl; +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->chars("failed to import table!"); #endif } -#if OSL_DEBUG_LEVEL > 1 +#ifdef DEBUG_DOMAINMAPPER catch ( uno::Exception e ) { - clog << "Caught an other exception: " << rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr( ) << endl; + dmapper_logger->startElement("exception"); + dmapper_logger->chars(rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr( )); + dmapper_logger->endElement("exeception"); } #endif } @@ -665,6 +756,11 @@ void DomainMapperTableHandler::endTable() m_aTableProperties.reset(); m_aCellProperties.clear(); m_aRowProperties.clear(); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("tablehandler.endTable"); + dmapper_logger->endElement("tablehandler.table"); +#endif } void DomainMapperTableHandler::startRow(unsigned int nCells, @@ -673,12 +769,11 @@ void DomainMapperTableHandler::startRow(unsigned int nCells, m_aRowProperties.push_back( pProps ); m_aCellProperties.push_back( PropertyMapVector1() ); -#if OSL_DEBUG_LEVEL > 1 - char sBuffer[256]; - snprintf(sBuffer, sizeof(sBuffer), "%d", nCells); - - clog << "<table.row cells=\"" << sBuffer << "\">" << endl; - lcl_printProperties( pProps ); +#if DEBUG_DOMAINMAPPER + dmapper_logger->startElement("table.row"); + dmapper_logger->attribute("cells", nCells); + if (pProps != NULL) + dmapper_logger->addTag(pProps->toTag()); #endif m_pRowSeq = RowSequencePointer_t(new RowSequence_t(nCells)); @@ -690,8 +785,8 @@ void DomainMapperTableHandler::endRow() (*m_pTableSeq)[m_nRowIndex] = *m_pRowSeq; ++m_nRowIndex; m_nCellIndex = 0; -#if OSL_DEBUG_LEVEL > 1 - clog << "</table.row>" << endl; +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("table.row"); #endif } @@ -709,11 +804,12 @@ void DomainMapperTableHandler::startCell(const Handle_t & start, m_aCellProperties[nRow - 1].push_back( pEmptyProps ); } -#if OSL_DEBUG_LEVEL > 1 - clog << "<table.cell>"; - lcl_printHandle(start); +#if DEBUG_DOMAINMAPPER + dmapper_logger->startElement("table.cell"); + dmapper_logger->startElement("table.cell.start"); + dmapper_logger->chars(toString(start)); + dmapper_logger->endElement("table.cell.start"); lcl_printProperties( pProps ); - clog << ","; #endif //add a new 'row' of properties @@ -728,8 +824,11 @@ void DomainMapperTableHandler::startCell(const Handle_t & start, void DomainMapperTableHandler::endCell(const Handle_t & end) { -#if OSL_DEBUG_LEVEL > 1 - lcl_printHandle(end); +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("table.cell.end"); + dmapper_logger->chars(toString(end)); + dmapper_logger->endElement("table.cell.end"); + dmapper_logger->endElement("table.cell"); clog << "</table.cell>" << endl; #endif diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.hxx b/writerfilter/source/dmapper/DomainMapperTableHandler.hxx index a71475f6eaa1..b5a1628a0725 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.hxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.hxx @@ -54,6 +54,8 @@ typedef std::vector<PropertyMapPtr> PropertyMapVector1; typedef std::vector<PropertyMapVector1> PropertyMapVector2; class DomainMapper_Impl; +class TableStyleSheetEntry; +struct TableInfo; class DomainMapperTableHandler : public TableDataHandler<Handle_t , TablePropertyMapPtr > { TextReference_t m_xText; @@ -72,6 +74,10 @@ class DomainMapperTableHandler : public TableDataHandler<Handle_t , TablePropert sal_Int32 m_nCellIndex; sal_Int32 m_nRowIndex; + TableStyleSheetEntry * endTableGetTableStyle(TableInfo & rInfo); + CellPropertyValuesSeq_t endTableGetCellProperties(TableInfo & rInfo); + RowPropertyValuesSeq_t endTableGetRowProperties(); + public: typedef boost::shared_ptr<DomainMapperTableHandler> Pointer_t; diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index f49bf9ea93b1..452391fe6300 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -38,6 +38,7 @@ #include <com/sun/star/text/VertOrientation.hpp> #include <ooxml/resourceids.hxx> #include <doctok/sprmids.hxx> +#include <dmapperLoggers.hxx> namespace writerfilter { namespace dmapper { @@ -50,6 +51,7 @@ using namespace ::std; DomainMapperTableManager::DomainMapperTableManager(bool bOOXML) : m_nRow(0), m_nCell(0), + m_nGridSpan(1), m_nCellBorderIndex(0), m_nHeaderRepeat(0), m_nTableWidth(0), @@ -57,6 +59,12 @@ DomainMapperTableManager::DomainMapperTableManager(bool bOOXML) : m_pTablePropsHandler( new TablePropertiesHandler( bOOXML ) ) { m_pTablePropsHandler->SetTableManager( this ); + +#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_TABLE + setTagLogger(dmapper_logger); +#endif +#endif } /*-- 23.04.2007 14:57:49--------------------------------------------------- @@ -71,6 +79,12 @@ DomainMapperTableManager::~DomainMapperTableManager() -----------------------------------------------------------------------*/ bool DomainMapperTableManager::sprm(Sprm & rSprm) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("tablemanager.sprm"); + string sSprm = rSprm.toString(); + dmapper_logger->chars(sSprm); + dmapper_logger->endElement("tablemanager.sprm"); +#endif bool bRet = DomainMapperTableManager_Base_t::sprm(rSprm); if( !bRet ) { @@ -111,6 +125,9 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) if( m_nTableWidth ) pPropMap->setValue( TablePropertyMap::TABLE_WIDTH, m_nTableWidth ); } +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->addTag(pPropMap->toTag()); +#endif insertTableProps(pPropMap); } } @@ -239,18 +256,12 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_TcPrBase_gridSpan: //number of grid positions spanned by this cell { -#if DEBUG - clog << "GridSpan: " << nIntValue << endl; +#if DEBUG_DOMAINMAPPER + dmapper_logger->startElement("tablemanager.GridSpan"); + dmapper_logger->attribute("gridSpan", nIntValue); + dmapper_logger->endElement("tablemanager.GridSpan"); #endif - //the cell width is determined by its position in the table grid - //it takes 'gridSpan' grid elements - IntVectorPtr pCurrentSpans = getCurrentSpans( ); - if( pCurrentSpans->size() < m_nCell) - { - //fill missing elements with '1' - pCurrentSpans->insert( pCurrentSpans->end(), m_nCell - pCurrentSpans->size(), 1 ); - } - pCurrentSpans->push_back( nIntValue ); + m_nGridSpan = nIntValue; } break; /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ @@ -276,13 +287,12 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) cellProps( pProps ); } break; - case NS_ooxml::LN_tblStart: - { - startLevel( ); - } - break; default: bRet = false; + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("unhandled"); +#endif } } return bRet; @@ -313,8 +323,17 @@ void DomainMapperTableManager::endLevel( ) { m_aTableGrid.pop_back( ); m_aGridSpans.pop_back( ); + m_nTableWidth = 0; DomainMapperTableManager_Base_t::endLevel( ); +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("dmappertablemanager.endLevel"); + PropertyMapPtr pProps = getTableProps(); + if (pProps.get() != NULL) + dmapper_logger->addTag(getTableProps()->toTag()); + + dmapper_logger->endElement("dmappertablemanager.endLevel"); +#endif } /*-- 02.05.2007 14:36:26--------------------------------------------------- @@ -322,6 +341,12 @@ void DomainMapperTableManager::endLevel( ) -----------------------------------------------------------------------*/ void DomainMapperTableManager::endOfCellAction() { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("endOFCellAction"); +#endif + + getCurrentSpans()->push_back(m_nGridSpan); + m_nGridSpan = 1; ++m_nCell; } /*-- 02.05.2007 14:36:26--------------------------------------------------- @@ -329,12 +354,30 @@ void DomainMapperTableManager::endOfCellAction() -----------------------------------------------------------------------*/ void DomainMapperTableManager::endOfRowAction() { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("endOfRowAction"); +#endif + IntVectorPtr pTableGrid = getCurrentGrid( ); if(!m_nTableWidth && pTableGrid->size()) { ::std::vector<sal_Int32>::const_iterator aCellIter = pTableGrid->begin(); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("tableWidth"); +#endif + while( aCellIter != pTableGrid->end() ) + { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("col"); + dmapper_logger->attribute("width", *aCellIter); + dmapper_logger->endElement("col"); +#endif + m_nTableWidth += *aCellIter++; + } + if( m_nTableWidth > 0) { TablePropertyMapPtr pPropMap( new TablePropertyMap ); @@ -342,6 +385,10 @@ void DomainMapperTableManager::endOfRowAction() pPropMap->setValue( TablePropertyMap::TABLE_WIDTH, m_nTableWidth ); insertTableProps(pPropMap); } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("tableWidth"); +#endif } IntVectorPtr pCurrentSpans = getCurrentSpans( ); @@ -350,6 +397,25 @@ void DomainMapperTableManager::endOfRowAction() //fill missing elements with '1' pCurrentSpans->insert( pCurrentSpans->end( ), m_nCell - pCurrentSpans->size(), 1 ); } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("gridSpans"); + { + ::std::vector<sal_Int32>::const_iterator aGridSpanIter = pCurrentSpans->begin(); + ::std::vector<sal_Int32>::const_iterator aGridSpanIterEnd = pCurrentSpans->end(); + + while (aGridSpanIter != aGridSpanIterEnd) + { + dmapper_logger->startElement("gridSpan"); + dmapper_logger->attribute("span", *aGridSpanIter); + dmapper_logger->endElement("gridSpan"); + + aGridSpanIter++; + } + } + dmapper_logger->endElement("gridSpans"); +#endif + //calculate number of used grids - it has to match the size of m_aTableGrid size_t nGrids = 0; ::std::vector<sal_Int32>::const_iterator aGridSpanIter = pCurrentSpans->begin(); @@ -387,6 +453,12 @@ void DomainMapperTableManager::endOfRowAction() } TablePropertyMapPtr pPropMap( new TablePropertyMap ); pPropMap->Insert( PROP_TABLE_COLUMN_SEPARATORS, false, uno::makeAny( aSeparators ) ); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("rowProperties"); + dmapper_logger->addTag(pPropMap->toTag()); + dmapper_logger->endElement("rowProperties"); +#endif insertRowProps(pPropMap); } @@ -394,6 +466,10 @@ void DomainMapperTableManager::endOfRowAction() m_nCell = 0; m_nCellBorderIndex = 0; pCurrentSpans->clear(); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("endOfRowAction"); +#endif } /*-- 18.06.2007 10:34:37--------------------------------------------------- @@ -442,4 +518,6 @@ void DomainMapperTableManager::CopyTextProperties(PropertyMapPtr pContext, Style } pContext->insert( m_pTableStyleTextProperies ); } + + }} diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.hxx b/writerfilter/source/dmapper/DomainMapperTableManager.hxx index 3d1e7f66effa..8f4fa082881e 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.hxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.hxx @@ -44,6 +44,7 @@ class DomainMapperTableManager : public DomainMapperTableManager_Base_t sal_uInt32 m_nRow; sal_uInt32 m_nCell; + sal_uInt32 m_nGridSpan; sal_uInt32 m_nCellBorderIndex; //borders are provided for all cells and need counting sal_Int32 m_nHeaderRepeat; //counter of repeated headers - if == -1 then the repeating stops sal_Int32 m_nTableWidth; //might be set directly or has to be calculated from the column positions @@ -114,6 +115,7 @@ public: else DomainMapperTableManager_Base_t::insertTableProps( pProps ); }; + }; }} diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 596682cf9b46..4d9a9bd83c35 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -74,6 +74,7 @@ #ifdef DEBUG_DOMAINMAPPER #include <resourcemodel/QNameToString.hxx> #include <resourcemodel/util.hxx> +#include <dmapperLoggers.hxx> #endif #include <ooxml/OOXMLFastTokens.hxx> @@ -419,15 +420,12 @@ DomainMapper_Impl::DomainMapper_Impl( TableDataHandler_t::Pointer_t pTableHandler (new DomainMapperTableHandler(xBodyTextAppendAndConvert, *this)); m_TableManager.setHandler(pTableHandler); - - m_TableManager.startLevel(); } /*-- 01.09.2006 10:22:28--------------------------------------------------- -----------------------------------------------------------------------*/ DomainMapper_Impl::~DomainMapper_Impl() { - m_TableManager.endLevel(); } /*------------------------------------------------------------------------- @@ -843,14 +841,20 @@ void lcl_AddRangeAndStyle( void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) { -#if DEBUG - clog << "finishParagraph" << endl; +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("finishParagraph"); #endif ParagraphPropertyMap* pParaContext = dynamic_cast< ParagraphPropertyMap* >( pPropertyMap.get() ); TextAppendContext& rAppendContext = m_aTextAppendStack.top(); uno::Reference< text::XTextAppend > xTextAppend = rAppendContext.xTextAppend; PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->attribute("isTextAppend", xTextAppend.is()); + dmapper_logger->attribute("isIgnor", m_TableManager.isIgnore()); +#endif + if(xTextAppend.is() && ! m_TableManager.isIgnore()) { try @@ -1096,6 +1100,10 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) //OSL_ENSURE( false, "ArgumentException in DomainMapper_Impl::finishParagraph" ); } } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("finishParagraph"); +#endif } /*------------------------------------------------------------------------- @@ -1359,7 +1367,7 @@ void DomainMapper_Impl::PushFootOrEndnote( bool bIsFootnote ) uno::Sequence< beans::PropertyValue > aFontProperties; if( pFontTable && pTopContext->GetFootnoteFontId() >= 0 && pFontTable->size() > (size_t)pTopContext->GetFootnoteFontId() ) { - const FontEntry* pFontEntry = pFontTable->getFontEntry(sal_uInt32(pTopContext->GetFootnoteFontId())); + const FontEntry::Pointer_t pFontEntry(pFontTable->getFontEntry(sal_uInt32(pTopContext->GetFootnoteFontId()))); PropertyMapPtr aFontProps( new PropertyMap ); aFontProps->Insert(PROP_CHAR_FONT_NAME, true, uno::makeAny( pFontEntry->sFontName )); aFontProps->Insert(PROP_CHAR_FONT_CHAR_SET, true, uno::makeAny( (sal_Int16)pFontEntry->nTextEncoding )); @@ -3719,4 +3727,23 @@ void DomainMapper_Impl::ResetParaRedline( ) } } +/*-- 22.09.2009 10:26:19--------------------------------------------------- + +-----------------------------------------------------------------------*/ +void DomainMapper_Impl::ApplySettingsTable() +{ + if( m_pSettingsTable ) + { + try + { + uno::Reference< beans::XPropertySet > xTextDefaults( + m_xTextFactory->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.Defaults"))), uno::UNO_QUERY_THROW ); + sal_Int32 nDefTab = m_pSettingsTable->GetDefaultTabStop(); + xTextDefaults->setPropertyValue( PropertyNameSupplier::GetPropertyNameSupplier().GetName( PROP_TAB_STOP_DISTANCE ), uno::makeAny(nDefTab) ); + } + catch(const uno::Exception& ) + { + } + } +} }} diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index ae0dec6e1e54..d5493440ea48 100644..100755 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -48,6 +48,7 @@ #include <ListTable.hxx> #include <LFOTable.hxx> #include <StyleSheetTable.hxx> +#include <SettingsTable.hxx> #include <ThemeTable.hxx> #include <SettingsTable.hxx> #include <GraphicImport.hxx> @@ -306,8 +307,9 @@ private: LFOTablePtr m_pLFOTable; StyleSheetTablePtr m_pStyleSheetTable; ThemeTablePtr m_pThemeTable; - GraphicImportPtr m_pGraphicImport; SettingsTablePtr m_pSettingsTable; + GraphicImportPtr m_pGraphicImport; + PropertyMapPtr m_pTopContext; @@ -433,10 +435,10 @@ public: return m_pThemeTable; } - SettingsTablePtr GetSettingsTable( ) + SettingsTablePtr GetSettingsTable() { - if ( !m_pSettingsTable ) - m_pSettingsTable.reset( new SettingsTable ); + if( !m_pSettingsTable ) + m_pSettingsTable.reset( new SettingsTable( m_rDMapper, m_xTextFactory ) ); return m_pSettingsTable; } @@ -533,6 +535,8 @@ public: void RemoveCurrentRedline( ); void ResetParaRedline( ); + void ApplySettingsTable(); + }; } //namespace dmapper } //namespace writerfilter diff --git a/writerfilter/source/dmapper/FontTable.cxx b/writerfilter/source/dmapper/FontTable.cxx index c5a800769078..20f3d602156b 100644 --- a/writerfilter/source/dmapper/FontTable.cxx +++ b/writerfilter/source/dmapper/FontTable.cxx @@ -39,10 +39,9 @@ namespace dmapper struct FontTable_Impl { - std::vector< FontEntry > aFontEntries; - FontEntry* pCurrentEntry; - FontTable_Impl() : - pCurrentEntry(0){} + std::vector< FontEntry > aFontEntries; + FontEntry::Pointer_t pCurrentEntry; + FontTable_Impl() {} }; /*-- 19.06.2006 12:04:32--------------------------------------------------- @@ -494,14 +493,14 @@ void FontTable::attribute(Id Name, Value & val) // case NS_rtf::LN_LFO: break; case NS_rtf::LN_F: break; - /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ case NS_rtf::LN_ALTFONTNAME: + /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ m_pImpl->pCurrentEntry->sAlternativeFont = sValue; break; - /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ case NS_rtf::LN_XSZFFN: - /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ + /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Font_name: + /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ m_pImpl->pCurrentEntry->sFontName = sValue; break; // case NS_rtf::LN_XSTZNAME: break; @@ -566,11 +565,11 @@ void FontTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_ { //create a new font entry OSL_ENSURE( !m_pImpl->pCurrentEntry, "current entry has to be NULL here"); - m_pImpl->pCurrentEntry = new FontEntry ; + m_pImpl->pCurrentEntry.reset(new FontEntry); ref->resolve(*this); //append it to the table m_pImpl->aFontEntries.push_back( *m_pImpl->pCurrentEntry ); - m_pImpl->pCurrentEntry = 0; + m_pImpl->pCurrentEntry.reset(); } /*-- 19.06.2006 12:04:34--------------------------------------------------- @@ -656,12 +655,12 @@ void FontTable::endShape( ) /*-- 21.06.2006 11:21:38--------------------------------------------------- -----------------------------------------------------------------------*/ -const FontEntry* FontTable::getFontEntry(sal_uInt32 nIndex) +const FontEntry::Pointer_t FontTable::getFontEntry(sal_uInt32 nIndex) { - const FontEntry* pRet = 0; + FontEntry::Pointer_t pRet; if(m_pImpl->aFontEntries.size() > nIndex) { - pRet = &m_pImpl->aFontEntries[nIndex]; + pRet.reset(&m_pImpl->aFontEntries[nIndex]); } return pRet; } diff --git a/writerfilter/source/dmapper/FontTable.hxx b/writerfilter/source/dmapper/FontTable.hxx index f63d0cf0ee1a..a2fa967d85fe 100644 --- a/writerfilter/source/dmapper/FontTable.hxx +++ b/writerfilter/source/dmapper/FontTable.hxx @@ -28,6 +28,7 @@ #ifndef INCLUDED_FONTTABLE_HXX #define INCLUDED_FONTTABLE_HXX +#include <boost/shared_ptr.hpp> #include <WriterFilterDllApi.hxx> #include <resourcemodel/WW8ResourceModel.hxx> #include <com/sun/star/lang/XComponent.hpp> @@ -39,6 +40,8 @@ namespace dmapper struct FontTable_Impl; struct FontEntry { + typedef boost::shared_ptr<FontEntry> Pointer_t; + ::rtl::OUString sFontName; ::rtl::OUString sFontName1; bool bTrueType; @@ -97,7 +100,7 @@ public: virtual void startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); virtual void endShape( ); - const FontEntry* getFontEntry(sal_uInt32 nIndex); + const FontEntry::Pointer_t getFontEntry(sal_uInt32 nIndex); sal_uInt32 size(); }; typedef boost::shared_ptr< FontTable > FontTablePtr; diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 308ce90ace65..c8d94f8302c2 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -379,46 +379,40 @@ void GraphicImport::attribute(Id nName, Value & val) /* WRITERFILTERSTATUS: table: PICFattribute */ switch( nName ) { - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_LCB: break;//byte count - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_CBHEADER: break;//ignored - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_MFP: //MetafilePict - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_DffRecord: //dff record - expands to an sprm which expands to ... - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_shpopt: //shape options - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_shpfbse: //BLIP store entry - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_BRCTOP: //top border - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_BRCLEFT: //left border - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_BRCBOTTOM: //bottom border - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_BRCRIGHT: //right border - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_shape: //shape - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_blip: //the binary graphic data in a shape + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { switch(nName) { case NS_rtf::LN_BRCTOP: //top border + /* WRITERFILTERSTATUS: */ m_pImpl->nCurrentBorderLine = BORDER_TOP; break; case NS_rtf::LN_BRCLEFT: //left border + /* WRITERFILTERSTATUS: */ m_pImpl->nCurrentBorderLine = BORDER_LEFT; break; case NS_rtf::LN_BRCBOTTOM: //bottom border + /* WRITERFILTERSTATUS: */ m_pImpl->nCurrentBorderLine = BORDER_BOTTOM; break; case NS_rtf::LN_BRCRIGHT: //right border + /* WRITERFILTERSTATUS: */ m_pImpl->nCurrentBorderLine = BORDER_RIGHT; break; case NS_rtf::LN_shpopt: + /* WRITERFILTERSTATUS: */ m_pImpl->bInShapeOptionMode = true; break; default:; @@ -431,6 +425,7 @@ void GraphicImport::attribute(Id nName, Value & val) switch(nName) { case NS_rtf::LN_shpopt: + /* WRITERFILTERSTATUS: */ m_pImpl->bInShapeOptionMode = false; break; default:; @@ -438,80 +433,97 @@ void GraphicImport::attribute(Id nName, Value & val) } break; case NS_rtf::LN_payload : + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { writerfilter::Reference<BinaryObj>::Pointer_t pPictureData = val.getBinary(); if( pPictureData.get()) pPictureData->resolve(*this); } break; - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ case NS_rtf::LN_BM_RCWINMF: //windows bitmap structure - if it's a bitmap + /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_DXAGOAL: //x-size in twip - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_DYAGOAL: //y-size in twip + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_MX: m_pImpl->nHoriScaling = nIntValue; break;// hori scaling in 0.001% - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_MY: m_pImpl->nVertScaling = nIntValue; break;// vert scaling in 0.001% - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_DXACROPLEFT: m_pImpl->nLeftCrop = ConversionHelper::convertTwipToMM100(nIntValue); break;// left crop in twips - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_DYACROPTOP: m_pImpl->nTopCrop = ConversionHelper::convertTwipToMM100(nIntValue); break;// top crop in twips - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_DXACROPRIGHT: m_pImpl->nRightCrop = ConversionHelper::convertTwipToMM100(nIntValue); break;// right crop in twips - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_DYACROPBOTTOM: m_pImpl->nBottomCrop = ConversionHelper::convertTwipToMM100(nIntValue); break;// bottom crop in twips - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_BRCL: break;//border type - legacy - - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_FFRAMEEMPTY: break;// picture consists of a single frame - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_rtf::LN_MX: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nHoriScaling = nIntValue; + break;// hori scaling in 0.001% + case NS_rtf::LN_MY: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nVertScaling = nIntValue; + break;// vert scaling in 0.001% + case NS_rtf::LN_DXACROPLEFT: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nLeftCrop = ConversionHelper::convertTwipToMM100(nIntValue); + break;// left crop in twips + case NS_rtf::LN_DYACROPTOP: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nTopCrop = ConversionHelper::convertTwipToMM100(nIntValue); + break;// top crop in twips + case NS_rtf::LN_DXACROPRIGHT: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nRightCrop = ConversionHelper::convertTwipToMM100(nIntValue); + break;// right crop in twips + case NS_rtf::LN_DYACROPBOTTOM: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nBottomCrop = ConversionHelper::convertTwipToMM100(nIntValue); + break;// bottom crop in twips + case NS_rtf::LN_BRCL: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;//border type - legacy - + case NS_rtf::LN_FFRAMEEMPTY: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// picture consists of a single frame case NS_rtf::LN_FBITMAP: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ m_pImpl->bIsBitmap = nIntValue > 0 ? true : false; break;//1 if it's a bitmap ??? - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_FDRAWHATCH: break;//1 if it's an active OLE object - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_FERROR: break;// 1 if picture is an error message - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_BPP: m_pImpl->nBitsPerPixel = nIntValue; break;//bits per pixel 0 - unknown, 1- mono, 4 - VGA + case NS_rtf::LN_FDRAWHATCH: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;//1 if it's an active OLE object + case NS_rtf::LN_FERROR: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// 1 if picture is an error message + case NS_rtf::LN_BPP: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nBitsPerPixel = nIntValue; + break;//bits per pixel 0 - unknown, 1- mono, 4 - VGA - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_DXAORIGIN: //horizontal offset of hand annotation origin - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_DYAORIGIN: //vertical offset of hand annotation origin + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_CPROPS:break;// unknown - ignored + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ //metafilepict - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_MM: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ // according to the documentation 99 or 98 are provided - but they are not! // m_pImpl->bIsBitmap = 99 == nIntValue ? true : false; // m_pImpl->bIsTiff = 98 == nIntValue ? true : false; break; //mapmode - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_XEXT: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->setXSize(nIntValue); break; // x-size - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_YEXT: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->setYSize(nIntValue); break; // y-size - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_HMF: break; //identifier - ignored + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ //sprm 0xf004 and 0xf008, 0xf00b - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_dfftype:// + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ m_pImpl->nDffType = nIntValue; break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_dffinstance: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //todo: does this still work for PICF? //in case of LN_dfftype == 0xf01f the instance contains the bitmap type: if(m_pImpl->nDffType == 0xf01f) @@ -549,62 +561,80 @@ void GraphicImport::attribute(Id nName, Value & val) } break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_dffversion:// ignored + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; //sprm 0xf008 - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shptype: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpid: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfGroup: break;// This shape is a group shape - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfChild: break;// Not a top-level shape - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfPatriarch: break;// This is the topmost group shape. Exactly one of these per drawing. - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfDeleted: break;// The shape has been deleted - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfOleShape: break;// The shape is an OLE object - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfHaveMaster: break;// Shape has a hspMaster property - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + case NS_rtf::LN_shptype: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpid: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpfGroup: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// This shape is a group shape + case NS_rtf::LN_shpfChild: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// Not a top-level shape + case NS_rtf::LN_shpfPatriarch: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// This is the topmost group shape. Exactly one of these per drawing. + case NS_rtf::LN_shpfDeleted: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// The shape has been deleted + case NS_rtf::LN_shpfOleShape: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// The shape is an OLE object + case NS_rtf::LN_shpfHaveMaster: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// Shape has a hspMaster property case NS_rtf::LN_shpfFlipH: // Shape is flipped horizontally + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->bHoriFlip = nIntValue ? true : false; break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_shpfFlipV: // Shape is flipped vertically + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->bVertFlip = nIntValue ? true : false; break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfConnector: break;// Connector type of shape - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfHaveAnchor: break;// Shape has an anchor of some kind - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfBackground: break;// Background shape - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfHaveSpt: break;// Shape has a shape type property - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shptypename: break;// shape type name - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_shppid: m_pImpl->nShapeOptionType = nIntValue; break; //type of shape option - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfBid: break; //ignored - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfComplex:break; - /* WRITERFILTERSTATUS: done: 50, planned: 10, spent: 5 */ + case NS_rtf::LN_shpfConnector: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// Connector type of shape + case NS_rtf::LN_shpfHaveAnchor: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// Shape has an anchor of some kind + case NS_rtf::LN_shpfBackground: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// Background shape + case NS_rtf::LN_shpfHaveSpt: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// Shape has a shape type property + case NS_rtf::LN_shptypename: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break;// shape type name + case NS_rtf::LN_shppid: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nShapeOptionType = nIntValue; + break; //type of shape option + case NS_rtf::LN_shpfBid: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + break; //ignored + case NS_rtf::LN_shpfComplex: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; case NS_rtf::LN_shpop: + /* WRITERFILTERSTATUS: done: 50, planned: 10, spent: 5 */ { if(NS_dff::LN_shpwzDescription != sal::static_int_cast<Id>(m_pImpl->nShapeOptionType) ) ProcessShapeOptions( val ); } break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpname: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_rtf::LN_shpname: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; case NS_rtf::LN_shpvalue: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ { if( NS_dff::LN_shpwzDescription == sal::static_int_cast<Id>(m_pImpl->nShapeOptionType) ) ProcessShapeOptions( val ); @@ -612,95 +642,94 @@ void GraphicImport::attribute(Id nName, Value & val) break; //BLIP store entry - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpbtWin32: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpbtMacOS: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shprgbUid: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shptag: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpsize: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpcRef: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpfoDelay: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpusage: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpcbName: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpunused2: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpunused3: break; + case NS_rtf::LN_shpbtWin32: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpbtMacOS: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shprgbUid: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shptag: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpsize: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpcRef: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpfoDelay: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpusage: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpcbName: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpunused2: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_shpunused3: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; //border properties - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_shpblipbname : break; + case NS_rtf::LN_shpblipbname : + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; - /* WRITERFILTERSTATUS: done: 100, planned: 1, spent: 1 */ case NS_rtf::LN_DPTLINEWIDTH: // 0x1759 + /* WRITERFILTERSTATUS: done: 100, planned: 1, spent: 1 */ m_pImpl->aBorders[m_pImpl->nCurrentBorderLine].nLineWidth = nIntValue; break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_BRCTYPE: // 0x175a + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //graphic borders don't support different line types //m_pImpl->aBorders[m_pImpl->nCurrentBorderLine].nLineType = nIntValue; break; - /* WRITERFILTERSTATUS: done: 100, planned: 1, spent: 1 */ case NS_rtf::LN_ICO: // 0x175b + /* WRITERFILTERSTATUS: done: 100, planned: 1, spent: 1 */ m_pImpl->aBorders[m_pImpl->nCurrentBorderLine].nLineColor = ConversionHelper::ConvertColor( nIntValue ); break; - /* WRITERFILTERSTATUS: done: 100, planned: 1, spent: 1 */ case NS_rtf::LN_DPTSPACE: // 0x175c + /* WRITERFILTERSTATUS: done: 100, planned: 1, spent: 1 */ m_pImpl->aBorders[m_pImpl->nCurrentBorderLine].nLineDistance = nIntValue; break; - /* WRITERFILTERSTATUS: done: 0, planned: 1, spent: 0 */ case NS_rtf::LN_FSHADOW: // 0x175d + /* WRITERFILTERSTATUS: done: 0, planned: 1, spent: 0 */ m_pImpl->aBorders[m_pImpl->nCurrentBorderLine].bHasShadow = nIntValue ? true : false; break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_FFRAME: // ignored /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_UNUSED2_15: break;// ignored - -// const QName_t LN_shpoptextraoffset = 20028; -// const QName_t LN_shptypename = 20029; -// const QName_t LN_shpblipbname = 20031; -// const QName_t LN_binary = 20032; - - - -// case NS_rtf::LN_shpblipbname = 20031; -// case NS_rtf::LN_binary = 20032; -// case NS_rtf::LN_shpdgg = 10492; -// case NS_rtf::LN_shpfbse = 10493; - - -// case NS_rtf::LN_CPROPS: //unused - - - -// case NS_rtf::LN_LINECOLOR = 10372; -// case NS_rtf::LN_LINEWIDTH = 10373; -// case NS_rtf::LN_LINETYPE = 10374; - - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_SPID: break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_XALEFT: m_pImpl->nLeftPosition = ConversionHelper::convertTwipToMM100(nIntValue); break; //left position - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_YATOP: m_pImpl->nTopPosition = ConversionHelper::convertTwipToMM100(nIntValue); break; //top position - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_XARIGHT: m_pImpl->nRightPosition = ConversionHelper::convertTwipToMM100(nIntValue); break; //right position + case NS_rtf::LN_UNUSED2_15: // ignored /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_YABOTTOM: m_pImpl->nBottomPosition = ConversionHelper::convertTwipToMM100(nIntValue); break;//bottom position - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + + case NS_rtf::LN_SPID: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; + case NS_rtf::LN_XALEFT: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nLeftPosition = ConversionHelper::convertTwipToMM100(nIntValue); + break; //left position + case NS_rtf::LN_YATOP: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nTopPosition = ConversionHelper::convertTwipToMM100(nIntValue); + break; //top position + case NS_rtf::LN_XARIGHT: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nRightPosition = ConversionHelper::convertTwipToMM100(nIntValue); + break; //right position + case NS_rtf::LN_YABOTTOM: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nBottomPosition = ConversionHelper::convertTwipToMM100(nIntValue); + break;//bottom position case NS_rtf::LN_FHDR: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_XAlign: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ /* static const SwHoriOrient aHoriOriTab[ nCntXAlign ] = { @@ -729,6 +758,7 @@ void GraphicImport::attribute(Id nName, Value & val) } break; case NS_rtf::LN_YAlign: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ /* static const SwVertOrient aVertOriTab[ nCntYAlign ] = { @@ -795,9 +825,10 @@ void GraphicImport::attribute(Id nName, Value & val) default:m_pImpl->nHoriRelation = text::RelOrientation::CHAR; } break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_YRelTo: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_BY: //vert orient relation + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ switch( nIntValue ) { case 0: m_pImpl->nVertRelation = text::RelOrientation::PAGE_PRINT_AREA; break; @@ -808,8 +839,8 @@ void GraphicImport::attribute(Id nName, Value & val) } break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_WR: //wrapping + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ switch( nIntValue ) { case 0: //0 like 2, but doesn't require absolute object @@ -832,8 +863,8 @@ void GraphicImport::attribute(Id nName, Value & val) default:; } break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_WRK: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ if( !m_pImpl->bIgnoreWRK ) switch( nIntValue ) { @@ -855,21 +886,18 @@ void GraphicImport::attribute(Id nName, Value & val) default:; } break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_FRCASIMPLE: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_FBELOWTEXT: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_FANCHORLOCK: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_CTXBX: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ // { // sal_Int32 nValue1 = val.getInt(); // nValue1++; // } break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_shptxt: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //todo: text content break; /* case NS_rtf::LN_CH = 10421; @@ -881,6 +909,7 @@ void GraphicImport::attribute(Id nName, Value & val) case NS_rtf::LN_dffheader: break; case NS_ooxml::LN_CT_PositiveSize2D_cx:// 90407; case NS_ooxml::LN_CT_PositiveSize2D_cy:// 90408; + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { sal_Int32 nDim = ConversionHelper::convertEMUToMM100( nIntValue ); if( nName == NS_ooxml::LN_CT_PositiveSize2D_cx ) @@ -893,46 +922,58 @@ void GraphicImport::attribute(Id nName, Value & val) case NS_ooxml::LN_CT_EffectExtent_t:// 90908; case NS_ooxml::LN_CT_EffectExtent_r:// 90909; case NS_ooxml::LN_CT_EffectExtent_b:// 90910; + /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ //todo: extends the wrapping size of the object, e.g. if shadow is added break; case NS_ooxml::LN_CT_NonVisualDrawingProps_id:// 90650; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //id of the object - ignored break; case NS_ooxml::LN_CT_NonVisualDrawingProps_name:// 90651; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ //name of the object m_pImpl->sName = val.getString(); break; case NS_ooxml::LN_CT_NonVisualDrawingProps_descr:// 90652; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ //alternative text m_pImpl->sAlternativeText = val.getString(); break; case NS_ooxml::LN_CT_GraphicalObjectFrameLocking_noChangeAspect://90644; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ //disallow aspect ratio change - ignored break; case NS_ooxml::LN_CT_GraphicalObjectFrameLocking_noMove:// 90645; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->bPositionProtected = true; break; case NS_ooxml::LN_CT_GraphicalObjectFrameLocking_noResize: // 90646; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->bSizeProtected = true; break; case NS_ooxml::LN_CT_Anchor_distT: // 90983; case NS_ooxml::LN_CT_Anchor_distB: // 90984; case NS_ooxml::LN_CT_Anchor_distL: // 90985; case NS_ooxml::LN_CT_Anchor_distR: // 90986; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { //redirect to shape option processing switch( nName ) { case NS_ooxml::LN_CT_Anchor_distT: // 90983; + /* WRITERFILTERSTATUS: */ m_pImpl->nShapeOptionType = NS_dff::LN_shpdyWrapDistTop; break; case NS_ooxml::LN_CT_Anchor_distB: // 90984; + /* WRITERFILTERSTATUS: */ m_pImpl->nShapeOptionType = NS_dff::LN_shpdyWrapDistBottom; break; case NS_ooxml::LN_CT_Anchor_distL: // 90985; + /* WRITERFILTERSTATUS: */ m_pImpl->nShapeOptionType = NS_dff::LN_shpdxWrapDistLeft; break; case NS_ooxml::LN_CT_Anchor_distR: // 90986; + /* WRITERFILTERSTATUS: */ m_pImpl->nShapeOptionType = NS_dff::LN_shpdxWrapDistRight; break; //m_pImpl->nShapeOptionType = NS_dff::LN_shpcropFromTop @@ -942,25 +983,30 @@ void GraphicImport::attribute(Id nName, Value & val) } break; case NS_ooxml::LN_CT_Anchor_simplePos_attr: // 90987; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->bUseSimplePos = nIntValue > 0; break; case NS_ooxml::LN_CT_Anchor_relativeHeight: // 90988; + /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ //z-order break; case NS_ooxml::LN_CT_Anchor_behindDoc: // 90989; - in background + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ if( nIntValue > 0 ) m_pImpl->bOpaque = false; break; case NS_ooxml::LN_CT_Anchor_locked: // 90990; - ignored case NS_ooxml::LN_CT_Anchor_layoutInCell: // 90991; - ignored - //true: inside cell, cell resizes, false: table is resized or relocated, object might be outside of the table case NS_ooxml::LN_CT_Anchor_hidden: // 90992; - ignored + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; case NS_ooxml::LN_CT_Anchor_allowOverlap: // 90993; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //enable overlapping - ignored break; case NS_ooxml::LN_CT_Point2D_x: // 90405; case NS_ooxml::LN_CT_Point2D_y: // 90406; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ if( m_pImpl->bUseSimplePos ) { //todo: absolute positioning @@ -970,9 +1016,11 @@ void GraphicImport::attribute(Id nName, Value & val) } break; case NS_ooxml::LN_CT_WrapTight_wrapText: // 90934; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->bContour = true; //no break; case NS_ooxml::LN_CT_WrapSquare_wrapText: //90928; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ switch ( val.getInt() ) { case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_bothSides: // 90920; @@ -991,7 +1039,7 @@ void GraphicImport::attribute(Id nName, Value & val) } break; case NS_ooxml::LN_shape: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { uno::Reference< drawing::XShape> xShape; val.getAny( ) >>= xShape; @@ -1070,16 +1118,14 @@ void GraphicImport::attribute(Id nName, Value & val) } break; case NS_ooxml::LN_CT_Inline_distT: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_Inline_distB: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_Inline_distL: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_Inline_distR: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ //TODO: need to be handled break; case NS_ooxml::LN_CT_GraphicalObjectData_uri: + /* WRITERFILTERSTATUS: done: 50, planned: 0.5, spent: 0 */ val.getString(); //TODO: does it need to be handled? break; @@ -1122,121 +1168,30 @@ void GraphicImport::ProcessShapeOptions(Value& val) /* WRITERFILTERSTATUS: table: ShapeOptionsAttribute */ switch( m_pImpl->nShapeOptionType ) { - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shprotation /*4*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockRotation /*119*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockAspectRatio /*120*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockPosition /*121*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockAgainstSelect /*122*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockCropping /*123*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockVertices /*124*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockText /*125*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockAdjustHandles /*126*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockAgainstGrouping /*127*/: break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockAgainstGrouping /*127*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplTxid /*128*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpdxTextLeft /*129*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpdyTextTop /*130*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpdxTextRight /*131*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpdyTextBottom /*132*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpWrapText /*133*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpscaleText /*134*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpanchorText /*135*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shptxflTextFlow /*136*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpcdirFont /*137*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shphspNext /*138*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shptxdir /*139*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfSelectText /*187*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfAutoTextMargin /*188*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfRotateText /*189*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfFitShapeToText /*190*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfFitTextToShape /*191*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextUNICODE /*192*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextRTF /*193*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextAlign /*194*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextSize /*195*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextSpacing /*196*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFont /*197*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFReverseRows /*240*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfGtext /*241*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFVertical /*242*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFKern /*243*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFTight /*244*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFStretch /*245*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFShrinkFit /*246*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFBestFit /*247*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFNormalize /*248*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFDxMeasure /*249*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFBold /*250*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFItalic /*251*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFUnderline /*252*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFShadow /*253*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFSmallcaps /*254*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgtextFStrikethrough /*255*/: - - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_dff::LN_shpcropFromTop /*256*/ : m_pImpl->nTopCrop = nTwipValue; break;// rtf:shpcropFromTop - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_dff::LN_shpcropFromBottom /*257*/ : m_pImpl->nBottomCrop= nTwipValue; break;// rtf:shpcropFromBottom - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_dff::LN_shpcropFromLeft /*258*/ : m_pImpl->nLeftCrop = nTwipValue; break;// rtf:shpcropFromLeft - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_dff::LN_shpcropFromRight/*259*/ : m_pImpl->nRightCrop = nTwipValue;break;// rtf:shpcropFromRight - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_dff::LN_shppib/*260*/: break; // rtf:shppib - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_dff::LN_shppibName/*261*/: break; // rtf:shppibName - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_dff::LN_shpcropFromTop /*256*/ : + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nTopCrop = nTwipValue; + break;// rtf:shpcropFromTop + case NS_dff::LN_shpcropFromBottom /*257*/ : + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nBottomCrop= nTwipValue; + break;// rtf:shpcropFromBottom + case NS_dff::LN_shpcropFromLeft /*258*/ : + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nLeftCrop = nTwipValue; + break;// rtf:shpcropFromLeft + case NS_dff::LN_shpcropFromRight/*259*/ : + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + m_pImpl->nRightCrop = nTwipValue; + break;// rtf:shpcropFromRight + case NS_dff::LN_shppib/*260*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; // rtf:shppib + case NS_dff::LN_shppibName/*261*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; // rtf:shppibName case NS_dff::LN_shppibFlags/*262*/: // rtf:shppibFlags + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ /* * // MSOBLIPFLAGS ñ flags for pictures typedef enum @@ -1258,10 +1213,8 @@ void GraphicImport::ProcessShapeOptions(Value& val) * * */ break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shppictureTransparent /*263*/: - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_dff::LN_shppictureContrast/*264*/: // rtf:shppictureContrast docu: "1<<16" + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ /* 0x10000 is msoffice 50% < 0x10000 is in units of 1/50th of 0x10000 per 1% @@ -1291,38 +1244,30 @@ void GraphicImport::ProcessShapeOptions(Value& val) m_pImpl->nContrast -= 100; } break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_dff::LN_shppictureBrightness/*265*/: // rtf:shppictureBrightness + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->nBrightness = ( (sal_Int32) nIntValue / 327 ); break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_dff::LN_shppictureGamma/*266*/: // rtf:shppictureGamma + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ //todo check gamma value with _real_ document m_pImpl->fGamma = double(nIntValue/655); break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_dff::LN_shppictureId /*267*/: break; // rtf:shppictureId - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_dff::LN_shppictureDblCrMod /*268*/: break; // rtf:shppictureDblCrMod - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_dff::LN_shppictureFillCrMod /*269*/: break; // rtf:shppictureFillCrMod - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_dff::LN_shppictureLineCrMod /*270*/: break; // rtf:shppictureLineCrMod - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shppibPrint /*271*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shppibPrintName /*272*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shppibPrintFlags /*273*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfNoHitTestPicture /*316*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shppictureGray /*317*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shppictureBiLevel /*318*/: + case NS_dff::LN_shppictureId /*267*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; // rtf:shppictureId + case NS_dff::LN_shppictureDblCrMod /*268*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; // rtf:shppictureDblCrMod + case NS_dff::LN_shppictureFillCrMod /*269*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; // rtf:shppictureFillCrMod + case NS_dff::LN_shppictureLineCrMod /*270*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; // rtf:shppictureLineCrMod - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_dff::LN_shppictureActive/*319*/: // rtf:shppictureActive + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ switch( nIntValue & 0x06 ) { case 0 : m_pImpl->eColorMode = drawing::ColorMode_STANDARD; break; @@ -1331,162 +1276,31 @@ void GraphicImport::ProcessShapeOptions(Value& val) default:; } break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgeoLeft /*320*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgeoTop /*321*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgeoRight /*322*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpgeoBottom /*323*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshapePath /*324*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shppVertices /*325*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shppSegmentInfo /*326*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjustValue /*327*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjust2Value /*328*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjust3Value /*329*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjust4Value /*330*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjust5Value /*331*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjust6Value /*332*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjust7Value /*333*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjust8Value /*334*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjust9Value /*335*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpadjust10Value /*336*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfShadowOK /*378*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpf3DOK /*379*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLineOK /*380*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfGtextOK /*381*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfFillShadeShapeOK /*382*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfFillOK /*383*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillType /*384*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_dff::LN_shpfillColor /*385*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ m_pImpl->nFillColor = (m_pImpl->nFillColor & 0xff000000) + ConversionHelper::ConvertColor( nIntValue ); break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_dff::LN_shpfillOpacity /*386*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ { sal_Int32 nTrans = 0xff - ( nIntValue * 0xff ) / 0xffff; m_pImpl->nFillColor = (nTrans << 0x18 ) + (m_pImpl->nFillColor & 0xffffff); } break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillBackColor /*387*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillBackOpacity /*388*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillCrMod /*389*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillBlip /*390*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillBlipName /*391*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillBlipFlags /*392*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillWidth /*393*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillHeight /*394*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillAngle /*395*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillFocus /*396*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillToLeft /*397*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillToTop /*398*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillToRight /*399*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillToBottom /*400*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillRectLeft /*401*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillRectTop /*402*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillRectRight /*403*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillRectBottom /*404*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillDztype /*405*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillShadePreset /*406*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillShadeColors /*407*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillOriginX /*408*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillOriginY /*409*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillShapeOriginX /*410*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillShapeOriginY /*411*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillShadeType /*412*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfFilled /*443*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfHitTestFill /*444*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillShape /*445*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfillUseRect /*446*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_dff::LN_shpfNoFillHitTest /*447*/: break; // rtf:shpfNoFillHitTest - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + case NS_dff::LN_shpfNoFillHitTest /*447*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; // rtf:shpfNoFillHitTest case NS_dff::LN_shplineColor /*448*/: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->aBorders[m_pImpl->nCurrentBorderLine].nLineColor = ConversionHelper::ConvertColor( nIntValue ); break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineOpacity /*449*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineBackColor /*450*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineCrMod /*451*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineType /*452*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineFillBlip /*453*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineFillBlipName /*454*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineFillBlipFlags /*455*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineFillWidth /*456*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineFillHeight /*457*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineFillDztype /*458*/: - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_dff::LN_shplineWidth /*459*/: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ //1pt == 12700 units m_pImpl->aBorders[m_pImpl->nCurrentBorderLine].nLineWidth = ConversionHelper::convertTwipToMM100(nIntValue / 635); break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineMiterLimit /*460*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineStyle /*461*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_dff::LN_shplineDashing /*462*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //graphic borders don't support different dashing /*MSOLINEDASHING msolineSolid, // Solid (continuous) pen @@ -1502,283 +1316,40 @@ void GraphicImport::ProcessShapeOptions(Value& val) msolineLongDashDotDotGEL // long dash short dash short dash*/ //m_pImpl->aBorders[nCurrentBorderLine].nLineType = nIntValue; break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineDashStyle /*463*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineStartArrowhead /*464*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineEndArrowhead /*465*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineStartArrowWidth /*466*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineStartArrowLength /*467*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineEndArrowWidth /*468*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineEndArrowLength /*469*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineJoinStyle /*470*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineEndCapStyle /*471*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfArrowheadsOK /*507*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLine /*508*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfHitTestLine /*509*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplineFillShape /*510*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_dff::LN_shpfNoLineDrawDash /*511*/: break; // rtf:shpfNoLineDrawDash - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowType /*512*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowColor /*513*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowHighlight /*514*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowCrMod /*515*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowOpacity /*516*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowOffsetX /*517*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowOffsetY /*518*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowSecondOffsetX /*519*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowSecondOffsetY /*520*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowScaleXToX /*521*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowScaleYToX /*522*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowScaleXToY /*523*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowScaleYToY /*524*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowPerspectiveX /*525*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowPerspectiveY /*526*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowWeight /*527*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowOriginX /*528*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpshadowOriginY /*529*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfShadow /*574*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfshadowObscured /*575*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveType /*576*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveOffsetX /*577*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveOffsetY /*578*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveScaleXToX /*579*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveScaleYToX /*580*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveScaleXToY /*581*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveScaleYToY /*582*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectivePerspectiveX /*583*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectivePerspectiveY /*584*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveWeight /*585*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveOriginX /*586*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpperspectiveOriginY /*587*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfPerspective /*639*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DSpecularAmt /*640*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DDiffuseAmt /*641*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DShininess /*642*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DEdgeThickness /*643*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DExtrudeForward /*644*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DExtrudeBackward /*645*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DExtrudePlane /*646*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DExtrusionColor /*647*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DCrMod /*648*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpf3D /*700*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfc3DMetallic /*701*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfc3DUseExtrusionColor /*702*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfc3DLightFace /*703*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DYRotationAngle /*704*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DXRotationAngle /*705*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DRotationAxisX /*706*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DRotationAxisY /*707*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DRotationAxisZ /*708*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DRotationAngle /*709*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DRotationCenterX /*710*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DRotationCenterY /*711*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DRotationCenterZ /*712*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DRenderMode /*713*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DTolerance /*714*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DXViewpoint /*715*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DYViewpoint /*716*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DZViewpoint /*717*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DOriginX /*718*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DOriginY /*719*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DSkewAngle /*720*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DSkewAmount /*721*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DAmbientIntensity /*722*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DKeyX /*723*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DKeyY /*724*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DKeyZ /*725*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DKeyIntensity /*726*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DFillX /*727*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DFillY /*728*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DFillZ /*729*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpc3DFillIntensity /*730*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfc3DConstrainRotation /*763*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfc3DRotationCenterAuto /*764*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfc3DParallel /*765*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfc3DKeyHarsh /*766*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfc3DFillHarsh /*767*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shphspMaster /*769*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpcxstyle /*771*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpbWMode /*772*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpbWModePureBW /*773*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpbWModeBW /*774*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfOleIcon /*826*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfPreferRelativeResize /*827*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfLockShapeType /*828*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfDeleteAttachedObject /*830*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfBackground /*831*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpspcot /*832*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpdxyCalloutGap /*833*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpspcoa /*834*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpspcod /*835*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpdxyCalloutDropSpecified /*836*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpdxyCalloutLengthSpecified /*837*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfCallout /*889*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfCalloutAccentBar /*890*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfCalloutTextBorder /*891*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfCalloutMinusX /*892*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfCalloutMinusY /*893*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfCalloutDropAuto /*894*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfCalloutLengthSpecified /*895*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpwzName /*896*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_dff::LN_shpfNoLineDrawDash /*511*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; // rtf:shpfNoLineDrawDash case NS_dff::LN_shpwzDescription /*897*/: //alternative text + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ m_pImpl->sAlternativeText = val.getString(); break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ // case NS_dff::LN_shppihlShape /*898*/: - case NS_dff::LN_shppWrapPolygonVertices/*899*/: break; // rtf:shppWrapPolygonVertices - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_dff::LN_shppWrapPolygonVertices/*899*/: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; // rtf:shppWrapPolygonVertices case NS_dff::LN_shpdxWrapDistLeft /*900*/: // contains a twip/635 value + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //todo: changes have to be applied depending on the orientation, see SwWW8ImplReader::AdjustLRWrapForWordMargins() m_pImpl->nLeftMargin = nIntValue / 360; break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_dff::LN_shpdyWrapDistTop /*901*/: // contains a twip/635 value + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //todo: changes have to be applied depending on the orientation, see SwWW8ImplReader::AdjustULWrapForWordMargins() m_pImpl->nTopMargin = nIntValue / 360; break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_dff::LN_shpdxWrapDistRight /*902*/:// contains a twip/635 value + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //todo: changes have to be applied depending on the orientation, see SwWW8ImplReader::AdjustLRWrapForWordMargins() m_pImpl->nRightMargin = nIntValue / 360; break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_dff::LN_shpdyWrapDistBottom /*903*/:// contains a twip/635 value + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //todo: changes have to be applied depending on the orientation, see SwWW8ImplReader::AdjustULWrapForWordMargins() m_pImpl->nBottomMargin = nIntValue / 360; break; + case NS_dff::LN_shpfPrint /*959*/: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shplidRegroup /*904*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfEditedWrap /*953*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfBehindDocument /*954*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfOnDblClickNotify /*955*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfIsButton /*956*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfOneD /*957*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ -// case NS_dff::LN_shpfHidden /*958*/: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_dff::LN_shpfPrint /*959*/: break; // rtf:shpfPrint - + break; // rtf:shpfPrint default: OSL_ENSURE( false, "shape option unsupported?"); } @@ -1823,6 +1394,7 @@ void GraphicImport::sprm(Sprm & rSprm) case NS_ooxml::LN_CT_WrapTight_wrapPolygon: // 90933; case NS_ooxml::LN_graphic_graphic: case NS_ooxml::LN_pic_pic: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if( pProperties.get()) @@ -1873,13 +1445,16 @@ void GraphicImport::sprm(Sprm & rSprm) } break; case NS_ooxml::LN_EG_WrapType_wrapNone: // 90944; - doesn't contain attributes + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ //depending on the behindDoc attribute text wraps through behind or in fron of the object m_pImpl->nWrap = text::WrapTextMode_THROUGHT; break; case NS_ooxml::LN_EG_WrapType_wrapTopAndBottom: // 90948; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->nWrap = text::WrapTextMode_NONE; break; case NS_ooxml::LN_EG_WrapType_wrapThrough: // 90947; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->nWrap = text::WrapTextMode_THROUGHT; break; case 0xf010: @@ -1887,6 +1462,7 @@ void GraphicImport::sprm(Sprm & rSprm) //ignore - doesn't contain useful members break; case NS_ooxml::LN_CT_GraphicalObject_graphicData:// 90660; + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { m_pImpl->bIsGraphic = true; diff --git a/writerfilter/source/dmapper/LFOTable.cxx b/writerfilter/source/dmapper/LFOTable.cxx index 82d2b032b761..51ecafd2662e 100644 --- a/writerfilter/source/dmapper/LFOTable.cxx +++ b/writerfilter/source/dmapper/LFOTable.cxx @@ -94,434 +94,47 @@ void LFOTable::attribute(Id Name, Value & val) switch( Name ) { // case NS_rtf::LN_ISTD: break;//index of applied style - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_rtf::LN_ISTARTAT: - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_rtf::LN_ILVL: - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_rtf::LN_FSTARTAT: - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_rtf::LN_FFORMATTING: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ if(m_pImpl->m_pCurrentEntry->aLFOLevels.size()) { vector< LFOLevelPtr >::reverse_iterator aEndIter = m_pImpl->m_pCurrentEntry->aLFOLevels.rbegin(); switch( Name ) { case NS_rtf::LN_ISTARTAT: + /* WRITERFILTERSTATUS:*/ (*aEndIter)->nIStartAt = nIntValue; break; case NS_rtf::LN_ILVL: + /* WRITERFILTERSTATUS:*/ (*aEndIter)->sILevel = val.getString(); break; case NS_rtf::LN_FSTARTAT: + /* WRITERFILTERSTATUS:*/ (*aEndIter)->nFStartAt = nIntValue; break; case NS_rtf::LN_FFORMATTING: + /* WRITERFILTERSTATUS:*/ (*aEndIter)->nFFormatting = nIntValue; break; default:; } } break; -// case NS_rtf::LN_NFC: break; -// case NS_rtf::LN_JC: break; -// case NS_rtf::LN_FLEGAL: break; -// case NS_rtf::LN_FNORESTART: break; -// case NS_rtf::LN_FPREV: break; -// case NS_rtf::LN_FPREVSPACE: break; -// case NS_rtf::LN_FWORD6: break; -// case NS_rtf::LN_UNUSED5_7: break; -// case NS_rtf::LN_RGBXCHNUMS: break; -// case NS_rtf::LN_IXCHFOLLOW: break; -// case NS_rtf::LN_DXASPACE: break; -// case NS_rtf::LN_DXAINDENT: break; -// case NS_rtf::LN_CBGRPPRLCHPX: break; -// case NS_rtf::LN_CBGRPPRLPAPX: break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_rtf::LN_LSID: + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->nListId = nIntValue; break; -// case NS_rtf::LN_TPLC: break; -// case NS_rtf::LN_RGISTD: break; -// case NS_rtf::LN_FSIMPLELIST: break; -// case NS_rtf::LN_FRESTARTHDN: break; -// case NS_rtf::LN_UNSIGNED26_2: break; -// case NS_rtf::LN_UNSIGNED4_6: break; - /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ - case NS_rtf::LN_UNUSED4: - /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ - case NS_rtf::LN_UNUSED8: - // as the names state they are unused - break; + case NS_rtf::LN_clfolvl: /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_CLFOLVL: m_pImpl->m_pCurrentEntry->nCLFOLevel = nIntValue; break; -// case NS_rtf::LN_CBFFNM1: break; -// case NS_rtf::LN_PRQ: break; -// case NS_rtf::LN_FTRUETYPE: break; -// case NS_rtf::LN_UNUSED1_3: break; -// case NS_rtf::LN_FF: break; -// case NS_rtf::LN_UNUSED1_7: break; -// case NS_rtf::LN_WWEIGHT: break; -// case NS_rtf::LN_CHS: break; -// case NS_rtf::LN_IXCHSZALT: break; -// case NS_rtf::LN_PANOSE: break; -// case NS_rtf::LN_FS: break; -// case NS_rtf::LN_STI: break; -// case NS_rtf::LN_FSCRATCH: break; -// case NS_rtf::LN_FINVALHEIGHT: break; -// case NS_rtf::LN_FHASUPE: break; -// case NS_rtf::LN_FMASSCOPY: break; -// case NS_rtf::LN_SGC: break; -// case NS_rtf::LN_ISTDBASE: break; -// case NS_rtf::LN_CUPX: break; -// case NS_rtf::LN_ISTDNEXT: break; -// case NS_rtf::LN_BCHUPE: break; -// case NS_rtf::LN_FAUTOREDEF: break; -// case NS_rtf::LN_FHIDDEN: break; -// case NS_rtf::LN_UNUSED8_3: break; -// case NS_rtf::LN_CSTD: break; -// case NS_rtf::LN_CBSTDBASEINFILE: break; -// case NS_rtf::LN_FSTDSTYLENAMESWRITTEN: break; -// case NS_rtf::LN_UNUSED4_2: break; -// case NS_rtf::LN_STIMAXWHENSAVED: break; -// case NS_rtf::LN_ISTDMAXFIXEDWHENSAVED: break; -// case NS_rtf::LN_NVERBUILTINNAMESWHENSAVED: break; -// case NS_rtf::LN_RGFTCSTANDARDCHPSTSH: break; -// case NS_rtf::LN_WIDENT: break; -// case NS_rtf::LN_NFIB: break; -// case NS_rtf::LN_NPRODUCT: break; -// case NS_rtf::LN_LID: break; -// case NS_rtf::LN_PNNEXT: break; -// case NS_rtf::LN_FDOT: break; -// case NS_rtf::LN_FGLSY: break; -// case NS_rtf::LN_FCOMPLEX: break; -// case NS_rtf::LN_FHASPIC: break; -// case NS_rtf::LN_CQUICKSAVES: break; -// case NS_rtf::LN_FENCRYPTED: break; -// case NS_rtf::LN_FWHICHTBLSTM: break; -// case NS_rtf::LN_FREADONLYRECOMMENDED: break; -// case NS_rtf::LN_FWRITERESERVATION: break; -// case NS_rtf::LN_FEXTCHAR: break; -// case NS_rtf::LN_FLOADOVERRIDE: break; -// case NS_rtf::LN_FFAREAST: break; -// case NS_rtf::LN_FCRYPTO: break; -// case NS_rtf::LN_NFIBBACK: break; -// case NS_rtf::LN_LKEY: break; -// case NS_rtf::LN_ENVR: break; -// case NS_rtf::LN_FMAC: break; -// case NS_rtf::LN_FEMPTYSPECIAL: break; -// case NS_rtf::LN_FLOADOVERRIDEPAGE: break; -// case NS_rtf::LN_FFUTURESAVEDUNDO: break; -// case NS_rtf::LN_FWORD97SAVED: break; -// case NS_rtf::LN_FSPARE0: break; -// case NS_rtf::LN_CHSTABLES: break; -// case NS_rtf::LN_FCMIN: break; -// case NS_rtf::LN_FCMAC: break; -// case NS_rtf::LN_CSW: break; -// case NS_rtf::LN_WMAGICCREATED: break; -// case NS_rtf::LN_WMAGICREVISED: break; -// case NS_rtf::LN_WMAGICCREATEDPRIVATE: break; -// case NS_rtf::LN_WMAGICREVISEDPRIVATE: break; -// case NS_rtf::LN_PNFBPCHPFIRST_W6: break; -// case NS_rtf::LN_PNCHPFIRST_W6: break; -// case NS_rtf::LN_CPNBTECHP_W6: break; -// case NS_rtf::LN_PNFBPPAPFIRST_W6: break; -// case NS_rtf::LN_PNPAPFIRST_W6: break; -// case NS_rtf::LN_CPNBTEPAP_W6: break; -// case NS_rtf::LN_PNFBPLVCFIRST_W6: break; -// case NS_rtf::LN_PNLVCFIRST_W6: break; -// case NS_rtf::LN_CPNBTELVC_W6: break; -// case NS_rtf::LN_LIDFE: break; -// case NS_rtf::LN_CLW: break; -// case NS_rtf::LN_CBMAC: break; -// case NS_rtf::LN_LPRODUCTCREATED: break; -// case NS_rtf::LN_LPRODUCTREVISED: break; -// case NS_rtf::LN_CCPTEXT: break; -// case NS_rtf::LN_CCPFTN: break; -// case NS_rtf::LN_CCPHDD: break; -// case NS_rtf::LN_CCPMCR: break; -// case NS_rtf::LN_CCPATN: break; -// case NS_rtf::LN_CCPEDN: break; -// case NS_rtf::LN_CCPTXBX: break; -// case NS_rtf::LN_CCPHDRTXBX: break; -// case NS_rtf::LN_PNFBPCHPFIRST: break; -// case NS_rtf::LN_PNCHPFIRST: break; -// case NS_rtf::LN_CPNBTECHP: break; -// case NS_rtf::LN_PNFBPPAPFIRST: break; -// case NS_rtf::LN_PNPAPFIRST: break; -// case NS_rtf::LN_CPNBTEPAP: break; -// case NS_rtf::LN_PNFBPLVCFIRST: break; -// case NS_rtf::LN_PNLVCFIRST: break; -// case NS_rtf::LN_CPNBTELVC: break; -// case NS_rtf::LN_FCISLANDFIRST: break; -// case NS_rtf::LN_FCISLANDLIM: break; -// case NS_rtf::LN_CFCLCB: break; -// case NS_rtf::LN_FCSTSHFORIG: break; -// case NS_rtf::LN_LCBSTSHFORIG: break; -// case NS_rtf::LN_FCSTSHF: break; -// case NS_rtf::LN_LCBSTSHF: break; -// case NS_rtf::LN_FCPLCFFNDREF: break; -// case NS_rtf::LN_LCBPLCFFNDREF: break; -// case NS_rtf::LN_FCPLCFFNDTXT: break; -// case NS_rtf::LN_LCBPLCFFNDTXT: break; -// case NS_rtf::LN_FCPLCFANDREF: break; -// case NS_rtf::LN_LCBPLCFANDREF: break; -// case NS_rtf::LN_FCPLCFANDTXT: break; -// case NS_rtf::LN_LCBPLCFANDTXT: break; -// case NS_rtf::LN_FCPLCFSED: break; -// case NS_rtf::LN_LCBPLCFSED: break; -// case NS_rtf::LN_FCPLCFPAD: break; -// case NS_rtf::LN_LCBPLCFPAD: break; -// case NS_rtf::LN_FCPLCFPHE: break; -// case NS_rtf::LN_LCBPLCFPHE: break; -// case NS_rtf::LN_FCSTTBFGLSY: break; -// case NS_rtf::LN_LCBSTTBFGLSY: break; -// case NS_rtf::LN_FCPLCFGLSY: break; -// case NS_rtf::LN_LCBPLCFGLSY: break; -// case NS_rtf::LN_FCPLCFHDD: break; -// case NS_rtf::LN_LCBPLCFHDD: break; -// case NS_rtf::LN_FCPLCFBTECHPX: break; -// case NS_rtf::LN_LCBPLCFBTECHPX: break; -// case NS_rtf::LN_FCPLCFBTEPAPX: break; -// case NS_rtf::LN_LCBPLCFBTEPAPX: break; -// case NS_rtf::LN_FCPLCFSEA: break; -// case NS_rtf::LN_LCBPLCFSEA: break; -// case NS_rtf::LN_FCSTTBFFFN: break; -// case NS_rtf::LN_LCBSTTBFFFN: break; -// case NS_rtf::LN_FCPLCFFLDMOM: break; -// case NS_rtf::LN_LCBPLCFFLDMOM: break; -// case NS_rtf::LN_FCPLCFFLDHDR: break; -// case NS_rtf::LN_LCBPLCFFLDHDR: break; -// case NS_rtf::LN_FCPLCFFLDFTN: break; -// case NS_rtf::LN_LCBPLCFFLDFTN: break; -// case NS_rtf::LN_FCPLCFFLDATN: break; -// case NS_rtf::LN_LCBPLCFFLDATN: break; -// case NS_rtf::LN_FCPLCFFLDMCR: break; -// case NS_rtf::LN_LCBPLCFFLDMCR: break; -// case NS_rtf::LN_FCSTTBFBKMK: break; -// case NS_rtf::LN_LCBSTTBFBKMK: break; -// case NS_rtf::LN_FCPLCFBKF: break; -// case NS_rtf::LN_LCBPLCFBKF: break; -// case NS_rtf::LN_FCPLCFBKL: break; -// case NS_rtf::LN_LCBPLCFBKL: break; -// case NS_rtf::LN_FCCMDS: break; -// case NS_rtf::LN_LCBCMDS: break; -// case NS_rtf::LN_FCPLCMCR: break; -// case NS_rtf::LN_LCBPLCMCR: break; -// case NS_rtf::LN_FCSTTBFMCR: break; -// case NS_rtf::LN_LCBSTTBFMCR: break; -// case NS_rtf::LN_FCPRDRVR: break; -// case NS_rtf::LN_LCBPRDRVR: break; -// case NS_rtf::LN_FCPRENVPORT: break; -// case NS_rtf::LN_LCBPRENVPORT: break; -// case NS_rtf::LN_FCPRENVLAND: break; -// case NS_rtf::LN_LCBPRENVLAND: break; -// case NS_rtf::LN_FCWSS: break; -// case NS_rtf::LN_LCBWSS: break; -// case NS_rtf::LN_FCDOP: break; -// case NS_rtf::LN_LCBDOP: break; -// case NS_rtf::LN_FCSTTBFASSOC: break; -// case NS_rtf::LN_LCBSTTBFASSOC: break; -// case NS_rtf::LN_FCCLX: break; -// case NS_rtf::LN_LCBCLX: break; -// case NS_rtf::LN_FCPLCFPGDFTN: break; -// case NS_rtf::LN_LCBPLCFPGDFTN: break; -// case NS_rtf::LN_FCAUTOSAVESOURCE: break; -// case NS_rtf::LN_LCBAUTOSAVESOURCE: break; -// case NS_rtf::LN_FCGRPXSTATNOWNERS: break; -// case NS_rtf::LN_LCBGRPXSTATNOWNERS: break; -// case NS_rtf::LN_FCSTTBFATNBKMK: break; -// case NS_rtf::LN_LCBSTTBFATNBKMK: break; -// case NS_rtf::LN_FCPLCDOAMOM: break; -// case NS_rtf::LN_LCBPLCDOAMOM: break; -// case NS_rtf::LN_FCPLCDOAHDR: break; -// case NS_rtf::LN_LCBPLCDOAHDR: break; -// case NS_rtf::LN_FCPLCSPAMOM: break; -// case NS_rtf::LN_LCBPLCSPAMOM: break; -// case NS_rtf::LN_FCPLCSPAHDR: break; -// case NS_rtf::LN_LCBPLCSPAHDR: break; -// case NS_rtf::LN_FCPLCFATNBKF: break; -// case NS_rtf::LN_LCBPLCFATNBKF: break; -// case NS_rtf::LN_FCPLCFATNBKL: break; -// case NS_rtf::LN_LCBPLCFATNBKL: break; -// case NS_rtf::LN_FCPMS: break; -// case NS_rtf::LN_LCBPMS: break; -// case NS_rtf::LN_FCFORMFLDSTTBF: break; -// case NS_rtf::LN_LCBFORMFLDSTTBF: break; -// case NS_rtf::LN_FCPLCFENDREF: break; -// case NS_rtf::LN_LCBPLCFENDREF: break; -// case NS_rtf::LN_FCPLCFENDTXT: break; -// case NS_rtf::LN_LCBPLCFENDTXT: break; -// case NS_rtf::LN_FCPLCFFLDEDN: break; -// case NS_rtf::LN_LCBPLCFFLDEDN: break; -// case NS_rtf::LN_FCPLCFPGDEDN: break; -// case NS_rtf::LN_LCBPLCFPGDEDN: break; -// case NS_rtf::LN_FCDGGINFO: break; -// case NS_rtf::LN_LCBDGGINFO: break; -// case NS_rtf::LN_FCSTTBFRMARK: break; -// case NS_rtf::LN_LCBSTTBFRMARK: break; -// case NS_rtf::LN_FCSTTBFCAPTION: break; -// case NS_rtf::LN_LCBSTTBFCAPTION: break; -// case NS_rtf::LN_FCSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_LCBSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_FCPLCFWKB: break; -// case NS_rtf::LN_LCBPLCFWKB: break; -// case NS_rtf::LN_FCPLCFSPL: break; -// case NS_rtf::LN_LCBPLCFSPL: break; -// case NS_rtf::LN_FCPLCFTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDTXBX: break; -// case NS_rtf::LN_FCPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_FCSTWUSER: break; -// case NS_rtf::LN_LCBSTWUSER: break; -// case NS_rtf::LN_FCSTTBTTMBD: break; -// case NS_rtf::LN_LCBSTTBTTMBD: break; -// case NS_rtf::LN_FCUNUSED: break; -// case NS_rtf::LN_LCBUNUSED: break; -// case NS_rtf::LN_FCPGDMOTHER: break; -// case NS_rtf::LN_LCBPGDMOTHER: break; -// case NS_rtf::LN_FCBKDMOTHER: break; -// case NS_rtf::LN_LCBBKDMOTHER: break; -// case NS_rtf::LN_FCPGDFTN: break; -// case NS_rtf::LN_LCBPGDFTN: break; -// case NS_rtf::LN_FCBKDFTN: break; -// case NS_rtf::LN_LCBBKDFTN: break; -// case NS_rtf::LN_FCPGDEDN: break; -// case NS_rtf::LN_LCBPGDEDN: break; -// case NS_rtf::LN_FCBKDEDN: break; -// case NS_rtf::LN_LCBBKDEDN: break; -// case NS_rtf::LN_FCSTTBFINTLFLD: break; -// case NS_rtf::LN_LCBSTTBFINTLFLD: break; -// case NS_rtf::LN_FCROUTESLIP: break; -// case NS_rtf::LN_LCBROUTESLIP: break; -// case NS_rtf::LN_FCSTTBSAVEDBY: break; -// case NS_rtf::LN_LCBSTTBSAVEDBY: break; -// case NS_rtf::LN_FCSTTBFNM: break; -// case NS_rtf::LN_LCBSTTBFNM: break; -// case NS_rtf::LN_FCPLCFLST: break; -// case NS_rtf::LN_LCBPLCFLST: break; -// case NS_rtf::LN_FCPLFLFO: break; -// case NS_rtf::LN_LCBPLFLFO: break; -// case NS_rtf::LN_FCPLCFTXBXBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXBKD: break; -// case NS_rtf::LN_FCPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_FCDOCUNDO: break; -// case NS_rtf::LN_LCBDOCUNDO: break; -// case NS_rtf::LN_FCRGBUSE: break; -// case NS_rtf::LN_LCBRGBUSE: break; -// case NS_rtf::LN_FCUSP: break; -// case NS_rtf::LN_LCBUSP: break; -// case NS_rtf::LN_FCUSKF: break; -// case NS_rtf::LN_LCBUSKF: break; -// case NS_rtf::LN_FCPLCUPCRGBUSE: break; -// case NS_rtf::LN_LCBPLCUPCRGBUSE: break; -// case NS_rtf::LN_FCPLCUPCUSP: break; -// case NS_rtf::LN_LCBPLCUPCUSP: break; -// case NS_rtf::LN_FCSTTBGLSYSTYLE: break; -// case NS_rtf::LN_LCBSTTBGLSYSTYLE: break; -// case NS_rtf::LN_FCPLGOSL: break; -// case NS_rtf::LN_LCBPLGOSL: break; -// case NS_rtf::LN_FCPLCOCX: break; -// case NS_rtf::LN_LCBPLCOCX: break; -// case NS_rtf::LN_FCPLCFBTELVC: break; -// case NS_rtf::LN_LCBPLCFBTELVC: break; -// case NS_rtf::LN_DWLOWDATETIME: break; -// case NS_rtf::LN_DWHIGHDATETIME: break; -// case NS_rtf::LN_FCPLCFLVC: break; -// case NS_rtf::LN_LCBPLCFLVC: break; -// case NS_rtf::LN_FCPLCASUMY: break; -// case NS_rtf::LN_LCBPLCASUMY: break; -// case NS_rtf::LN_FCPLCFGRAM: break; -// case NS_rtf::LN_LCBPLCFGRAM: break; -// case NS_rtf::LN_FCSTTBLISTNAMES: break; -// case NS_rtf::LN_LCBSTTBLISTNAMES: break; -// case NS_rtf::LN_FCSTTBFUSSR: break; -// case NS_rtf::LN_LCBSTTBFUSSR: break; -// case NS_rtf::LN_FN: break; -// case NS_rtf::LN_FCSEPX: break; -// case NS_rtf::LN_FNMPR: break; -// case NS_rtf::LN_FCMPR: break; -// case NS_rtf::LN_ICOFORE: break; -// case NS_rtf::LN_ICOBACK: break; -// case NS_rtf::LN_IPAT: break; -// case NS_rtf::LN_SHDFORECOLOR: break; -// case NS_rtf::LN_SHDBACKCOLOR: break; -// case NS_rtf::LN_SHDPATTERN: break; -// case NS_rtf::LN_DPTLINEWIDTH: break; -// case NS_rtf::LN_BRCTYPE: break; -// case NS_rtf::LN_ICO: break; -// case NS_rtf::LN_DPTSPACE: break; -// case NS_rtf::LN_FSHADOW: break; -// case NS_rtf::LN_FFRAME: break; -// case NS_rtf::LN_UNUSED2_15: break; -// case NS_rtf::LN_FFIRSTMERGED: break; -// case NS_rtf::LN_FMERGED: break; -// case NS_rtf::LN_FVERTICAL: break; -// case NS_rtf::LN_FBACKWARD: break; -// case NS_rtf::LN_FROTATEFONT: break; -// case NS_rtf::LN_FVERTMERGE: break; -// case NS_rtf::LN_FVERTRESTART: break; -// case NS_rtf::LN_VERTALIGN: break; -// case NS_rtf::LN_FUNUSED: break; -// case NS_rtf::LN_WUNUSED: break; -// case NS_rtf::LN_BRCTOP: break; -// case NS_rtf::LN_BRCLEFT: break; -// case NS_rtf::LN_BRCBOTTOM: break; -// case NS_rtf::LN_BRCRIGHT: break; -// case NS_rtf::LN_IBKL: break; -// case NS_rtf::LN_ITCFIRST: break; -// case NS_rtf::LN_FPUB: break; -// case NS_rtf::LN_ITCLIM: break; -// case NS_rtf::LN_FCOL: break; -// case NS_rtf::LN_LINECOLOR: break; -// case NS_rtf::LN_LINEWIDTH: break; -// case NS_rtf::LN_LINETYPE: break; -// case NS_rtf::LN_MM: break; -// case NS_rtf::LN_XEXT: break; -// case NS_rtf::LN_YEXT: break; -// case NS_rtf::LN_HMF: break; -// case NS_rtf::LN_LCB: break; -// case NS_rtf::LN_CBHEADER: break; -// case NS_rtf::LN_MFP: break; -// case NS_rtf::LN_BM_RCWINMF: break; -// case NS_rtf::LN_DXAGOAL: break; -// case NS_rtf::LN_DYAGOAL: break; -// case NS_rtf::LN_MX: break; -// case NS_rtf::LN_MY: break; -// case NS_rtf::LN_DXACROPLEFT: break; -// case NS_rtf::LN_DYACROPTOP: break; -// case NS_rtf::LN_DXACROPRIGHT: break; -// case NS_rtf::LN_DYACROPBOTTOM: break; -// case NS_rtf::LN_BRCL: break; -// case NS_rtf::LN_FFRAMEEMPTY: break; -// case NS_rtf::LN_FBITMAP: break; -// case NS_rtf::LN_FDRAWHATCH: break; -// case NS_rtf::LN_FERROR: break; -// case NS_rtf::LN_BPP: break; -// case NS_rtf::LN_DXAORIGIN: break; -// case NS_rtf::LN_DYAORIGIN: break; -// case NS_rtf::LN_CPROPS: break; -// case NS_rtf::LN_LINEPROPSTOP: break; -// case NS_rtf::LN_LINEPROPSLEFT: break; -// case NS_rtf::LN_LINEPROPSBOTTOM: break; -// case NS_rtf::LN_LINEPROPSRIGHT: break; -// case NS_rtf::LN_LINEPROPSHORIZONTAL: break; -// case NS_rtf::LN_LINEPROPSVERTICAL: break; -// case NS_rtf::LN_headerr: break; -// case NS_rtf::LN_footerr: break; -// case NS_rtf::LN_endnote: break; -// case NS_rtf::LN_BOOKMARKNAME: break; - -// case NS_rtf::LN_LISTLEVEL: break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_LFO: +#if 0 + case NS_rtf::LN_LFOLevel: + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties; if(m_pImpl->m_pCurrentEntry && (pProperties = val.getProperties()).get()) @@ -531,27 +144,7 @@ void LFOTable::attribute(Id Name, Value & val) } } break; -// case NS_rtf::LN_F: break; -// case NS_rtf::LN_ALTFONTNAME: break; -// case NS_rtf::LN_XSZFFN: break; -// case NS_rtf::LN_XSTZNAME: break; -// case NS_rtf::LN_XSTZNAME1: break; -// case NS_rtf::LN_UPXSTART: break; -// case NS_rtf::LN_UPX: break; -// case NS_rtf::LN_sed: break; -// case NS_rtf::LN_picf: break; -// case NS_rtf::LN_rgbrc: break; -// case NS_rtf::LN_shd: break; -// case NS_rtf::LN_cellShd: break; -// case NS_rtf::LN_cellTopColor: break; -// case NS_rtf::LN_cellLeftColor: break; -// case NS_rtf::LN_cellBottomColor: break; -// case NS_rtf::LN_cellRightColor: break; - -// case NS_rtf::LN_LISTTABLE: break; -// case NS_rtf::LN_LFOTABLE: break; -// case NS_rtf::LN_FONTTABLE: break; -// case NS_rtf::LN_STYLESHEET: break; +#endif default: { OSL_ENSURE( false, "LFOTable::attribute: default statement"); diff --git a/writerfilter/source/dmapper/ListTable.cxx b/writerfilter/source/dmapper/ListTable.cxx index bd3c9da4e567..36cb4d8bdb47 100644 --- a/writerfilter/source/dmapper/ListTable.cxx +++ b/writerfilter/source/dmapper/ListTable.cxx @@ -340,13 +340,13 @@ void ListTable::attribute(Id nName, Value & rVal) /* WRITERFILTERSTATUS: table: ListTable_attributedata */ switch(nName) { - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_rtf::LN_RGBXCHNUMS: + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ if(m_pImpl->m_pCurrentEntry->pCurrentProperties.get()) m_pImpl->m_pCurrentEntry->pCurrentProperties->sRGBXchNums += rVal.getString(); break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_LevelText_val: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ { //this strings contains the definition of the level //the level number is marked as %n @@ -360,429 +360,45 @@ void ListTable::attribute(Id nName, Value & rVal) } break; // case NS_rtf::LN_ISTD: break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_ISTARTAT: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_NFC: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_JC: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_FLEGAL: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_FNORESTART: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREV: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREVSPACE: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FWORD6: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FIDENTSAV: + case NS_rtf::LN_FCONVERTED: + case NS_rtf::LN_FTENTATIVE: case NS_rtf::LN_IXCHFOLLOW: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ ApplyLevelValues( nName, nIntValue); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_UNUSED5_7: - //unused - break; -// case NS_rtf::LN_DXASPACE: break; -// case NS_rtf::LN_DXAINDENT: break; -// case NS_rtf::LN_CBGRPPRLCHPX: break; -// case NS_rtf::LN_CBGRPPRLPAPX: break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_LSID: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->nListId = nIntValue; break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_TPLC: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->nTPLC = nIntValue; break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_RGISTD: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->sRGISTD += rVal.getString(); break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_FSIMPLELIST: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->nSimpleList = nIntValue; break; + case NS_rtf::LN_fAutoNum: /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FRESTARTHDN: m_pImpl->m_pCurrentEntry->nRestart = nIntValue; break; + case NS_rtf::LN_fHybrid: /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_UNSIGNED26_2: m_pImpl->m_pCurrentEntry->nUnsigned = nIntValue; break; -// case NS_rtf::LN_ILVL: break; -// case NS_rtf::LN_FSTARTAT: break; -// case NS_rtf::LN_FFORMATTING: break; -// case NS_rtf::LN_UNSIGNED4_6: break; -// case NS_rtf::LN_UNUSED4: break; -// case NS_rtf::LN_UNUSED8: break; -// case NS_rtf::LN_CLFOLVL: break; -// case NS_rtf::LN_CBFFNM1: break; -// case NS_rtf::LN_PRQ: break; -// case NS_rtf::LN_FTRUETYPE: break; -// case NS_rtf::LN_UNUSED1_3: break; -// case NS_rtf::LN_FF: break; -// case NS_rtf::LN_UNUSED1_7: break; -// case NS_rtf::LN_WWEIGHT: break; -// case NS_rtf::LN_CHS: break; -// case NS_rtf::LN_IXCHSZALT: break; -// case NS_rtf::LN_PANOSE: break; -// case NS_rtf::LN_FS: break; -// case NS_rtf::LN_STI: break; -// case NS_rtf::LN_FSCRATCH: break; -// case NS_rtf::LN_FINVALHEIGHT: break; -// case NS_rtf::LN_FHASUPE: break; -// case NS_rtf::LN_FMASSCOPY: break; -// case NS_rtf::LN_SGC: break; -// case NS_rtf::LN_ISTDBASE: break; -// case NS_rtf::LN_CUPX: break; -// case NS_rtf::LN_ISTDNEXT: break; -// case NS_rtf::LN_BCHUPE: break; -// case NS_rtf::LN_FAUTOREDEF: break; -// case NS_rtf::LN_FHIDDEN: break; -// case NS_rtf::LN_UNUSED8_3: break; -// case NS_rtf::LN_CSTD: break; -// case NS_rtf::LN_CBSTDBASEINFILE: break; -// case NS_rtf::LN_FSTDSTYLENAMESWRITTEN: break; -// case NS_rtf::LN_UNUSED4_2: break; -// case NS_rtf::LN_STIMAXWHENSAVED: break; -// case NS_rtf::LN_ISTDMAXFIXEDWHENSAVED: break; -// case NS_rtf::LN_NVERBUILTINNAMESWHENSAVED: break; -// case NS_rtf::LN_RGFTCSTANDARDCHPSTSH: break; -// case NS_rtf::LN_WIDENT: break; -// case NS_rtf::LN_NFIB: break; -// case NS_rtf::LN_NPRODUCT: break; -// case NS_rtf::LN_LID: break; -// case NS_rtf::LN_PNNEXT: break; -// case NS_rtf::LN_FDOT: break; -// case NS_rtf::LN_FGLSY: break; -// case NS_rtf::LN_FCOMPLEX: break; -// case NS_rtf::LN_FHASPIC: break; -// case NS_rtf::LN_CQUICKSAVES: break; -// case NS_rtf::LN_FENCRYPTED: break; -// case NS_rtf::LN_FWHICHTBLSTM: break; -// case NS_rtf::LN_FREADONLYRECOMMENDED: break; -// case NS_rtf::LN_FWRITERESERVATION: break; -// case NS_rtf::LN_FEXTCHAR: break; -// case NS_rtf::LN_FLOADOVERRIDE: break; -// case NS_rtf::LN_FFAREAST: break; -// case NS_rtf::LN_FCRYPTO: break; -// case NS_rtf::LN_NFIBBACK: break; -// case NS_rtf::LN_LKEY: break; -// case NS_rtf::LN_ENVR: break; -// case NS_rtf::LN_FMAC: break; -// case NS_rtf::LN_FEMPTYSPECIAL: break; -// case NS_rtf::LN_FLOADOVERRIDEPAGE: break; -// case NS_rtf::LN_FFUTURESAVEDUNDO: break; -// case NS_rtf::LN_FWORD97SAVED: break; -// case NS_rtf::LN_FSPARE0: break; -// case NS_rtf::LN_CHSTABLES: break; -// case NS_rtf::LN_FCMIN: break; -// case NS_rtf::LN_FCMAC: break; -// case NS_rtf::LN_CSW: break; -// case NS_rtf::LN_WMAGICCREATED: break; -// case NS_rtf::LN_WMAGICREVISED: break; -// case NS_rtf::LN_WMAGICCREATEDPRIVATE: break; -// case NS_rtf::LN_WMAGICREVISEDPRIVATE: break; -// case NS_rtf::LN_PNFBPCHPFIRST_W6: break; -// case NS_rtf::LN_PNCHPFIRST_W6: break; -// case NS_rtf::LN_CPNBTECHP_W6: break; -// case NS_rtf::LN_PNFBPPAPFIRST_W6: break; -// case NS_rtf::LN_PNPAPFIRST_W6: break; -// case NS_rtf::LN_CPNBTEPAP_W6: break; -// case NS_rtf::LN_PNFBPLVCFIRST_W6: break; -// case NS_rtf::LN_PNLVCFIRST_W6: break; -// case NS_rtf::LN_CPNBTELVC_W6: break; -// case NS_rtf::LN_LIDFE: break; -// case NS_rtf::LN_CLW: break; -// case NS_rtf::LN_CBMAC: break; -// case NS_rtf::LN_LPRODUCTCREATED: break; -// case NS_rtf::LN_LPRODUCTREVISED: break; -// case NS_rtf::LN_CCPTEXT: break; -// case NS_rtf::LN_CCPFTN: break; -// case NS_rtf::LN_CCPHDD: break; -// case NS_rtf::LN_CCPMCR: break; -// case NS_rtf::LN_CCPATN: break; -// case NS_rtf::LN_CCPEDN: break; -// case NS_rtf::LN_CCPTXBX: break; -// case NS_rtf::LN_CCPHDRTXBX: break; -// case NS_rtf::LN_PNFBPCHPFIRST: break; -// case NS_rtf::LN_PNCHPFIRST: break; -// case NS_rtf::LN_CPNBTECHP: break; -// case NS_rtf::LN_PNFBPPAPFIRST: break; -// case NS_rtf::LN_PNPAPFIRST: break; -// case NS_rtf::LN_CPNBTEPAP: break; -// case NS_rtf::LN_PNFBPLVCFIRST: break; -// case NS_rtf::LN_PNLVCFIRST: break; -// case NS_rtf::LN_CPNBTELVC: break; -// case NS_rtf::LN_FCISLANDFIRST: break; -// case NS_rtf::LN_FCISLANDLIM: break; -// case NS_rtf::LN_CFCLCB: break; -// case NS_rtf::LN_FCSTSHFORIG: break; -// case NS_rtf::LN_LCBSTSHFORIG: break; -// case NS_rtf::LN_FCSTSHF: break; -// case NS_rtf::LN_LCBSTSHF: break; -// case NS_rtf::LN_FCPLCFFNDREF: break; -// case NS_rtf::LN_LCBPLCFFNDREF: break; -// case NS_rtf::LN_FCPLCFFNDTXT: break; -// case NS_rtf::LN_LCBPLCFFNDTXT: break; -// case NS_rtf::LN_FCPLCFANDREF: break; -// case NS_rtf::LN_LCBPLCFANDREF: break; -// case NS_rtf::LN_FCPLCFANDTXT: break; -// case NS_rtf::LN_LCBPLCFANDTXT: break; -// case NS_rtf::LN_FCPLCFSED: break; -// case NS_rtf::LN_LCBPLCFSED: break; -// case NS_rtf::LN_FCPLCFPAD: break; -// case NS_rtf::LN_LCBPLCFPAD: break; -// case NS_rtf::LN_FCPLCFPHE: break; -// case NS_rtf::LN_LCBPLCFPHE: break; -// case NS_rtf::LN_FCSTTBFGLSY: break; -// case NS_rtf::LN_LCBSTTBFGLSY: break; -// case NS_rtf::LN_FCPLCFGLSY: break; -// case NS_rtf::LN_LCBPLCFGLSY: break; -// case NS_rtf::LN_FCPLCFHDD: break; -// case NS_rtf::LN_LCBPLCFHDD: break; -// case NS_rtf::LN_FCPLCFBTECHPX: break; -// case NS_rtf::LN_LCBPLCFBTECHPX: break; -// case NS_rtf::LN_FCPLCFBTEPAPX: break; -// case NS_rtf::LN_LCBPLCFBTEPAPX: break; -// case NS_rtf::LN_FCPLCFSEA: break; -// case NS_rtf::LN_LCBPLCFSEA: break; -// case NS_rtf::LN_FCSTTBFFFN: break; -// case NS_rtf::LN_LCBSTTBFFFN: break; -// case NS_rtf::LN_FCPLCFFLDMOM: break; -// case NS_rtf::LN_LCBPLCFFLDMOM: break; -// case NS_rtf::LN_FCPLCFFLDHDR: break; -// case NS_rtf::LN_LCBPLCFFLDHDR: break; -// case NS_rtf::LN_FCPLCFFLDFTN: break; -// case NS_rtf::LN_LCBPLCFFLDFTN: break; -// case NS_rtf::LN_FCPLCFFLDATN: break; -// case NS_rtf::LN_LCBPLCFFLDATN: break; -// case NS_rtf::LN_FCPLCFFLDMCR: break; -// case NS_rtf::LN_LCBPLCFFLDMCR: break; -// case NS_rtf::LN_FCSTTBFBKMK: break; -// case NS_rtf::LN_LCBSTTBFBKMK: break; -// case NS_rtf::LN_FCPLCFBKF: break; -// case NS_rtf::LN_LCBPLCFBKF: break; -// case NS_rtf::LN_FCPLCFBKL: break; -// case NS_rtf::LN_LCBPLCFBKL: break; -// case NS_rtf::LN_FCCMDS: break; -// case NS_rtf::LN_LCBCMDS: break; -// case NS_rtf::LN_FCPLCMCR: break; -// case NS_rtf::LN_LCBPLCMCR: break; -// case NS_rtf::LN_FCSTTBFMCR: break; -// case NS_rtf::LN_LCBSTTBFMCR: break; -// case NS_rtf::LN_FCPRDRVR: break; -// case NS_rtf::LN_LCBPRDRVR: break; -// case NS_rtf::LN_FCPRENVPORT: break; -// case NS_rtf::LN_LCBPRENVPORT: break; -// case NS_rtf::LN_FCPRENVLAND: break; -// case NS_rtf::LN_LCBPRENVLAND: break; -// case NS_rtf::LN_FCWSS: break; -// case NS_rtf::LN_LCBWSS: break; -// case NS_rtf::LN_FCDOP: break; -// case NS_rtf::LN_LCBDOP: break; -// case NS_rtf::LN_FCSTTBFASSOC: break; -// case NS_rtf::LN_LCBSTTBFASSOC: break; -// case NS_rtf::LN_FCCLX: break; -// case NS_rtf::LN_LCBCLX: break; -// case NS_rtf::LN_FCPLCFPGDFTN: break; -// case NS_rtf::LN_LCBPLCFPGDFTN: break; -// case NS_rtf::LN_FCAUTOSAVESOURCE: break; -// case NS_rtf::LN_LCBAUTOSAVESOURCE: break; -// case NS_rtf::LN_FCGRPXSTATNOWNERS: break; -// case NS_rtf::LN_LCBGRPXSTATNOWNERS: break; -// case NS_rtf::LN_FCSTTBFATNBKMK: break; -// case NS_rtf::LN_LCBSTTBFATNBKMK: break; -// case NS_rtf::LN_FCPLCDOAMOM: break; -// case NS_rtf::LN_LCBPLCDOAMOM: break; -// case NS_rtf::LN_FCPLCDOAHDR: break; -// case NS_rtf::LN_LCBPLCDOAHDR: break; -// case NS_rtf::LN_FCPLCSPAMOM: break; -// case NS_rtf::LN_LCBPLCSPAMOM: break; -// case NS_rtf::LN_FCPLCSPAHDR: break; -// case NS_rtf::LN_LCBPLCSPAHDR: break; -// case NS_rtf::LN_FCPLCFATNBKF: break; -// case NS_rtf::LN_LCBPLCFATNBKF: break; -// case NS_rtf::LN_FCPLCFATNBKL: break; -// case NS_rtf::LN_LCBPLCFATNBKL: break; -// case NS_rtf::LN_FCPMS: break; -// case NS_rtf::LN_LCBPMS: break; -// case NS_rtf::LN_FCFORMFLDSTTBF: break; -// case NS_rtf::LN_LCBFORMFLDSTTBF: break; -// case NS_rtf::LN_FCPLCFENDREF: break; -// case NS_rtf::LN_LCBPLCFENDREF: break; -// case NS_rtf::LN_FCPLCFENDTXT: break; -// case NS_rtf::LN_LCBPLCFENDTXT: break; -// case NS_rtf::LN_FCPLCFFLDEDN: break; -// case NS_rtf::LN_LCBPLCFFLDEDN: break; -// case NS_rtf::LN_FCPLCFPGDEDN: break; -// case NS_rtf::LN_LCBPLCFPGDEDN: break; -// case NS_rtf::LN_FCDGGINFO: break; -// case NS_rtf::LN_LCBDGGINFO: break; -// case NS_rtf::LN_FCSTTBFRMARK: break; -// case NS_rtf::LN_LCBSTTBFRMARK: break; -// case NS_rtf::LN_FCSTTBFCAPTION: break; -// case NS_rtf::LN_LCBSTTBFCAPTION: break; -// case NS_rtf::LN_FCSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_LCBSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_FCPLCFWKB: break; -// case NS_rtf::LN_LCBPLCFWKB: break; -// case NS_rtf::LN_FCPLCFSPL: break; -// case NS_rtf::LN_LCBPLCFSPL: break; -// case NS_rtf::LN_FCPLCFTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDTXBX: break; -// case NS_rtf::LN_FCPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_FCSTWUSER: break; -// case NS_rtf::LN_LCBSTWUSER: break; -// case NS_rtf::LN_FCSTTBTTMBD: break; -// case NS_rtf::LN_LCBSTTBTTMBD: break; -// case NS_rtf::LN_FCUNUSED: break; -// case NS_rtf::LN_LCBUNUSED: break; -// case NS_rtf::LN_FCPGDMOTHER: break; -// case NS_rtf::LN_LCBPGDMOTHER: break; -// case NS_rtf::LN_FCBKDMOTHER: break; -// case NS_rtf::LN_LCBBKDMOTHER: break; -// case NS_rtf::LN_FCPGDFTN: break; -// case NS_rtf::LN_LCBPGDFTN: break; -// case NS_rtf::LN_FCBKDFTN: break; -// case NS_rtf::LN_LCBBKDFTN: break; -// case NS_rtf::LN_FCPGDEDN: break; -// case NS_rtf::LN_LCBPGDEDN: break; -// case NS_rtf::LN_FCBKDEDN: break; -// case NS_rtf::LN_LCBBKDEDN: break; -// case NS_rtf::LN_FCSTTBFINTLFLD: break; -// case NS_rtf::LN_LCBSTTBFINTLFLD: break; -// case NS_rtf::LN_FCROUTESLIP: break; -// case NS_rtf::LN_LCBROUTESLIP: break; -// case NS_rtf::LN_FCSTTBSAVEDBY: break; -// case NS_rtf::LN_LCBSTTBSAVEDBY: break; -// case NS_rtf::LN_FCSTTBFNM: break; -// case NS_rtf::LN_LCBSTTBFNM: break; -// case NS_rtf::LN_FCPLCFLST: break; -// case NS_rtf::LN_LCBPLCFLST: break; -// case NS_rtf::LN_FCPLFLFO: break; -// case NS_rtf::LN_LCBPLFLFO: break; -// case NS_rtf::LN_FCPLCFTXBXBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXBKD: break; -// case NS_rtf::LN_FCPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_FCDOCUNDO: break; -// case NS_rtf::LN_LCBDOCUNDO: break; -// case NS_rtf::LN_FCRGBUSE: break; -// case NS_rtf::LN_LCBRGBUSE: break; -// case NS_rtf::LN_FCUSP: break; -// case NS_rtf::LN_LCBUSP: break; -// case NS_rtf::LN_FCUSKF: break; -// case NS_rtf::LN_LCBUSKF: break; -// case NS_rtf::LN_FCPLCUPCRGBUSE: break; -// case NS_rtf::LN_LCBPLCUPCRGBUSE: break; -// case NS_rtf::LN_FCPLCUPCUSP: break; -// case NS_rtf::LN_LCBPLCUPCUSP: break; -// case NS_rtf::LN_FCSTTBGLSYSTYLE: break; -// case NS_rtf::LN_LCBSTTBGLSYSTYLE: break; -// case NS_rtf::LN_FCPLGOSL: break; -// case NS_rtf::LN_LCBPLGOSL: break; -// case NS_rtf::LN_FCPLCOCX: break; -// case NS_rtf::LN_LCBPLCOCX: break; -// case NS_rtf::LN_FCPLCFBTELVC: break; -// case NS_rtf::LN_LCBPLCFBTELVC: break; -// case NS_rtf::LN_DWLOWDATETIME: break; -// case NS_rtf::LN_DWHIGHDATETIME: break; -// case NS_rtf::LN_FCPLCFLVC: break; -// case NS_rtf::LN_LCBPLCFLVC: break; -// case NS_rtf::LN_FCPLCASUMY: break; -// case NS_rtf::LN_LCBPLCASUMY: break; -// case NS_rtf::LN_FCPLCFGRAM: break; -// case NS_rtf::LN_LCBPLCFGRAM: break; -// case NS_rtf::LN_FCSTTBLISTNAMES: break; -// case NS_rtf::LN_LCBSTTBLISTNAMES: break; -// case NS_rtf::LN_FCSTTBFUSSR: break; -// case NS_rtf::LN_LCBSTTBFUSSR: break; -// case NS_rtf::LN_FN: break; -// case NS_rtf::LN_FCSEPX: break; -// case NS_rtf::LN_FNMPR: break; -// case NS_rtf::LN_FCMPR: break; -// case NS_rtf::LN_ICOFORE: break; -// case NS_rtf::LN_ICOBACK: break; -// case NS_rtf::LN_IPAT: break; -// case NS_rtf::LN_SHDFORECOLOR: break; -// case NS_rtf::LN_SHDBACKCOLOR: break; -// case NS_rtf::LN_SHDPATTERN: break; -// case NS_rtf::LN_DPTLINEWIDTH: break; -// case NS_rtf::LN_BRCTYPE: break; -// case NS_rtf::LN_ICO: break; -// case NS_rtf::LN_DPTSPACE: break; -// case NS_rtf::LN_FSHADOW: break; -// case NS_rtf::LN_FFRAME: break; -// case NS_rtf::LN_UNUSED2_15: break; -// case NS_rtf::LN_FFIRSTMERGED: break; -// case NS_rtf::LN_FMERGED: break; -// case NS_rtf::LN_FVERTICAL: break; -// case NS_rtf::LN_FBACKWARD: break; -// case NS_rtf::LN_FROTATEFONT: break; -// case NS_rtf::LN_FVERTMERGE: break; -// case NS_rtf::LN_FVERTRESTART: break; -// case NS_rtf::LN_VERTALIGN: break; -// case NS_rtf::LN_FUNUSED: break; -// case NS_rtf::LN_WUNUSED: break; -// case NS_rtf::LN_BRCTOP: break; -// case NS_rtf::LN_BRCLEFT: break; -// case NS_rtf::LN_BRCBOTTOM: break; -// case NS_rtf::LN_BRCRIGHT: break; -// case NS_rtf::LN_IBKL: break; -// case NS_rtf::LN_ITCFIRST: break; -// case NS_rtf::LN_FPUB: break; -// case NS_rtf::LN_ITCLIM: break; -// case NS_rtf::LN_FCOL: break; -// case NS_rtf::LN_LINECOLOR: break; -// case NS_rtf::LN_LINEWIDTH: break; -// case NS_rtf::LN_LINETYPE: break; -// case NS_rtf::LN_MM: break; -// case NS_rtf::LN_XEXT: break; -// case NS_rtf::LN_YEXT: break; -// case NS_rtf::LN_HMF: break; -// case NS_rtf::LN_LCB: break; -// case NS_rtf::LN_CBHEADER: break; -// case NS_rtf::LN_MFP: break; -// case NS_rtf::LN_BM_RCWINMF: break; -// case NS_rtf::LN_DXAGOAL: break; -// case NS_rtf::LN_DYAGOAL: break; -// case NS_rtf::LN_MX: break; -// case NS_rtf::LN_MY: break; -// case NS_rtf::LN_DXACROPLEFT: break; -// case NS_rtf::LN_DYACROPTOP: break; -// case NS_rtf::LN_DXACROPRIGHT: break; -// case NS_rtf::LN_DYACROPBOTTOM: break; -// case NS_rtf::LN_BRCL: break; -// case NS_rtf::LN_FFRAMEEMPTY: break; -// case NS_rtf::LN_FBITMAP: break; -// case NS_rtf::LN_FDRAWHATCH: break; -// case NS_rtf::LN_FERROR: break; -// case NS_rtf::LN_BPP: break; -// case NS_rtf::LN_DXAORIGIN: break; -// case NS_rtf::LN_DYAORIGIN: break; -// case NS_rtf::LN_CPROPS: break; -// case NS_rtf::LN_LINEPROPSTOP: break; -// case NS_rtf::LN_LINEPROPSLEFT: break; -// case NS_rtf::LN_LINEPROPSBOTTOM: break; -// case NS_rtf::LN_LINEPROPSRIGHT: break; -// case NS_rtf::LN_LINEPROPSHORIZONTAL: break; -// case NS_rtf::LN_LINEPROPSVERTICAL: break; -// case NS_rtf::LN_headerr: break; -// case NS_rtf::LN_footerr: break; -// case NS_rtf::LN_endnote: break; -// case NS_rtf::LN_BOOKMARKNAME: break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_LISTLEVEL: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { //add a new level to the level vector and make it the current one m_pImpl->AddLevel(); @@ -792,30 +408,8 @@ void ListTable::attribute(Id nName, Value & rVal) pProperties->resolve(*this); } break; -// case NS_rtf::LN_LFO: break; -// case NS_rtf::LN_F: break; -// case NS_rtf::LN_ALTFONTNAME: break; -// case NS_rtf::LN_XSZFFN: break; -// case NS_rtf::LN_XSTZNAME: break; -// case NS_rtf::LN_XSTZNAME1: break; -// case NS_rtf::LN_UPXSTART: break; -// case NS_rtf::LN_UPX: break; -// case NS_rtf::LN_sed: break; -// case NS_rtf::LN_picf: break; -// case NS_rtf::LN_rgbrc: break; -// case NS_rtf::LN_shd: break; -// case NS_rtf::LN_cellShd: break; -// case NS_rtf::LN_cellTopColor: break; -// case NS_rtf::LN_cellLeftColor: break; -// case NS_rtf::LN_cellBottomColor: break; -// case NS_rtf::LN_cellRightColor: break; - -// case NS_rtf::LN_LISTTABLE: break; -// case NS_rtf::LN_LFOTABLE: break; -// case NS_rtf::LN_FONTTABLE: break; -// case NS_rtf::LN_STYLESHEET: break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_AbstractNum_abstractNumId: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { sal_Int32 nVal = rVal.getString().toInt32(); m_pImpl->m_pCurrentEntry->nAbstractNumId = nVal; @@ -878,8 +472,8 @@ void ListTable::sprm(Sprm & rSprm) /* WRITERFILTERSTATUS: table: ListTable_sprm */ switch( nSprmId ) { - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Numbering_abstractNum: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if(pProperties.get()) @@ -894,8 +488,8 @@ void ListTable::sprm(Sprm & rSprm) } } break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Numbering_num: + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if(pProperties.get()) @@ -908,15 +502,15 @@ void ListTable::sprm(Sprm & rSprm) } } break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_AbstractNum_multiLevelType: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ case NS_rtf::LN_TPLC: + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->nTPLC = nIntValue; break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_AbstractNum_lvl: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { m_pImpl->AddLevel(); writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); @@ -928,30 +522,24 @@ void ListTable::sprm(Sprm & rSprm) // case NS_rtf::LN_LSID: // m_pImpl->m_pCurrentEntry->nListId = nIntValue; // break; + case NS_rtf::LN_RGBXCHNUMS: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_RGBXCHNUMS: break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + break; case NS_rtf::LN_ISTARTAT: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_NFC: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_JC: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_FLEGAL: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_FNORESTART: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREV: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREVSPACE: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FWORD6: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FIDENTSAV: + case NS_rtf::LN_FCONVERTED: + case NS_rtf::LN_FTENTATIVE: case NS_rtf::LN_IXCHFOLLOW: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ ApplyLevelValues( nSprmId, nIntValue ); break; case NS_ooxml::LN_CT_Lvl_lvlText: case NS_ooxml::LN_CT_Lvl_rPr : //contains LN_EG_RPrBase_rFonts + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if(pProperties.get()) @@ -959,6 +547,7 @@ void ListTable::sprm(Sprm & rSprm) } break; case NS_ooxml::LN_CT_NumLvl_lvl: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { // overwrite level writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); @@ -981,6 +570,7 @@ void ListTable::sprm(Sprm & rSprm) break; case NS_ooxml::LN_CT_Lvl_pPr: case NS_ooxml::LN_CT_PPrBase_ind: + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ { //todo: how to handle paragraph properties within numbering levels (except LeftIndent and FirstLineIndent)? writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); @@ -997,6 +587,7 @@ void ListTable::sprm(Sprm & rSprm) } break; case NS_ooxml::LN_CT_Lvl_suff: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //todo: currently unsupported suffix //can be: "none", "space", "tab" break; @@ -1006,6 +597,7 @@ void ListTable::sprm(Sprm & rSprm) case NS_sprm::LN_CHps: // sprmCHps case NS_ooxml::LN_EG_RPrBase_lang: case NS_ooxml::LN_EG_RPrBase_eastAsianLayout: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ //no break! default: if(m_pImpl->m_pCurrentEntry->pCurrentProperties.get()) @@ -1026,30 +618,41 @@ void ListTable::ApplyLevelValues( sal_Int32 nId, sal_Int32 nIntValue) switch(nId) { case NS_rtf::LN_ISTARTAT: + /* WRITERFILTERSTATUS: */ m_pImpl->m_pCurrentEntry->pCurrentProperties->nIStartAt = nIntValue; break; case NS_rtf::LN_NFC: + /* WRITERFILTERSTATUS: */ m_pImpl->m_pCurrentEntry->pCurrentProperties->nNFC = nIntValue; break; case NS_rtf::LN_JC: + /* WRITERFILTERSTATUS: */ m_pImpl->m_pCurrentEntry->pCurrentProperties->nJC = nIntValue; break; case NS_rtf::LN_FLEGAL: + /* WRITERFILTERSTATUS: */ m_pImpl->m_pCurrentEntry->pCurrentProperties->nFLegal = nIntValue; break; case NS_rtf::LN_FNORESTART: + /* WRITERFILTERSTATUS: */ m_pImpl->m_pCurrentEntry->pCurrentProperties->nFNoRestart = nIntValue; break; - case NS_rtf::LN_FPREV: + case NS_rtf::LN_FIDENTSAV: + /* WRITERFILTERSTATUS: */ m_pImpl->m_pCurrentEntry->pCurrentProperties->nFPrev = nIntValue; break; - case NS_rtf::LN_FPREVSPACE: + case NS_rtf::LN_FCONVERTED: + /* WRITERFILTERSTATUS: */ m_pImpl->m_pCurrentEntry->pCurrentProperties->nFPrevSpace = nIntValue; break; +#if 0 case NS_rtf::LN_FWORD6: + /* WRITERFILTERSTATUS: */ m_pImpl->m_pCurrentEntry->pCurrentProperties->nFWord6 = nIntValue; break; +#endif case NS_rtf::LN_IXCHFOLLOW: + /* WRITERFILTERSTATUS: */ m_pImpl->m_pCurrentEntry->pCurrentProperties->nXChFollow = nIntValue; break; default: diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx index 896bc1a06e94..04dcf594339c 100644 --- a/writerfilter/source/dmapper/PropertyIds.cxx +++ b/writerfilter/source/dmapper/PropertyIds.cxx @@ -312,6 +312,7 @@ const rtl::OUString& PropertyNameSupplier::GetName( PropertyIds eId ) const case PROP_STREAM_NAME: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StreamName")); break; case PROP_BITMAP : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Bitmap")); break; case PROP_IS_DATE : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsDate")); break; + case PROP_TAB_STOP_DISTANCE : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TabStopDistance")); break; case PROP_CNF_STYLE : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CnfStyle")); break; case PROP_INDENT_AT : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IndentAt")); break; case PROP_FIRST_LINE_INDENT : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstLineIndent")); break; diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx index 461373c23a45..f9c4c333e8ea 100644 --- a/writerfilter/source/dmapper/PropertyIds.hxx +++ b/writerfilter/source/dmapper/PropertyIds.hxx @@ -275,12 +275,13 @@ enum PropertyIds /*239*/ ,PROP_STREAM_NAME /*240*/ ,PROP_BITMAP /*241*/ ,PROP_IS_DATE -/*242*/ ,PROP_CNF_STYLE -/*243*/ ,PROP_INDENT_AT -/*244*/ ,PROP_FIRST_LINE_INDENT -/*245*/ ,PROP_NUMBERING_STYLE_NAME -/*246*/ ,PROP_LISTTAB_STOP_POSITION -/*247*/ ,PROP_POSITION_AND_SPACE_MODE +/*242*/ ,PROP_TAB_STOP_DISTANCE +/*243*/ ,PROP_CNF_STYLE +/*244*/ ,PROP_INDENT_AT +/*245*/ ,PROP_FIRST_LINE_INDENT +/*246*/ ,PROP_NUMBERING_STYLE_NAME +/*247*/ ,PROP_LISTTAB_STOP_POSITION +/*248*/ ,PROP_POSITION_AND_SPACE_MODE }; struct PropertyNameSupplier_Impl; class PropertyNameSupplier diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index d0928f1bac8f..8d9c1fa84a7f 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -38,6 +38,8 @@ #include <com/sun/star/text/WritingMode.hpp> #include <com/sun/star/text/XTextColumns.hpp> #include <com/sun/star/text/XText.hpp> +#include "dmapperLoggers.hxx" +#include "PropertyMapHelper.hxx" using namespace ::com::sun::star; @@ -125,6 +127,47 @@ void PropertyMap::Insert( PropertyIds eId, bool bIsTextProperty, const uno::Any& rAny )); Invalidate(); } + +#ifdef DEBUG_DOMAINMAPPER +XMLTag::Pointer_t PropertyMap::toTag() const +{ + XMLTag::Pointer_t pResult(new XMLTag("PropertyMap")); + + PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); + PropertyMap::const_iterator aMapIter = begin(); + while (aMapIter != end()) + { + XMLTag::Pointer_t pTag(new XMLTag("property")); + + pTag->addAttr("name", rPropNameSupplier.GetName( aMapIter->first.eId )); + + switch (aMapIter->first.eId) + { + case PROP_TABLE_COLUMN_SEPARATORS: + pTag->addTag(lcl_TableColumnSeparatorsToTag(aMapIter->second)); + break; + default: + { + try { + sal_Int32 aInt; + aMapIter->second >>= aInt; + pTag->addAttr("value", aInt); + } + catch (...) { + } + } + break; + } + + pResult->addTag(pTag); + + ++aMapIter; + } + + return pResult; +} +#endif + /*-- 13.12.2006 10:46:42--------------------------------------------------- -----------------------------------------------------------------------*/ @@ -152,6 +195,8 @@ void PropertyMap::insert( const PropertyMapPtr pMap, bool bOverwrite ) ::std::for_each( pMap->begin(), pMap->end(), removeExistingElements<PropertyMap::value_type>(*this) ); _PropertyMap::insert(pMap->begin(), pMap->end()); insertTableProperties(pMap.get()); + + Invalidate(); } } /*-- 06.06.2007 15:49:09--------------------------------------------------- @@ -166,6 +211,9 @@ const uno::Reference< text::XFootnote>& PropertyMap::GetFootnote() const -----------------------------------------------------------------------*/ void PropertyMap::insertTableProperties( const PropertyMap* ) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("PropertyMap.insertTableProperties"); +#endif } /*-- 24.07.2006 08:29:01--------------------------------------------------- @@ -1043,6 +1091,11 @@ void TablePropertyMap::setValue( TablePropertyMapTarget eWhich, sal_Int32 nSet ) -----------------------------------------------------------------------*/ void TablePropertyMap::insertTableProperties( const PropertyMap* pMap ) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("TablePropertyMap.insertTableProperties"); + dmapper_logger->addTag(pMap->toTag()); +#endif + const TablePropertyMap* pSource = dynamic_cast< const TablePropertyMap* >(pMap); if( pSource ) { @@ -1056,6 +1109,10 @@ void TablePropertyMap::insertTableProperties( const PropertyMap* pMap ) } } } +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->addTag(toTag()); + dmapper_logger->endElement("TablePropertyMap.insertTableProperties"); +#endif } diff --git a/writerfilter/source/dmapper/PropertyMap.hxx b/writerfilter/source/dmapper/PropertyMap.hxx index be6209cd1f30..0f934b37d7d8 100644 --- a/writerfilter/source/dmapper/PropertyMap.hxx +++ b/writerfilter/source/dmapper/PropertyMap.hxx @@ -39,6 +39,10 @@ #include <map> #include <vector> +#ifdef DEBUG_DOMAINMAPPER +#include <resourcemodel/TagLogger.hxx> +#endif + namespace com{namespace sun{namespace star{ namespace beans{ struct PropertyValue; @@ -99,9 +103,16 @@ class PropertyMap : public _PropertyMap ::rtl::OUString m_sFootnoteFontName; ::com::sun::star::uno::Reference< ::com::sun::star::text::XFootnote > m_xFootnote; - public: - PropertyMap(); - virtual ~PropertyMap(); +protected: + void Invalidate() + { + if(m_aValues.getLength()) + m_aValues.realloc( 0 ); + } + +public: + PropertyMap(); + virtual ~PropertyMap(); ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > GetPropertyValues(); bool hasEmptyPropertyValues() const {return !m_aValues.getLength();} @@ -111,12 +122,6 @@ class PropertyMap : public _PropertyMap using _PropertyMap::insert; void insert(const boost::shared_ptr<PropertyMap> pMap, bool bOverwrite = true); - void Invalidate() - { - if(m_aValues.getLength()) - m_aValues.realloc( 0 ); - } - const ::com::sun::star::uno::Reference< ::com::sun::star::text::XFootnote>& GetFootnote() const; void SetFootnote( ::com::sun::star::uno::Reference< ::com::sun::star::text::XFootnote> xF ) { m_xFootnote = xF; } @@ -131,6 +136,10 @@ class PropertyMap : public _PropertyMap virtual void insertTableProperties( const PropertyMap* ); +#ifdef DEBUG_DOMAINMAPPER + virtual XMLTag::Pointer_t toTag() const; +#endif + }; typedef boost::shared_ptr<PropertyMap> PropertyMapPtr; diff --git a/writerfilter/source/dmapper/PropertyMapHelper.cxx b/writerfilter/source/dmapper/PropertyMapHelper.cxx new file mode 100644 index 000000000000..555003774113 --- /dev/null +++ b/writerfilter/source/dmapper/PropertyMapHelper.cxx @@ -0,0 +1,129 @@ +/************************************************************************* + * + * 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: PropertyMap.hxx,v $ + * $Revision: 1.18 $ + * + * 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. + * + ************************************************************************/ + +#include <com/sun/star/text/TableColumnSeparator.hpp> +#include <resourcemodel/TagLogger.hxx> +#include "PropertyMapHelper.hxx" + +namespace writerfilter +{ +namespace dmapper +{ + +using namespace ::com::sun::star; + + XMLTag::Pointer_t lcl_TableColumnSeparatorsToTag(const uno::Any & rTableColumnSeparators) +{ + uno::Sequence<text::TableColumnSeparator> aSeq; + rTableColumnSeparators >>= aSeq; + + XMLTag::Pointer_t pResult(new XMLTag("property.TableColumnSeparators")); + + sal_uInt32 nLength = aSeq.getLength(); + for (sal_uInt32 n = 0; n < nLength; ++n) + { + XMLTag::Pointer_t pTagSeparator(new XMLTag("separator")); + + pTagSeparator->addAttr("position", aSeq[n].Position); + pTagSeparator->addAttr("visible", aSeq[n].IsVisible); + + pResult->addTag(pTagSeparator); + } + + return pResult; +} + +XMLTag::Pointer_t lcl_PropertyValuesToTag(beans::PropertyValues & rValues) +{ + XMLTag::Pointer_t pResult(new XMLTag("propertyValues")); + + beans::PropertyValue * pValues = rValues.getArray(); + + for (sal_Int32 n = 0; n < rValues.getLength(); ++n) + { + XMLTag::Pointer_t pTag(new XMLTag("propertyValue")); + + pTag->addAttr("name", pValues[n].Name); + + try + { + sal_Int32 aInt = 0; + pValues[n].Value >>= aInt; + pTag->addAttr("value", aInt); + } + catch (...) + { + } + + if (pValues[n].Name.equalsAscii("TableColumnSeparators")) + { + pTag->addTag(lcl_TableColumnSeparatorsToTag(pValues[n].Value)); + } + + pResult->addTag(pTag); + } + + return pResult; +} + +XMLTag::Pointer_t lcl_PropertyValueSeqToTag(PropertyValueSeq_t & rPropValSeq) +{ + XMLTag::Pointer_t pResult(new XMLTag("PropertyValueSeq")); + + beans::PropertyValues * pValues = rPropValSeq.getArray(); + + for (sal_Int32 n = 0; n < rPropValSeq.getLength(); ++n) + { + XMLTag::Pointer_t pTag(lcl_PropertyValuesToTag(pValues[n])); + + pResult->addTag(pTag); + } + + return pResult; +} + +XMLTag::Pointer_t lcl_PropertyValueSeqSeqToTag(PropertyValueSeqSeq_t rPropValSeqSeq) +{ + XMLTag::Pointer_t pResult(new XMLTag("PropertyValueSeq")); + + PropertyValueSeq_t * pValues = rPropValSeqSeq.getArray(); + + for (sal_Int32 n = 0; n < rPropValSeqSeq.getLength(); ++n) + { + XMLTag::Pointer_t pTag(lcl_PropertyValueSeqToTag(pValues[n])); + + pResult->addTag(pTag); + } + + return pResult; +} + +} +} diff --git a/writerfilter/source/dmapper/PropertyMapHelper.hxx b/writerfilter/source/dmapper/PropertyMapHelper.hxx new file mode 100644 index 000000000000..fc9ea0a85bb4 --- /dev/null +++ b/writerfilter/source/dmapper/PropertyMapHelper.hxx @@ -0,0 +1,48 @@ +/************************************************************************* + * + * 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: PropertyMap.hxx,v $ + * $Revision: 1.18 $ + * + * 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. + * + ************************************************************************/ + +#include "PropertyMap.hxx" +#include <com/sun/star/beans/PropertyValues.hpp> + +namespace writerfilter +{ +namespace dmapper +{ + +XMLTag::Pointer_t lcl_TableColumnSeparatorsToTag(const uno::Any & rTableColumnSeparators); +XMLTag::Pointer_t lcl_PropertyValuesToTag(beans::PropertyValues & rValues); + +typedef uno::Sequence<beans::PropertyValues> PropertyValueSeq_t; +XMLTag::Pointer_t lcl_PropertyValueSeqToTag(PropertyValueSeq_t & rPropValSeq); + +typedef uno::Sequence<PropertyValueSeq_t> PropertyValueSeqSeq_t; +XMLTag::Pointer_t lcl_PropertyValueSeqSeqToTag(PropertyValueSeqSeq_t & rPropValSeqSeq); +} +} diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index dd5796a22ceb..10fc83e22dea 100644..100755 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -1,79 +1,226 @@ -#include "SettingsTable.hxx" - +/************************************************************************* + * + * 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: SettingsTable.cxx,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. + * + ************************************************************************/ + +#include <SettingsTable.hxx> +#include <doctok/resourceids.hxx> #include <ooxml/resourceids.hxx> +#include <stdio.h> +#include <ListTable.hxx> +#include <ConversionHelper.hxx> +#include <rtl/ustring.hxx> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/text/XTextDocument.hpp> +namespace writerfilter { +namespace dmapper +{ -#if DEBUG -#include <iostream> -#endif +struct SettingsTable_Impl +{ + DomainMapper& m_rDMapper; + const uno::Reference< lang::XMultiServiceFactory > m_xTextFactory; -using namespace com::sun::star; -using namespace rtl; + ListTablePtr m_pListTable; -namespace writerfilter { -namespace dmapper { + ::rtl::OUString m_sCharacterSpacing; + ::rtl::OUString m_sDecimalSymbol; + ::rtl::OUString m_sListSeparatorForFields; //2.15.1.56 listSeparator (List Separator for Field Code Evaluation) -SettingsTable_Impl::SettingsTable_Impl( ) : - m_bRecordChanges( false ) -{ -} + int m_nDefaultTabStop; + int m_nHyphenationZone; -SettingsTable_Impl::~SettingsTable_Impl( ) -{ -} + bool m_bNoPunctuationKerning; + bool m_doNotIncludeSubdocsInStats; // Do Not Include Content in Text Boxes, Footnotes, and Endnotes in Document Statistics) + bool m_bRecordChanges; + + SettingsTable_Impl( DomainMapper& rDMapper, const uno::Reference< lang::XMultiServiceFactory > xTextFactory ) : + m_rDMapper( rDMapper ) + , m_xTextFactory( xTextFactory ) + , m_nDefaultTabStop( 720 ) //default is 1/2 in + , m_nHyphenationZone(0) + , m_bNoPunctuationKerning(false) + , m_doNotIncludeSubdocsInStats(false) + , m_bRecordChanges(false) + {} + + ListTablePtr GetListTable() + { + if(!m_pListTable) + m_pListTable.reset( + new ListTable( m_rDMapper, m_xTextFactory )); + return m_pListTable; + } +}; -SettingsTable::SettingsTable( ) : - m_pImpl( new SettingsTable_Impl ) +SettingsTable::SettingsTable(DomainMapper& rDMapper, const uno::Reference< lang::XMultiServiceFactory > xTextFactory) : +m_pImpl( new SettingsTable_Impl(rDMapper, xTextFactory) ) { + // printf("SettingsTable::SettingsTable()\n"); } -SettingsTable::~SettingsTable( ) +SettingsTable::~SettingsTable() { - delete m_pImpl, m_pImpl = NULL; + delete m_pImpl; } -void SettingsTable::attribute( Id /*nName*/, Value& /*rVal*/ ) +void SettingsTable::attribute(Id /*Name*/, Value & val) { -#if DEBUG - clog << "SettingsTable::attribute( )" << endl; + int nIntValue = val.getInt(); + (void)nIntValue; + ::rtl::OUString sValue = val.getString(); + (void)sValue; + //printf ( "SettingsTable::attribute(0x%.4x, 0x%.4x) [%s]\n", (unsigned int)Name, (unsigned int)nIntValue, ::rtl::OUStringToOString(sValue, RTL_TEXTENCODING_DONTKNOW).getStr()); + /* WRITERFILTERSTATUS: table: SettingsTable_attributedata */ +#if 0 //no values known, yet + + switch(Name) + { + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::: + break; + default: + { + } + } #endif } -void SettingsTable::sprm( Sprm& rSprm ) +void SettingsTable::sprm(Sprm& rSprm) { - switch ( rSprm.getId( ) ) + sal_uInt32 nSprmId = rSprm.getId(); + + Value::Pointer_t pValue = rSprm.getValue(); + sal_Int32 nIntValue = pValue->getInt(); + (void)nIntValue; + rtl::OUString sStringValue = pValue->getString(); + + //printf ( "SettingsTable::sprm(0x%.4x, 0x%.4x) [%s]\n", (unsigned int)nSprmId, (unsigned int)nIntValue, ::rtl::OUStringToOString(sStringValue, RTL_TEXTENCODING_DONTKNOW).getStr()); + + /* WRITERFILTERSTATUS: table: SettingsTable_sprm */ + switch(nSprmId) { - case NS_ooxml::LN_CT_Settings_trackRevisions: - { - m_pImpl->m_bRecordChanges = bool(rSprm.getValue( )->getInt( ) ); - } - break; - default: - { -#if DEBUG - clog << __FILE__ << ":" << __LINE__; - clog << ": unknown SPRM: " << rSprm.getName( ) << endl; -#endif - } + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_zoom: // 92469; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_proofState: // 92489; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_attachedTemplate: // 92491; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_hdrShapeDefaults: // 92544; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_footnotePr: // 92545; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_endnotePr: // 92546; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_compat: // 92547; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_themeFontLang: // 92552; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_shapeDefaults: // 92560; + + //PropertySetValues - need to be resolved + { + writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); + if( pProperties.get()) + pProperties->resolve(*this); + } + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Numbering_num: // 92613; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Numbering_abstractNum: // 92612; + { + m_pImpl->GetListTable()->sprm( rSprm ); + } + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_stylePaneFormatFilter: // 92493; + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_defaultTabStop: // 92505; + m_pImpl->m_nDefaultTabStop = nIntValue; + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_noPunctuationKerning: // 92526; + m_pImpl->m_bNoPunctuationKerning = nIntValue ? true : false; + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_characterSpacingControl: // 92527; + m_pImpl->m_sCharacterSpacing = sStringValue; // doNotCompress, compressPunctuation, compressPunctuationAndJapaneseKana + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_doNotIncludeSubdocsInStats: // 92554; // Do Not Include Content in Text Boxes, Footnotes, and Endnotes in Document Statistics) + m_pImpl->m_doNotIncludeSubdocsInStats = nIntValue? true : false; + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_decimalSymbol: // 92562; + m_pImpl->m_sDecimalSymbol = sStringValue; + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_listSeparator: // 92563; + m_pImpl->m_sListSeparatorForFields = sStringValue; + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_rsids: // 92549; revision save Ids - probably not necessary + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Settings_hyphenationZone: // 92508; + m_pImpl->m_nHyphenationZone = nIntValue; + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Compat_useFELayout: // 92422; + // useFELayout (Do Not Bypass East Asian/Complex Script Layout Code - support of old versions of Word - ignored) + break; + case NS_ooxml::LN_CT_Settings_trackRevisions: + { + m_pImpl->m_bRecordChanges = bool(rSprm.getValue( )->getInt( ) ); + } + break; + default: + { + OSL_ENSURE( false, "unknown sprmid in SettingsTable::sprm()"); + } } } -void SettingsTable::entry( int nPos, writerfilter::Reference<Properties>::Pointer_t pRef ) +void SettingsTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) { - (void)nPos; -#if DEBUG - fprintf( stderr, "SettingsTable::entry( ), pos: %d\n", nPos ); -#endif - pRef->resolve( *this ); + // printf ( "SettingsTable::entry\n"); + ref->resolve(*this); } +//returns default TabStop in 1/100th mm + +/*-- 22.09.2009 10:29:32--------------------------------------------------- -void SettingsTable::resolveSprmProps( Sprm& rSprm ) + -----------------------------------------------------------------------*/ +int SettingsTable::GetDefaultTabStop() const { - writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); - if( pProperties.get()) - pProperties->resolve(*this); + return ConversionHelper::convertTwipToMM100( m_pImpl->m_nDefaultTabStop ); } void SettingsTable::ApplyProperties( uno::Reference< text::XTextDocument > xDoc ) @@ -81,7 +228,9 @@ void SettingsTable::ApplyProperties( uno::Reference< text::XTextDocument > xDoc uno::Reference< beans::XPropertySet> xDocProps( xDoc, uno::UNO_QUERY ); // Record changes value - xDocProps->setPropertyValue( OUString::createFromAscii( "RecordChanges" ), uno::makeAny( m_pImpl->m_bRecordChanges ) ); + xDocProps->setPropertyValue( ::rtl::OUString::createFromAscii( "RecordChanges" ), uno::makeAny( m_pImpl->m_bRecordChanges ) ); } -} } + +}//namespace dmapper +} //namespace writerfilter diff --git a/writerfilter/source/dmapper/SettingsTable.hxx b/writerfilter/source/dmapper/SettingsTable.hxx index fb5ba5a8b010..cb3e7913c5e7 100644..100755 --- a/writerfilter/source/dmapper/SettingsTable.hxx +++ b/writerfilter/source/dmapper/SettingsTable.hxx @@ -1,31 +1,67 @@ +/************************************************************************* + * + * 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: SettingsTable.hxx,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 INCLUDED_SETTINGSTABLE_HXX #define INCLUDED_SETTINGSTABLE_HXX #include <WriterFilterDllApi.hxx> #include <resourcemodel/WW8ResourceModel.hxx> - +#include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/text/XTextDocument.hpp> +#include <map> + +namespace com{ namespace sun{ namespace star{ +namespace lang{ +class XMultiServiceFactory; +struct Locale; +} +}}} namespace writerfilter { namespace dmapper { +class DomainMapper; -struct SettingsTable_Impl -{ -public: - bool m_bRecordChanges; +using namespace std; - SettingsTable_Impl( ); - ~SettingsTable_Impl( ); -}; +struct SettingsTable_Impl; -class WRITERFILTER_DLLPRIVATE SettingsTable: public Properties, public Table +class WRITERFILTER_DLLPRIVATE SettingsTable : public Properties, public Table { -public: - SettingsTable_Impl* m_pImpl; + SettingsTable_Impl *m_pImpl; - SettingsTable( ); - ~SettingsTable( ); + public: + SettingsTable( DomainMapper& rDMapper, + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xTextFactory + ); + virtual ~SettingsTable(); // Properties virtual void attribute(Id Name, Value & val); @@ -34,13 +70,13 @@ public: // Table virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); - void resolveSprmProps( Sprm& rSprm ); - - void ApplyProperties( com::sun::star::uno::Reference< com::sun::star::text::XTextDocument > xDoc ); -}; -typedef boost::shared_ptr< SettingsTable > SettingsTablePtr; + //returns default TabStop in 1/100th mm + int GetDefaultTabStop() const; + void ApplyProperties( uno::Reference< text::XTextDocument > xDoc ); -} } +}; +typedef boost::shared_ptr< SettingsTable > SettingsTablePtr; +}} -#endif +#endif // diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 118dc7c3bf60..cbf6240c15ce 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -46,6 +46,11 @@ #include <stdio.h> #include <rtl/ustrbuf.hxx> +#ifdef DEBUG_DOMAINMAPPER +#include <dmapperLoggers.hxx> +#include <resourcemodel/QNameToString.hxx> +#endif + using namespace ::com::sun::star; namespace writerfilter { namespace dmapper @@ -66,8 +71,37 @@ StyleSheetEntry::StyleSheetEntry() : ,sBaseStyleIdentifier() ,sNextStyleIdentifier() ,pProperties(new StyleSheetPropertyMap) - { - } +{ +#if OSL_DEBUG_LEVEL > 1 + nStyleTypeCode = STYLE_TYPE_PARA; +#endif +} + +StyleSheetEntry::~StyleSheetEntry() +{ +} + +#ifdef DEBUG_DOMAINMAPPER +XMLTag::Pointer_t StyleSheetEntry::toTag() +{ + XMLTag::Pointer_t pResult(new XMLTag("StyleSheetEntry")); + + pResult->addAttr("identifierI", sStyleIdentifierI); + pResult->addAttr("identifierD", sStyleIdentifierD); + pResult->addAttr("default", bIsDefaultStyle ? "true" : "false"); + pResult->addAttr("invalidHeight", bInvalidHeight ? "true" : "false"); + pResult->addAttr("hasUPE", bHasUPE ? "true" : "false"); + pResult->addAttr("styleType", nStyleTypeCode); + pResult->addAttr("baseStyle", sBaseStyleIdentifier); + pResult->addAttr("nextStyle", sNextStyleIdentifier); + pResult->addAttr("styleName", sStyleName); + pResult->addAttr("styleName1", sStyleName1); + pResult->addAttr("convertedName", sConvertedStyleName); + pResult->addTag(pProperties->toTag()); + + return pResult; +} +#endif TableStyleSheetEntry::TableStyleSheetEntry( StyleSheetEntry& rEntry, StyleSheetTable* pStyles ): StyleSheetEntry( ), @@ -93,6 +127,13 @@ TableStyleSheetEntry::~TableStyleSheetEntry( ) void TableStyleSheetEntry::AddTblStylePr( TblStyleType nType, PropertyMapPtr pProps ) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("AddTblStylePr"); + dmapper_logger->attribute("type", nType); + dmapper_logger->addTag(pProps->toTag()); + dmapper_logger->endElement("AddTblStylePr"); +#endif + static TblStyleType pTypesToFix[] = { TBL_STYLE_FIRSTROW, @@ -157,6 +198,24 @@ PropertyMapPtr TableStyleSheetEntry::GetProperties( sal_Int32 nMask ) return pProps; } +#ifdef DEBUG_DOMAINMAPPER +XMLTag::Pointer_t TableStyleSheetEntry::toTag() +{ + XMLTag::Pointer_t pResult(StyleSheetEntry::toTag()); + + for (sal_Int32 nBit = 0; nBit < 13; ++nBit) + { + PropertyMapPtr pMap = GetProperties(1 << nBit); + + XMLTag::Pointer_t pTag = pMap->toTag(); + pTag->addAttr("kind", nBit); + pResult->addTag(pTag); + } + + return pResult; +} +#endif + void lcl_mergeProps( PropertyMapPtr pToFill, PropertyMapPtr pToAdd, TblStyleType nStyleId ) { static PropertyIds pPropsToCheck[] = @@ -215,7 +274,8 @@ PropertyMapPtr TableStyleSheetEntry::GetLocalPropertiesFromMask( sal_Int32 nMask TBL_STYLE_LASTCOL, TBL_STYLE_FIRSTCOL, TBL_STYLE_LASTROW, - TBL_STYLE_FIRSTROW + TBL_STYLE_FIRSTROW, + TBL_STYLE_UNKNOWN }; // Get the properties applying according to the mask @@ -233,7 +293,7 @@ PropertyMapPtr TableStyleSheetEntry::GetLocalPropertiesFromMask( sal_Int32 nMask nBit++; } - while ( nBit < 12 ); + while ( nBit < 13 ); return pProps; } @@ -353,6 +413,11 @@ StyleSheetTable::~StyleSheetTable() -----------------------------------------------------------------------*/ void StyleSheetTable::attribute(Id Name, Value & val) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("StyleSheetTable.attribute"); + dmapper_logger->attribute("name", (*QNameToString::Instance())(Name)); +#endif + OSL_ENSURE( m_pImpl->m_pCurrentEntry, "current entry has to be set here"); if(!m_pImpl->m_pCurrentEntry) return ; @@ -363,51 +428,12 @@ void StyleSheetTable::attribute(Id Name, Value & val) /* WRITERFILTERSTATUS: table: StyleSheetTable_attributedata */ switch(Name) { - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_ISTD: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->sStyleIdentifierD = ::rtl::OUString::valueOf(static_cast<sal_Int32>(nIntValue), 16); break; -// case NS_rtf::LN_ISTARTAT: break; -// case NS_rtf::LN_NFC: break; -// case NS_rtf::LN_JC: break; -// case NS_rtf::LN_FLEGAL: break; -// case NS_rtf::LN_FNORESTART: break; -// case NS_rtf::LN_FPREV: break; -// case NS_rtf::LN_FPREVSPACE: break; -// case NS_rtf::LN_FWORD6: break; -// case NS_rtf::LN_UNUSED5_7: break; -// case NS_rtf::LN_RGBXCHNUMS: break; -// case NS_rtf::LN_IXCHFOLLOW: break; -// case NS_rtf::LN_DXASPACE: break; -// case NS_rtf::LN_DXAINDENT: break; -// case NS_rtf::LN_CBGRPPRLCHPX: break; -// case NS_rtf::LN_CBGRPPRLPAPX: break; -// case NS_rtf::LN_LSID: break; -// case NS_rtf::LN_TPLC: break; -// case NS_rtf::LN_RGISTD: break; -// case NS_rtf::LN_FSIMPLELIST: break; -// case NS_rtf::LN_FRESTARTHDN: break; -// case NS_rtf::LN_UNSIGNED26_2: break; -// case NS_rtf::LN_ILVL: break; -// case NS_rtf::LN_FSTARTAT: break; -// case NS_rtf::LN_FFORMATTING: break; -// case NS_rtf::LN_UNSIGNED4_6: break; -// case NS_rtf::LN_UNUSED4: break; -// case NS_rtf::LN_UNUSED8: break; -// case NS_rtf::LN_CLFOLVL: break; -// case NS_rtf::LN_CBFFNM1: break; -// case NS_rtf::LN_PRQ: break; -// case NS_rtf::LN_FTRUETYPE: break; -// case NS_rtf::LN_UNUSED1_3: break; -// case NS_rtf::LN_FF: break; -// case NS_rtf::LN_UNUSED1_7: break; -// case NS_rtf::LN_WWEIGHT: break; -// case NS_rtf::LN_CHS: break; -// case NS_rtf::LN_IXCHSZALT: break; -// case NS_rtf::LN_PANOSE: break; -// case NS_rtf::LN_FS: break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_STI: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { ::rtl::OUString tempStyleIdentifier = GetStyleIdFromIndex(static_cast<sal_uInt32>(nIntValue)); if (tempStyleIdentifier.getLength()) @@ -416,21 +442,20 @@ void StyleSheetTable::attribute(Id Name, Value & val) m_pImpl->m_pCurrentEntry->bIsDefaultStyle = true; } break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_SGC: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->nStyleTypeCode = (StyleType)nIntValue; break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_ISTDBASE: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ if (static_cast<sal_uInt32>(nIntValue) != 0xfff) m_pImpl->m_pCurrentEntry->sBaseStyleIdentifier = ::rtl::OUString::valueOf(static_cast<sal_Int32>(nIntValue), 16); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_ISTDNEXT: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ if (static_cast<sal_uInt32>(nIntValue) != 0xfff) m_pImpl->m_pCurrentEntry->sNextStyleIdentifier = ::rtl::OUString::valueOf(static_cast<sal_Int32>(nIntValue), 16); break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_FSCRATCH: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_FINVALHEIGHT: @@ -448,385 +473,27 @@ void StyleSheetTable::attribute(Id Name, Value & val) case NS_rtf::LN_FHIDDEN: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_rtf::LN_UNUSED8_3: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ //noone seems to care about it break; -// case NS_rtf::LN_CSTD: break; -// case NS_rtf::LN_CBSTDBASEINFILE: break; -// case NS_rtf::LN_FSTDSTYLENAMESWRITTEN: break; -// case NS_rtf::LN_UNUSED4_2: break; -// case NS_rtf::LN_STIMAXWHENSAVED: break; -// case NS_rtf::LN_ISTDMAXFIXEDWHENSAVED: break; -// case NS_rtf::LN_NVERBUILTINNAMESWHENSAVED: break; -// case NS_rtf::LN_RGFTCSTANDARDCHPSTSH: break; -// case NS_rtf::LN_WIDENT: break; -// case NS_rtf::LN_NFIB: break; -// case NS_rtf::LN_NPRODUCT: break; -// case NS_rtf::LN_LID: break; -// case NS_rtf::LN_PNNEXT: break; -// case NS_rtf::LN_FDOT: break; -// case NS_rtf::LN_FGLSY: break; -// case NS_rtf::LN_FCOMPLEX: break; -// case NS_rtf::LN_FHASPIC: break; -// case NS_rtf::LN_CQUICKSAVES: break; -// case NS_rtf::LN_FENCRYPTED: break; -// case NS_rtf::LN_FWHICHTBLSTM: break; -// case NS_rtf::LN_FREADONLYRECOMMENDED: break; -// case NS_rtf::LN_FWRITERESERVATION: break; -// case NS_rtf::LN_FEXTCHAR: break; -// case NS_rtf::LN_FLOADOVERRIDE: break; -// case NS_rtf::LN_FFAREAST: break; -// case NS_rtf::LN_FCRYPTO: break; -// case NS_rtf::LN_NFIBBACK: break; -// case NS_rtf::LN_LKEY: break; -// case NS_rtf::LN_ENVR: break; -// case NS_rtf::LN_FMAC: break; -// case NS_rtf::LN_FEMPTYSPECIAL: break; -// case NS_rtf::LN_FLOADOVERRIDEPAGE: break; -// case NS_rtf::LN_FFUTURESAVEDUNDO: break; -// case NS_rtf::LN_FWORD97SAVED: break; -// case NS_rtf::LN_FSPARE0: break; -// case NS_rtf::LN_CHSTABLES: break; -// case NS_rtf::LN_FCMIN: break; -// case NS_rtf::LN_FCMAC: break; -// case NS_rtf::LN_CSW: break; -// case NS_rtf::LN_WMAGICCREATED: break; -// case NS_rtf::LN_WMAGICREVISED: break; -// case NS_rtf::LN_WMAGICCREATEDPRIVATE: break; -// case NS_rtf::LN_WMAGICREVISEDPRIVATE: break; -// case NS_rtf::LN_PNFBPCHPFIRST_W6: break; -// case NS_rtf::LN_PNCHPFIRST_W6: break; -// case NS_rtf::LN_CPNBTECHP_W6: break; -// case NS_rtf::LN_PNFBPPAPFIRST_W6: break; -// case NS_rtf::LN_PNPAPFIRST_W6: break; -// case NS_rtf::LN_CPNBTEPAP_W6: break; -// case NS_rtf::LN_PNFBPLVCFIRST_W6: break; -// case NS_rtf::LN_PNLVCFIRST_W6: break; -// case NS_rtf::LN_CPNBTELVC_W6: break; -// case NS_rtf::LN_LIDFE: break; -// case NS_rtf::LN_CLW: break; -// case NS_rtf::LN_CBMAC: break; -// case NS_rtf::LN_LPRODUCTCREATED: break; -// case NS_rtf::LN_LPRODUCTREVISED: break; -// case NS_rtf::LN_CCPTEXT: break; -// case NS_rtf::LN_CCPFTN: break; -// case NS_rtf::LN_CCPHDD: break; -// case NS_rtf::LN_CCPMCR: break; -// case NS_rtf::LN_CCPATN: break; -// case NS_rtf::LN_CCPEDN: break; -// case NS_rtf::LN_CCPTXBX: break; -// case NS_rtf::LN_CCPHDRTXBX: break; -// case NS_rtf::LN_PNFBPCHPFIRST: break; -// case NS_rtf::LN_PNCHPFIRST: break; -// case NS_rtf::LN_CPNBTECHP: break; -// case NS_rtf::LN_PNFBPPAPFIRST: break; -// case NS_rtf::LN_PNPAPFIRST: break; -// case NS_rtf::LN_CPNBTEPAP: break; -// case NS_rtf::LN_PNFBPLVCFIRST: break; -// case NS_rtf::LN_PNLVCFIRST: break; -// case NS_rtf::LN_CPNBTELVC: break; -// case NS_rtf::LN_FCISLANDFIRST: break; -// case NS_rtf::LN_FCISLANDLIM: break; -// case NS_rtf::LN_CFCLCB: break; -// case NS_rtf::LN_FCSTSHFORIG: break; -// case NS_rtf::LN_LCBSTSHFORIG: break; -// case NS_rtf::LN_FCSTSHF: break; -// case NS_rtf::LN_LCBSTSHF: break; -// case NS_rtf::LN_FCPLCFFNDREF: break; -// case NS_rtf::LN_LCBPLCFFNDREF: break; -// case NS_rtf::LN_FCPLCFFNDTXT: break; -// case NS_rtf::LN_LCBPLCFFNDTXT: break; -// case NS_rtf::LN_FCPLCFANDREF: break; -// case NS_rtf::LN_LCBPLCFANDREF: break; -// case NS_rtf::LN_FCPLCFANDTXT: break; -// case NS_rtf::LN_LCBPLCFANDTXT: break; -// case NS_rtf::LN_FCPLCFSED: break; -// case NS_rtf::LN_LCBPLCFSED: break; -// case NS_rtf::LN_FCPLCFPAD: break; -// case NS_rtf::LN_LCBPLCFPAD: break; -// case NS_rtf::LN_FCPLCFPHE: break; -// case NS_rtf::LN_LCBPLCFPHE: break; -// case NS_rtf::LN_FCSTTBFGLSY: break; -// case NS_rtf::LN_LCBSTTBFGLSY: break; -// case NS_rtf::LN_FCPLCFGLSY: break; -// case NS_rtf::LN_LCBPLCFGLSY: break; -// case NS_rtf::LN_FCPLCFHDD: break; -// case NS_rtf::LN_LCBPLCFHDD: break; -// case NS_rtf::LN_FCPLCFBTECHPX: break; -// case NS_rtf::LN_LCBPLCFBTECHPX: break; -// case NS_rtf::LN_FCPLCFBTEPAPX: break; -// case NS_rtf::LN_LCBPLCFBTEPAPX: break; -// case NS_rtf::LN_FCPLCFSEA: break; -// case NS_rtf::LN_LCBPLCFSEA: break; -// case NS_rtf::LN_FCSTTBFFFN: break; -// case NS_rtf::LN_LCBSTTBFFFN: break; -// case NS_rtf::LN_FCPLCFFLDMOM: break; -// case NS_rtf::LN_LCBPLCFFLDMOM: break; -// case NS_rtf::LN_FCPLCFFLDHDR: break; -// case NS_rtf::LN_LCBPLCFFLDHDR: break; -// case NS_rtf::LN_FCPLCFFLDFTN: break; -// case NS_rtf::LN_LCBPLCFFLDFTN: break; -// case NS_rtf::LN_FCPLCFFLDATN: break; -// case NS_rtf::LN_LCBPLCFFLDATN: break; -// case NS_rtf::LN_FCPLCFFLDMCR: break; -// case NS_rtf::LN_LCBPLCFFLDMCR: break; -// case NS_rtf::LN_FCSTTBFBKMK: break; -// case NS_rtf::LN_LCBSTTBFBKMK: break; -// case NS_rtf::LN_FCPLCFBKF: break; -// case NS_rtf::LN_LCBPLCFBKF: break; -// case NS_rtf::LN_FCPLCFBKL: break; -// case NS_rtf::LN_LCBPLCFBKL: break; -// case NS_rtf::LN_FCCMDS: break; -// case NS_rtf::LN_LCBCMDS: break; -// case NS_rtf::LN_FCPLCMCR: break; -// case NS_rtf::LN_LCBPLCMCR: break; -// case NS_rtf::LN_FCSTTBFMCR: break; -// case NS_rtf::LN_LCBSTTBFMCR: break; -// case NS_rtf::LN_FCPRDRVR: break; -// case NS_rtf::LN_LCBPRDRVR: break; -// case NS_rtf::LN_FCPRENVPORT: break; -// case NS_rtf::LN_LCBPRENVPORT: break; -// case NS_rtf::LN_FCPRENVLAND: break; -// case NS_rtf::LN_LCBPRENVLAND: break; -// case NS_rtf::LN_FCWSS: break; -// case NS_rtf::LN_LCBWSS: break; -// case NS_rtf::LN_FCDOP: break; -// case NS_rtf::LN_LCBDOP: break; -// case NS_rtf::LN_FCSTTBFASSOC: break; -// case NS_rtf::LN_LCBSTTBFASSOC: break; -// case NS_rtf::LN_FCCLX: break; -// case NS_rtf::LN_LCBCLX: break; -// case NS_rtf::LN_FCPLCFPGDFTN: break; -// case NS_rtf::LN_LCBPLCFPGDFTN: break; -// case NS_rtf::LN_FCAUTOSAVESOURCE: break; -// case NS_rtf::LN_LCBAUTOSAVESOURCE: break; -// case NS_rtf::LN_FCGRPXSTATNOWNERS: break; -// case NS_rtf::LN_LCBGRPXSTATNOWNERS: break; -// case NS_rtf::LN_FCSTTBFATNBKMK: break; -// case NS_rtf::LN_LCBSTTBFATNBKMK: break; -// case NS_rtf::LN_FCPLCDOAMOM: break; -// case NS_rtf::LN_LCBPLCDOAMOM: break; -// case NS_rtf::LN_FCPLCDOAHDR: break; -// case NS_rtf::LN_LCBPLCDOAHDR: break; -// case NS_rtf::LN_FCPLCSPAMOM: break; -// case NS_rtf::LN_LCBPLCSPAMOM: break; -// case NS_rtf::LN_FCPLCSPAHDR: break; -// case NS_rtf::LN_LCBPLCSPAHDR: break; -// case NS_rtf::LN_FCPLCFATNBKF: break; -// case NS_rtf::LN_LCBPLCFATNBKF: break; -// case NS_rtf::LN_FCPLCFATNBKL: break; -// case NS_rtf::LN_LCBPLCFATNBKL: break; -// case NS_rtf::LN_FCPMS: break; -// case NS_rtf::LN_LCBPMS: break; -// case NS_rtf::LN_FCFORMFLDSTTBF: break; -// case NS_rtf::LN_LCBFORMFLDSTTBF: break; -// case NS_rtf::LN_FCPLCFENDREF: break; -// case NS_rtf::LN_LCBPLCFENDREF: break; -// case NS_rtf::LN_FCPLCFENDTXT: break; -// case NS_rtf::LN_LCBPLCFENDTXT: break; -// case NS_rtf::LN_FCPLCFFLDEDN: break; -// case NS_rtf::LN_LCBPLCFFLDEDN: break; -// case NS_rtf::LN_FCPLCFPGDEDN: break; -// case NS_rtf::LN_LCBPLCFPGDEDN: break; -// case NS_rtf::LN_FCDGGINFO: break; -// case NS_rtf::LN_LCBDGGINFO: break; -// case NS_rtf::LN_FCSTTBFRMARK: break; -// case NS_rtf::LN_LCBSTTBFRMARK: break; -// case NS_rtf::LN_FCSTTBFCAPTION: break; -// case NS_rtf::LN_LCBSTTBFCAPTION: break; -// case NS_rtf::LN_FCSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_LCBSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_FCPLCFWKB: break; -// case NS_rtf::LN_LCBPLCFWKB: break; -// case NS_rtf::LN_FCPLCFSPL: break; -// case NS_rtf::LN_LCBPLCFSPL: break; -// case NS_rtf::LN_FCPLCFTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDTXBX: break; -// case NS_rtf::LN_FCPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_FCSTWUSER: break; -// case NS_rtf::LN_LCBSTWUSER: break; -// case NS_rtf::LN_FCSTTBTTMBD: break; -// case NS_rtf::LN_LCBSTTBTTMBD: break; -// case NS_rtf::LN_FCUNUSED: break; -// case NS_rtf::LN_LCBUNUSED: break; -// case NS_rtf::LN_FCPGDMOTHER: break; -// case NS_rtf::LN_LCBPGDMOTHER: break; -// case NS_rtf::LN_FCBKDMOTHER: break; -// case NS_rtf::LN_LCBBKDMOTHER: break; -// case NS_rtf::LN_FCPGDFTN: break; -// case NS_rtf::LN_LCBPGDFTN: break; -// case NS_rtf::LN_FCBKDFTN: break; -// case NS_rtf::LN_LCBBKDFTN: break; -// case NS_rtf::LN_FCPGDEDN: break; -// case NS_rtf::LN_LCBPGDEDN: break; -// case NS_rtf::LN_FCBKDEDN: break; -// case NS_rtf::LN_LCBBKDEDN: break; -// case NS_rtf::LN_FCSTTBFINTLFLD: break; -// case NS_rtf::LN_LCBSTTBFINTLFLD: break; -// case NS_rtf::LN_FCROUTESLIP: break; -// case NS_rtf::LN_LCBROUTESLIP: break; -// case NS_rtf::LN_FCSTTBSAVEDBY: break; -// case NS_rtf::LN_LCBSTTBSAVEDBY: break; -// case NS_rtf::LN_FCSTTBFNM: break; -// case NS_rtf::LN_LCBSTTBFNM: break; -// case NS_rtf::LN_FCPLCFLST: break; -// case NS_rtf::LN_LCBPLCFLST: break; -// case NS_rtf::LN_FCPLFLFO: break; -// case NS_rtf::LN_LCBPLFLFO: break; -// case NS_rtf::LN_FCPLCFTXBXBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXBKD: break; -// case NS_rtf::LN_FCPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_FCDOCUNDO: break; -// case NS_rtf::LN_LCBDOCUNDO: break; -// case NS_rtf::LN_FCRGBUSE: break; -// case NS_rtf::LN_LCBRGBUSE: break; -// case NS_rtf::LN_FCUSP: break; -// case NS_rtf::LN_LCBUSP: break; -// case NS_rtf::LN_FCUSKF: break; -// case NS_rtf::LN_LCBUSKF: break; -// case NS_rtf::LN_FCPLCUPCRGBUSE: break; -// case NS_rtf::LN_LCBPLCUPCRGBUSE: break; -// case NS_rtf::LN_FCPLCUPCUSP: break; -// case NS_rtf::LN_LCBPLCUPCUSP: break; -// case NS_rtf::LN_FCSTTBGLSYSTYLE: break; -// case NS_rtf::LN_LCBSTTBGLSYSTYLE: break; -// case NS_rtf::LN_FCPLGOSL: break; -// case NS_rtf::LN_LCBPLGOSL: break; -// case NS_rtf::LN_FCPLCOCX: break; -// case NS_rtf::LN_LCBPLCOCX: break; -// case NS_rtf::LN_FCPLCFBTELVC: break; -// case NS_rtf::LN_LCBPLCFBTELVC: break; -// case NS_rtf::LN_DWLOWDATETIME: break; -// case NS_rtf::LN_DWHIGHDATETIME: break; -// case NS_rtf::LN_FCPLCFLVC: break; -// case NS_rtf::LN_LCBPLCFLVC: break; -// case NS_rtf::LN_FCPLCASUMY: break; -// case NS_rtf::LN_LCBPLCASUMY: break; -// case NS_rtf::LN_FCPLCFGRAM: break; -// case NS_rtf::LN_LCBPLCFGRAM: break; -// case NS_rtf::LN_FCSTTBLISTNAMES: break; -// case NS_rtf::LN_LCBSTTBLISTNAMES: break; -// case NS_rtf::LN_FCSTTBFUSSR: break; -// case NS_rtf::LN_LCBSTTBFUSSR: break; -// case NS_rtf::LN_FN: break; -// case NS_rtf::LN_FCSEPX: break; -// case NS_rtf::LN_FNMPR: break; -// case NS_rtf::LN_FCMPR: break; -// case NS_rtf::LN_ICOFORE: break; -// case NS_rtf::LN_ICOBACK: break; -// case NS_rtf::LN_IPAT: break; -// case NS_rtf::LN_SHDFORECOLOR: break; -// case NS_rtf::LN_SHDBACKCOLOR: break; -// case NS_rtf::LN_SHDPATTERN: break; -// case NS_rtf::LN_DPTLINEWIDTH: break; -// case NS_rtf::LN_BRCTYPE: break; -// case NS_rtf::LN_ICO: break; -// case NS_rtf::LN_DPTSPACE: break; -// case NS_rtf::LN_FSHADOW: break; -// case NS_rtf::LN_FFRAME: break; -// case NS_rtf::LN_UNUSED2_15: break; -// case NS_rtf::LN_FFIRSTMERGED: break; -// case NS_rtf::LN_FMERGED: break; -// case NS_rtf::LN_FVERTICAL: break; -// case NS_rtf::LN_FBACKWARD: break; -// case NS_rtf::LN_FROTATEFONT: break; -// case NS_rtf::LN_FVERTMERGE: break; -// case NS_rtf::LN_FVERTRESTART: break; -// case NS_rtf::LN_VERTALIGN: break; -// case NS_rtf::LN_FUNUSED: break; -// case NS_rtf::LN_WUNUSED: break; -// case NS_rtf::LN_BRCTOP: break; -// case NS_rtf::LN_BRCLEFT: break; -// case NS_rtf::LN_BRCBOTTOM: break; -// case NS_rtf::LN_BRCRIGHT: break; -// case NS_rtf::LN_IBKL: break; -// case NS_rtf::LN_ITCFIRST: break; -// case NS_rtf::LN_FPUB: break; -// case NS_rtf::LN_ITCLIM: break; -// case NS_rtf::LN_FCOL: break; -// case NS_rtf::LN_LINECOLOR: break; -// case NS_rtf::LN_LINEWIDTH: break; -// case NS_rtf::LN_LINETYPE: break; -// case NS_rtf::LN_MM: break; -// case NS_rtf::LN_XEXT: break; -// case NS_rtf::LN_YEXT: break; -// case NS_rtf::LN_HMF: break; -// case NS_rtf::LN_LCB: break; -// case NS_rtf::LN_CBHEADER: break; -// case NS_rtf::LN_MFP: break; -// case NS_rtf::LN_BM_RCWINMF: break; -// case NS_rtf::LN_DXAGOAL: break; -// case NS_rtf::LN_DYAGOAL: break; -// case NS_rtf::LN_MX: break; -// case NS_rtf::LN_MY: break; -// case NS_rtf::LN_DXACROPLEFT: break; -// case NS_rtf::LN_DYACROPTOP: break; -// case NS_rtf::LN_DXACROPRIGHT: break; -// case NS_rtf::LN_DYACROPBOTTOM: break; -// case NS_rtf::LN_BRCL: break; -// case NS_rtf::LN_FFRAMEEMPTY: break; -// case NS_rtf::LN_FBITMAP: break; -// case NS_rtf::LN_FDRAWHATCH: break; -// case NS_rtf::LN_FERROR: break; -// case NS_rtf::LN_BPP: break; -// case NS_rtf::LN_DXAORIGIN: break; -// case NS_rtf::LN_DYAORIGIN: break; -// case NS_rtf::LN_CPROPS: break; -// case NS_rtf::LN_LINEPROPSTOP: break; -// case NS_rtf::LN_LINEPROPSLEFT: break; -// case NS_rtf::LN_LINEPROPSBOTTOM: break; -// case NS_rtf::LN_LINEPROPSRIGHT: break; -// case NS_rtf::LN_LINEPROPSHORIZONTAL: break; -// case NS_rtf::LN_LINEPROPSVERTICAL: break; -// case NS_rtf::LN_headerr: break; -// case NS_rtf::LN_footerr: break; -// case NS_rtf::LN_endnote: break; -// case NS_rtf::LN_BOOKMARKNAME: break; - -// case NS_rtf::LN_LISTLEVEL: break; -// case NS_rtf::LN_LFO: break; -// case NS_rtf::LN_F: break; -// case NS_rtf::LN_ALTFONTNAME: break; -// case NS_rtf::LN_XSZFFN: break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_XSTZNAME: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->sStyleName1 = sValue; if (m_pImpl->m_pCurrentEntry->sStyleIdentifierI.getLength()) m_pImpl->m_pCurrentEntry->sStyleIdentifierI = sValue; break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_XSTZNAME1: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->sStyleName = sValue; if (m_pImpl->m_pCurrentEntry->sStyleIdentifierI.getLength()) m_pImpl->m_pCurrentEntry->sStyleIdentifierI = sValue; break; -// case NS_rtf::LN_UPXSTART: break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_rtf::LN_UPX: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ resolveAttributeProperties(val); break; -// case NS_rtf::LN_sed: break; -// case NS_rtf::LN_picf: break; - -// case NS_rtf::LN_rgbrc: break; -// case NS_rtf::LN_shd: break; -// case NS_rtf::LN_cellShd: break; -// case NS_rtf::LN_cellTopColor: break; -// case NS_rtf::LN_cellLeftColor: break; -// case NS_rtf::LN_cellBottomColor: break; -// case NS_rtf::LN_cellRightColor: break; - -// case NS_rtf::LN_LISTTABLE: break; -// case NS_rtf::LN_LFOTABLE: break; -// case NS_rtf::LN_StyleSheetTable: break; -// case NS_rtf::LN_STYLESHEET: break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_type: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { /* defaults should be set at the service "com.sun.star.text.Defaults" if (nIntValue == 1) @@ -842,26 +509,26 @@ void StyleSheetTable::attribute(Id Name, Value & val) } else m_pImpl->m_pCurrentEntry->nStyleTypeCode = (StyleType)nIntValue; - break; } - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + break; case NS_ooxml::LN_CT_Style_default: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->bIsDefaultStyle = (nIntValue != 0); break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_customStyle: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_styleId: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->sStyleIdentifierI = sValue; m_pImpl->m_pCurrentEntry->sStyleIdentifierD = sValue; break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_TblWidth_w: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ dynamic_cast< StyleSheetPropertyMap* >( m_pImpl->m_pCurrentEntry->pProperties.get() )->SetCT_TblWidth_w( nIntValue ); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_TblWidth_type: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ dynamic_cast< StyleSheetPropertyMap* >( m_pImpl->m_pCurrentEntry->pProperties.get() )->SetCT_TblWidth_type( nIntValue ); break; default: @@ -873,12 +540,21 @@ void StyleSheetTable::attribute(Id Name, Value & val) } break; } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("StyleSheetTable.attribute"); +#endif } /*-- 19.06.2006 12:04:33--------------------------------------------------- -----------------------------------------------------------------------*/ void StyleSheetTable::sprm(Sprm & rSprm) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("StyleSheetTable.sprm"); + dmapper_logger->attribute("sprm", rSprm.toString()); +#endif + sal_uInt32 nSprmId = rSprm.getId(); Value::Pointer_t pValue = rSprm.getValue(); sal_Int32 nIntValue = pValue.get() ? pValue->getInt() : 0; @@ -889,51 +565,44 @@ void StyleSheetTable::sprm(Sprm & rSprm) /* WRITERFILTERSTATUS: table: StyleSheetTable_sprm */ switch(nSprmId) { - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_name: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ //this is only a UI name! m_pImpl->m_pCurrentEntry->sStyleName = sStringValue; m_pImpl->m_pCurrentEntry->sStyleName1 = sStringValue; break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_basedOn: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->sBaseStyleIdentifier = sStringValue; break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_next: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->sNextStyleIdentifier = sStringValue; break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_aliases: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_link: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_autoRedefine: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_hidden: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_uiPriority: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_semiHidden: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_unhideWhenUsed: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_qFormat: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_locked: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_personal: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_personalCompose: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_personalReply: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_rsid: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_trPr: + case NS_ooxml::LN_CT_Style_tcPr: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Style_tblPr: //contains table properties case NS_ooxml::LN_CT_Style_tblStylePr: //contains to table properties + case NS_ooxml::LN_CT_DocDefaults_pPrDefault: + case NS_ooxml::LN_CT_DocDefaults_rPrDefault: + case NS_ooxml::LN_CT_TblPrBase_tblInd: //table properties - at least width value and type + case NS_ooxml::LN_EG_RPrBase_rFonts: //table fonts + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if( pProperties.get()) @@ -944,50 +613,46 @@ void StyleSheetTable::sprm(Sprm & rSprm) // Add the properties to the table style TblStyleType nType = pTblStylePrHandler->getType( ); PropertyMapPtr pProps = pTblStylePrHandler->getProperties( ); - StyleSheetEntryPtr pEntry = m_pImpl->m_pCurrentEntry; - TableStyleSheetEntry* pTableEntry = static_cast<TableStyleSheetEntry*>( pEntry.get( ) ); - pTableEntry->AddTblStylePr( nType, pProps ); + StyleSheetEntry * pEntry = m_pImpl->m_pCurrentEntry.get(); + + if (nType == TBL_STYLE_UNKNOWN) + { + pEntry->pProperties->insert(pProps); + } + else + { + TableStyleSheetEntry * pTableEntry = dynamic_cast<TableStyleSheetEntry*>( pEntry ); + if (pTableEntry != NULL) + pTableEntry->AddTblStylePr( nType, pProps ); + } } break; } - case NS_ooxml::LN_CT_Style_tcPr: - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_Style_tblPr: //contains table properties - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_DocDefaults_pPrDefault: - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_DocDefaults_rPrDefault: - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_TblPrBase_tblInd: //table properties - at least width value and type - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_ooxml::LN_EG_RPrBase_rFonts: //table fonts - resolveSprmProps(rSprm); - break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_PPrDefault_pPr: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_rDMapper.PushStyleSheetProperties( m_pImpl->m_pDefaultParaProps ); m_pImpl->m_rDMapper.sprm( rSprm ); m_pImpl->m_rDMapper.PopStyleSheetProperties(); applyDefaults( true ); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_RPrDefault_rPr: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_rDMapper.PushStyleSheetProperties( m_pImpl->m_pDefaultCharProps ); m_pImpl->m_rDMapper.sprm( rSprm ); m_pImpl->m_rDMapper.PopStyleSheetProperties(); applyDefaults( false ); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_TblPrBase_jc: //table alignment - row properties! + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_pCurrentEntry->pProperties->Insert( PROP_HORI_ORIENT, false, uno::makeAny( ConversionHelper::convertTableJustification( nIntValue ))); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_TrPrBase_jc: //table alignment - row properties! + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ dynamic_cast< StyleSheetPropertyMap* >( m_pImpl->m_pCurrentEntry->pProperties.get() )->SetCT_TrPrBase_jc(nIntValue); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_TblPrBase_tblBorders: //table borders, might be defined in table style + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if( pProperties.get()) @@ -1011,11 +676,13 @@ void StyleSheetTable::sprm(Sprm & rSprm) pTEntry->m_nColBandSize = nIntValue; } } + case NS_ooxml::LN_CT_TblPrBase_tblCellMar: + //no cell margins in styles break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_pPr: /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Style_rPr: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ default: if (!m_pImpl->m_pCurrentEntry) break; @@ -1028,12 +695,20 @@ void StyleSheetTable::sprm(Sprm & rSprm) m_pImpl->m_rDMapper.PopStyleSheetProperties( ); } } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("StyleSheetTable.sprm"); +#endif } /*-- 19.06.2006 12:04:33--------------------------------------------------- -----------------------------------------------------------------------*/ void StyleSheetTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("StyleSheetTable.entry"); +#endif + //create a new style entry // printf("StyleSheetTable::entry(...)\n"); OSL_ENSURE( !m_pImpl->m_pCurrentEntry, "current entry has to be NULL here"); @@ -1052,8 +727,17 @@ void StyleSheetTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Po { //TODO: this entry contains the default settings - they have to be added to the settings } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->addTag(m_pImpl->m_pCurrentEntry->toTag()); +#endif + StyleSheetEntryPtr pEmptyEntry; m_pImpl->m_pCurrentEntry = pEmptyEntry; + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("StyleSheetTable.entry"); +#endif } /*-- 21.06.2006 15:34:49--------------------------------------------------- sorting helper @@ -1154,7 +838,8 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) { //TODO: Handle cases where a paragraph <> character style relation is needed StyleSheetEntryPtr pParent = FindStyleSheetByISTD( pEntry->sBaseStyleIdentifier ); - xStyle->setParentStyle(ConvertStyleName( pParent->sStyleName )); + if (pParent.get() != NULL) + xStyle->setParentStyle(ConvertStyleName( pParent->sStyleName )); } catch( const uno::RuntimeException& ) { @@ -1175,18 +860,18 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) // font size to 240 twip (12 pts) for all if not set pEntry->pProperties->Insert(PROP_CHAR_HEIGHT, true, aTwoHundredFortyTwip, false); // western font not already set -> apply first font - const FontEntry* pWesternFontEntry = rFontTable->getFontEntry( 0 ); + const FontEntry::Pointer_t pWesternFontEntry(rFontTable->getFontEntry( 0 )); rtl::OUString sWesternFontName = pWesternFontEntry->sFontName; pEntry->pProperties->Insert(PROP_CHAR_FONT_NAME, true, uno::makeAny( sWesternFontName ), false); // CJK ... apply second font - const FontEntry* pCJKFontEntry = rFontTable->getFontEntry( 2 ); + const FontEntry::Pointer_t pCJKFontEntry(rFontTable->getFontEntry( 2 )); pEntry->pProperties->Insert(PROP_CHAR_FONT_NAME_ASIAN, true, uno::makeAny( pCJKFontEntry->sFontName ), false); pEntry->pProperties->Insert(PROP_CHAR_HEIGHT_ASIAN, true, aTwoHundredFortyTwip, false); // CTL ... apply third font, if available if( nFontCount > 3 ) { - const FontEntry* pCTLFontEntry = rFontTable->getFontEntry( 3 ); + const FontEntry::Pointer_t pCTLFontEntry(rFontTable->getFontEntry( 3 )); pEntry->pProperties->Insert(PROP_CHAR_FONT_NAME_COMPLEX, true, uno::makeAny( pCTLFontEntry->sFontName ), false); pEntry->pProperties->Insert(PROP_CHAR_HEIGHT_COMPLEX, true, aTwoHundredFortyTwip, false); } @@ -1306,14 +991,26 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) uno::Reference< beans::XMultiPropertySet > xMultiPropertySet( xStyle, uno::UNO_QUERY_THROW); xMultiPropertySet->setPropertyValues( aSortedPropVals.getNames(), aSortedPropVals.getValues() ); } - catch( const beans::UnknownPropertyException& rUnknown) - { - (void) rUnknown; - OSL_ENSURE( false, "Some style properties could not be set"); - } catch( const lang::WrappedTargetException& rWrapped) { (void) rWrapped; + rtl::OString aMessage("Some style properties could not be set"); +#if OSL_DEBUG_LEVEL > 0 + beans::UnknownPropertyException aUnknownPropertyException; + + if( rWrapped.TargetException >>= aUnknownPropertyException ) + { + aMessage += rtl::OString(": " ); + ::rtl::OString sTemp; + aUnknownPropertyException.Message.convertToString(&sTemp, RTL_TEXTENCODING_ASCII_US, 0 ); + aMessage += sTemp; + } +#endif + OSL_ENSURE( false, aMessage.getStr()); + } + catch( const uno::Exception& rEx) + { + (void) rEx; OSL_ENSURE( false, "Some style properties could not be set"); } } diff --git a/writerfilter/source/dmapper/StyleSheetTable.hxx b/writerfilter/source/dmapper/StyleSheetTable.hxx index 0dd31ed52f9d..6eef483289ec 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.hxx +++ b/writerfilter/source/dmapper/StyleSheetTable.hxx @@ -36,6 +36,10 @@ #include <FontTable.hxx> #include <resourcemodel/WW8ResourceModel.hxx> +#ifdef DEBUG_DOMAINMAPPER +#include <resourcemodel/TagLogger.hxx> +#endif + namespace com{ namespace sun { namespace star { namespace text{ class XTextDocument; }}}} @@ -56,8 +60,9 @@ enum StyleType }; struct StyleSheetTable_Impl; -struct StyleSheetEntry +class StyleSheetEntry { +public: ::rtl::OUString sStyleIdentifierI; ::rtl::OUString sStyleIdentifierD; bool bIsDefaultStyle; @@ -70,7 +75,13 @@ struct StyleSheetEntry ::rtl::OUString sStyleName1; PropertyMapPtr pProperties; ::rtl::OUString sConvertedStyleName; + +#ifdef DEBUG_DOMAINMAPPER + virtual XMLTag::Pointer_t toTag(); +#endif + StyleSheetEntry(); + virtual ~StyleSheetEntry(); }; typedef boost::shared_ptr<StyleSheetEntry> StyleSheetEntryPtr; @@ -137,8 +148,12 @@ public: // + from the parent styles PropertyMapPtr GetProperties( sal_Int32 nMask ); +#ifdef DEBUG_DOMAINMAPPER + virtual XMLTag::Pointer_t toTag(); +#endif + TableStyleSheetEntry( StyleSheetEntry& aEntry, StyleSheetTable* pStyles ); - ~TableStyleSheetEntry( ); + virtual ~TableStyleSheetEntry( ); protected: PropertyMapPtr GetLocalPropertiesFromMask( sal_Int32 nMask ); diff --git a/writerfilter/source/dmapper/TablePropertiesHandler.cxx b/writerfilter/source/dmapper/TablePropertiesHandler.cxx index e3739b56e636..10b2eed97a81 100644 --- a/writerfilter/source/dmapper/TablePropertiesHandler.cxx +++ b/writerfilter/source/dmapper/TablePropertiesHandler.cxx @@ -11,6 +11,7 @@ #include <com/sun/star/text/SizeType.hpp> #include <com/sun/star/text/VertOrientation.hpp> +#include <dmapperLoggers.hxx> namespace writerfilter { @@ -31,6 +32,11 @@ namespace dmapper { bool TablePropertiesHandler::sprm(Sprm & rSprm) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("TablePropertiesHandler.sprm"); + dmapper_logger->attribute("sprm", rSprm.toString()); +#endif + bool bRet = true; sal_uInt32 nSprmId = rSprm.getId(); Value::Pointer_t pValue = rSprm.getValue(); @@ -133,6 +139,10 @@ namespace dmapper { pProperties->resolve(*pBorderHandler); TablePropertyMapPtr pTablePropMap( new TablePropertyMap ); pTablePropMap->insert( pBorderHandler->getProperties() ); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->addTag(pTablePropMap->toTag()); +#endif insertTableProps( pTablePropMap ); } } @@ -210,8 +220,26 @@ namespace dmapper { } } break; + case NS_ooxml::LN_CT_TblPrBase_tblInd: + { + writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); + if (pProperties.get()) + { + MeasureHandlerPtr pHandler(new MeasureHandler); + TablePropertyMapPtr pTblIndMap(new TablePropertyMap); + sal_uInt32 nTblInd = pHandler->getMeasureValue(); + pTblIndMap->setValue( TablePropertyMap::LEFT_MARGIN, nTblInd); + insertTableProps(pTblIndMap); + } + } + break; default: bRet = false; } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("TablePropertiesHandler.sprm"); +#endif + return bRet; } }} diff --git a/writerfilter/source/dmapper/TblStylePrHandler.cxx b/writerfilter/source/dmapper/TblStylePrHandler.cxx index d6f790990e22..53838353c3b0 100644 --- a/writerfilter/source/dmapper/TblStylePrHandler.cxx +++ b/writerfilter/source/dmapper/TblStylePrHandler.cxx @@ -1,6 +1,8 @@ #include <TblStylePrHandler.hxx> #include <PropertyMap.hxx> #include <ooxml/resourceids.hxx> +#include <dmapperLoggers.hxx> +#include <resourcemodel/QNameToString.hxx> namespace writerfilter { namespace dmapper { @@ -20,6 +22,13 @@ TblStylePrHandler::~TblStylePrHandler( ) void TblStylePrHandler::attribute(Id rName, Value & rVal) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("TblStylePrHandler.attribute"); + dmapper_logger->attribute("name", (*QNameToString::Instance())(rName)); + dmapper_logger->chars(rVal.toString()); + dmapper_logger->endElement("TblStylePrHandler.attribute"); +#endif + switch ( rName ) { case NS_ooxml::LN_CT_TblStyleOverrideType: @@ -34,6 +43,11 @@ void TblStylePrHandler::attribute(Id rName, Value & rVal) void TblStylePrHandler::sprm(Sprm & rSprm) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("TblStylePrHandler.sprm"); + dmapper_logger->attribute("sprm", rSprm.toString()); +#endif + Value::Pointer_t pValue = rSprm.getValue(); switch ( rSprm.getId( ) ) { @@ -57,6 +71,10 @@ void TblStylePrHandler::sprm(Sprm & rSprm) m_rDMapper.PopStyleSheetProperties( true ); } } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("TblStylePrHandler.sprm"); +#endif } void TblStylePrHandler::resolveSprmProps(Sprm & rSprm) diff --git a/writerfilter/source/dmapper/ThemeTable.cxx b/writerfilter/source/dmapper/ThemeTable.cxx index cde3c0d39082..ec9d8ea9d5a5 100644..100755 --- a/writerfilter/source/dmapper/ThemeTable.cxx +++ b/writerfilter/source/dmapper/ThemeTable.cxx @@ -25,9 +25,7 @@ * ************************************************************************/ -#ifndef INCLUDED_FONTTABLE_HXX #include <ThemeTable.hxx> -#endif #ifndef INCLUDED_RESOURCESIDS #include <doctok/resourceids.hxx> #include <ooxml/resourceids.hxx> diff --git a/writerfilter/source/dmapper/dmapperLoggers.cxx b/writerfilter/source/dmapper/dmapperLoggers.cxx new file mode 100644 index 000000000000..29eece8a8f3d --- /dev/null +++ b/writerfilter/source/dmapper/dmapperLoggers.cxx @@ -0,0 +1,39 @@ +/************************************************************************* + * + * 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: ooxmlLoggers.hxx,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. + * + ************************************************************************/ +#include "dmapperLoggers.hxx" + +namespace writerfilter { +namespace dmapper { + + + +} +} + diff --git a/writerfilter/source/doctok/WW8LFOLevel.cxx b/writerfilter/source/dmapper/dmapperLoggers.hxx index b0a1d8c2c59d..a19ff4832370 100644 --- a/writerfilter/source/doctok/WW8LFOLevel.cxx +++ b/writerfilter/source/dmapper/dmapperLoggers.hxx @@ -2,10 +2,13 @@ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * Copyright 2000, 2010 Oracle and/or its affiliates. + * Copyright 2008 by Sun Microsystems, Inc. * * OpenOffice.org - a multi-platform office productivity suite * + * $RCSfile: ooxmlLoggers.hxx,v $ + * $Revision: 1.2 $ + * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify @@ -25,21 +28,14 @@ * ************************************************************************/ -#include "resources.hxx" - -sal_uInt32 doctok::WW8LFOLevel::calcSize() -{ - sal_uInt32 nResult = doctok::WW8LFOLevel::getSize(); +#ifndef INCLUDED_DMAPPER_LOGGERS_HXX +#define INCLUDED_DMAPPER_LOGGERS_HXX - if (get_fFormatting()) - { - doctok::WW8ListLevel aLevel(parent, mnOffsetInParent + nResult) - nResult += aLevel.calcSize(); +#include <resourcemodel/TagLogger.hxx> - sal_uInt32 nXstSize = parent->getU16(nOffset); - - nResult += (nXstSize + 1) * 2; +namespace writerfilter { + namespace dmapper { + extern TagLogger::Pointer_t dmapper_logger; } - - return nResult; } +#endif // INCLUDED_DMAPPER_LOGGERS_HXX diff --git a/writerfilter/source/dmapper/makefile.mk b/writerfilter/source/dmapper/makefile.mk index b757af3fedeb..dd94415aa966 100644..100755 --- a/writerfilter/source/dmapper/makefile.mk +++ b/writerfilter/source/dmapper/makefile.mk @@ -38,32 +38,34 @@ ENABLE_EXCEPTIONS=TRUE # --- Files ------------------------------------- -SLOFILES= $(SLO)$/BorderHandler.obj \ - $(SLO)$/TblStylePrHandler.obj \ - $(SLO)$/GraphicHelpers.obj \ - $(SLO)$/TablePropertiesHandler.obj \ - $(SLO)$/CellColorHandler.obj \ - $(SLO)$/CellMarginHandler.obj \ - $(SLO)$/SectionColumnHandler.obj \ - $(SLO)$/ConversionHelper.obj \ - $(SLO)$/DomainMapper.obj \ - $(SLO)$/DomainMapper_Impl.obj \ - $(SLO)$/DomainMapperTableHandler.obj \ - $(SLO)$/DomainMapperTableManager.obj \ - $(SLO)$/FontTable.obj \ - $(SLO)$/GraphicImport.obj \ - $(SLO)$/LFOTable.obj \ - $(SLO)$/ListTable.obj \ - $(SLO)$/MeasureHandler.obj \ - $(SLO)$/PropertyMap.obj \ - $(SLO)$/PropertyIds.obj \ - $(SLO)$/StyleSheetTable.obj \ - $(SLO)$/TDefTableHandler.obj \ - $(SLO)$/ThemeTable.obj \ - $(SLO)$/SettingsTable.obj \ - $(SLO)$/ModelEventListener.obj\ - $(SLO)$/OLEHandler.obj \ - $(SLO)$/PageBordersHandler.obj +SLOFILES= \ + $(SLO)$/BorderHandler.obj \ + $(SLO)$/CellColorHandler.obj \ + $(SLO)$/CellMarginHandler.obj \ + $(SLO)$/ConversionHelper.obj \ + $(SLO)$/DomainMapper.obj \ + $(SLO)$/DomainMapperTableHandler.obj \ + $(SLO)$/DomainMapperTableManager.obj \ + $(SLO)$/DomainMapper_Impl.obj \ + $(SLO)$/FontTable.obj \ + $(SLO)$/GraphicHelpers.obj \ + $(SLO)$/GraphicImport.obj \ + $(SLO)$/LFOTable.obj \ + $(SLO)$/ListTable.obj \ + $(SLO)$/MeasureHandler.obj \ + $(SLO)$/ModelEventListener.obj \ + $(SLO)$/OLEHandler.obj \ + $(SLO)$/PageBordersHandler.obj \ + $(SLO)$/PropertyIds.obj \ + $(SLO)$/PropertyMap.obj \ + $(SLO)$/PropertyMapHelper.obj \ + $(SLO)$/SectionColumnHandler.obj \ + $(SLO)$/SettingsTable.obj \ + $(SLO)$/StyleSheetTable.obj \ + $(SLO)$/TDefTableHandler.obj \ + $(SLO)$/TablePropertiesHandler.obj \ + $(SLO)$/TblStylePrHandler.obj \ + $(SLO)$/ThemeTable.obj # --- Targets ---------------------------------- diff --git a/writerfilter/source/doctok/WW8DocumentImpl.cxx b/writerfilter/source/doctok/WW8DocumentImpl.cxx index d314854836e9..cda79dad1cdf 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.cxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.cxx @@ -228,6 +228,11 @@ mbInSection(false), mbInParagraphGroup(false), mbInCharacterGroup(false) break; } + if (mpFib->get_nFib() >= 0xD9) + { + mpFibRgFcLcb2000.reset(new WW8FibRgFcLcb2000(*mpFib)); + } + if (mpTableStream.get() == NULL) throw ExceptionNotFound("Table stream not found."); @@ -966,21 +971,45 @@ WW8SED * WW8DocumentImpl::getSED(const CpAndFc & rCpAndFc) const return pResult; } +writerfilter::Reference<Table>::Pointer_t WW8DocumentImpl::getListTplcs() const +{ + writerfilter::Reference<Table>::Pointer_t pResult; + + if (mpFibRgFcLcb2000.get() != NULL && + mpFibRgFcLcb2000->get_fcSttbRgtplc() != 0 && + mpFibRgFcLcb2000->get_lcbSttbRgtplc() != 0) + { + WW8SttbRgtplc * pSttbRgtplc = + new WW8SttbRgtplc(*mpTableStream, + mpFibRgFcLcb2000->get_fcSttbRgtplc(), + mpFibRgFcLcb2000->get_lcbSttbRgtplc()); + + pResult = writerfilter::Reference<Table>::Pointer_t(pSttbRgtplc); + } + + return pResult; +} + writerfilter::Reference<Table>::Pointer_t WW8DocumentImpl::getListTable() const { writerfilter::Reference<Table>::Pointer_t pResult; if (mpFib->get_fcPlcfLst() != 0 && mpFib->get_lcbPlcfLst() > 0) { - WW8ListTable * pList = new WW8ListTable(*mpTableStream, - mpFib->get_fcPlcfLst(), - mpFib->get_fcPlfLfo() - - mpFib->get_fcPlcfLst()); + try + { + WW8ListTable * pList = new WW8ListTable(*mpTableStream, + mpFib->get_fcPlcfLst(), + mpFib->get_fcPlfLfo() - + mpFib->get_fcPlcfLst()); - pList->setPayloadOffset(mpFib->get_lcbPlcfLst()); - pList->initPayload(); + pList->setPayloadOffset(mpFib->get_lcbPlcfLst()); + pList->initPayload(); - pResult = writerfilter::Reference<Table>::Pointer_t(pList); + pResult = writerfilter::Reference<Table>::Pointer_t(pList); + } + catch (ExceptionOutOfBounds aException) { + } } return pResult; @@ -1433,7 +1462,7 @@ void WW8DocumentImpl::utext(Stream & rStream, const sal_uInt8 * data, size_t len debug_logger->chars(OUStringToOString(sText, RTL_TEXTENCODING_ASCII_US).getStr()); debug_logger->endElement("utext"); #endif - rStream.text(data, len); + rStream.utext(data, len); } @@ -1618,6 +1647,13 @@ void WW8DocumentImpl::resolve(Stream & rStream) (new WW8Fib(*mpFib)); rStream.props(pFib); + if (mpFibRgFcLcb2000.get() != NULL) + { + writerfilter::Reference<Properties>::Pointer_t pFibRgFcLcb2000 + (new WW8FibRgFcLcb2000(*mpFibRgFcLcb2000)); + rStream.props(pFibRgFcLcb2000); + } + #if 0 if (mpTextBoxStories.get() != NULL) { @@ -1685,6 +1721,10 @@ void WW8DocumentImpl::resolve(Stream & rStream) } #endif + writerfilter::Reference<Table>::Pointer_t pSttbRgtplc = getListTplcs(); + + if (pSttbRgtplc.get() != NULL) + rStream.table(NS_rtf::LN_SttbRgtplc, pSttbRgtplc); writerfilter::Reference<Table>::Pointer_t pListTable = getListTable(); diff --git a/writerfilter/source/doctok/WW8DocumentImpl.hxx b/writerfilter/source/doctok/WW8DocumentImpl.hxx index 65c24e913b37..9b123ae54cde 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.hxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.hxx @@ -299,6 +299,9 @@ class WW8DocumentImpl : public WW8Document /// pointer to the file information block WW8Fib::Pointer_t mpFib; + /// pointer to the file information block for post 2000 documents + WW8FibRgFcLcb2000::Pointer_t mpFibRgFcLcb2000; + /// pointer to the offsets of headers/footers WW8StructBase::Pointer_t mpHeaderOffsets; @@ -395,8 +398,6 @@ public: virtual WW8Stream::Sequence getText(const CpAndFc & rStart); - WW8Fib::Pointer_t getFib() const; - /** Returns the document stream. */ @@ -528,6 +529,11 @@ public: WW8SED * getSED(const CpAndFc & rCpAndFc) const; /** + Return reference to list plcs. + */ + writerfilter::Reference<Table>::Pointer_t getListTplcs() const; + + /** Return reference to list table. */ writerfilter::Reference<Table>::Pointer_t getListTable() const; diff --git a/writerfilter/source/doctok/WW8LFOTable.cxx b/writerfilter/source/doctok/WW8LFOTable.cxx index e0bf6d793d64..2164c4887c8b 100644 --- a/writerfilter/source/doctok/WW8LFOTable.cxx +++ b/writerfilter/source/doctok/WW8LFOTable.cxx @@ -35,39 +35,37 @@ void WW8LFOTable::initPayload() sal_uInt32 nCount = getEntryCount(); sal_uInt32 nOffset = 4; - sal_uInt32 nOffsetLevel = mnPlcfPayloadOffset; + sal_uInt32 nOffsetLFOData = mnPlcfPayloadOffset; for (sal_uInt32 n = 0; n < nCount; ++n) { WW8LFO aLFO(this, nOffset); entryOffsets.push_back(nOffset); - payloadIndices.push_back(payloadOffsets.size()); nOffset += WW8LFO::getSize(); - sal_uInt32 nLvlCount = aLFO.get_lfolevel_count(); + payloadOffsets.push_back(nOffsetLFOData); + payloadIndices.push_back(n); - for (sal_uInt32 i = 0; i < nLvlCount; ++i) - { - WW8LFOLevel aLevel(this, nOffsetLevel); + nOffsetLFOData += 4; - payloadOffsets.push_back(nOffsetLevel); + sal_uInt32 nLvls = aLFO.get_clfolvl(); - nOffsetLevel += aLevel.calcSize(); + for (sal_uInt32 k = 0; k < nLvls; ++k) + { + WW8LFOLevel aLevel(this, nOffsetLFOData); + nOffsetLFOData += aLevel.calcSize(); } } entryOffsets.push_back(nOffset); - payloadOffsets.push_back(nOffsetLevel); + payloadOffsets.push_back(nOffsetLFOData); } sal_uInt32 WW8LFOTable::calcPayloadOffset() { sal_uInt32 nResult = 4 + getEntryCount() * WW8LFO::getSize(); - while (getU32(nResult) == 0xffffffff) - nResult += 4; - return nResult; } @@ -86,11 +84,18 @@ WW8LFOTable::getEntry(sal_uInt32 nIndex) return writerfilter::Reference<Properties>::Pointer_t(pLFO); } -sal_uInt32 WW8LFO::get_lfolevel_count() +writerfilter::Reference<Properties>::Pointer_t +WW8LFO::get_LFOData() { - return get_clfolvl(); + WW8LFOTable * pLFOTable = dynamic_cast<WW8LFOTable *>(mpParent); + sal_uInt32 nPayloadOffset = pLFOTable->getPayloadOffset(mnIndex); + sal_uInt32 nPayloadSize = pLFOTable->getPayloadSize(mnIndex); + + return writerfilter::Reference<Properties>::Pointer_t + (new WW8LFOData(mpParent, nPayloadOffset, nPayloadSize)); } +/* writerfilter::Reference<Properties>::Pointer_t WW8LFO::get_lfolevel(sal_uInt32 nIndex) { @@ -102,6 +107,7 @@ WW8LFO::get_lfolevel(sal_uInt32 nIndex) return writerfilter::Reference<Properties>::Pointer_t (new WW8LFOLevel(mpParent, nPayloadOffset, nPayloadSize)); } +*/ void WW8LFOLevel::resolveNoAuto(Properties & /*rHandler*/) { diff --git a/writerfilter/source/doctok/WW8ListTable.cxx b/writerfilter/source/doctok/WW8ListTable.cxx index 4e2e476f08e2..f70c7740dff2 100644 --- a/writerfilter/source/doctok/WW8ListTable.cxx +++ b/writerfilter/source/doctok/WW8ListTable.cxx @@ -26,6 +26,7 @@ ************************************************************************/ #include <resources.hxx> +#include <WW8ResourceModelImpl.hxx> namespace writerfilter { namespace doctok { @@ -53,10 +54,6 @@ void WW8ListTable::initPayload() payloadOffsets.push_back(nOffsetLevel); nOffsetLevel += aLevel.calcSize(); - - sal_uInt32 nXstSize = getU16(nOffsetLevel); - - nOffsetLevel += 2 + nXstSize * 2; } if (nOffsetLevel > getCount()) @@ -112,6 +109,16 @@ WW8List::get_listlevel(sal_uInt32 nIndex) (new WW8ListLevel(mpParent, nPayloadOffset, nPayloadSize)); } +::rtl::OUString WW8ListLevel::get_xst() +{ + sal_uInt32 nOffset = WW8ListLevel::getSize(); + + nOffset += get_cbGrpprlPapx(); + nOffset += get_cbGrpprlChpx(); + + return getString(nOffset); +} + void WW8ListLevel::resolveNoAuto(Properties & rHandler) { sal_uInt32 nOffset = getSize(); @@ -133,12 +140,6 @@ void WW8ListLevel::resolveNoAuto(Properties & rHandler) WW8PropertiesReference aRef(pSet); aRef.resolve(rHandler); } - - nOffset += get_cbGrpprlChpx(); - - WW8StringValue aVal(getString(nOffset)); - - rHandler.attribute(0, aVal); } sal_uInt32 WW8ListLevel::calcSize() @@ -147,6 +148,7 @@ sal_uInt32 WW8ListLevel::calcSize() nResult += get_cbGrpprlPapx(); nResult += get_cbGrpprlChpx(); + nResult += 2 + getU16(nResult) * 2; return nResult; } diff --git a/writerfilter/source/doctok/WW8PropertySetImpl.cxx b/writerfilter/source/doctok/WW8PropertySetImpl.cxx index 88633102e940..7b0cf28282c7 100644 --- a/writerfilter/source/doctok/WW8PropertySetImpl.cxx +++ b/writerfilter/source/doctok/WW8PropertySetImpl.cxx @@ -147,7 +147,15 @@ sal_uInt32 WW8PropertyImpl::getByteLength() const break; default: - nParamSize = getU8(2) + 1; + switch (getId()) + { + case 0xd608: + nParamSize = getU16(2) + 1; + break; + default: + nParamSize = getU8(2) + 1; + break; + } break; } @@ -314,7 +322,7 @@ string WW8PropertySetImpl::getType() const return "WW8PropertySetImpl"; } -void WW8PropertySetImpl::resolveLocal(Sprm & sprm) +void WW8PropertySetImpl::resolveLocal(Sprm & sprm, Properties & rHandler) { switch (sprm.getId()) { @@ -329,6 +337,27 @@ void WW8PropertySetImpl::resolveLocal(Sprm & sprm) { getDocument()->setPicIsData(true); } + break; + case 0x6646: + { + WW8Stream::Pointer_t pStream = getDocument()->getDataStream(); + + if (pStream.get() != NULL) + { + Value::Pointer_t pValue = sprm.getValue(); + sal_uInt32 nOffset = pValue->getInt(); + WW8StructBase aStruct(*pStream, nOffset, 2); + sal_uInt16 nCount = aStruct.getU16(0); + + { + WW8PropertySetImpl * pPropSet = + new WW8PropertySetImpl(*pStream, nOffset + 2, nCount); + + pPropSet->resolve(rHandler); + } + } + } + break; default: break; } @@ -353,7 +382,7 @@ void WW8PropertySetImpl::resolve(Properties & rHandler) rHandler.sprm(aSprm); - resolveLocal(aSprm); + resolveLocal(aSprm, rHandler); ++(*pIt); } diff --git a/writerfilter/source/doctok/WW8PropertySetImpl.hxx b/writerfilter/source/doctok/WW8PropertySetImpl.hxx index 5c5c42b73a15..2f7bb0f34708 100644 --- a/writerfilter/source/doctok/WW8PropertySetImpl.hxx +++ b/writerfilter/source/doctok/WW8PropertySetImpl.hxx @@ -104,12 +104,13 @@ public: virtual void resolve(Properties & rHandler); /** - Get and distribute information from sprm that is used - internally by the document. + Get and distribute information from sprm that is used + internally by the document. - @param rSprm sprm to process + @param rSprm sprm to process + @param rHandler property handler to resolve huge papx (sprm 0x6646) to */ - virtual void resolveLocal(Sprm & rSprm); + virtual void resolveLocal(Sprm & rSprm, Properties & rHandler); }; class WW8PropertySetIteratorImpl : public WW8PropertySetIterator diff --git a/writerfilter/source/doctok/WW8StructBase.cxx b/writerfilter/source/doctok/WW8StructBase.cxx index e4149ca29874..7d03e8763c69 100644 --- a/writerfilter/source/doctok/WW8StructBase.cxx +++ b/writerfilter/source/doctok/WW8StructBase.cxx @@ -115,16 +115,25 @@ rtl::OUString WW8StructBase::getString(sal_uInt32 nOffset, sal_uInt32 nCount) { rtl::OUString aResult; - Sequence aSeq(mSequence, nOffset, nCount * 2); - - if (nCount > 0) + if (nOffset < getCount()) { - rtl_uString * pNew = 0; - rtl_uString_newFromStr_WithLength + sal_uInt32 nCount1 = nCount; + if (nOffset + nCount * 2 > getCount()) + { + nCount1 = (getCount() - nOffset) / 2; + } + + if (nCount1 > 0) + { + Sequence aSeq(mSequence, nOffset, nCount1 * 2); + + rtl_uString * pNew = 0; + rtl_uString_newFromStr_WithLength (&pNew, reinterpret_cast<const sal_Unicode *>(&aSeq[0]), - nCount); + nCount1); - aResult = rtl::OUString(pNew); + aResult = rtl::OUString(pNew); + } } return aResult; diff --git a/writerfilter/source/doctok/WW8Sttbf.cxx b/writerfilter/source/doctok/WW8Sttbf.cxx index e5d87b9aeaa0..36e2e805436d 100644 --- a/writerfilter/source/doctok/WW8Sttbf.cxx +++ b/writerfilter/source/doctok/WW8Sttbf.cxx @@ -26,6 +26,7 @@ ************************************************************************/ #include <WW8Sttbf.hxx> +#include <resources.hxx> namespace writerfilter { namespace doctok @@ -86,4 +87,82 @@ WW8StructBase::Pointer_t WW8Sttbf::getExtraData(sal_uInt32 nPos) (new WW8StructBase(*this, getExtraOffset(nPos), mnExtraDataCount)); } +WW8SttbTableResource::WW8SttbTableResource(WW8Sttbf::Pointer_t pSttbf) +: mpSttbf(pSttbf) +{ +} + +WW8SttbTableResource::~WW8SttbTableResource() +{ +} + +void WW8SttbTableResource::resolve(Table & rTable) +{ + sal_uInt32 nCount = mpSttbf->getEntryCount(); + + for (sal_uInt32 n = 0; n < nCount; n++) + { + WW8StringValue::Pointer_t pVal(new WW8StringValue(mpSttbf->getEntry(n))); + ::writerfilter::Reference<Properties>::Pointer_t pProps(new WW8StringProperty(0, pVal)); + + rTable.entry(n, pProps); + } +} + +string WW8SttbTableResource::getType() const +{ + return "WW8SttbTableResource"; +} + +WW8StringProperty::WW8StringProperty(sal_uInt32 nId, WW8StringValue::Pointer_t pValue) +: mnId(nId), mpValue(pValue) +{ +} + +WW8StringProperty::~WW8StringProperty() +{ +} + +void WW8StringProperty::resolve(Properties & rProperties) +{ + rProperties.attribute(mnId, *mpValue); +} + +string WW8StringProperty::getType() const +{ + return "WW8StringProperty"; +} + +sal_uInt32 WW8SttbRgtplc::getEntryCount() +{ + return getU16(2); +} + +::writerfilter::Reference<Properties>::Pointer_t +WW8SttbRgtplc::getEntry(sal_uInt32 nIndex) +{ + ::writerfilter::Reference<Properties>::Pointer_t pResult; + + sal_uInt32 nOffset = 6; + + while (nIndex > 0) + { + sal_uInt16 nCount = getU16(nOffset); + + nOffset = nOffset + 2 + nCount; + ++nIndex; + } + + sal_uInt16 nCount = getU16(nOffset); + + if (nCount > 0) + { + WW8Tplc * pTplc = new WW8Tplc(*this, nOffset + 2, nCount); + + pResult.reset(pTplc); + } + + return pResult; +} + }} diff --git a/writerfilter/source/doctok/WW8Sttbf.hxx b/writerfilter/source/doctok/WW8Sttbf.hxx index 2cdae76d7e11..5c82d94723a9 100644 --- a/writerfilter/source/doctok/WW8Sttbf.hxx +++ b/writerfilter/source/doctok/WW8Sttbf.hxx @@ -29,6 +29,7 @@ #define INCLUDED_WW8_STTBF_HXX #include <WW8StructBase.hxx> +#include <WW8ResourceModelImpl.hxx> #include <boost/shared_ptr.hpp> #include <vector> @@ -99,5 +100,33 @@ public: */ WW8StructBase::Pointer_t getExtraData(sal_uInt32 nPos); }; + +class WW8SttbTableResource : public ::writerfilter::Reference<Table> +{ + WW8Sttbf::Pointer_t mpSttbf; + +public: + WW8SttbTableResource(WW8Sttbf::Pointer_t pSttbf); + virtual ~WW8SttbTableResource(); + + void resolve(Table & rTable); + + string getType() const; +}; + +class WW8StringProperty : public ::writerfilter::Reference<Properties> +{ + sal_uInt32 mnId; + WW8StringValue::Pointer_t mpValue; + +public: + WW8StringProperty(sal_uInt32 nId, WW8StringValue::Pointer_t pValue); + virtual ~WW8StringProperty(); + + void resolve(Properties & rProperties); + + string getType() const; +}; + }} #endif // INCLUDED_WW8_STTBF diff --git a/writerfilter/source/doctok/cleanupresources b/writerfilter/source/doctok/cleanupresources new file mode 100755 index 000000000000..646c1ea4e0a7 --- /dev/null +++ b/writerfilter/source/doctok/cleanupresources @@ -0,0 +1,5 @@ +#!/bin/bash + +TEMP=`mktemp -t cleanupresources` +xsltproc tidyxmi.xsl resources.xmi | xmllint --format - > $TEMP +mv $TEMP resources.xmi diff --git a/writerfilter/source/doctok/compactxmi.xsl b/writerfilter/source/doctok/compactxmi.xsl new file mode 100644 index 000000000000..36ab4f5c5f9a --- /dev/null +++ b/writerfilter/source/doctok/compactxmi.xsl @@ -0,0 +1,262 @@ +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:UML = 'org.omg.xmi.namespace.UML' + xmlns:exslt="http://exslt.org/common" + xml:space="default"> + <xsl:output method="xml"/> + + <xsl:template match="/"> + <xsl:apply-templates select="//UML:Model"/> + </xsl:template> + + <xsl:template match="UML:Model"> + <model> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:call-template name="nostereotype"/> + <xsl:call-template name="ww8resources"/> + <xsl:call-template name="sprms"/> + </model> + </xsl:template> + + <xsl:template name="nostereotype"> + <xsl:for-each select="UML:Namespace.ownedElement/UML:Class[not(UML:ModelElement.stereotype)]"> + <xsl:variable name="myid" select="@xmi.id"/> + <class> + <xsl:attribute name="name"> + <xsl:value-of select="$myid"/> + </xsl:attribute> + <xsl:attribute name="resource"> + <xsl:for-each select="//UML:Generalization[UML:Generalization.child/UML:Class/@xmi.idref=$myid]"> + <xsl:value-of select="UML:Generalization.parent/UML:Class/@xmi.idref"/> + </xsl:for-each> + </xsl:attribute> + <xsl:apply-templates select=".//UML:Attribute|.//UML:Operation" mode="ww8resource"/> + </class> + </xsl:for-each> + </xsl:template> + + <xsl:template name="ww8resources"> + <xsl:for-each select="UML:Namespace.ownedElement/UML:Class[UML:ModelElement.stereotype/UML:Stereotype/@xmi.idref='ww8resource' and not(UML:ModelElement.stereotype/UML:Stereotype/@xmi.idref='ww8sprm')]"> + <xsl:sort select="@xmi.id"/> + <xsl:call-template name="ww8resource"/> + </xsl:for-each> + </xsl:template> + + <xsl:template name="ww8resource"> + <xsl:variable name="myid" select="@xmi.id"/> + <xsl:variable name="classid"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">classid</xsl:with-param> + </xsl:call-template> + </xsl:variable> + <ww8resource> + <xsl:attribute name="name"> + <xsl:value-of select="$myid"/> + </xsl:attribute> + <xsl:attribute name="resource"> + <xsl:for-each select="//UML:Generalization[UML:Generalization.child/UML:Class/@xmi.idref=$myid]"> + <xsl:value-of select="UML:Generalization.parent/UML:Class/@xmi.idref"/> + </xsl:for-each> + </xsl:attribute> + <xsl:if test="string-length($classid) > 0"> + <xsl:attribute name="classid"> + <xsl:value-of select="$classid"/> + </xsl:attribute> + </xsl:if> + <xsl:for-each select="UML:ModelElement.stereotype/UML:Stereotype"> + <xsl:if test="@xmi.idref != 'ww8resource'"> + <stereotype> + <xsl:attribute name="name"> + <xsl:value-of select="@xmi.idref"/> + </xsl:attribute> + </stereotype> + </xsl:if> + </xsl:for-each> + <xsl:apply-templates select=".//UML:Attribute|.//UML:Operation" mode="ww8resource"/> + </ww8resource> + </xsl:template> + + <xsl:template name="gettaggedvalue"> + <xsl:param name="name"/> + <xsl:for-each select="UML:ModelElement.taggedValue/UML:TaggedValue[UML:TaggedValue.type/UML:TagDefinition/@xmi.idref=$name]"> + <xsl:value-of select="UML:TaggedValue.dataValue"/> + </xsl:for-each> + </xsl:template> + + <xsl:template name="sizefortype"> + <xsl:param name="type"/> + <xsl:choose> + <xsl:when test="$type='S8'">1</xsl:when> + <xsl:when test="$type='U8'">1</xsl:when> + <xsl:when test="$type='S16'">2</xsl:when> + <xsl:when test="$type='U16'">2</xsl:when> + <xsl:when test="$type='S32'">4</xsl:when> + <xsl:when test="$type='U32'">4</xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="bits"> + <xsl:param name="bits"/> + <bits> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:attribute name="bits"> + <xsl:value-of select="$bits"/> + </xsl:attribute> + <xsl:attribute name="token"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">attrid</xsl:with-param> + </xsl:call-template> + </xsl:attribute> + </bits> + </xsl:template> + + <xsl:template match="UML:Attribute" mode="ww8resource"> + <xsl:variable name="mask"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">mask</xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="offset"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">offset</xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="type"> + <xsl:value-of select="UML:StructuralFeature.type/UML:DataType/@xmi.idref"/> + </xsl:variable> + <xsl:variable name="size"> + <xsl:call-template name="sizefortype"> + <xsl:with-param name="type" select="$type"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="arraycount"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">arraycount</xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:choose> + <xsl:when test="string-length($mask) = 0"> + <attribute> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:attribute name="type"> + <xsl:value-of select="$type"/> + </xsl:attribute> + <xsl:attribute name="size"> + <xsl:value-of select="$size"/> + </xsl:attribute> + <xsl:for-each select="UML:ModelElement.stereotype/UML:Stereotype[@xmi.idref='array']"> + <xsl:attribute name="array-count"> + <xsl:value-of select="$arraycount"/> + </xsl:attribute> + </xsl:for-each> + <xsl:attribute name="token"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">attrid</xsl:with-param> + </xsl:call-template> + </xsl:attribute> + </attribute> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="attrswithoffset"> + <xsl:for-each select="ancestor::UML:Class//UML:Attribute[UML:ModelElement.taggedValue/UML:TaggedValue[UML:TaggedValue.type/UML:TagDefinition/@xmi.idref='offset' and UML:TaggedValue.dataValue=$offset]]"> + <xsl:sort select="UML:ModelElement.taggedValue/UML:TaggedValue[UML:TaggedValue.type/UML:TagDefinition/@xmi.idref='shift']/UML:TaggedValue.dataValue" data-type="number" order="descending"/> + <xsl:copy-of select="."/> + </xsl:for-each> + </xsl:variable> + <xsl:text>
</xsl:text> + <xsl:if test="@name = exslt:node-set($attrswithoffset)/UML:Attribute[1]/@name"> + <bitfield> + <xsl:attribute name="size"> + <xsl:value-of select="$size"/> + </xsl:attribute> + <xsl:attribute name="type"> + <xsl:value-of select="$type"/> + </xsl:attribute> + <xsl:variable name="allbits" select="8 * $size"/> + <xsl:for-each select="exslt:node-set($attrswithoffset)/UML:Attribute"> + <xsl:variable name="lastshift"> + <xsl:choose> + <xsl:when test="count(preceding-sibling::UML:Attribute) = 0"> + <xsl:value-of select="$allbits"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="preceding-sibling::UML:Attribute[1]/UML:ModelElement.taggedValue/UML:TaggedValue[UML:TaggedValue.type/UML:TagDefinition/@xmi.idref='shift']/UML:TaggedValue.dataValue"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="bits" select="$lastshift - UML:ModelElement.taggedValue/UML:TaggedValue[UML:TaggedValue.type/UML:TagDefinition/@xmi.idref='shift']/UML:TaggedValue.dataValue"/> + <xsl:call-template name="bits"> + <xsl:with-param name="bits" select="$bits"/> + </xsl:call-template> + </xsl:for-each> + </bitfield> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="UML:Operation" mode="ww8resource"> + <operation> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:attribute name="type"> + <xsl:for-each select="UML:BehavioralFeature.parameter/UML:Parameter[@kind='return']"> + <xsl:value-of select="UML:Parameter.type/UML:Class/@xmi.idref"/> + </xsl:for-each> + </xsl:attribute> + <xsl:attribute name="token"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">opid</xsl:with-param> + </xsl:call-template> + </xsl:attribute> + <xsl:for-each select="UML:ModelElement.stereotype"> + <stereotype> + <xsl:value-of select="UML:Stereotype/@xmi.idref"/> + </stereotype> + </xsl:for-each> + </operation> + </xsl:template> + + <xsl:template match="*" mode="ww8resources"> + <xsl:apply-templates select="*" mode="ww8resources"/> + </xsl:template> + + <xsl:template name="sprms"> + <xsl:for-each select="UML:Namespace.ownedElement/UML:Class[UML:ModelElement.stereotype/UML:Stereotype/@xmi.idref='ww8sprm']"> + <xsl:sort select="@xmi.id"/> + <sprm> + <xsl:attribute name="name"> + <xsl:value-of select="@xmi.id"/> + </xsl:attribute> + <xsl:attribute name="code"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">sprmcode</xsl:with-param> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="kind"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">kind</xsl:with-param> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="token"> + <xsl:call-template name="gettaggedvalue"> + <xsl:with-param name="name">sprmid</xsl:with-param> + </xsl:call-template> + </xsl:attribute> + <xsl:if test="UML:ModelElement.stereotype/UML:Stereotype/@xmi.idref='ww8resource'"> + <xsl:apply-templates select=".//UML:Attribute|.//UML:Operation" mode="ww8resource"/> + </xsl:if> + </sprm> + </xsl:for-each> + </xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/doctok/resources.xmi b/writerfilter/source/doctok/resources.xmi index 65b471e280e2..bc3bd81761a5 100644 --- a/writerfilter/source/doctok/resources.xmi +++ b/writerfilter/source/doctok/resources.xmi @@ -6,7 +6,7 @@ <XMI.content> <UML:Model name="WW8Document"> <UML:Namespace.ownedElement> -<!--Stereotypes --> + <!--Stereotypes --> <UML:Stereotype xmi.id="access" name="access"> <UML:Stereotype.baseClass>Class</UML:Stereotype.baseClass> </UML:Stereotype> @@ -73,16 +73,16 @@ <UML:Stereotype xmi.id="virtual" name="virtual"> <UML:Stereotype.baseClass>Attribute</UML:Stereotype.baseClass> </UML:Stereotype> -<!--Stereotypes--> -<!--Datatypes --> + <!--Stereotypes--> + <!--Datatypes --> <UML:DataType xmi.id="U8" name="U8"/> <UML:DataType xmi.id="U16" name="U16"/> <UML:DataType xmi.id="U32" name="U32"/> <UML:DataType xmi.id="String" name="String"/> <UML:DataType xmi.id="Value" name="Value"/> <UML:DataType xmi.id="Sprm" name="Sprm"/> -<!--Datatypes--> -<!--Tag definitions --> + <!--Datatypes--> + <!--Tag definitions --> <UML:TagDefinition tagType="String" xmi.id="comment" name="comment"/> <UML:TagDefinition tagType="String" xmi.id="offset" name="offset"/> <UML:TagDefinition tagType="String" xmi.id="shift" name="shift"/> @@ -96,9 +96,9 @@ <UML:TagDefinition tagType="String" xmi.id="sprmcode" name="sprmcode"/> <UML:TagDefinition tagType="String" xmi.id="sprmid" name="sprmid"/> <UML:TagDefinition tagType="String" xmi.id="dffid" name="dffid"/> -<!--Tag definitions --> -<!--Classes without stereotype--> -<!--Class Blob--> + <!--Tag definitions --> + <!--Classes without stereotype--> + <!--Class Blob--> <UML:Class xmi.id="Blob" name="Blob"/> <UML:Generalization isSpecification="false" xmi.id="Blob-BinaryObj"> <UML:Generalization.child> @@ -108,8 +108,8 @@ <UML:Class xmi.idref="BinaryObj"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class Blob--> -<!--Class TextboxText--> + <!--Class Blob--> + <!--Class TextboxText--> <UML:Class xmi.id="TextboxText" name="TextboxText"/> <UML:Generalization isSpecification="false" xmi.id="TextboxText-Stream"> <UML:Generalization.child> @@ -119,8 +119,8 @@ <UML:Class xmi.idref="Stream"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class TextboxText--> -<!--Class UPX--> + <!--Class TextboxText--> + <!--Class UPX--> <UML:Class xmi.id="UPX" name="UPX"/> <UML:Generalization isSpecification="false" xmi.id="UPX-Properties"> <UML:Generalization.child> @@ -130,8 +130,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class UPX--> -<!--Class SEPX--> + <!--Class UPX--> + <!--Class SEPX--> <UML:Class xmi.id="SEPX" name="SEPX"/> <UML:Generalization isSpecification="false" xmi.id="SEPX-Properties"> <UML:Generalization.child> @@ -141,8 +141,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class SEPX--> -<!--Class DffRecord--> + <!--Class SEPX--> + <!--Class DffRecord--> <UML:Class xmi.id="DffRecord" name="DffRecord"/> <UML:Generalization isSpecification="false" xmi.id="DffRecord-Properties"> <UML:Generalization.child> @@ -152,8 +152,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class DffRecord--> -<!--Class Papx--> + <!--Class DffRecord--> + <!--Class Papx--> <UML:Class xmi.id="Papx" name="Papx"> <UML:Classifier.feature> <UML:Attribute name="istd"> @@ -174,8 +174,8 @@ </UML:Attribute> </UML:Classifier.feature> </UML:Class> -<!--Class Papx--> -<!--Class dummy--> + <!--Class Papx--> + <!--Class dummy--> <UML:Class xmi.id="dummy" name="dummy"> <UML:Classifier.feature> <UML:Attribute name="header"> @@ -553,9 +553,9 @@ </UML:Attribute> </UML:Classifier.feature> </UML:Class> -<!--Class dummy--> -<!--Classes without stereotype--> -<!--Resources--> + <!--Class dummy--> + <!--Classes without stereotype--> + <!--Resources--> <UML:Class xmi.id="Properties" name="Properties"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="resource"/> @@ -576,9 +576,9 @@ <UML:Stereotype xmi.idref="resource"/> </UML:ModelElement.stereotype> </UML:Class> -<!--Resources--> -<!--WW8 resources--> -<!--Class ListLevel--> + <!--Resources--> + <!--WW8 resources--> + <!--Class ListLevel--> <UML:Class xmi.id="ListLevel" name="ListLevel"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -598,7 +598,7 @@ <UML:Attribute name="iStartAt"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>start at value for this list level</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -606,7 +606,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x00</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -614,7 +614,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -630,7 +630,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -656,7 +656,7 @@ <UML:Attribute name="nfc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>number format code (see anld.nfc for a list of options)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -664,7 +664,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x04</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -672,7 +672,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -688,7 +688,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -714,8 +714,7 @@ <UML:Attribute name="jc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>alignment (left, right, or centered) of the paragraph - number.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -723,7 +722,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x05</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -731,7 +730,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -739,7 +738,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x03</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xc0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -747,7 +746,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -770,11 +769,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fLegal"> + <UML:Attribute name="fLegel"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>true (==1) if the level turns all inherited numbers to arabic, - false if it preserves their number format code (nfc)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -782,7 +780,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x05</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -790,7 +788,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -798,7 +796,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x04</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -806,7 +804,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -832,8 +830,7 @@ <UML:Attribute name="fNoRestart"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>true if the level's number sequence is not restarted by higher - (more significant) levels in the list</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -841,7 +838,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x05</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -849,7 +846,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -857,7 +854,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x08</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -865,7 +862,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -888,11 +885,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fPrev"> + <UML:Attribute name="fIdentSav"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Word 6 compatibility option: equivalent to anld.fPrev (see - ANLD)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -900,7 +896,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x05</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -908,7 +904,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -916,7 +912,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -924,7 +920,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -932,7 +928,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FPREV</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FIDENTSAV</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -947,11 +943,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fPrevSpace"> + <UML:Attribute name="fConverted"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Word 6 compatibility option: equivalent to anld.fPrevSpace (see - ANLD)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -959,7 +954,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x05</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -967,7 +962,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -975,7 +970,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -983,7 +978,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -991,7 +986,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FPREVSPACE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FCONVERTED</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -1006,12 +1001,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fWord6"> + <UML:Attribute name="fTentative"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>true if this level was from a converted Word 6 document. If it - is true, all of the Word 6 compability options become valid; - otherwise they are ignored.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1019,7 +1012,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x05</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1027,7 +1020,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1035,7 +1028,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x40</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -1043,7 +1036,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1051,7 +1044,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FWORD6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FTENTATIVE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -1066,10 +1059,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="unused5_7"> + <UML:Attribute name="rgbxchNums"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>unused.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1077,7 +1070,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x05</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1085,7 +1078,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>7</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1093,7 +1086,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x80</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -1101,7 +1094,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1109,31 +1102,33 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UNUSED5_7</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:RGBXCHNUMS</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>9</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="arraycount"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> <UML:StructuralFeature.type> <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="attribute"/> + <UML:Stereotype xmi.idref="array"/> </UML:ModelElement.stereotype> </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="rgbxchNums"> + <UML:Attribute name="ixchFollow"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>contains the character offsets into the LVL's XST of the - inherited numbers of previous levels. This array should be zero - terminated unless it is full (all 9 levels full). The XST contains - place holders for any paragraph numbers contained in the text of - the number, and the place holder contains the ilvl of the inherited - number, so lvl.xst[lvl.rgbxchNums[0]] == the level of the first - inherited number in this level.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1141,7 +1136,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x06</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1149,7 +1144,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1165,7 +1160,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>9</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1173,34 +1168,25 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:RGBXCHNUMS</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:IXCHFOLLOW</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>9</UML:TaggedValue.dataValue> - <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="arraycount"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> <UML:StructuralFeature.type> <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="array"/> + <UML:Stereotype xmi.idref="attribute"/> </UML:ModelElement.stereotype> </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="ixchFollow"> + <UML:Attribute name="dxaSpace"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>the type of character following the number text for the - paragraph: 0 == tab, 1 == space, 2 == nothing.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1208,7 +1194,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0F</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1216,7 +1202,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1232,7 +1218,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1240,14 +1226,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:IXCHFOLLOW</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:DXASPACE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:StructuralFeature.type> - <UML:DataType xmi.idref="U8"/> + <UML:DataType xmi.idref="S32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -1255,11 +1241,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="dxaSpace"> + <UML:Attribute name="dxaIndent"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Word 6 compatibility option: equivalent to anld.dxaSpace (see - ANLD)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1267,7 +1252,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1275,7 +1260,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1291,7 +1276,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1299,7 +1284,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:DXASPACE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:DXAINDENT</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -1314,11 +1299,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="dxaIndent"> + <UML:Attribute name="cbGrpprlChpx"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Word 6 compatibility optino: equivalent to anld.dxaIndent (see - ANLD)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1326,7 +1310,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>24</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1334,7 +1318,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1350,7 +1334,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1358,14 +1342,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:DXAINDENT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:CBGRPPRLCHPX</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:StructuralFeature.type> - <UML:DataType xmi.idref="S32"/> + <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -1373,10 +1357,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="cbGrpprlChpx"> + <UML:Attribute name="cbGrpprlPapx"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>length, in bytes, of the LVL's grpprlChpx</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1384,7 +1368,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x18</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>25</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1392,7 +1376,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1408,7 +1392,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1416,7 +1400,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CBGRPPRLCHPX</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:CBGRPPRLPAPX</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -1431,10 +1415,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="cbGrpprlPapx"> + <UML:Attribute name="ilvlRestartLim"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>length, in bytes, of the LVL's grpprlPapx</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1442,7 +1426,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x19</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>26</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1450,7 +1434,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1466,7 +1450,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1474,7 +1458,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CBGRPPRLPAPX</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:ilvlRestartLim</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -1489,10 +1473,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="reserved"> + <UML:Attribute name="grfhic"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>reserved</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1500,7 +1484,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0X1A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>27</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1508,7 +1492,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1524,7 +1508,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1532,20 +1516,42 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:RESERVED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:grfhic</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:StructuralFeature.type> - <UML:DataType xmi.idref="U16"/> + <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> </UML:ModelElement.stereotype> </UML:Attribute> </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Operation name="xst"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:xst</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="opid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:BehavioralFeature.parameter> + <UML:Parameter kind="return" name="return"> + <UML:Parameter.type> + <UML:Class xmi.idref="String"/> + </UML:Parameter.type> + </UML:Parameter> + </UML:BehavioralFeature.parameter> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Operation> + </UML:Classifier.feature> </UML:Class> <UML:Generalization isSpecification="false" xmi.id="ListLevel-Properties"> <UML:Generalization.child> @@ -1555,8 +1561,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class ListLevel--> -<!--Class List--> + <!--Class ListLevel--> + <!--Class List--> <UML:Class xmi.id="List" name="List"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -1593,10 +1599,12 @@ <UML:Stereotype xmi.idref="array"/> </UML:ModelElement.stereotype> </UML:Operation> + </UML:Classifier.feature> + <UML:Classifier.feature> <UML:Attribute name="lsid"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Unique List ID</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1604,7 +1612,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x00</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1612,7 +1620,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1628,7 +1636,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1654,7 +1662,7 @@ <UML:Attribute name="tplc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Unique template code</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1662,7 +1670,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x04</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1670,7 +1678,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1686,7 +1694,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1709,11 +1717,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="rgistd"> + <UML:Attribute name="fBuildIn"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Array of shorts containing the istd's linked to each level of - the list, or istdNil (4095) if no style is linked.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1721,7 +1728,123 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x08</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>31</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x80000000</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fBuildIn</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="ilgpdM1"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x7fff0000</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:ilgpdM1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lid"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1737,6 +1860,122 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> + <UML:TaggedValue.dataValue>0xffff</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lid</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="random"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x7fffffff</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>31</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:random</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="rgistd"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> @@ -1745,7 +1984,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>18</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1779,8 +2018,7 @@ <UML:Attribute name="fSimpleList"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>true if this is a simple (one-level) list; false if this is a - multilevel (nine-level) list.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1788,7 +2026,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1796,7 +2034,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>7</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1804,7 +2042,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x01</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x80</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -1812,7 +2050,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1835,11 +2073,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fRestartHdn"> + <UML:Attribute name="fAutoNum"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Word 6 compatibility option: true if the list should start - numbering over at the beginning of each section</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1847,7 +2084,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1855,7 +2092,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1863,7 +2100,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x02</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -1871,7 +2108,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1879,7 +2116,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FRESTARTHDN</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fAutoNum</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -1894,10 +2131,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="unsigned26_2"> + <UML:Attribute name="fHybrid"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>reserved</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1905,7 +2142,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1913,7 +2150,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -1921,7 +2158,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xFC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -1929,7 +2166,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1937,7 +2174,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UNSIGNED26_2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fHybrid</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -1952,10 +2189,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="reserved"> + <UML:Attribute name="reserved1"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>reserved</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -1963,7 +2200,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1B</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -1979,6 +2216,64 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x7</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:reserved1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U8"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="grfhic"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>27</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> @@ -1987,7 +2282,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>U8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -1995,7 +2290,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:RESERVED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:grfhic</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -2018,8 +2313,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class List--> -<!--Class ListTable--> + <!--Class List--> + <!--Class ListTable--> <UML:Class xmi.id="ListTable" name="ListTable"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -2044,8 +2339,8 @@ <UML:Class xmi.idref="Table"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class ListTable--> -<!--Class LFOLevel--> + <!--Class ListTable--> + <!--Class LFOLevel--> <UML:Class xmi.id="LFOLevel" name="LFOLevel"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -2074,7 +2369,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2132,7 +2427,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2190,7 +2485,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2249,7 +2544,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2307,7 +2602,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2365,7 +2660,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2428,8 +2723,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class LFOLevel--> -<!--Class LFO--> + <!--Class LFOLevel--> + <!--Class LFO--> <UML:Class xmi.id="LFO" name="LFO"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -2439,37 +2734,17 @@ </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="size"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:Classifier.feature> - <UML:Operation name="lfolevel"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:LFO</UML:TaggedValue.dataValue> - <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="opid"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:BehavioralFeature.parameter> - <UML:Parameter kind="return" name="return"> - <UML:Parameter.type> - <UML:Class xmi.idref="LFOLevel"/> - </UML:Parameter.type> - </UML:Parameter> - </UML:BehavioralFeature.parameter> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="array"/> - </UML:ModelElement.stereotype> - </UML:Operation> <UML:Attribute name="lsid"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>List ID of corresponding LSTF (see LSTF)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -2477,7 +2752,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2485,7 +2760,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -2501,7 +2776,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -2509,7 +2784,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:LSID</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:lsid</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -2524,10 +2799,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="unused4"> + <UML:Attribute name="clfolvl"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>reserved</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -2535,7 +2810,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>12</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2543,7 +2818,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -2559,7 +2834,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -2567,14 +2842,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UNUSED4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:clfolvl</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:StructuralFeature.type> - <UML:DataType xmi.idref="S32"/> + <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -2582,10 +2857,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="unused8"> + <UML:Attribute name="ibstFltAutoNum"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>reserved</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -2593,7 +2868,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>13</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2601,7 +2876,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -2617,7 +2892,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -2625,14 +2900,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UNUSED8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:ibstFltAutoNum</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:StructuralFeature.type> - <UML:DataType xmi.idref="S32"/> + <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -2640,10 +2915,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="clfolvl"> + <UML:Attribute name="grfhic"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>count of levels whose format is overridden (see LFOLVL)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -2651,7 +2926,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2659,7 +2934,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -2675,7 +2950,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -2683,7 +2958,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CLFOLVL</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:grfhic</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -2698,20 +2973,80 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="reserved"> + <UML:Operation name="LFOData"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>reserved</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:LFOData</UML:TaggedValue.dataValue> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="comment"/> + <UML:TagDefinition xmi.idref="opid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> + <UML:BehavioralFeature.parameter> + <UML:Parameter kind="return" name="return"> + <UML:Parameter.type> + <UML:Class xmi.idref="LFOData"/> + </UML:Parameter.type> + </UML:Parameter> + </UML:BehavioralFeature.parameter> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Operation> + </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="LFO-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="LFO"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class LFO--> + <!--Class SttbRgtplc--> + <UML:Class xmi.id="SttbRgtplc" name="SttbRgtplc"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:SttbRgtplc</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="classid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="SttbRgtplc-Table"> + <UML:Generalization.child> + <UML:Class xmi.idref="SttbRgtplc"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Table"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class SttbRgtplc--> + <!--Class LFOData--> + <UML:Class xmi.id="LFOData" name="LFOData"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="size"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:Classifier.feature> + <UML:Attribute name="cp"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xD</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="offset"/> + <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> @@ -2719,7 +3054,7 @@ <UML:TaggedValue> <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="shift"/> + <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> @@ -2727,53 +3062,53 @@ <UML:TaggedValue> <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="mask"/> + <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="bits"/> + <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:RESERVED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="attrid"/> + <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cp</UML:TaggedValue.dataValue> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="arraycount"/> + <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:StructuralFeature.type> - <UML:DataType xmi.idref="U8"/> + <UML:DataType xmi.idref="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="array"/> + <UML:Stereotype xmi.idref="attribute"/> </UML:ModelElement.stereotype> </UML:Attribute> </UML:Classifier.feature> </UML:Class> - <UML:Generalization isSpecification="false" xmi.id="LFO-Properties"> + <UML:Generalization isSpecification="false" xmi.id="LFOData-Properties"> <UML:Generalization.child> - <UML:Class xmi.idref="LFO"/> + <UML:Class xmi.idref="LFOData"/> </UML:Generalization.child> <UML:Generalization.parent> <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class LFO--> -<!--Class LFOTable--> + <!--Class LFOData--> + <!--Class LFOTable--> <UML:Class xmi.id="LFOTable" name="LFOTable"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -2798,8 +3133,8 @@ <UML:Class xmi.idref="Table"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class LFOTable--> -<!--Class FontTable--> + <!--Class LFOTable--> + <!--Class FontTable--> <UML:Class xmi.id="FontTable" name="FontTable"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -2824,8 +3159,8 @@ <UML:Class xmi.idref="Table"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FontTable--> -<!--Class Font--> + <!--Class FontTable--> + <!--Class Font--> <UML:Class xmi.id="Font" name="Font"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -2927,7 +3262,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -2985,7 +3320,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3043,7 +3378,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3101,7 +3436,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3159,7 +3494,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3217,7 +3552,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3275,7 +3610,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3333,7 +3668,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3391,7 +3726,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3449,7 +3784,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3515,7 +3850,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -3578,8 +3913,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class Font--> -<!--Class Style--> + <!--Class Font--> + <!--Class Style--> <UML:Class xmi.id="Style" name="Style"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -4440,8 +4775,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class Style--> -<!--Class StyleSheet--> + <!--Class Style--> + <!--Class StyleSheet--> <UML:Class xmi.id="StyleSheet" name="StyleSheet"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -4461,7 +4796,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -4517,7 +4852,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -4575,7 +4910,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -4633,7 +4968,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -4691,7 +5026,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -4749,7 +5084,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -4994,8 +5329,8 @@ <UML:Class xmi.idref="Table"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class StyleSheet--> -<!--Class Fib--> + <!--Class StyleSheet--> + <!--Class Fib--> <UML:Class xmi.id="Fib" name="Fib"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -5023,7 +5358,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5082,7 +5417,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0002</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0002</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5140,7 +5475,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0004</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0004</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5200,7 +5535,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0006</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0006</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5258,7 +5593,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0008</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0008</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5316,7 +5651,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5374,7 +5709,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5432,7 +5767,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5490,7 +5825,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5548,7 +5883,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5606,7 +5941,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5669,7 +6004,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5727,7 +6062,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5785,7 +6120,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5843,7 +6178,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5901,7 +6236,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5959,7 +6294,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6017,7 +6352,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6076,7 +6411,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6134,7 +6469,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6194,7 +6529,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0012</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0012</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6252,7 +6587,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6310,7 +6645,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6368,7 +6703,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6426,7 +6761,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6484,7 +6819,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6542,7 +6877,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6605,7 +6940,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0014</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0014</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6668,7 +7003,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0016</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0016</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6729,7 +7064,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0018</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0018</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6788,7 +7123,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>001C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x001C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6846,7 +7181,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0020</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0020</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6907,7 +7242,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0022</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0022</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6965,7 +7300,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0024</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0024</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7023,7 +7358,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0026</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0026</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7081,7 +7416,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0028</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0028</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7139,7 +7474,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>002A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x002A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7197,7 +7532,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>002C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x002C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7255,7 +7590,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>002E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x002E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7313,7 +7648,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0030</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0030</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7371,7 +7706,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0032</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0032</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7429,7 +7764,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0034</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0034</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7487,7 +7822,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0036</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0036</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7545,7 +7880,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0038</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0038</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7603,7 +7938,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>003A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x003A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7662,7 +7997,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>003C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x003C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7720,7 +8055,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>003E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x003E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7779,7 +8114,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0040</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0040</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7838,7 +8173,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0044</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0044</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7896,7 +8231,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0048</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0048</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7954,7 +8289,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>004C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x004C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8012,7 +8347,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0050</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0050</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8070,7 +8405,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0054</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0054</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8129,7 +8464,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0058</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0058</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8187,7 +8522,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>005C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x005C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8245,7 +8580,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0060</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0060</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8303,7 +8638,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0064</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0064</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8361,7 +8696,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0068</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0068</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8421,7 +8756,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>006C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x006C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8480,7 +8815,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0070</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0070</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8540,7 +8875,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0074</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0074</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8600,7 +8935,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0078</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0078</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8659,7 +8994,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>007C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x007C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8719,7 +9054,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0080</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0080</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8779,7 +9114,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0084</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0084</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8838,7 +9173,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0088</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0088</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8898,7 +9233,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>008C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x008C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8956,7 +9291,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0090</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0090</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9014,7 +9349,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0094</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0094</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9072,7 +9407,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0098</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0098</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9133,7 +9468,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>009A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x009A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9191,7 +9526,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>009E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x009E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9249,7 +9584,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00A2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00A2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9307,7 +9642,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00A6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00A6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9367,7 +9702,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00AA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00AA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9426,7 +9761,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00AE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00AE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9489,7 +9824,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00B2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00B2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9548,7 +9883,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00B6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00B6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9608,7 +9943,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00BA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00BA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9666,7 +10001,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00BE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00BE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9729,7 +10064,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00C2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00C2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9787,7 +10122,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00C6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00C6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9846,7 +10181,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00CA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00CA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9904,7 +10239,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00CE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00CE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9962,7 +10297,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00D2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00D2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10020,7 +10355,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00D6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00D6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10081,7 +10416,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00DA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00DA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10140,7 +10475,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00DE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00DE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10200,7 +10535,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00E2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00E2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10259,7 +10594,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00E6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00E6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10321,7 +10656,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00EA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00EA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10380,7 +10715,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00EE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00EE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10442,7 +10777,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00F2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00F2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10501,7 +10836,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00F6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00F6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10561,7 +10896,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00FA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00FA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10619,7 +10954,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00FE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x00FE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10679,7 +11014,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0102</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0102</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10737,7 +11072,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0106</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0106</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10796,7 +11131,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>010A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x010A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10854,7 +11189,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>010E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x010E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10916,7 +11251,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0112</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0112</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10974,7 +11309,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0116</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0116</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11036,7 +11371,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>011A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x011A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11094,7 +11429,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>011E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x011E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11153,7 +11488,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0122</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0122</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11211,7 +11546,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0126</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0126</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11270,7 +11605,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>012A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x012A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11328,7 +11663,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>012E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x012E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11387,7 +11722,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0132</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0132</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11445,7 +11780,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0136</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0136</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11503,7 +11838,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>013A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x013A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11561,7 +11896,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>013E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x013E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11620,7 +11955,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0142</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0142</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11678,7 +12013,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0146</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0146</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11738,7 +12073,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>014A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x014A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11796,7 +12131,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>014E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x014E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11856,7 +12191,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0152</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0152</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11914,7 +12249,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0156</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0156</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11973,7 +12308,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>015A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x015A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12032,7 +12367,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>015E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x015E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12090,7 +12425,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0162</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0162</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12148,7 +12483,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0166</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0166</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12206,7 +12541,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>016A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x016A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12264,7 +12599,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>016E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x016E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12323,7 +12658,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0172</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0172</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12382,7 +12717,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0176</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0176</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12441,7 +12776,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>017A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x017A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12499,7 +12834,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>017E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x017E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12558,7 +12893,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0182</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0182</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12616,7 +12951,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0186</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0186</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12677,7 +13012,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>018A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x018A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12736,7 +13071,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>018E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x018E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12795,7 +13130,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0192</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0192</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12853,7 +13188,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0196</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0196</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12914,7 +13249,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>019A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x019A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12972,7 +13307,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>019E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x019E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13033,7 +13368,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01A2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01A2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13092,7 +13427,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01A6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01A6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13150,7 +13485,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01AA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01AA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13208,7 +13543,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01AE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01AE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13268,7 +13603,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01B2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01B2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13326,7 +13661,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01B6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01B6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13385,7 +13720,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01BA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01BA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13443,7 +13778,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01BE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01BE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13502,7 +13837,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01C2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01C2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13561,7 +13896,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01C6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01C6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13619,7 +13954,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01CA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01CA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13677,7 +14012,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01CE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01CE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13735,7 +14070,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01D2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01D2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13793,7 +14128,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01D6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01D6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13852,7 +14187,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01DA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01DA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13911,7 +14246,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01DE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01DE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -13970,7 +14305,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01E2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01E2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14029,7 +14364,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01E6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01E6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14088,7 +14423,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01EA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01EA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14147,7 +14482,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01EE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01EE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14206,7 +14541,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01F2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01F2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14265,7 +14600,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01F6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01F6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14325,7 +14660,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01FA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01FA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14384,7 +14719,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01FE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x01FE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14443,7 +14778,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0202</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0202</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14501,7 +14836,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0206</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0206</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14561,7 +14896,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>020A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x020A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14619,7 +14954,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>020E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x020E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14679,7 +15014,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0212</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0212</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14737,7 +15072,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0216</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0216</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14796,7 +15131,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>021A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x021A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14854,7 +15189,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>021E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x021E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14912,7 +15247,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0222</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0222</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -14970,7 +15305,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0226</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0226</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15030,7 +15365,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>022A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x022A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15088,7 +15423,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>022E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x022E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15148,7 +15483,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0232</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0232</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15206,7 +15541,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0236</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0236</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15265,7 +15600,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>023A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x023A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15323,7 +15658,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>023E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x023E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15383,7 +15718,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0242</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0242</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15441,7 +15776,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0246</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0246</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15500,7 +15835,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>024A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x024A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15558,7 +15893,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>024E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x024E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15617,7 +15952,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0252</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0252</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15675,7 +16010,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0256</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0256</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15735,7 +16070,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>025A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x025A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15793,7 +16128,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>025E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x025E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15852,7 +16187,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0262</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0262</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15910,7 +16245,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0266</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0266</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -15970,7 +16305,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>026A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x026A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16028,7 +16363,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>026E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x026E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16087,7 +16422,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0272</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0272</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16145,7 +16480,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0276</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0276</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16203,7 +16538,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>027A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x027A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16261,7 +16596,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>027E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x027E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16319,7 +16654,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0282</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0282</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16377,7 +16712,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0286</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0286</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16435,7 +16770,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>028A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x028A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16493,7 +16828,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>028E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x028E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16554,7 +16889,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0292</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0292</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16612,7 +16947,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0296</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0296</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16671,7 +17006,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>029A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x029A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16729,7 +17064,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>029E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x029E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16788,7 +17123,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02A2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02A2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16846,7 +17181,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02A6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02A6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16905,7 +17240,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02AA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02AA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -16963,7 +17298,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02AE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02AE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17022,7 +17357,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02B2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02B2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17080,7 +17415,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02B6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02B6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17139,7 +17474,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02BA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02BA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17197,7 +17532,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02BE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02BE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17258,7 +17593,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02C2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02C2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17316,7 +17651,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02C6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02C6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17374,7 +17709,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02CA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02CA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17432,7 +17767,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02CE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02CE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17492,7 +17827,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02D2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02D2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17550,7 +17885,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02D6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02D6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17609,7 +17944,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02DA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02DA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17667,7 +18002,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02DE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02DE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17725,7 +18060,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02E2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02E2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17783,7 +18118,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02E6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02E6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17842,7 +18177,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02EA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02EA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17900,7 +18235,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02EE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02EE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -17959,7 +18294,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02F2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02F2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18017,7 +18352,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02F6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02F6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18076,7 +18411,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02FA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02FA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18134,7 +18469,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02FE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x02FE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18193,7 +18528,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0302</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0302</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18251,7 +18586,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0306</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0306</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18310,7 +18645,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>030A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x030A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18368,7 +18703,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>030E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x030E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18427,7 +18762,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0312</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0312</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18485,7 +18820,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0316</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0316</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18544,7 +18879,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>031A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x031A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18602,7 +18937,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>031E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x031E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18661,7 +18996,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0322</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0322</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18719,7 +19054,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0326</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0326</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18778,7 +19113,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>032A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x032A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18836,7 +19171,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>032E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x032E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18895,7 +19230,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0332</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0332</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -18953,7 +19288,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0336</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0336</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19011,7 +19346,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>033A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x033A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19069,7 +19404,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>033E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x033E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19127,7 +19462,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0342</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0342</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19185,7 +19520,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0346</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0346</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19245,7 +19580,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>034A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x034A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19303,7 +19638,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>034E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x034E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19361,7 +19696,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0352</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0352</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19419,7 +19754,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0356</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0356</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19477,7 +19812,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>035A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x035A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19535,7 +19870,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>035E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x035E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19593,7 +19928,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0362</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0362</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19651,7 +19986,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0366</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0366</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19710,7 +20045,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>036A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x036A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19768,7 +20103,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>036E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x036E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19826,7 +20161,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0372</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0372</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19884,7 +20219,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0376</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0376</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -19943,7 +20278,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>037A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x037A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20001,7 +20336,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>037E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x037E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20056,8 +20391,1655 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class Fib--> -<!--Class BKD--> + <!--Class Fib--> + <!--Class FibRgFcLcb2000--> + <UML:Class xmi.id="FibRgFcLcb2000" name="FibRgFcLcb2000"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>856</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="size"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:Classifier.feature> + <UML:Attribute name="fcPlcfTch"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>744</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcPlcfTch</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbPlcfTch"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>748</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbPlcfTch</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcRmdThreading"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>752</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcRmdThreading</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbRmdThreading"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>756</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbRmdThreading</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcMid"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>760</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcMid</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbMid"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>764</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbMid</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcSttbRgtplc"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>768</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcSttbRgtplc</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbSttbRgtplc"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>772</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbSttbRgtplc</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcMsoEnvelope"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>776</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcMsoEnvelope</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="flcbMsoEnvelope"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>780</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:flcbMsoEnvelope</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcPlcfLad"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>784</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcPlcfLad</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbPlcfLad"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>788</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbPlcfLad</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcRgDofr"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>792</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcRgDofr</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbRgDofr"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>796</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbRgDofr</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcPlcosl"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>800</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcPlcosl</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbPlcosl"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>804</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbPlcosl</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcPlcfCookieOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>808</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcPlcfCookieOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbPlcfCookieOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>812</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbPlcfCookieOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcPgdMotherOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>816</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcPgdMotherOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="flcbPgdMotherOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>820</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:flcbPgdMotherOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcPgdFtnOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>824</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcPgdFtnOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbPgdFtnOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>828</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbPgdFtnOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcBkdFtnOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>832</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcBkdFtnOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbBkdFtnOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>836</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbBkdFtnOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcPgdEdnOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>840</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcPgdEdnOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbPgdEdnOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>844</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbPgdEdnOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fcBkdEdnOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>848</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fcBkdEdnOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lcbBkdEdnOld"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>852</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lcbBkdEdnOld</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U32"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="FibRgFcLcb2000-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="FibRgFcLcb2000"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class FibRgFcLcb2000--> + <!--Class BKD--> <UML:Class xmi.id="BKD" name="BKD"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -20083,7 +22065,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20142,7 +22124,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20201,7 +22183,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20260,7 +22242,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20319,7 +22301,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20374,8 +22356,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class BKD--> -<!--Class SED--> + <!--Class BKD--> + <!--Class SED--> <UML:Class xmi.id="SED" name="SED"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -20403,7 +22385,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20464,7 +22446,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20522,7 +22504,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20581,7 +22563,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20658,8 +22640,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class SED--> -<!--Class SHD--> + <!--Class SED--> + <!--Class SHD--> <UML:Class xmi.id="SHD" name="SHD"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -20684,7 +22666,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20742,7 +22724,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20854,7 +22836,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20909,8 +22891,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class SHD--> -<!--Class CellShd--> + <!--Class SHD--> + <!--Class CellShd--> <UML:Class xmi.id="CellShd" name="CellShd"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -20935,7 +22917,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -20993,7 +22975,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21051,7 +23033,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21106,8 +23088,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class CellShd--> -<!--Class BRC--> + <!--Class CellShd--> + <!--Class BRC--> <UML:Class xmi.id="BRC" name="BRC"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -21132,7 +23114,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21217,7 +23199,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21275,7 +23257,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21335,7 +23317,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21394,7 +23376,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21452,7 +23434,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21510,7 +23492,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21565,8 +23547,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class BRC--> -<!--Class TC--> + <!--Class BRC--> + <!--Class TC--> <UML:Class xmi.id="TC" name="TC"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -21595,7 +23577,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21653,7 +23635,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21711,7 +23693,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21770,7 +23752,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21829,7 +23811,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21895,7 +23877,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -21957,7 +23939,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22021,7 +24003,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22079,7 +24061,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22137,7 +24119,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22197,7 +24179,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22255,7 +24237,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22313,7 +24295,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>c</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xc</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22371,7 +24353,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22426,8 +24408,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class TC--> -<!--Class BKF--> + <!--Class TC--> + <!--Class BKF--> <UML:Class name="BKF" xmi.id="BKF"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -22453,7 +24435,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22512,7 +24494,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22571,7 +24553,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22630,7 +24612,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22689,7 +24671,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22744,8 +24726,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class BKF--> -<!--Class LineProps--> + <!--Class BKF--> + <!--Class LineProps--> <UML:Class name="LineProps" xmi.id="LineProps"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -22770,7 +24752,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22828,7 +24810,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22886,7 +24868,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -22941,8 +24923,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class LineProps--> -<!--Class TBD--> + <!--Class LineProps--> + <!--Class TBD--> <UML:Class xmi.id="TBD" name="TBD"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -22964,7 +24946,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -23027,7 +25009,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -23085,7 +25067,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -23140,8 +25122,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class TBD--> -<!--Class METAFILEPICT--> + <!--Class TBD--> + <!--Class METAFILEPICT--> <UML:Class xmi.id="METAFILEPICT" name="METAFILEPICT"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -23158,7 +25140,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -23220,7 +25202,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -23293,7 +25275,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -23351,7 +25333,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -23406,8 +25388,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class METAFILEPICT--> -<!--Class FFDATA--> + <!--Class METAFILEPICT--> + <!--Class FFDATA--> <UML:Class xmi.id="FFDATA" name="FFDATA"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -24194,8 +26176,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FFDATA--> -<!--Class PICF--> + <!--Class FFDATA--> + <!--Class PICF--> <UML:Class xmi.id="PICF" name="PICF"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -24219,7 +26201,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24278,7 +26260,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24343,7 +26325,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24404,7 +26386,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24473,7 +26455,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24532,7 +26514,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24591,7 +26573,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>20</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24650,7 +26632,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>22</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x22</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24712,7 +26694,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>24</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x24</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24771,7 +26753,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>26</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x26</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24830,7 +26812,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>28</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x28</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24889,7 +26871,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -24952,7 +26934,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25010,7 +26992,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25068,7 +27050,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25126,7 +27108,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25184,7 +27166,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25245,7 +27227,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2C</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25303,7 +27285,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25361,7 +27343,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>32</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x32</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25419,7 +27401,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>36</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x36</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25477,7 +27459,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x3A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25535,7 +27517,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x3E</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25593,7 +27575,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>40</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x40</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25651,7 +27633,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>42</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x42</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25756,8 +27738,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class PICF--> -<!--Class FSPA--> + <!--Class PICF--> + <!--Class FSPA--> <UML:Class xmi.id="FSPA" name="FSPA"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -25784,7 +27766,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25843,7 +27825,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25902,7 +27884,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -25961,7 +27943,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xC</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26020,7 +28002,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26079,7 +28061,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26142,7 +28124,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26204,7 +28186,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26269,7 +28251,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26332,7 +28314,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26391,7 +28373,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26450,7 +28432,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26509,7 +28491,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26567,7 +28549,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x16</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26644,8 +28626,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FSPA--> -<!--Class FLD--> + <!--Class FSPA--> + <!--Class FLD--> <UML:Class xmi.id="FLD" name="FLD"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -26673,7 +28655,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26731,7 +28713,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26804,7 +28786,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -26859,8 +28841,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FLD--> -<!--Class Rectangle--> + <!--Class FLD--> + <!--Class Rectangle--> <UML:Class xmi.id="Rectangle" name="Rectangle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -26885,7 +28867,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -27114,8 +29096,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class Rectangle--> -<!--Class FOPTE--> + <!--Class Rectangle--> + <!--Class FOPTE--> <UML:Class xmi.id="FOPTE" name="FOPTE"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -27444,8 +29426,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FOPTE--> -<!--Class FDGG--> + <!--Class FOPTE--> + <!--Class FDGG--> <UML:Class xmi.id="FDGG" name="FDGG"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -27699,8 +29681,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FDGG--> -<!--Class FIDCL--> + <!--Class FDGG--> + <!--Class FIDCL--> <UML:Class xmi.id="FIDCL" name="FIDCL"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -27838,8 +29820,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FIDCL--> -<!--Class FBSE--> + <!--Class FIDCL--> + <!--Class FBSE--> <UML:Class xmi.id="FBSE" name="FBSE"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -28507,8 +30489,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FBSE--> -<!--Class FRD--> + <!--Class FBSE--> + <!--Class FRD--> <UML:Class xmi.id="FRD" name="FRD"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -28588,8 +30570,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FRD--> -<!--Class ATRD--> + <!--Class FRD--> + <!--Class ATRD--> <UML:Class xmi.id="ATRD" name="ATRD"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -28614,7 +30596,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -28672,7 +30654,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x16</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -28730,7 +30712,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x16</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -28788,7 +30770,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>18</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x18</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -28848,7 +30830,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1A</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -28933,8 +30915,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class ATRD--> -<!--Class FTXBXS--> + <!--Class ATRD--> + <!--Class FTXBXS--> <UML:Class xmi.id="FTXBXS" name="FTXBXS"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -28960,7 +30942,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -29019,7 +31001,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -29078,7 +31060,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -29136,7 +31118,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -29194,7 +31176,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xA</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -29253,7 +31235,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xE</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -29311,7 +31293,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>12</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x12</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -29366,8 +31348,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FTXBXS--> -<!--Class FDG--> + <!--Class FTXBXS--> + <!--Class FDG--> <UML:Class xmi.id="FDG" name="FDG"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -29497,10 +31479,207 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--Class FDG--> -<!--WW8 resources--> -<!--SPRMS--> -<!--SPRM sprmPContextualSpacing--> + <!--Class FDG--> + <!--Class Tplc--> + <UML:Class xmi.id="Tplc" name="Tplc"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="size"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:Classifier.feature> + <UML:Attribute name="fBuildIn"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x8000</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fBuildIn</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="ilgbdM1"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x7fff</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:ilgbdM1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="lid"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:lid</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="Tplc-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="Tplc"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class Tplc--> + <!--WW8 resources--> + <!--SPRMS--> + <!--SPRM sprmPContextualSpacing--> <UML:Class xmi.id="sprmPContextualSpacing" name="sprmPContextualSpacing"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29530,8 +31709,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPContextualSpacing--> -<!--SPRM sprmPIstdPermute--> + <!--SPRM sprmPContextualSpacing--> + <!--SPRM sprmPIstdPermute--> <UML:Class xmi.id="sprmPIstdPermute" name="sprmPIstdPermute"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29561,8 +31740,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPIstdPermute--> -<!--SPRM sprmPTabProps--> + <!--SPRM sprmPIstdPermute--> + <!--SPRM sprmPTabProps--> <UML:Class xmi.id="sprmPTabProps" name="sprmPTabProps"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29592,8 +31771,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPTabProps--> -<!--SPRM sprmTFCantSplit90--> + <!--SPRM sprmPTabProps--> + <!--SPRM sprmTFCantSplit90--> <UML:Class xmi.id="sprmTFCantSplit90" name="sprmTFCantSplit90"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29623,8 +31802,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTFCantSplit90--> -<!--SPRM sprmTCantSplit--> + <!--SPRM sprmTFCantSplit90--> + <!--SPRM sprmTCantSplit--> <UML:Class xmi.id="sprmTCantSplit" name="sprmTCantSplit"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29654,8 +31833,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTCantSplit--> -<!--SPRM sprmPIncLvl--> + <!--SPRM sprmTCantSplit--> + <!--SPRM sprmPIncLvl--> <UML:Class xmi.id="sprmPIncLvl" name="sprmPIncLvl"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29685,8 +31864,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPIncLvl--> -<!--SPRM sprmPJcExtra--> + <!--SPRM sprmPIncLvl--> + <!--SPRM sprmPJcExtra--> <UML:Class xmi.id="sprmPJcExtra" name="sprmPJcExtra"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29716,8 +31895,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPJcExtra--> -<!--SPRM sprmPJc--> + <!--SPRM sprmPJcExtra--> + <!--SPRM sprmPJc--> <UML:Class xmi.id="sprmPJc" name="sprmPJc"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29747,8 +31926,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPJc--> -<!--SPRM sprmPFSideBySide--> + <!--SPRM sprmPJc--> + <!--SPRM sprmPFSideBySide--> <UML:Class xmi.id="sprmPFSideBySide" name="sprmPFSideBySide"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29778,8 +31957,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFSideBySide--> -<!--SPRM sprmPFKeep--> + <!--SPRM sprmPFSideBySide--> + <!--SPRM sprmPFKeep--> <UML:Class xmi.id="sprmPFKeep" name="sprmPFKeep"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29809,8 +31988,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFKeep--> -<!--SPRM sprmPFKeepFollow--> + <!--SPRM sprmPFKeep--> + <!--SPRM sprmPFKeepFollow--> <UML:Class xmi.id="sprmPFKeepFollow" name="sprmPFKeepFollow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29840,8 +32019,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFKeepFollow--> -<!--SPRM sprmPFPageBreakBefore--> + <!--SPRM sprmPFKeepFollow--> + <!--SPRM sprmPFPageBreakBefore--> <UML:Class xmi.id="sprmPFPageBreakBefore" name="sprmPFPageBreakBefore"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29871,8 +32050,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFPageBreakBefore--> -<!--SPRM sprmPBrcl--> + <!--SPRM sprmPFPageBreakBefore--> + <!--SPRM sprmPBrcl--> <UML:Class xmi.id="sprmPBrcl" name="sprmPBrcl"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29902,8 +32081,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPBrcl--> -<!--SPRM sprmPBrcp--> + <!--SPRM sprmPBrcl--> + <!--SPRM sprmPBrcp--> <UML:Class xmi.id="sprmPBrcp" name="sprmPBrcp"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29933,8 +32112,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPBrcp--> -<!--SPRM sprmPIlvl--> + <!--SPRM sprmPBrcp--> + <!--SPRM sprmPIlvl--> <UML:Class xmi.id="sprmPIlvl" name="sprmPIlvl"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29964,8 +32143,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPIlvl--> -<!--SPRM sprmPIlfo--> + <!--SPRM sprmPIlvl--> + <!--SPRM sprmPIlfo--> <UML:Class xmi.id="sprmPIlfo" name="sprmPIlfo"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -29995,8 +32174,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPIlfo--> -<!--SPRM sprmPFNoLineNumb--> + <!--SPRM sprmPIlfo--> + <!--SPRM sprmPFNoLineNumb--> <UML:Class xmi.id="sprmPFNoLineNumb" name="sprmPFNoLineNumb"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30026,8 +32205,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFNoLineNumb--> -<!--SPRM sprmPChgTabsPapx--> + <!--SPRM sprmPFNoLineNumb--> + <!--SPRM sprmPChgTabsPapx--> <UML:Class xmi.id="sprmPChgTabsPapx" name="sprmPChgTabsPapx"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30154,8 +32333,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPChgTabsPapx--> -<!--SPRM sprmPDxaRight--> + <!--SPRM sprmPChgTabsPapx--> + <!--SPRM sprmPDxaRight--> <UML:Class xmi.id="sprmPDxaRight" name="sprmPDxaRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30185,8 +32364,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDxaRight--> -<!--SPRM sprmPDxaLeft--> + <!--SPRM sprmPDxaRight--> + <!--SPRM sprmPDxaLeft--> <UML:Class xmi.id="sprmPDxaLeft" name="sprmPDxaLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30216,8 +32395,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDxaLeft--> -<!--SPRM sprmPNest--> + <!--SPRM sprmPDxaLeft--> + <!--SPRM sprmPNest--> <UML:Class xmi.id="sprmPNest" name="sprmPNest"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30247,9 +32426,9 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPNest--> -<!--SPRM sprmPDxaLeft1--> - <UML:Class xmi.id="sprmPDxaLeft1" name="sprmPDxaLeft1"> + <!--SPRM sprmPNest--> + <!--SPRM sprmPDxaLeft180--> + <UML:Class xmi.id="sprmPDxaLeft180" name="sprmPDxaLeft180"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> </UML:ModelElement.stereotype> @@ -30278,8 +32457,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDxaLeft1--> -<!--SPRM sprmPDyaLine--> + <!--SPRM sprmPDxaLeft180--> + <!--SPRM sprmPDyaLine--> <UML:Class xmi.id="sprmPDyaLine" name="sprmPDyaLine"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30309,8 +32488,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDyaLine--> -<!--SPRM sprmPDyaBefore--> + <!--SPRM sprmPDyaLine--> + <!--SPRM sprmPDyaBefore--> <UML:Class xmi.id="sprmPDyaBefore" name="sprmPDyaBefore"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30340,8 +32519,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDyaBefore--> -<!--SPRM sprmPDyaAfter--> + <!--SPRM sprmPDyaBefore--> + <!--SPRM sprmPDyaAfter--> <UML:Class xmi.id="sprmPDyaAfter" name="sprmPDyaAfter"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30371,8 +32550,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDyaAfter--> -<!--SPRM sprmPChgTabs--> + <!--SPRM sprmPDyaAfter--> + <!--SPRM sprmPChgTabs--> <UML:Class xmi.id="sprmPChgTabs" name="sprmPChgTabs"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30402,8 +32581,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPChgTabs--> -<!--SPRM sprmPFInTable--> + <!--SPRM sprmPChgTabs--> + <!--SPRM sprmPFInTable--> <UML:Class xmi.id="sprmPFInTable" name="sprmPFInTable"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30433,8 +32612,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFInTable--> -<!--SPRM sprmPCell--> + <!--SPRM sprmPFInTable--> + <!--SPRM sprmPCell--> <UML:Class xmi.id="sprmPCell" name="sprmPCell"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30464,8 +32643,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPCell--> -<!--SPRM sprmPRow--> + <!--SPRM sprmPCell--> + <!--SPRM sprmPRow--> <UML:Class xmi.id="sprmPRow" name="sprmPRow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30495,8 +32674,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPRow--> -<!--SPRM sprmPFTtp--> + <!--SPRM sprmPRow--> + <!--SPRM sprmPFTtp--> <UML:Class xmi.id="sprmPFTtp" name="sprmPFTtp"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30526,8 +32705,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFTtp--> -<!--SPRM sprmPDxaAbs--> + <!--SPRM sprmPFTtp--> + <!--SPRM sprmPDxaAbs--> <UML:Class xmi.id="sprmPDxaAbs" name="sprmPDxaAbs"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30557,8 +32736,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDxaAbs--> -<!--SPRM sprmPDyaAbs--> + <!--SPRM sprmPDxaAbs--> + <!--SPRM sprmPDyaAbs--> <UML:Class xmi.id="sprmPDyaAbs" name="sprmPDyaAbs"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30588,8 +32767,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDyaAbs--> -<!--SPRM sprmPDxaWidth--> + <!--SPRM sprmPDyaAbs--> + <!--SPRM sprmPDxaWidth--> <UML:Class xmi.id="sprmPDxaWidth" name="sprmPDxaWidth"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30619,8 +32798,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDxaWidth--> -<!--SPRM sprmPPc--> + <!--SPRM sprmPDxaWidth--> + <!--SPRM sprmPPc--> <UML:Class xmi.id="sprmPPc" name="sprmPPc"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30650,8 +32829,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPPc--> -<!--SPRM sprmPBrcTop10--> + <!--SPRM sprmPPc--> + <!--SPRM sprmPBrcTop10--> <UML:Class xmi.id="sprmPBrcTop10" name="sprmPBrcTop10"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30681,8 +32860,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPBrcTop10--> -<!--SPRM sprmPBrcLeft10--> + <!--SPRM sprmPBrcTop10--> + <!--SPRM sprmPBrcLeft10--> <UML:Class xmi.id="sprmPBrcLeft10" name="sprmPBrcLeft10"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30712,8 +32891,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPBrcLeft10--> -<!--SPRM sprmPBrcBottom10--> + <!--SPRM sprmPBrcLeft10--> + <!--SPRM sprmPBrcBottom10--> <UML:Class xmi.id="sprmPBrcBottom10" name="sprmPBrcBottom10"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30743,8 +32922,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPBrcBottom10--> -<!--SPRM sprmPBrcRight10--> + <!--SPRM sprmPBrcBottom10--> + <!--SPRM sprmPBrcRight10--> <UML:Class xmi.id="sprmPBrcRight10" name="sprmPBrcRight10"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30774,8 +32953,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPBrcRight10--> -<!--SPRM sprmPBrcBetween10--> + <!--SPRM sprmPBrcRight10--> + <!--SPRM sprmPBrcBetween10--> <UML:Class xmi.id="sprmPBrcBetween10" name="sprmPBrcBetween10"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30805,8 +32984,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPBrcBetween10--> -<!--SPRM sprmPBrcBar10--> + <!--SPRM sprmPBrcBetween10--> + <!--SPRM sprmPBrcBar10--> <UML:Class xmi.id="sprmPBrcBar10" name="sprmPBrcBar10"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30836,8 +33015,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPBrcBar10--> -<!--SPRM sprmPDxaFromText10--> + <!--SPRM sprmPBrcBar10--> + <!--SPRM sprmPDxaFromText10--> <UML:Class xmi.id="sprmPDxaFromText10" name="sprmPDxaFromText10"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30867,8 +33046,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDxaFromText10--> -<!--SPRM sprmPWr--> + <!--SPRM sprmPDxaFromText10--> + <!--SPRM sprmPWr--> <UML:Class xmi.id="sprmPWr" name="sprmPWr"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30898,8 +33077,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPWr--> -<!--SPRM sprmPBrcBar--> + <!--SPRM sprmPWr--> + <!--SPRM sprmPBrcBar--> <UML:Class xmi.id="sprmPBrcBar" name="sprmPBrcBar"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30937,8 +33116,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBrcBar--> -<!--SPRM sprmPFNoAutoHyph--> + <!--SPRM sprmPBrcBar--> + <!--SPRM sprmPFNoAutoHyph--> <UML:Class xmi.id="sprmPFNoAutoHyph" name="sprmPFNoAutoHyph"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30968,8 +33147,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFNoAutoHyph--> -<!--SPRM sprmPWHeightAbs--> + <!--SPRM sprmPFNoAutoHyph--> + <!--SPRM sprmPWHeightAbs--> <UML:Class xmi.id="sprmPWHeightAbs" name="sprmPWHeightAbs"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -30999,8 +33178,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPWHeightAbs--> -<!--SPRM sprmPDcs--> + <!--SPRM sprmPWHeightAbs--> + <!--SPRM sprmPDcs--> <UML:Class xmi.id="sprmPDcs" name="sprmPDcs"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31030,8 +33209,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDcs--> -<!--SPRM sprmPShd--> + <!--SPRM sprmPDcs--> + <!--SPRM sprmPShd--> <UML:Class xmi.id="sprmPShd" name="sprmPShd"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31061,8 +33240,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPShd--> -<!--SPRM sprmPDyaFromText--> + <!--SPRM sprmPShd--> + <!--SPRM sprmPDyaFromText--> <UML:Class xmi.id="sprmPDyaFromText" name="sprmPDyaFromText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31092,8 +33271,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDyaFromText--> -<!--SPRM sprmPDxaFromText--> + <!--SPRM sprmPDyaFromText--> + <!--SPRM sprmPDxaFromText--> <UML:Class xmi.id="sprmPDxaFromText" name="sprmPDxaFromText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31123,8 +33302,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPDxaFromText--> -<!--SPRM sprmPFLocked--> + <!--SPRM sprmPDxaFromText--> + <!--SPRM sprmPFLocked--> <UML:Class xmi.id="sprmPFLocked" name="sprmPFLocked"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31154,8 +33333,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFLocked--> -<!--SPRM sprmPFWidowControl--> + <!--SPRM sprmPFLocked--> + <!--SPRM sprmPFWidowControl--> <UML:Class xmi.id="sprmPFWidowControl" name="sprmPFWidowControl"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31185,8 +33364,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFWidowControl--> -<!--SPRM sprmPRuler--> + <!--SPRM sprmPFWidowControl--> + <!--SPRM sprmPRuler--> <UML:Class xmi.id="sprmPRuler" name="sprmPRuler"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31216,8 +33395,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPRuler--> -<!--SPRM sprmPFKinsoku--> + <!--SPRM sprmPRuler--> + <!--SPRM sprmPFKinsoku--> <UML:Class xmi.id="sprmPFKinsoku" name="sprmPFKinsoku"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31247,8 +33426,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFKinsoku--> -<!--SPRM sprmPFWordWrap--> + <!--SPRM sprmPFKinsoku--> + <!--SPRM sprmPFWordWrap--> <UML:Class xmi.id="sprmPFWordWrap" name="sprmPFWordWrap"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31278,8 +33457,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFWordWrap--> -<!--SPRM sprmPFOverflowPunct--> + <!--SPRM sprmPFWordWrap--> + <!--SPRM sprmPFOverflowPunct--> <UML:Class xmi.id="sprmPFOverflowPunct" name="sprmPFOverflowPunct"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31309,8 +33488,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFOverflowPunct--> -<!--SPRM sprmPFTopLinePunct--> + <!--SPRM sprmPFOverflowPunct--> + <!--SPRM sprmPFTopLinePunct--> <UML:Class xmi.id="sprmPFTopLinePunct" name="sprmPFTopLinePunct"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31340,8 +33519,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFTopLinePunct--> -<!--SPRM sprmPFAutoSpaceDE--> + <!--SPRM sprmPFTopLinePunct--> + <!--SPRM sprmPFAutoSpaceDE--> <UML:Class xmi.id="sprmPFAutoSpaceDE" name="sprmPFAutoSpaceDE"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31371,8 +33550,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFAutoSpaceDE--> -<!--SPRM sprmPFAutoSpaceDN--> + <!--SPRM sprmPFAutoSpaceDE--> + <!--SPRM sprmPFAutoSpaceDN--> <UML:Class xmi.id="sprmPFAutoSpaceDN" name="sprmPFAutoSpaceDN"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31402,8 +33581,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFAutoSpaceDN--> -<!--SPRM sprmPWAlignFont--> + <!--SPRM sprmPFAutoSpaceDN--> + <!--SPRM sprmPWAlignFont--> <UML:Class xmi.id="sprmPWAlignFont" name="sprmPWAlignFont"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31433,8 +33612,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPWAlignFont--> -<!--SPRM sprmPFrameTextFlow--> + <!--SPRM sprmPWAlignFont--> + <!--SPRM sprmPFrameTextFlow--> <UML:Class xmi.id="sprmPFrameTextFlow" name="sprmPFrameTextFlow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31464,8 +33643,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFrameTextFlow--> -<!--SPRM sprmPISnapBaseLine--> + <!--SPRM sprmPFrameTextFlow--> + <!--SPRM sprmPISnapBaseLine--> <UML:Class xmi.id="sprmPISnapBaseLine" name="sprmPISnapBaseLine"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31495,8 +33674,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPISnapBaseLine--> -<!--SPRM sprmPAnld--> + <!--SPRM sprmPISnapBaseLine--> + <!--SPRM sprmPAnld--> <UML:Class xmi.id="sprmPAnld" name="sprmPAnld"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31526,8 +33705,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPAnld--> -<!--SPRM sprmPPropRMark--> + <!--SPRM sprmPAnld--> + <!--SPRM sprmPPropRMark--> <UML:Class xmi.id="sprmPPropRMark" name="sprmPPropRMark"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31557,8 +33736,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPPropRMark--> -<!--SPRM sprmPOutLvl--> + <!--SPRM sprmPPropRMark--> + <!--SPRM sprmPOutLvl--> <UML:Class xmi.id="sprmPOutLvl" name="sprmPOutLvl"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31588,8 +33767,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPOutLvl--> -<!--SPRM sprmPFBiDi--> + <!--SPRM sprmPOutLvl--> + <!--SPRM sprmPFBiDi--> <UML:Class xmi.id="sprmPFBiDi" name="sprmPFBiDi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31619,8 +33798,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFBiDi--> -<!--SPRM sprmPFNumRMIns--> + <!--SPRM sprmPFBiDi--> + <!--SPRM sprmPFNumRMIns--> <UML:Class xmi.id="sprmPFNumRMIns" name="sprmPFNumRMIns"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31650,8 +33829,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFNumRMIns--> -<!--SPRM sprmPCrLf--> + <!--SPRM sprmPFNumRMIns--> + <!--SPRM sprmPCrLf--> <UML:Class xmi.id="sprmPCrLf" name="sprmPCrLf"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31681,8 +33860,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPCrLf--> -<!--SPRM sprmPNumRM--> + <!--SPRM sprmPCrLf--> + <!--SPRM sprmPNumRM--> <UML:Class xmi.id="sprmPNumRM" name="sprmPNumRM"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31712,8 +33891,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPNumRM--> -<!--SPRM sprmPHugePapx--> + <!--SPRM sprmPNumRM--> + <!--SPRM sprmPHugePapx--> <UML:Class xmi.id="sprmPHugePapx" name="sprmPHugePapx"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31743,8 +33922,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPHugePapx--> -<!--SPRM sprmPFUsePgsuSettings--> + <!--SPRM sprmPHugePapx--> + <!--SPRM sprmPFUsePgsuSettings--> <UML:Class xmi.id="sprmPFUsePgsuSettings" name="sprmPFUsePgsuSettings"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31774,8 +33953,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFUsePgsuSettings--> -<!--SPRM sprmPFAdjustRight--> + <!--SPRM sprmPFUsePgsuSettings--> + <!--SPRM sprmPFAdjustRight--> <UML:Class xmi.id="sprmPFAdjustRight" name="sprmPFAdjustRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31805,8 +33984,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPFAdjustRight--> -<!--SPRM sprmCFRMarkDel--> + <!--SPRM sprmPFAdjustRight--> + <!--SPRM sprmCFRMarkDel--> <UML:Class xmi.id="sprmCFRMarkDel" name="sprmCFRMarkDel"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31836,8 +34015,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFRMarkDel--> -<!--SPRM sprmCFRMark--> + <!--SPRM sprmCFRMarkDel--> + <!--SPRM sprmCFRMark--> <UML:Class xmi.id="sprmCFRMark" name="sprmCFRMark"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31867,8 +34046,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFRMark--> -<!--SPRM sprmCFFldVanish--> + <!--SPRM sprmCFRMark--> + <!--SPRM sprmCFFldVanish--> <UML:Class xmi.id="sprmCFFldVanish" name="sprmCFFldVanish"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31898,8 +34077,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFFldVanish--> -<!--SPRM sprmCPicLocation--> + <!--SPRM sprmCFFldVanish--> + <!--SPRM sprmCPicLocation--> <UML:Class xmi.id="sprmCPicLocation" name="sprmCPicLocation"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -31998,8 +34177,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmCPicLocation--> -<!--SPRM sprmCIbstRMark--> + <!--SPRM sprmCPicLocation--> + <!--SPRM sprmCIbstRMark--> <UML:Class xmi.id="sprmCIbstRMark" name="sprmCIbstRMark"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32029,8 +34208,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIbstRMark--> -<!--SPRM sprmCDttmRMark--> + <!--SPRM sprmCIbstRMark--> + <!--SPRM sprmCDttmRMark--> <UML:Class xmi.id="sprmCDttmRMark" name="sprmCDttmRMark"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32060,8 +34239,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCDttmRMark--> -<!--SPRM sprmCFData--> + <!--SPRM sprmCDttmRMark--> + <!--SPRM sprmCFData--> <UML:Class xmi.id="sprmCFData" name="sprmCFData"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32091,8 +34270,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFData--> -<!--SPRM sprmCIdslRMark--> + <!--SPRM sprmCFData--> + <!--SPRM sprmCIdslRMark--> <UML:Class xmi.id="sprmCIdslRMark" name="sprmCIdslRMark"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32122,8 +34301,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIdslRMark--> -<!--SPRM sprmCChs--> + <!--SPRM sprmCIdslRMark--> + <!--SPRM sprmCChs--> <UML:Class xmi.id="sprmCChs" name="sprmCChs"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32153,8 +34332,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCChs--> -<!--SPRM sprmCSymbol--> + <!--SPRM sprmCChs--> + <!--SPRM sprmCSymbol--> <UML:Class xmi.id="sprmCSymbol" name="sprmCSymbol"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32311,8 +34490,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmCSymbol--> -<!--SPRM sprmCFOle2--> + <!--SPRM sprmCSymbol--> + <!--SPRM sprmCFOle2--> <UML:Class xmi.id="sprmCFOle2" name="sprmCFOle2"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32342,8 +34521,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFOle2--> -<!--SPRM sprmCIdCharType--> + <!--SPRM sprmCFOle2--> + <!--SPRM sprmCIdCharType--> <UML:Class xmi.id="sprmCIdCharType" name="sprmCIdCharType"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32373,8 +34552,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIdCharType--> -<!--SPRM sprmCHighlight--> + <!--SPRM sprmCIdCharType--> + <!--SPRM sprmCHighlight--> <UML:Class xmi.id="sprmCHighlight" name="sprmCHighlight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32404,8 +34583,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHighlight--> -<!--SPRM sprmCObjLocation--> + <!--SPRM sprmCHighlight--> + <!--SPRM sprmCObjLocation--> <UML:Class xmi.id="sprmCObjLocation" name="sprmCObjLocation"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32435,8 +34614,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCObjLocation--> -<!--SPRM sprmCFFtcAsciSymb--> + <!--SPRM sprmCObjLocation--> + <!--SPRM sprmCFFtcAsciSymb--> <UML:Class xmi.id="sprmCFFtcAsciSymb" name="sprmCFFtcAsciSymb"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32466,8 +34645,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFFtcAsciSymb--> -<!--SPRM sprmCIstd--> + <!--SPRM sprmCFFtcAsciSymb--> + <!--SPRM sprmCIstd--> <UML:Class xmi.id="sprmCIstd" name="sprmCIstd"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32497,8 +34676,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIstd--> -<!--SPRM sprmCIstdPermute--> + <!--SPRM sprmCIstd--> + <!--SPRM sprmCIstdPermute--> <UML:Class xmi.id="sprmCIstdPermute" name="sprmCIstdPermute"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32528,8 +34707,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIstdPermute--> -<!--SPRM sprmCDefault--> + <!--SPRM sprmCIstdPermute--> + <!--SPRM sprmCDefault--> <UML:Class xmi.id="sprmCDefault" name="sprmCDefault"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32559,8 +34738,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCDefault--> -<!--SPRM sprmCPlain--> + <!--SPRM sprmCDefault--> + <!--SPRM sprmCPlain--> <UML:Class xmi.id="sprmCPlain" name="sprmCPlain"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32590,8 +34769,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCPlain--> -<!--SPRM sprmCKcd--> + <!--SPRM sprmCPlain--> + <!--SPRM sprmCKcd--> <UML:Class xmi.id="sprmCKcd" name="sprmCKcd"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32621,8 +34800,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCKcd--> -<!--SPRM sprmCFBold--> + <!--SPRM sprmCKcd--> + <!--SPRM sprmCFBold--> <UML:Class xmi.id="sprmCFBold" name="sprmCFBold"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32652,8 +34831,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFBold--> -<!--SPRM sprmCFItalic--> + <!--SPRM sprmCFBold--> + <!--SPRM sprmCFItalic--> <UML:Class xmi.id="sprmCFItalic" name="sprmCFItalic"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32683,8 +34862,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFItalic--> -<!--SPRM sprmCFStrike--> + <!--SPRM sprmCFItalic--> + <!--SPRM sprmCFStrike--> <UML:Class xmi.id="sprmCFStrike" name="sprmCFStrike"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32714,8 +34893,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFStrike--> -<!--SPRM sprmCFOutline--> + <!--SPRM sprmCFStrike--> + <!--SPRM sprmCFOutline--> <UML:Class xmi.id="sprmCFOutline" name="sprmCFOutline"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32745,8 +34924,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFOutline--> -<!--SPRM sprmCFShadow--> + <!--SPRM sprmCFOutline--> + <!--SPRM sprmCFShadow--> <UML:Class xmi.id="sprmCFShadow" name="sprmCFShadow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32776,8 +34955,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFShadow--> -<!--SPRM sprmCFSmallCaps--> + <!--SPRM sprmCFShadow--> + <!--SPRM sprmCFSmallCaps--> <UML:Class xmi.id="sprmCFSmallCaps" name="sprmCFSmallCaps"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32807,8 +34986,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFSmallCaps--> -<!--SPRM sprmCFCaps--> + <!--SPRM sprmCFSmallCaps--> + <!--SPRM sprmCFCaps--> <UML:Class xmi.id="sprmCFCaps" name="sprmCFCaps"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32838,8 +35017,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFCaps--> -<!--SPRM sprmCFVanish--> + <!--SPRM sprmCFCaps--> + <!--SPRM sprmCFVanish--> <UML:Class xmi.id="sprmCFVanish" name="sprmCFVanish"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32869,8 +35048,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFVanish--> -<!--SPRM sprmCFtcDefault--> + <!--SPRM sprmCFVanish--> + <!--SPRM sprmCFtcDefault--> <UML:Class xmi.id="sprmCFtcDefault" name="sprmCFtcDefault"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32900,8 +35079,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFtcDefault--> -<!--SPRM sprmCKul--> + <!--SPRM sprmCFtcDefault--> + <!--SPRM sprmCKul--> <UML:Class xmi.id="sprmCKul" name="sprmCKul"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32931,8 +35110,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCKul--> -<!--SPRM sprmCSizePos--> + <!--SPRM sprmCKul--> + <!--SPRM sprmCSizePos--> <UML:Class xmi.id="sprmCSizePos" name="sprmCSizePos"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32962,8 +35141,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCSizePos--> -<!--SPRM sprmCDxaSpace--> + <!--SPRM sprmCSizePos--> + <!--SPRM sprmCDxaSpace--> <UML:Class xmi.id="sprmCDxaSpace" name="sprmCDxaSpace"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -32993,8 +35172,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCDxaSpace--> -<!--SPRM sprmCLid--> + <!--SPRM sprmCDxaSpace--> + <!--SPRM sprmCLid--> <UML:Class xmi.id="sprmCLid" name="sprmCLid"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33024,8 +35203,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCLid--> -<!--SPRM sprmCIco--> + <!--SPRM sprmCLid--> + <!--SPRM sprmCIco--> <UML:Class xmi.id="sprmCIco" name="sprmCIco"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33055,8 +35234,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIco--> -<!--SPRM sprmCHps--> + <!--SPRM sprmCIco--> + <!--SPRM sprmCHps--> <UML:Class xmi.id="sprmCHps" name="sprmCHps"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33086,8 +35265,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHps--> -<!--SPRM sprmCHpsInc--> + <!--SPRM sprmCHps--> + <!--SPRM sprmCHpsInc--> <UML:Class xmi.id="sprmCHpsInc" name="sprmCHpsInc"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33117,8 +35296,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHpsInc--> -<!--SPRM sprmCHpsPos--> + <!--SPRM sprmCHpsInc--> + <!--SPRM sprmCHpsPos--> <UML:Class xmi.id="sprmCHpsPos" name="sprmCHpsPos"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33148,8 +35327,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHpsPos--> -<!--SPRM sprmCHpsPosAdj--> + <!--SPRM sprmCHpsPos--> + <!--SPRM sprmCHpsPosAdj--> <UML:Class xmi.id="sprmCHpsPosAdj" name="sprmCHpsPosAdj"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33179,8 +35358,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHpsPosAdj--> -<!--SPRM sprmCMajority--> + <!--SPRM sprmCHpsPosAdj--> + <!--SPRM sprmCMajority--> <UML:Class xmi.id="sprmCMajority" name="sprmCMajority"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33210,8 +35389,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCMajority--> -<!--SPRM sprmCIss--> + <!--SPRM sprmCMajority--> + <!--SPRM sprmCIss--> <UML:Class xmi.id="sprmCIss" name="sprmCIss"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33241,8 +35420,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIss--> -<!--SPRM sprmCHpsNew50--> + <!--SPRM sprmCIss--> + <!--SPRM sprmCHpsNew50--> <UML:Class xmi.id="sprmCHpsNew50" name="sprmCHpsNew50"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33272,8 +35451,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHpsNew50--> -<!--SPRM sprmCHpsInc1--> + <!--SPRM sprmCHpsNew50--> + <!--SPRM sprmCHpsInc1--> <UML:Class xmi.id="sprmCHpsInc1" name="sprmCHpsInc1"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33303,8 +35482,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHpsInc1--> -<!--SPRM sprmCHpsKern--> + <!--SPRM sprmCHpsInc1--> + <!--SPRM sprmCHpsKern--> <UML:Class xmi.id="sprmCHpsKern" name="sprmCHpsKern"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33334,8 +35513,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHpsKern--> -<!--SPRM sprmCMajority50--> + <!--SPRM sprmCHpsKern--> + <!--SPRM sprmCMajority50--> <UML:Class xmi.id="sprmCMajority50" name="sprmCMajority50"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33365,8 +35544,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCMajority50--> -<!--SPRM sprmCHpsMul--> + <!--SPRM sprmCMajority50--> + <!--SPRM sprmCHpsMul--> <UML:Class xmi.id="sprmCHpsMul" name="sprmCHpsMul"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33396,8 +35575,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHpsMul--> -<!--SPRM sprmCYsri--> + <!--SPRM sprmCHpsMul--> + <!--SPRM sprmCYsri--> <UML:Class xmi.id="sprmCYsri" name="sprmCYsri"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33427,8 +35606,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCYsri--> -<!--SPRM sprmCRgFtc0--> + <!--SPRM sprmCYsri--> + <!--SPRM sprmCRgFtc0--> <UML:Class xmi.id="sprmCRgFtc0" name="sprmCRgFtc0"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33458,8 +35637,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCRgFtc0--> -<!--SPRM sprmCRgFtc1--> + <!--SPRM sprmCRgFtc0--> + <!--SPRM sprmCRgFtc1--> <UML:Class xmi.id="sprmCRgFtc1" name="sprmCRgFtc1"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33489,8 +35668,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCRgFtc1--> -<!--SPRM sprmCRgFtc2--> + <!--SPRM sprmCRgFtc1--> + <!--SPRM sprmCRgFtc2--> <UML:Class xmi.id="sprmCRgFtc2" name="sprmCRgFtc2"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33520,8 +35699,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCRgFtc2--> -<!--SPRM sprmCCharScale--> + <!--SPRM sprmCRgFtc2--> + <!--SPRM sprmCCharScale--> <UML:Class xmi.id="sprmCCharScale" name="sprmCCharScale"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33551,8 +35730,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCCharScale--> -<!--SPRM sprmCFDStrike--> + <!--SPRM sprmCCharScale--> + <!--SPRM sprmCFDStrike--> <UML:Class xmi.id="sprmCFDStrike" name="sprmCFDStrike"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33582,8 +35761,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFDStrike--> -<!--SPRM sprmCFImprint--> + <!--SPRM sprmCFDStrike--> + <!--SPRM sprmCFImprint--> <UML:Class xmi.id="sprmCFImprint" name="sprmCFImprint"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33613,8 +35792,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFImprint--> -<!--SPRM sprmCFNoProof--> + <!--SPRM sprmCFImprint--> + <!--SPRM sprmCFNoProof--> <UML:Class xmi.id="sprmCFNoProof" name="sprmCFNoProof"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33644,8 +35823,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFNoProof--> -<!--SPRM sprmCFspecVanish--> + <!--SPRM sprmCFNoProof--> + <!--SPRM sprmCFspecVanish--> <UML:Class xmi.id="sprmCFspecVanish" name="sprmCFspecVanish"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33675,8 +35854,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFspecVanish--> -<!--SPRM sprmCFitText--> + <!--SPRM sprmCFspecVanish--> + <!--SPRM sprmCFitText--> <UML:Class xmi.id="sprmCFitText" name="sprmCFitText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33706,8 +35885,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFitText--> -<!--SPRM sprmCComplexScript--> + <!--SPRM sprmCFitText--> + <!--SPRM sprmCComplexScript--> <UML:Class xmi.id="sprmCComplexScript" name="sprmCComplexScript"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33737,8 +35916,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCComplexScript--> -<!--SPRM sprmPTightWrap--> + <!--SPRM sprmCComplexScript--> + <!--SPRM sprmPTightWrap--> <UML:Class xmi.id="sprmPTightWrap" name="sprmPTightWrap"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33768,8 +35947,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPTightWrap--> -<!--SPRM sprmCFSpec--> + <!--SPRM sprmPTightWrap--> + <!--SPRM sprmCFSpec--> <UML:Class xmi.id="sprmCFSpec" name="sprmCFSpec"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33799,8 +35978,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFSpec--> -<!--SPRM sprmCFObj--> + <!--SPRM sprmCFSpec--> + <!--SPRM sprmCFObj--> <UML:Class xmi.id="sprmCFObj" name="sprmCFObj"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33830,8 +36009,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFObj--> -<!--SPRM sprmCPropRMark--> + <!--SPRM sprmCFObj--> + <!--SPRM sprmCPropRMark--> <UML:Class xmi.id="sprmCPropRMark" name="sprmCPropRMark"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33861,8 +36040,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCPropRMark--> -<!--SPRM sprmCFEmboss--> + <!--SPRM sprmCPropRMark--> + <!--SPRM sprmCFEmboss--> <UML:Class xmi.id="sprmCFEmboss" name="sprmCFEmboss"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33892,8 +36071,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFEmboss--> -<!--SPRM sprmCSfxText--> + <!--SPRM sprmCFEmboss--> + <!--SPRM sprmCSfxText--> <UML:Class xmi.id="sprmCSfxText" name="sprmCSfxText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33923,8 +36102,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCSfxText--> -<!--SPRM sprmCFBiDi--> + <!--SPRM sprmCSfxText--> + <!--SPRM sprmCFBiDi--> <UML:Class xmi.id="sprmCFBiDi" name="sprmCFBiDi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33954,8 +36133,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFBiDi--> -<!--SPRM sprmCFDiacColor--> + <!--SPRM sprmCFBiDi--> + <!--SPRM sprmCFDiacColor--> <UML:Class xmi.id="sprmCFDiacColor" name="sprmCFDiacColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -33985,8 +36164,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFDiacColor--> -<!--SPRM sprmCFBoldBi--> + <!--SPRM sprmCFDiacColor--> + <!--SPRM sprmCFBoldBi--> <UML:Class xmi.id="sprmCFBoldBi" name="sprmCFBoldBi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34016,8 +36195,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFBoldBi--> -<!--SPRM sprmCFItalicBi--> + <!--SPRM sprmCFBoldBi--> + <!--SPRM sprmCFItalicBi--> <UML:Class xmi.id="sprmCFItalicBi" name="sprmCFItalicBi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34047,8 +36226,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFItalicBi--> -<!--SPRM sprmCFtcBi--> + <!--SPRM sprmCFItalicBi--> + <!--SPRM sprmCFtcBi--> <UML:Class xmi.id="sprmCFtcBi" name="sprmCFtcBi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34078,8 +36257,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFtcBi--> -<!--SPRM sprmCLidBi--> + <!--SPRM sprmCFtcBi--> + <!--SPRM sprmCLidBi--> <UML:Class xmi.id="sprmCLidBi" name="sprmCLidBi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34109,8 +36288,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCLidBi--> -<!--SPRM sprmCIcoBi--> + <!--SPRM sprmCLidBi--> + <!--SPRM sprmCIcoBi--> <UML:Class xmi.id="sprmCIcoBi" name="sprmCIcoBi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34140,8 +36319,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIcoBi--> -<!--SPRM sprmCHpsBi--> + <!--SPRM sprmCIcoBi--> + <!--SPRM sprmCHpsBi--> <UML:Class xmi.id="sprmCHpsBi" name="sprmCHpsBi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34171,8 +36350,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCHpsBi--> -<!--SPRM sprmCDispFldRMark--> + <!--SPRM sprmCHpsBi--> + <!--SPRM sprmCDispFldRMark--> <UML:Class xmi.id="sprmCDispFldRMark" name="sprmCDispFldRMark"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34202,8 +36381,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCDispFldRMark--> -<!--SPRM sprmCIbstRMarkDel--> + <!--SPRM sprmCDispFldRMark--> + <!--SPRM sprmCIbstRMarkDel--> <UML:Class xmi.id="sprmCIbstRMarkDel" name="sprmCIbstRMarkDel"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34233,8 +36412,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIbstRMarkDel--> -<!--SPRM sprmCDttmRMarkDel--> + <!--SPRM sprmCIbstRMarkDel--> + <!--SPRM sprmCDttmRMarkDel--> <UML:Class xmi.id="sprmCDttmRMarkDel" name="sprmCDttmRMarkDel"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34264,8 +36443,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCDttmRMarkDel--> -<!--SPRM sprmCBrc--> + <!--SPRM sprmCDttmRMarkDel--> + <!--SPRM sprmCBrc--> <UML:Class xmi.id="sprmCBrc" name="sprmCBrc"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34295,8 +36474,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCBrc--> -<!--SPRM sprmCShd--> + <!--SPRM sprmCBrc--> + <!--SPRM sprmCShd--> <UML:Class xmi.id="sprmCShd" name="sprmCShd"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34326,8 +36505,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCShd--> -<!--SPRM sprmCIdslRMarkDel--> + <!--SPRM sprmCShd--> + <!--SPRM sprmCIdslRMarkDel--> <UML:Class xmi.id="sprmCIdslRMarkDel" name="sprmCIdslRMarkDel"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34357,8 +36536,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIdslRMarkDel--> -<!--SPRM sprmCFUsePgsuSettings--> + <!--SPRM sprmCIdslRMarkDel--> + <!--SPRM sprmCFUsePgsuSettings--> <UML:Class xmi.id="sprmCFUsePgsuSettings" name="sprmCFUsePgsuSettings"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34388,8 +36567,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCFUsePgsuSettings--> -<!--SPRM sprmCCpg--> + <!--SPRM sprmCFUsePgsuSettings--> + <!--SPRM sprmCCpg--> <UML:Class xmi.id="sprmCCpg" name="sprmCCpg"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34419,9 +36598,9 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCCpg--> -<!--SPRM sprmCRgLid0--> - <UML:Class xmi.id="sprmCRgLid0" name="sprmCRgLid0"> + <!--SPRM sprmCCpg--> + <!--SPRM sprmCRgLid0_80--> + <UML:Class xmi.id="sprmCRgLid0_80" name="sprmCRgLid0_80"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> </UML:ModelElement.stereotype> @@ -34435,7 +36614,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:sprmCRgLid0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:sprmCRgLid0_80</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="sprmid"/> </UML:TaggedValue.type> @@ -34450,8 +36629,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCRgLid0--> -<!--SPRM sprmCRgLid1--> + <!--SPRM sprmCRgLid0_80--> + <!--SPRM sprmCRgLid1--> <UML:Class xmi.id="sprmCRgLid1" name="sprmCRgLid1"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34481,8 +36660,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCRgLid1--> -<!--SPRM sprmCIdctHint--> + <!--SPRM sprmCRgLid1--> + <!--SPRM sprmCIdctHint--> <UML:Class xmi.id="sprmCIdctHint" name="sprmCIdctHint"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34512,8 +36691,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCIdctHint--> -<!--SPRM sprmPicBrcl--> + <!--SPRM sprmCIdctHint--> + <!--SPRM sprmPicBrcl--> <UML:Class xmi.id="sprmPicBrcl" name="sprmPicBrcl"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34543,8 +36722,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPicBrcl--> -<!--SPRM sprmPicScale--> + <!--SPRM sprmPicBrcl--> + <!--SPRM sprmPicScale--> <UML:Class xmi.id="sprmPicScale" name="sprmPicScale"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34574,8 +36753,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPicScale--> -<!--SPRM sprmPicBrcTop--> + <!--SPRM sprmPicScale--> + <!--SPRM sprmPicBrcTop--> <UML:Class xmi.id="sprmPicBrcTop" name="sprmPicBrcTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34605,8 +36784,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPicBrcTop--> -<!--SPRM sprmPicBrcLeft--> + <!--SPRM sprmPicBrcTop--> + <!--SPRM sprmPicBrcLeft--> <UML:Class xmi.id="sprmPicBrcLeft" name="sprmPicBrcLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34636,8 +36815,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPicBrcLeft--> -<!--SPRM sprmPicBrcBottom--> + <!--SPRM sprmPicBrcLeft--> + <!--SPRM sprmPicBrcBottom--> <UML:Class xmi.id="sprmPicBrcBottom" name="sprmPicBrcBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34667,8 +36846,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPicBrcBottom--> -<!--SPRM sprmPicBrcRight--> + <!--SPRM sprmPicBrcBottom--> + <!--SPRM sprmPicBrcRight--> <UML:Class xmi.id="sprmPicBrcRight" name="sprmPicBrcRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34698,8 +36877,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPicBrcRight--> -<!--SPRM sprmScnsPgn--> + <!--SPRM sprmPicBrcRight--> + <!--SPRM sprmScnsPgn--> <UML:Class xmi.id="sprmScnsPgn" name="sprmScnsPgn"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34729,8 +36908,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmScnsPgn--> -<!--SPRM sprmSiHeadingPgn--> + <!--SPRM sprmScnsPgn--> + <!--SPRM sprmSiHeadingPgn--> <UML:Class xmi.id="sprmSiHeadingPgn" name="sprmSiHeadingPgn"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34760,8 +36939,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSiHeadingPgn--> -<!--SPRM sprmSOlstAnm--> + <!--SPRM sprmSiHeadingPgn--> + <!--SPRM sprmSOlstAnm--> <UML:Class xmi.id="sprmSOlstAnm" name="sprmSOlstAnm"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34791,8 +36970,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSOlstAnm--> -<!--SPRM sprmSDxaColWidth--> + <!--SPRM sprmSOlstAnm--> + <!--SPRM sprmSDxaColWidth--> <UML:Class xmi.id="sprmSDxaColWidth" name="sprmSDxaColWidth"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34822,8 +37001,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDxaColWidth--> -<!--SPRM sprmSDxaColSpacing--> + <!--SPRM sprmSDxaColWidth--> + <!--SPRM sprmSDxaColSpacing--> <UML:Class xmi.id="sprmSDxaColSpacing" name="sprmSDxaColSpacing"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34853,8 +37032,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDxaColSpacing--> -<!--SPRM sprmSFEvenlySpaced--> + <!--SPRM sprmSDxaColSpacing--> + <!--SPRM sprmSFEvenlySpaced--> <UML:Class xmi.id="sprmSFEvenlySpaced" name="sprmSFEvenlySpaced"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34884,8 +37063,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSFEvenlySpaced--> -<!--SPRM sprmSFProtected--> + <!--SPRM sprmSFEvenlySpaced--> + <!--SPRM sprmSFProtected--> <UML:Class xmi.id="sprmSFProtected" name="sprmSFProtected"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34915,8 +37094,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSFProtected--> -<!--SPRM sprmSDmBinFirst--> + <!--SPRM sprmSFProtected--> + <!--SPRM sprmSDmBinFirst--> <UML:Class xmi.id="sprmSDmBinFirst" name="sprmSDmBinFirst"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34946,8 +37125,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDmBinFirst--> -<!--SPRM sprmSDmBinOther--> + <!--SPRM sprmSDmBinFirst--> + <!--SPRM sprmSDmBinOther--> <UML:Class xmi.id="sprmSDmBinOther" name="sprmSDmBinOther"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -34977,8 +37156,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDmBinOther--> -<!--SPRM sprmSBkc--> + <!--SPRM sprmSDmBinOther--> + <!--SPRM sprmSBkc--> <UML:Class xmi.id="sprmSBkc" name="sprmSBkc"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35008,8 +37187,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSBkc--> -<!--SPRM sprmSFTitlePage--> + <!--SPRM sprmSBkc--> + <!--SPRM sprmSFTitlePage--> <UML:Class xmi.id="sprmSFTitlePage" name="sprmSFTitlePage"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35039,8 +37218,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSFTitlePage--> -<!--SPRM sprmSCcolumns--> + <!--SPRM sprmSFTitlePage--> + <!--SPRM sprmSCcolumns--> <UML:Class xmi.id="sprmSCcolumns" name="sprmSCcolumns"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35070,8 +37249,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSCcolumns--> -<!--SPRM sprmSDxaColumns--> + <!--SPRM sprmSCcolumns--> + <!--SPRM sprmSDxaColumns--> <UML:Class xmi.id="sprmSDxaColumns" name="sprmSDxaColumns"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35101,8 +37280,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDxaColumns--> -<!--SPRM sprmSFAutoPgn--> + <!--SPRM sprmSDxaColumns--> + <!--SPRM sprmSFAutoPgn--> <UML:Class xmi.id="sprmSFAutoPgn" name="sprmSFAutoPgn"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35132,8 +37311,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSFAutoPgn--> -<!--SPRM sprmSNfcPgn--> + <!--SPRM sprmSFAutoPgn--> + <!--SPRM sprmSNfcPgn--> <UML:Class xmi.id="sprmSNfcPgn" name="sprmSNfcPgn"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35163,8 +37342,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSNfcPgn--> -<!--SPRM sprmSDyaPgn--> + <!--SPRM sprmSNfcPgn--> + <!--SPRM sprmSDyaPgn--> <UML:Class xmi.id="sprmSDyaPgn" name="sprmSDyaPgn"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35194,8 +37373,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDyaPgn--> -<!--SPRM sprmSDxaPgn--> + <!--SPRM sprmSDyaPgn--> + <!--SPRM sprmSDxaPgn--> <UML:Class xmi.id="sprmSDxaPgn" name="sprmSDxaPgn"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35225,8 +37404,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDxaPgn--> -<!--SPRM sprmSFPgnRestart--> + <!--SPRM sprmSDxaPgn--> + <!--SPRM sprmSFPgnRestart--> <UML:Class xmi.id="sprmSFPgnRestart" name="sprmSFPgnRestart"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35256,8 +37435,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSFPgnRestart--> -<!--SPRM sprmSFEndnote--> + <!--SPRM sprmSFPgnRestart--> + <!--SPRM sprmSFEndnote--> <UML:Class xmi.id="sprmSFEndnote" name="sprmSFEndnote"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35287,8 +37466,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSFEndnote--> -<!--SPRM sprmSLnc--> + <!--SPRM sprmSFEndnote--> + <!--SPRM sprmSLnc--> <UML:Class xmi.id="sprmSLnc" name="sprmSLnc"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35318,8 +37497,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSLnc--> -<!--SPRM sprmSGprfIhdt--> + <!--SPRM sprmSLnc--> + <!--SPRM sprmSGprfIhdt--> <UML:Class xmi.id="sprmSGprfIhdt" name="sprmSGprfIhdt"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35349,8 +37528,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSGprfIhdt--> -<!--SPRM sprmSNLnnMod--> + <!--SPRM sprmSGprfIhdt--> + <!--SPRM sprmSNLnnMod--> <UML:Class xmi.id="sprmSNLnnMod" name="sprmSNLnnMod"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35380,8 +37559,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSNLnnMod--> -<!--SPRM sprmSDxaLnn--> + <!--SPRM sprmSNLnnMod--> + <!--SPRM sprmSDxaLnn--> <UML:Class xmi.id="sprmSDxaLnn" name="sprmSDxaLnn"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35411,8 +37590,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDxaLnn--> -<!--SPRM sprmSDyaHdrTop--> + <!--SPRM sprmSDxaLnn--> + <!--SPRM sprmSDyaHdrTop--> <UML:Class xmi.id="sprmSDyaHdrTop" name="sprmSDyaHdrTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35442,8 +37621,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDyaHdrTop--> -<!--SPRM sprmSDyaHdrBottom--> + <!--SPRM sprmSDyaHdrTop--> + <!--SPRM sprmSDyaHdrBottom--> <UML:Class xmi.id="sprmSDyaHdrBottom" name="sprmSDyaHdrBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35473,8 +37652,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDyaHdrBottom--> -<!--SPRM sprmSLBetween--> + <!--SPRM sprmSDyaHdrBottom--> + <!--SPRM sprmSLBetween--> <UML:Class xmi.id="sprmSLBetween" name="sprmSLBetween"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35504,8 +37683,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSLBetween--> -<!--SPRM sprmSVjc--> + <!--SPRM sprmSLBetween--> + <!--SPRM sprmSVjc--> <UML:Class xmi.id="sprmSVjc" name="sprmSVjc"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35535,8 +37714,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSVjc--> -<!--SPRM sprmSLnnMin--> + <!--SPRM sprmSVjc--> + <!--SPRM sprmSLnnMin--> <UML:Class xmi.id="sprmSLnnMin" name="sprmSLnnMin"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35566,8 +37745,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSLnnMin--> -<!--SPRM sprmSPgnStart--> + <!--SPRM sprmSLnnMin--> + <!--SPRM sprmSPgnStart--> <UML:Class xmi.id="sprmSPgnStart" name="sprmSPgnStart"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35597,8 +37776,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSPgnStart--> -<!--SPRM sprmSBOrientation--> + <!--SPRM sprmSPgnStart--> + <!--SPRM sprmSBOrientation--> <UML:Class xmi.id="sprmSBOrientation" name="sprmSBOrientation"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35628,8 +37807,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSBOrientation--> -<!--SPRM sprmSBCustomize--> + <!--SPRM sprmSBOrientation--> + <!--SPRM sprmSBCustomize--> <UML:Class xmi.id="sprmSBCustomize" name="sprmSBCustomize"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35659,8 +37838,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSBCustomize--> -<!--SPRM sprmSXaPage--> + <!--SPRM sprmSBCustomize--> + <!--SPRM sprmSXaPage--> <UML:Class xmi.id="sprmSXaPage" name="sprmSXaPage"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35690,8 +37869,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSXaPage--> -<!--SPRM sprmSYaPage--> + <!--SPRM sprmSXaPage--> + <!--SPRM sprmSYaPage--> <UML:Class xmi.id="sprmSYaPage" name="sprmSYaPage"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35721,8 +37900,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSYaPage--> -<!--SPRM sprmSDxaLeft--> + <!--SPRM sprmSYaPage--> + <!--SPRM sprmSDxaLeft--> <UML:Class xmi.id="sprmSDxaLeft" name="sprmSDxaLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35752,8 +37931,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDxaLeft--> -<!--SPRM sprmSDxaRight--> + <!--SPRM sprmSDxaLeft--> + <!--SPRM sprmSDxaRight--> <UML:Class xmi.id="sprmSDxaRight" name="sprmSDxaRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35783,8 +37962,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDxaRight--> -<!--SPRM sprmSDyaTop--> + <!--SPRM sprmSDxaRight--> + <!--SPRM sprmSDyaTop--> <UML:Class xmi.id="sprmSDyaTop" name="sprmSDyaTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35814,8 +37993,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDyaTop--> -<!--SPRM sprmSDyaBottom--> + <!--SPRM sprmSDyaTop--> + <!--SPRM sprmSDyaBottom--> <UML:Class xmi.id="sprmSDyaBottom" name="sprmSDyaBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35845,8 +38024,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDyaBottom--> -<!--SPRM sprmSDzaGutter--> + <!--SPRM sprmSDyaBottom--> + <!--SPRM sprmSDzaGutter--> <UML:Class xmi.id="sprmSDzaGutter" name="sprmSDzaGutter"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35876,8 +38055,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDzaGutter--> -<!--SPRM sprmSDmPaperReq--> + <!--SPRM sprmSDzaGutter--> + <!--SPRM sprmSDmPaperReq--> <UML:Class xmi.id="sprmSDmPaperReq" name="sprmSDmPaperReq"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35907,8 +38086,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDmPaperReq--> -<!--SPRM sprmSPropRMark--> + <!--SPRM sprmSDmPaperReq--> + <!--SPRM sprmSPropRMark--> <UML:Class xmi.id="sprmSPropRMark" name="sprmSPropRMark"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35938,8 +38117,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSPropRMark--> -<!--SPRM sprmSFBiDi--> + <!--SPRM sprmSPropRMark--> + <!--SPRM sprmSFBiDi--> <UML:Class xmi.id="sprmSFBiDi" name="sprmSFBiDi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -35969,8 +38148,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSFBiDi--> -<!--SPRM sprmSFFacingCol--> + <!--SPRM sprmSFBiDi--> + <!--SPRM sprmSFFacingCol--> <UML:Class xmi.id="sprmSFFacingCol" name="sprmSFFacingCol"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36000,8 +38179,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSFFacingCol--> -<!--SPRM sprmSFRTLGutter--> + <!--SPRM sprmSFFacingCol--> + <!--SPRM sprmSFRTLGutter--> <UML:Class xmi.id="sprmSFRTLGutter" name="sprmSFRTLGutter"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36031,8 +38210,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSFRTLGutter--> -<!--SPRM sprmSBrcTop--> + <!--SPRM sprmSFRTLGutter--> + <!--SPRM sprmSBrcTop--> <UML:Class xmi.id="sprmSBrcTop" name="sprmSBrcTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36062,8 +38241,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSBrcTop--> -<!--SPRM sprmSBrcLeft--> + <!--SPRM sprmSBrcTop--> + <!--SPRM sprmSBrcLeft--> <UML:Class xmi.id="sprmSBrcLeft" name="sprmSBrcLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36093,8 +38272,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSBrcLeft--> -<!--SPRM sprmSBrcBottom--> + <!--SPRM sprmSBrcLeft--> + <!--SPRM sprmSBrcBottom--> <UML:Class xmi.id="sprmSBrcBottom" name="sprmSBrcBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36124,8 +38303,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSBrcBottom--> -<!--SPRM sprmSBrcRight--> + <!--SPRM sprmSBrcBottom--> + <!--SPRM sprmSBrcRight--> <UML:Class xmi.id="sprmSBrcRight" name="sprmSBrcRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36155,8 +38334,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSBrcRight--> -<!--SPRM sprmSPgbProp--> + <!--SPRM sprmSBrcRight--> + <!--SPRM sprmSPgbProp--> <UML:Class xmi.id="sprmSPgbProp" name="sprmSPgbProp"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36186,8 +38365,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSPgbProp--> -<!--SPRM sprmSDxtCharSpace--> + <!--SPRM sprmSPgbProp--> + <!--SPRM sprmSDxtCharSpace--> <UML:Class xmi.id="sprmSDxtCharSpace" name="sprmSDxtCharSpace"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36217,8 +38396,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDxtCharSpace--> -<!--SPRM sprmSDyaLinePitch--> + <!--SPRM sprmSDxtCharSpace--> + <!--SPRM sprmSDyaLinePitch--> <UML:Class xmi.id="sprmSDyaLinePitch" name="sprmSDyaLinePitch"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36248,8 +38427,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSDyaLinePitch--> -<!--SPRM sprmSClm--> + <!--SPRM sprmSDyaLinePitch--> + <!--SPRM sprmSClm--> <UML:Class xmi.id="sprmSClm" name="sprmSClm"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36279,8 +38458,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSClm--> -<!--SPRM sprmSTextFlow--> + <!--SPRM sprmSClm--> + <!--SPRM sprmSTextFlow--> <UML:Class xmi.id="sprmSTextFlow" name="sprmSTextFlow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36310,8 +38489,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmSTextFlow--> -<!--SPRM sprmTJc--> + <!--SPRM sprmSTextFlow--> + <!--SPRM sprmTJc--> <UML:Class xmi.id="sprmTJc" name="sprmTJc"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36341,8 +38520,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTJc--> -<!--SPRM sprmTDxaLeft--> + <!--SPRM sprmTJc--> + <!--SPRM sprmTDxaLeft--> <UML:Class xmi.id="sprmTDxaLeft" name="sprmTDxaLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36372,8 +38551,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTDxaLeft--> -<!--SPRM sprmTDxaGapHalf--> + <!--SPRM sprmTDxaLeft--> + <!--SPRM sprmTDxaGapHalf--> <UML:Class xmi.id="sprmTDxaGapHalf" name="sprmTDxaGapHalf"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36403,8 +38582,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTDxaGapHalf--> -<!--SPRM sprmTFCantSplit--> + <!--SPRM sprmTDxaGapHalf--> + <!--SPRM sprmTFCantSplit--> <UML:Class xmi.id="sprmTFCantSplit" name="sprmTFCantSplit"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36434,8 +38613,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTFCantSplit--> -<!--SPRM sprmTTableHeader--> + <!--SPRM sprmTFCantSplit--> + <!--SPRM sprmTTableHeader--> <UML:Class xmi.id="sprmTTableHeader" name="sprmTTableHeader"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36465,8 +38644,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTTableHeader--> -<!--SPRM sprmTTableBorders--> + <!--SPRM sprmTTableHeader--> + <!--SPRM sprmTTableBorders--> <UML:Class xmi.id="sprmTTableBorders" name="sprmTTableBorders"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36529,8 +38708,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTTableBorders--> -<!--SPRM sprmTDefTable10--> + <!--SPRM sprmTTableBorders--> + <!--SPRM sprmTDefTable10--> <UML:Class xmi.id="sprmTDefTable10" name="sprmTDefTable10"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36560,8 +38739,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTDefTable10--> -<!--SPRM sprmTDyaRowHeight--> + <!--SPRM sprmTDefTable10--> + <!--SPRM sprmTDyaRowHeight--> <UML:Class xmi.id="sprmTDyaRowHeight" name="sprmTDyaRowHeight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36591,8 +38770,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTDyaRowHeight--> -<!--SPRM sprmTDefTable--> + <!--SPRM sprmTDyaRowHeight--> + <!--SPRM sprmTDefTable--> <UML:Class xmi.id="sprmTDefTable" name="sprmTDefTable"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36675,8 +38854,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTDefTable--> -<!--SPRM sprmTDefTableShd--> + <!--SPRM sprmTDefTable--> + <!--SPRM sprmTDefTableShd--> <UML:Class xmi.id="sprmTDefTableShd" name="sprmTDefTableShd"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36739,8 +38918,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTDefTableShd--> -<!--SPRM sprmTCellShd--> + <!--SPRM sprmTDefTableShd--> + <!--SPRM sprmTCellShd--> <UML:Class xmi.id="sprmTCellShd" name="sprmTCellShd"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36803,8 +38982,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTCellShd--> -<!--SPRM sprmTTlp--> + <!--SPRM sprmTCellShd--> + <!--SPRM sprmTTlp--> <UML:Class xmi.id="sprmTTlp" name="sprmTTlp"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36833,9 +39012,716 @@ </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute name="itl"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:itl</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlBorders"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlBorders</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlShading"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlShading</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlFont"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlFont</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlColor"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlColor</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlBestFit"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlBestFit</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlHdrRows"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlHdrRows</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlLastRow"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x40</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlLastRow</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlHdrCols"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x80</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>7</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlHdrCols</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlLastCol"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x100</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlLastCol</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlNoRowBands"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x200</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>9</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlNoRowBands</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fatlNoColBands"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x400</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fatlNoColBands</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> </UML:Class> -<!--SPRM sprmTTlp--> -<!--SPRM sprmTFBiDi--> + <UML:Generalization isSpecification="false" xmi.id="sprmTTlp-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="sprmTTlp"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--SPRM sprmTTlp--> + <!--SPRM sprmTFBiDi--> <UML:Class xmi.id="sprmTFBiDi" name="sprmTFBiDi"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36865,8 +39751,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTFBiDi--> -<!--SPRM sprmTHTMLProps--> + <!--SPRM sprmTFBiDi--> + <!--SPRM sprmTHTMLProps--> <UML:Class xmi.id="sprmTHTMLProps" name="sprmTHTMLProps"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36896,8 +39782,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTHTMLProps--> -<!--SPRM sprmTSetBrc--> + <!--SPRM sprmTHTMLProps--> + <!--SPRM sprmTSetBrc--> <UML:Class xmi.id="sprmTSetBrc" name="sprmTSetBrc"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36927,8 +39813,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTSetBrc--> -<!--SPRM sprmTInsert--> + <!--SPRM sprmTSetBrc--> + <!--SPRM sprmTInsert--> <UML:Class xmi.id="sprmTInsert" name="sprmTInsert"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36958,8 +39844,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTInsert--> -<!--SPRM sprmTDelete--> + <!--SPRM sprmTInsert--> + <!--SPRM sprmTDelete--> <UML:Class xmi.id="sprmTDelete" name="sprmTDelete"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -36989,8 +39875,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTDelete--> -<!--SPRM sprmTDxaCol--> + <!--SPRM sprmTDelete--> + <!--SPRM sprmTDxaCol--> <UML:Class xmi.id="sprmTDxaCol" name="sprmTDxaCol"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37020,8 +39906,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTDxaCol--> -<!--SPRM sprmTMerge--> + <!--SPRM sprmTDxaCol--> + <!--SPRM sprmTMerge--> <UML:Class xmi.id="sprmTMerge" name="sprmTMerge"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37051,8 +39937,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTMerge--> -<!--SPRM sprmTSplit--> + <!--SPRM sprmTMerge--> + <!--SPRM sprmTSplit--> <UML:Class xmi.id="sprmTSplit" name="sprmTSplit"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37082,8 +39968,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTSplit--> -<!--SPRM sprmTSetBrc10--> + <!--SPRM sprmTSplit--> + <!--SPRM sprmTSetBrc10--> <UML:Class xmi.id="sprmTSetBrc10" name="sprmTSetBrc10"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37113,8 +39999,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTSetBrc10--> -<!--SPRM sprmTSetShd--> + <!--SPRM sprmTSetBrc10--> + <!--SPRM sprmTSetShd--> <UML:Class xmi.id="sprmTSetShd" name="sprmTSetShd"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37144,8 +40030,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTSetShd--> -<!--SPRM sprmTSetShdOdd--> + <!--SPRM sprmTSetShd--> + <!--SPRM sprmTSetShdOdd--> <UML:Class xmi.id="sprmTSetShdOdd" name="sprmTSetShdOdd"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37175,8 +40061,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTSetShdOdd--> -<!--SPRM sprmTTextFlow--> + <!--SPRM sprmTSetShdOdd--> + <!--SPRM sprmTTextFlow--> <UML:Class xmi.id="sprmTTextFlow" name="sprmTTextFlow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37206,8 +40092,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTTextFlow--> -<!--SPRM sprmTDiagLine--> + <!--SPRM sprmTTextFlow--> + <!--SPRM sprmTDiagLine--> <UML:Class xmi.id="sprmTDiagLine" name="sprmTDiagLine"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37237,8 +40123,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTDiagLine--> -<!--SPRM sprmTVertMerge--> + <!--SPRM sprmTDiagLine--> + <!--SPRM sprmTVertMerge--> <UML:Class xmi.id="sprmTVertMerge" name="sprmTVertMerge"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37268,8 +40154,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTVertMerge--> -<!--SPRM sprmTVertAlign--> + <!--SPRM sprmTVertMerge--> + <!--SPRM sprmTVertAlign--> <UML:Class xmi.id="sprmTVertAlign" name="sprmTVertAlign"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37299,8 +40185,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmTVertAlign--> -<!--SPRM sprmTCellTopColor--> + <!--SPRM sprmTVertAlign--> + <!--SPRM sprmTCellTopColor--> <UML:Class xmi.id="sprmTCellTopColor" name="sprmTCellTopColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37363,8 +40249,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTCellTopColor--> -<!--SPRM sprmTCellLeftColor--> + <!--SPRM sprmTCellTopColor--> + <!--SPRM sprmTCellLeftColor--> <UML:Class xmi.id="sprmTCellLeftColor" name="sprmTCellLeftColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37427,8 +40313,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTCellLeftColor--> -<!--SPRM sprmTCellBottomColor--> + <!--SPRM sprmTCellLeftColor--> + <!--SPRM sprmTCellBottomColor--> <UML:Class xmi.id="sprmTCellBottomColor" name="sprmTCellBottomColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37491,8 +40377,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTCellBottomColor--> -<!--SPRM sprmTCellRightColor--> + <!--SPRM sprmTCellBottomColor--> + <!--SPRM sprmTCellRightColor--> <UML:Class xmi.id="sprmTCellRightColor" name="sprmTCellRightColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37555,8 +40441,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTCellRightColor--> -<!--SPRM sprmTGridLineProps--> + <!--SPRM sprmTCellRightColor--> + <!--SPRM sprmTGridLineProps--> <UML:Class xmi.id="sprmTGridLineProps" name="sprmTGridLineProps"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -37589,7 +40475,7 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> <UML:Classifier.feature> -<!-- + <!-- <UML:Operation name="gridLineProps" > <UML:ModelElement.taggedValue> <UML:TaggedValue> @@ -37622,7 +40508,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -37680,7 +40566,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>b</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xb</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -37738,7 +40624,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>13</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x13</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -37796,7 +40682,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1b</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1b</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -37854,7 +40740,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>23</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x23</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -37912,7 +40798,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2b</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2b</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -37975,8 +40861,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTGridLineProps--> -<!--SPRM sprmCInsrsid--> + <!--SPRM sprmTGridLineProps--> + <!--SPRM sprmCInsrsid--> <UML:Class xmi.id="sprmCInsrsid" name="sprmCIndrsid"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -38006,8 +40892,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCInsrsid--> -<!--SPRM sprmCdelrsid--> + <!--SPRM sprmCInsrsid--> + <!--SPRM sprmCdelrsid--> <UML:Class xmi.id="sprmCdelrsid" name="sprmCdelrsid"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -38037,8 +40923,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmCdelrsid--> -<!--SPRM sprmPTableDepth--> + <!--SPRM sprmCdelrsid--> + <!--SPRM sprmPTableDepth--> <UML:Class xmi.id="sprmPTableDepth" name="sprmPTableDepth"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> @@ -38068,8 +40954,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--SPRM sprmPTableDepth--> -<!--SPRM sprmTCellShadow--> + <!--SPRM sprmPTableDepth--> + <!--SPRM sprmTCellShadow--> <UML:Class xmi.id="sprmTCellShadow" name="sprmTCellShadow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -38132,8 +41018,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTCellShadow--> -<!--SPRM sprmPBrcTop--> + <!--SPRM sprmTCellShadow--> + <!--SPRM sprmPBrcTop--> <UML:Class xmi.id="sprmPBrcTop" name="sprmPBrcTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -38232,8 +41118,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBrcTop--> -<!--SPRM sprmPBrcLeft--> + <!--SPRM sprmPBrcTop--> + <!--SPRM sprmPBrcLeft--> <UML:Class xmi.id="sprmPBrcLeft" name="sprmPBrcLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -38332,8 +41218,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBrcLeft--> -<!--SPRM sprmPBrcBottom--> + <!--SPRM sprmPBrcLeft--> + <!--SPRM sprmPBrcBottom--> <UML:Class xmi.id="sprmPBrcBottom" name="sprmPBrcBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -38432,8 +41318,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBrcBottom--> -<!--SPRM sprmPBrcRight--> + <!--SPRM sprmPBrcBottom--> + <!--SPRM sprmPBrcRight--> <UML:Class xmi.id="sprmPBrcRight" name="sprmPBrcRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -38532,8 +41418,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBrcRight--> -<!--SPRM sprmPBrcBetween--> + <!--SPRM sprmPBrcRight--> + <!--SPRM sprmPBrcBetween--> <UML:Class xmi.id="sprmPBrcBetween" name="sprmPBrcBetween"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -38632,8 +41518,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBrcBetween--> -<!--SPRM sprmPBorderTop--> + <!--SPRM sprmPBrcBetween--> + <!--SPRM sprmPBorderTop--> <UML:Class xmi.id="sprmPBorderTop" name="sprmPBorderTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -38732,8 +41618,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBorderTop--> -<!--SPRM sprmPBorderLeft--> + <!--SPRM sprmPBorderTop--> + <!--SPRM sprmPBorderLeft--> <UML:Class xmi.id="sprmPBorderLeft" name="sprmPBorderLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -38832,8 +41718,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBorderLeft--> -<!--SPRM sprmPBorderBottom--> + <!--SPRM sprmPBorderLeft--> + <!--SPRM sprmPBorderBottom--> <UML:Class xmi.id="sprmPBorderBottom" name="sprmPBorderBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -38932,8 +41818,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBorderBottom--> -<!--SPRM sprmPBorderRight--> + <!--SPRM sprmPBorderBottom--> + <!--SPRM sprmPBorderRight--> <UML:Class xmi.id="sprmPBorderRight" name="sprmPBorderRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -39032,8 +41918,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBorderRight--> -<!--SPRM sprmPBorderBetween--> + <!--SPRM sprmPBorderRight--> + <!--SPRM sprmPBorderBetween--> <UML:Class xmi.id="sprmPBorderBetween" name="sprmPBorderBetween"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -39132,8 +42018,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmPBorderBetween--> -<!--SPRM sprmCBorder--> + <!--SPRM sprmPBorderBetween--> + <!--SPRM sprmCBorder--> <UML:Class xmi.id="sprmCBorder" name="sprmCBorder"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -39232,8 +42118,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmCBorder--> -<!--SPRM sprmTTPreferredWidth--> + <!--SPRM sprmCBorder--> + <!--SPRM sprmTTPreferredWidth--> <UML:Class xmi.id="sprmTTPreferredWidth" name="sprmTTPreferredWidth"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -39398,8 +42284,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTTPreferredWidth--> -<!--SPRM sprmTTRLeft--> + <!--SPRM sprmTTPreferredWidth--> + <!--SPRM sprmTTRLeft--> <UML:Class xmi.id="sprmTTRLeft" name="sprmTTRLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -39564,8 +42450,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmTTRLeft--> -<!--SPRM sprmCEastAsianLayout--> + <!--SPRM sprmTTRLeft--> + <!--SPRM sprmCEastAsianLayout--> <UML:Class xmi.id="sprmCEastAsianLayout" name="sprmCEastAsianLayout"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> @@ -39664,10 +42550,786 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--SPRM sprmCEastAsianLayout--> -<!--SPRMS--> -<!--DFFS--> -<!--DFF UDefProp--> + <!--SPRM sprmCEastAsianLayout--> + <!--SPRM sprmTWidthBefore--> + <UML:Class xmi.id="sprmTWidthBefore" name="sprmTWidthBefore"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0xF617</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmcode"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:sprmTWidthBefore</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>table</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="kind"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:Classifier.feature> + <UML:Attribute name="ftsWidth"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:ftsWidth</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U8"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="wWidth"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:wWidth</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="sprmTWidthBefore-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="sprmTWidthBefore"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--SPRM sprmTWidthBefore--> + <!--SPRM sprmTWidthAfter--> + <UML:Class xmi.id="sprmTWidthAfter" name="sprmTWidthAfter"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0xF618</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmcode"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:sprmTWidthAfter</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>table</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="kind"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:Classifier.feature> + <UML:Attribute name="ftsWidth"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:ftsWidth</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U8"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="wWidth"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:wWidth</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="sprmTWidthAfter-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="sprmTWidthAfter"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--SPRM sprmTWidthAfter--> + <!--SPRM sprmPDxaLeft1--> + <UML:Class xmi.id="sprmPDxaLeft1" name="sprmPDxaLeft1"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x8460</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmcode"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:sprmPDxaLeft1</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>paragraph</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="kind"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + </UML:Class> + <!--SPRM sprmPDxaLeft1--> + <!--SPRM sprmPRsid--> + <UML:Class xmi.id="sprmPRsid" name="sprmPRsid"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x6467</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmcode"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:sprmPRsid</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>paragraph</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="kind"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + </UML:Class> + <!--SPRM sprmPRsid--> + <!--SPRM sprmCRsidProp--> + <UML:Class xmi.id="sprmCRsidProp" name="sprmCRsidProp"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x6815</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmcode"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:sprmCRsidProp</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>paragraph</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="kind"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + </UML:Class> + <!--SPRM sprmCRsidProp--> + <!--SPRM sprmCRgLid0--> + <UML:Class xmi.id="sprmCRgLid0" name="sprmCRgLid0"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4873</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmcode"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:sprmCRgLid0</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>character</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="kind"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + </UML:Class> + <!--SPRM sprmCRgLid0--> + <!--SPRM sprmTCellPaddingDefault--> + <UML:Class xmi.id="sprmTCellPaddingDefault" name="sprmTCellPaddingDefault"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0xD634</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmcode"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:sprmTCellPaddingDefault</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>table</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="kind"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:Classifier.feature> + <UML:Attribute name="itc"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:itc</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="grfbrc"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:grfbrc</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U8"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="ftsWidth"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x5</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:ftsWidth</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U8"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="wWidth"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:wWidth</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType xmi.idref="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="sprmTCellPaddingDefault-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="sprmTCellPaddingDefault"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--SPRM sprmTCellPaddingDefault--> + <!--SPRM sprmTRsid--> + <UML:Class xmi.id="sprmTRsid" name="sprmTRsid"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x7479</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmcode"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:sprmTRsid</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>table</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="kind"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + </UML:Class> + <!--SPRM sprmTRsid--> + <!--SPRM sprmTFAutofit--> + <UML:Class xmi.id="sprmTFAutofit" name="sprmTFAutofit"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x3615</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmcode"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:sprmTFAutofit</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="sprmid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>table</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="kind"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + </UML:Class> + <!--SPRM sprmTFAutofit--> + <!--SPRMS--> + <!--DFFS--> + <!--DFF UDefProp--> <UML:Class xmi.id="UDefProp" name="UDefProp"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -39692,8 +43354,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF UDefProp--> -<!--DFF FSPGR--> + <!--DFF UDefProp--> + <!--DFF FSPGR--> <UML:Class xmi.id="FSPGR" name="FSPGR"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -39773,8 +43435,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF FSPGR--> -<!--DFF OPT--> + <!--DFF FSPGR--> + <!--DFF OPT--> <UML:Class xmi.id="OPT" name="OPT"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -39841,8 +43503,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF OPT--> -<!--DFF FSP--> + <!--DFF OPT--> + <!--DFF FSP--> <UML:Class xmi.id="FSP" name="FSP"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -40756,8 +44418,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF FSP--> -<!--DFF DGG--> + <!--DFF FSP--> + <!--DFF DGG--> <UML:Class xmi.id="DGG" name="DGG"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -40859,8 +44521,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF DGG--> -<!--DFF BSE--> + <!--DFF DGG--> + <!--DFF BSE--> <UML:Class xmi.id="BSE" name="BSE"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -40955,7 +44617,7 @@ </UML:Classifier.feature> <UML:Classifier.feature><UML:Operation name="blip"><UML:ModelElement.taggedValue><UML:TaggedValue><UML:TaggedValue.dataValue>rtf:blip</UML:TaggedValue.dataValue><UML:TaggedValue.type><UML:TagDefinition xmi.idref="opid"/></UML:TaggedValue.type></UML:TaggedValue></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" name="return"><UML:Parameter.type><UML:Class xmi.idref="DffRecord"/></UML:Parameter.type></UML:Parameter></UML:BehavioralFeature.parameter><UML:ModelElement.stereotype><UML:Stereotype xmi.idref="attribute"/></UML:ModelElement.stereotype></UML:Operation> g </UML:Classifier.feature> -<!-- + <!-- <UML:Classifier.feature> <UML:Operation name="binary"> <UML:ModelElement.taggedValue> @@ -40988,8 +44650,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF BSE--> -<!--DFF BlipPng--> + <!--DFF BSE--> + <!--DFF BlipPng--> <UML:Class xmi.id="BlipPng" name="BlipPng"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -41048,8 +44710,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF BlipPng--> -<!--DFF BlipDib--> + <!--DFF BlipPng--> + <!--DFF BlipDib--> <UML:Class xmi.id="BlipDib" name="BlipDib"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -41108,8 +44770,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF BlipDib--> -<!--DFF SpContainer--> + <!--DFF BlipDib--> + <!--DFF SpContainer--> <UML:Class xmi.id="SpContainer" name="SpContainer"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -41175,8 +44837,8 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF SpContainer--> -<!--DFF Dg--> + <!--DFF SpContainer--> + <!--DFF Dg--> <UML:Class xmi.id="Dg" name="Dg"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffrecord"/> @@ -41256,10 +44918,10 @@ <UML:Class xmi.idref="Properties"/> </UML:Generalization.parent> </UML:Generalization> -<!--DFF Dg--> -<!--DFFS--> -<!--DFFOPT--> -<!--DFFOPT rotation--> + <!--DFF Dg--> + <!--DFFS--> + <!--DFFOPT--> + <!--DFFOPT rotation--> <UML:Class xmi.id="rotation" name="rotation"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41306,8 +44968,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT rotation--> -<!--DFFOPT fLockRotation--> + <!--DFFOPT rotation--> + <!--DFFOPT fLockRotation--> <UML:Class xmi.id="fLockRotation" name="fLockRotation"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41361,8 +45023,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockRotation--> -<!--DFFOPT fLockAspectRatio--> + <!--DFFOPT fLockRotation--> + <!--DFFOPT fLockAspectRatio--> <UML:Class xmi.id="fLockAspectRatio" name="fLockAspectRatio"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41417,8 +45079,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockAspectRatio--> -<!--DFFOPT fLockPosition--> + <!--DFFOPT fLockAspectRatio--> + <!--DFFOPT fLockPosition--> <UML:Class xmi.id="fLockPosition" name="fLockPosition"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41473,8 +45135,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockPosition--> -<!--DFFOPT fLockAgainstSelect--> + <!--DFFOPT fLockPosition--> + <!--DFFOPT fLockAgainstSelect--> <UML:Class xmi.id="fLockAgainstSelect" name="fLockAgainstSelect"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41529,8 +45191,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockAgainstSelect--> -<!--DFFOPT fLockCropping--> + <!--DFFOPT fLockAgainstSelect--> + <!--DFFOPT fLockCropping--> <UML:Class xmi.id="fLockCropping" name="fLockCropping"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41585,8 +45247,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockCropping--> -<!--DFFOPT fLockVertices--> + <!--DFFOPT fLockCropping--> + <!--DFFOPT fLockVertices--> <UML:Class xmi.id="fLockVertices" name="fLockVertices"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41641,8 +45303,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockVertices--> -<!--DFFOPT fLockText--> + <!--DFFOPT fLockVertices--> + <!--DFFOPT fLockText--> <UML:Class xmi.id="fLockText" name="fLockText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41697,8 +45359,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockText--> -<!--DFFOPT fLockAdjustHandles--> + <!--DFFOPT fLockText--> + <!--DFFOPT fLockAdjustHandles--> <UML:Class xmi.id="fLockAdjustHandles" name="fLockAdjustHandles"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41752,8 +45414,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockAdjustHandles--> -<!--DFFOPT fLockAgainstGrouping--> + <!--DFFOPT fLockAdjustHandles--> + <!--DFFOPT fLockAgainstGrouping--> <UML:Class xmi.id="fLockAgainstGrouping" name="fLockAgainstGrouping"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41808,8 +45470,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockAgainstGrouping--> -<!--DFFOPT lTxid--> + <!--DFFOPT fLockAgainstGrouping--> + <!--DFFOPT lTxid--> <UML:Class xmi.id="lTxid" name="lTxid"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41856,8 +45518,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lTxid--> -<!--DFFOPT dxTextLeft--> + <!--DFFOPT lTxid--> + <!--DFFOPT dxTextLeft--> <UML:Class xmi.id="dxTextLeft" name="dxTextLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41904,8 +45566,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dxTextLeft--> -<!--DFFOPT dyTextTop--> + <!--DFFOPT dxTextLeft--> + <!--DFFOPT dyTextTop--> <UML:Class xmi.id="dyTextTop" name="dyTextTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41951,8 +45613,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dyTextTop--> -<!--DFFOPT dxTextRight--> + <!--DFFOPT dyTextTop--> + <!--DFFOPT dxTextRight--> <UML:Class xmi.id="dxTextRight" name="dxTextRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -41998,8 +45660,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dxTextRight--> -<!--DFFOPT dyTextBottom--> + <!--DFFOPT dxTextRight--> + <!--DFFOPT dyTextBottom--> <UML:Class xmi.id="dyTextBottom" name="dyTextBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42045,8 +45707,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dyTextBottom--> -<!--DFFOPT WrapText--> + <!--DFFOPT dyTextBottom--> + <!--DFFOPT WrapText--> <UML:Class xmi.id="WrapText" name="WrapText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42093,8 +45755,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT WrapText--> -<!--DFFOPT scaleText--> + <!--DFFOPT WrapText--> + <!--DFFOPT scaleText--> <UML:Class xmi.id="scaleText" name="scaleText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42141,8 +45803,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT scaleText--> -<!--DFFOPT anchorText--> + <!--DFFOPT scaleText--> + <!--DFFOPT anchorText--> <UML:Class xmi.id="anchorText" name="anchorText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42189,8 +45851,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT anchorText--> -<!--DFFOPT txflTextFlow--> + <!--DFFOPT anchorText--> + <!--DFFOPT txflTextFlow--> <UML:Class xmi.id="txflTextFlow" name="txflTextFlow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42236,8 +45898,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT txflTextFlow--> -<!--DFFOPT cdirFont--> + <!--DFFOPT txflTextFlow--> + <!--DFFOPT cdirFont--> <UML:Class xmi.id="cdirFont" name="cdirFont"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42283,8 +45945,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT cdirFont--> -<!--DFFOPT hspNext--> + <!--DFFOPT cdirFont--> + <!--DFFOPT hspNext--> <UML:Class xmi.id="hspNext" name="hspNext"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42331,8 +45993,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT hspNext--> -<!--DFFOPT txdir--> + <!--DFFOPT hspNext--> + <!--DFFOPT txdir--> <UML:Class xmi.id="txdir" name="txdir"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42379,8 +46041,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT txdir--> -<!--DFFOPT fSelectText--> + <!--DFFOPT txdir--> + <!--DFFOPT fSelectText--> <UML:Class xmi.id="fSelectText" name="fSelectText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42435,8 +46097,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fSelectText--> -<!--DFFOPT fAutoTextMargin--> + <!--DFFOPT fSelectText--> + <!--DFFOPT fAutoTextMargin--> <UML:Class xmi.id="fAutoTextMargin" name="fAutoTextMargin"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42491,8 +46153,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fAutoTextMargin--> -<!--DFFOPT fRotateText--> + <!--DFFOPT fAutoTextMargin--> + <!--DFFOPT fRotateText--> <UML:Class xmi.id="fRotateText" name="fRotateText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42547,8 +46209,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fRotateText--> -<!--DFFOPT fFitShapeToText--> + <!--DFFOPT fRotateText--> + <!--DFFOPT fFitShapeToText--> <UML:Class xmi.id="fFitShapeToText" name="fFitShapeToText"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42603,8 +46265,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fFitShapeToText--> -<!--DFFOPT fFitTextToShape--> + <!--DFFOPT fFitShapeToText--> + <!--DFFOPT fFitTextToShape--> <UML:Class xmi.id="fFitTextToShape" name="fFitTextToShape"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42659,8 +46321,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fFitTextToShape--> -<!--DFFOPT gtextUNICODE--> + <!--DFFOPT fFitTextToShape--> + <!--DFFOPT gtextUNICODE--> <UML:Class xmi.id="gtextUNICODE" name="gtextUNICODE"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42707,8 +46369,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextUNICODE--> -<!--DFFOPT gtextRTF--> + <!--DFFOPT gtextUNICODE--> + <!--DFFOPT gtextRTF--> <UML:Class xmi.id="gtextRTF" name="gtextRTF"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42755,8 +46417,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextRTF--> -<!--DFFOPT gtextAlign--> + <!--DFFOPT gtextRTF--> + <!--DFFOPT gtextAlign--> <UML:Class xmi.id="gtextAlign" name="gtextAlign"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42803,8 +46465,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextAlign--> -<!--DFFOPT gtextSize--> + <!--DFFOPT gtextAlign--> + <!--DFFOPT gtextSize--> <UML:Class xmi.id="gtextSize" name="gtextSize"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42851,8 +46513,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextSize--> -<!--DFFOPT gtextSpacing--> + <!--DFFOPT gtextSize--> + <!--DFFOPT gtextSpacing--> <UML:Class xmi.id="gtextSpacing" name="gtextSpacing"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42899,8 +46561,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextSpacing--> -<!--DFFOPT gtextFont--> + <!--DFFOPT gtextSpacing--> + <!--DFFOPT gtextFont--> <UML:Class xmi.id="gtextFont" name="gtextFont"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -42947,8 +46609,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFont--> -<!--DFFOPT gtextFReverseRows--> + <!--DFFOPT gtextFont--> + <!--DFFOPT gtextFReverseRows--> <UML:Class xmi.id="gtextFReverseRows" name="gtextFReverseRows"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43003,8 +46665,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFReverseRows--> -<!--DFFOPT fGtext--> + <!--DFFOPT gtextFReverseRows--> + <!--DFFOPT fGtext--> <UML:Class xmi.id="fGtext" name="fGtext"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43059,8 +46721,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fGtext--> -<!--DFFOPT gtextFVertical--> + <!--DFFOPT fGtext--> + <!--DFFOPT gtextFVertical--> <UML:Class xmi.id="gtextFVertical" name="gtextFVertical"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43115,8 +46777,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFVertical--> -<!--DFFOPT gtextFKern--> + <!--DFFOPT gtextFVertical--> + <!--DFFOPT gtextFKern--> <UML:Class xmi.id="gtextFKern" name="gtextFKern"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43171,8 +46833,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFKern--> -<!--DFFOPT gtextFTight--> + <!--DFFOPT gtextFKern--> + <!--DFFOPT gtextFTight--> <UML:Class xmi.id="gtextFTight" name="gtextFTight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43227,8 +46889,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFTight--> -<!--DFFOPT gtextFStretch--> + <!--DFFOPT gtextFTight--> + <!--DFFOPT gtextFStretch--> <UML:Class xmi.id="gtextFStretch" name="gtextFStretch"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43283,8 +46945,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFStretch--> -<!--DFFOPT gtextFShrinkFit--> + <!--DFFOPT gtextFStretch--> + <!--DFFOPT gtextFShrinkFit--> <UML:Class xmi.id="gtextFShrinkFit" name="gtextFShrinkFit"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43339,8 +47001,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFShrinkFit--> -<!--DFFOPT gtextFBestFit--> + <!--DFFOPT gtextFShrinkFit--> + <!--DFFOPT gtextFBestFit--> <UML:Class xmi.id="gtextFBestFit" name="gtextFBestFit"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43395,8 +47057,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFBestFit--> -<!--DFFOPT gtextFNormalize--> + <!--DFFOPT gtextFBestFit--> + <!--DFFOPT gtextFNormalize--> <UML:Class xmi.id="gtextFNormalize" name="gtextFNormalize"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43451,8 +47113,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFNormalize--> -<!--DFFOPT gtextFDxMeasure--> + <!--DFFOPT gtextFNormalize--> + <!--DFFOPT gtextFDxMeasure--> <UML:Class xmi.id="gtextFDxMeasure" name="gtextFDxMeasure"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43507,8 +47169,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFDxMeasure--> -<!--DFFOPT gtextFBold--> + <!--DFFOPT gtextFDxMeasure--> + <!--DFFOPT gtextFBold--> <UML:Class xmi.id="gtextFBold" name="gtextFBold"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43562,8 +47224,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFBold--> -<!--DFFOPT gtextFItalic--> + <!--DFFOPT gtextFBold--> + <!--DFFOPT gtextFItalic--> <UML:Class xmi.id="gtextFItalic" name="gtextFItalic"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43617,8 +47279,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFItalic--> -<!--DFFOPT gtextFUnderline--> + <!--DFFOPT gtextFItalic--> + <!--DFFOPT gtextFUnderline--> <UML:Class xmi.id="gtextFUnderline" name="gtextFUnderline"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43673,8 +47335,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFUnderline--> -<!--DFFOPT gtextFShadow--> + <!--DFFOPT gtextFUnderline--> + <!--DFFOPT gtextFShadow--> <UML:Class xmi.id="gtextFShadow" name="gtextFShadow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43728,8 +47390,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFShadow--> -<!--DFFOPT gtextFSmallcaps--> + <!--DFFOPT gtextFShadow--> + <!--DFFOPT gtextFSmallcaps--> <UML:Class xmi.id="gtextFSmallcaps" name="gtextFSmallcaps"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43784,8 +47446,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFSmallcaps--> -<!--DFFOPT gtextFStrikethrough--> + <!--DFFOPT gtextFSmallcaps--> + <!--DFFOPT gtextFStrikethrough--> <UML:Class xmi.id="gtextFStrikethrough" name="gtextFStrikethrough"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43840,8 +47502,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT gtextFStrikethrough--> -<!--DFFOPT cropFromTop--> + <!--DFFOPT gtextFStrikethrough--> + <!--DFFOPT cropFromTop--> <UML:Class xmi.id="cropFromTop" name="cropFromTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43889,8 +47551,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT cropFromTop--> -<!--DFFOPT cropFromBottom--> + <!--DFFOPT cropFromTop--> + <!--DFFOPT cropFromBottom--> <UML:Class xmi.id="cropFromBottom" name="cropFromBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43936,8 +47598,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT cropFromBottom--> -<!--DFFOPT cropFromLeft--> + <!--DFFOPT cropFromBottom--> + <!--DFFOPT cropFromLeft--> <UML:Class xmi.id="cropFromLeft" name="cropFromLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -43983,8 +47645,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT cropFromLeft--> -<!--DFFOPT cropFromRight--> + <!--DFFOPT cropFromLeft--> + <!--DFFOPT cropFromRight--> <UML:Class xmi.id="cropFromRight" name="cropFromRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44030,8 +47692,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT cropFromRight--> -<!--DFFOPT pib--> + <!--DFFOPT cropFromRight--> + <!--DFFOPT pib--> <UML:Class xmi.id="pib" name="pib"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44078,8 +47740,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pib--> -<!--DFFOPT pibName--> + <!--DFFOPT pib--> + <!--DFFOPT pibName--> <UML:Class xmi.id="pibName" name="pibName"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44126,8 +47788,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pibName--> -<!--DFFOPT pibFlags--> + <!--DFFOPT pibName--> + <!--DFFOPT pibFlags--> <UML:Class xmi.id="pibFlags" name="pibFlags"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44174,8 +47836,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pibFlags--> -<!--DFFOPT pictureTransparent--> + <!--DFFOPT pibFlags--> + <!--DFFOPT pictureTransparent--> <UML:Class xmi.id="pictureTransparent" name="pictureTransparent"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44222,8 +47884,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureTransparent--> -<!--DFFOPT pictureContrast--> + <!--DFFOPT pictureTransparent--> + <!--DFFOPT pictureContrast--> <UML:Class xmi.id="pictureContrast" name="pictureContrast"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44270,8 +47932,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureContrast--> -<!--DFFOPT pictureBrightness--> + <!--DFFOPT pictureContrast--> + <!--DFFOPT pictureBrightness--> <UML:Class xmi.id="pictureBrightness" name="pictureBrightness"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44318,8 +47980,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureBrightness--> -<!--DFFOPT pictureGamma--> + <!--DFFOPT pictureBrightness--> + <!--DFFOPT pictureGamma--> <UML:Class xmi.id="pictureGamma" name="pictureGamma"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44366,8 +48028,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureGamma--> -<!--DFFOPT pictureId--> + <!--DFFOPT pictureGamma--> + <!--DFFOPT pictureId--> <UML:Class xmi.id="pictureId" name="pictureId"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44414,8 +48076,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureId--> -<!--DFFOPT pictureDblCrMod--> + <!--DFFOPT pictureId--> + <!--DFFOPT pictureDblCrMod--> <UML:Class xmi.id="pictureDblCrMod" name="pictureDblCrMod"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44462,8 +48124,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureDblCrMod--> -<!--DFFOPT pictureFillCrMod--> + <!--DFFOPT pictureDblCrMod--> + <!--DFFOPT pictureFillCrMod--> <UML:Class xmi.id="pictureFillCrMod" name="pictureFillCrMod"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44509,8 +48171,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureFillCrMod--> -<!--DFFOPT pictureLineCrMod--> + <!--DFFOPT pictureFillCrMod--> + <!--DFFOPT pictureLineCrMod--> <UML:Class xmi.id="pictureLineCrMod" name="pictureLineCrMod"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44556,8 +48218,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureLineCrMod--> -<!--DFFOPT pibPrint--> + <!--DFFOPT pictureLineCrMod--> + <!--DFFOPT pibPrint--> <UML:Class xmi.id="pibPrint" name="pibPrint"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44604,8 +48266,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pibPrint--> -<!--DFFOPT pibPrintName--> + <!--DFFOPT pibPrint--> + <!--DFFOPT pibPrintName--> <UML:Class xmi.id="pibPrintName" name="pibPrintName"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44652,8 +48314,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pibPrintName--> -<!--DFFOPT pibPrintFlags--> + <!--DFFOPT pibPrintName--> + <!--DFFOPT pibPrintFlags--> <UML:Class xmi.id="pibPrintFlags" name="pibPrintFlags"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44700,8 +48362,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pibPrintFlags--> -<!--DFFOPT fNoHitTestPicture--> + <!--DFFOPT pibPrintFlags--> + <!--DFFOPT fNoHitTestPicture--> <UML:Class xmi.id="fNoHitTestPicture" name="fNoHitTestPicture"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44756,8 +48418,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fNoHitTestPicture--> -<!--DFFOPT pictureGray--> + <!--DFFOPT fNoHitTestPicture--> + <!--DFFOPT pictureGray--> <UML:Class xmi.id="pictureGray" name="pictureGray"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44812,8 +48474,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureGray--> -<!--DFFOPT pictureBiLevel--> + <!--DFFOPT pictureGray--> + <!--DFFOPT pictureBiLevel--> <UML:Class xmi.id="pictureBiLevel" name="pictureBiLevel"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44868,8 +48530,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureBiLevel--> -<!--DFFOPT pictureActive--> + <!--DFFOPT pictureBiLevel--> + <!--DFFOPT pictureActive--> <UML:Class xmi.id="pictureActive" name="pictureActive"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44924,8 +48586,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pictureActive--> -<!--DFFOPT geoLeft--> + <!--DFFOPT pictureActive--> + <!--DFFOPT geoLeft--> <UML:Class xmi.id="geoLeft" name="geoLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -44972,8 +48634,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT geoLeft--> -<!--DFFOPT geoTop--> + <!--DFFOPT geoLeft--> + <!--DFFOPT geoTop--> <UML:Class xmi.id="geoTop" name="geoTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45019,8 +48681,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT geoTop--> -<!--DFFOPT geoRight--> + <!--DFFOPT geoTop--> + <!--DFFOPT geoRight--> <UML:Class xmi.id="geoRight" name="geoRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45066,8 +48728,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT geoRight--> -<!--DFFOPT geoBottom--> + <!--DFFOPT geoRight--> + <!--DFFOPT geoBottom--> <UML:Class xmi.id="geoBottom" name="geoBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45113,8 +48775,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT geoBottom--> -<!--DFFOPT shapePath--> + <!--DFFOPT geoBottom--> + <!--DFFOPT shapePath--> <UML:Class xmi.id="shapePath" name="shapePath"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45160,8 +48822,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shapePath--> -<!--DFFOPT pVertices--> + <!--DFFOPT shapePath--> + <!--DFFOPT pVertices--> <UML:Class xmi.id="pVertices" name="pVertices"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45208,8 +48870,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pVertices--> -<!--DFFOPT pSegmentInfo--> + <!--DFFOPT pVertices--> + <!--DFFOPT pSegmentInfo--> <UML:Class xmi.id="pSegmentInfo" name="pSegmentInfo"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45255,8 +48917,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pSegmentInfo--> -<!--DFFOPT adjustValue--> + <!--DFFOPT pSegmentInfo--> + <!--DFFOPT adjustValue--> <UML:Class xmi.id="adjustValue" name="adjustValue"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45305,8 +48967,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjustValue--> -<!--DFFOPT adjust2Value--> + <!--DFFOPT adjustValue--> + <!--DFFOPT adjust2Value--> <UML:Class xmi.id="adjust2Value" name="adjust2Value"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45352,8 +49014,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjust2Value--> -<!--DFFOPT adjust3Value--> + <!--DFFOPT adjust2Value--> + <!--DFFOPT adjust3Value--> <UML:Class xmi.id="adjust3Value" name="adjust3Value"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45399,8 +49061,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjust3Value--> -<!--DFFOPT adjust4Value--> + <!--DFFOPT adjust3Value--> + <!--DFFOPT adjust4Value--> <UML:Class xmi.id="adjust4Value" name="adjust4Value"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45446,8 +49108,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjust4Value--> -<!--DFFOPT adjust5Value--> + <!--DFFOPT adjust4Value--> + <!--DFFOPT adjust5Value--> <UML:Class xmi.id="adjust5Value" name="adjust5Value"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45493,8 +49155,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjust5Value--> -<!--DFFOPT adjust6Value--> + <!--DFFOPT adjust5Value--> + <!--DFFOPT adjust6Value--> <UML:Class xmi.id="adjust6Value" name="adjust6Value"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45540,8 +49202,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjust6Value--> -<!--DFFOPT adjust7Value--> + <!--DFFOPT adjust6Value--> + <!--DFFOPT adjust7Value--> <UML:Class xmi.id="adjust7Value" name="adjust7Value"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45587,8 +49249,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjust7Value--> -<!--DFFOPT adjust8Value--> + <!--DFFOPT adjust7Value--> + <!--DFFOPT adjust8Value--> <UML:Class xmi.id="adjust8Value" name="adjust8Value"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45634,8 +49296,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjust8Value--> -<!--DFFOPT adjust9Value--> + <!--DFFOPT adjust8Value--> + <!--DFFOPT adjust9Value--> <UML:Class xmi.id="adjust9Value" name="adjust9Value"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45681,8 +49343,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjust9Value--> -<!--DFFOPT adjust10Value--> + <!--DFFOPT adjust9Value--> + <!--DFFOPT adjust10Value--> <UML:Class xmi.id="adjust10Value" name="adjust10Value"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45728,8 +49390,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT adjust10Value--> -<!--DFFOPT fShadowOK--> + <!--DFFOPT adjust10Value--> + <!--DFFOPT fShadowOK--> <UML:Class xmi.id="fShadowOK" name="fShadowOK"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45784,8 +49446,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fShadowOK--> -<!--DFFOPT f3DOK--> + <!--DFFOPT fShadowOK--> + <!--DFFOPT f3DOK--> <UML:Class xmi.id="f3DOK" name="f3DOK"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45839,8 +49501,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT f3DOK--> -<!--DFFOPT fLineOK--> + <!--DFFOPT f3DOK--> + <!--DFFOPT fLineOK--> <UML:Class xmi.id="fLineOK" name="fLineOK"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45895,8 +49557,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLineOK--> -<!--DFFOPT fGtextOK--> + <!--DFFOPT fLineOK--> + <!--DFFOPT fGtextOK--> <UML:Class xmi.id="fGtextOK" name="fGtextOK"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -45951,8 +49613,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fGtextOK--> -<!--DFFOPT fFillShadeShapeOK--> + <!--DFFOPT fGtextOK--> + <!--DFFOPT fFillShadeShapeOK--> <UML:Class xmi.id="fFillShadeShapeOK" name="fFillShadeShapeOK"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46006,8 +49668,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fFillShadeShapeOK--> -<!--DFFOPT fFillOK--> + <!--DFFOPT fFillShadeShapeOK--> + <!--DFFOPT fFillOK--> <UML:Class xmi.id="fFillOK" name="fFillOK"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46062,8 +49724,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fFillOK--> -<!--DFFOPT fillType--> + <!--DFFOPT fFillOK--> + <!--DFFOPT fillType--> <UML:Class xmi.id="fillType" name="fillType"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46110,8 +49772,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillType--> -<!--DFFOPT fillColor--> + <!--DFFOPT fillType--> + <!--DFFOPT fillColor--> <UML:Class xmi.id="fillColor" name="fillColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46158,8 +49820,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillColor--> -<!--DFFOPT fillOpacity--> + <!--DFFOPT fillColor--> + <!--DFFOPT fillOpacity--> <UML:Class xmi.id="fillOpacity" name="fillOpacity"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46206,8 +49868,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillOpacity--> -<!--DFFOPT fillBackColor--> + <!--DFFOPT fillOpacity--> + <!--DFFOPT fillBackColor--> <UML:Class xmi.id="fillBackColor" name="fillBackColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46254,8 +49916,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillBackColor--> -<!--DFFOPT fillBackOpacity--> + <!--DFFOPT fillBackColor--> + <!--DFFOPT fillBackOpacity--> <UML:Class xmi.id="fillBackOpacity" name="fillBackOpacity"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46302,8 +49964,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillBackOpacity--> -<!--DFFOPT fillCrMod--> + <!--DFFOPT fillBackOpacity--> + <!--DFFOPT fillCrMod--> <UML:Class xmi.id="fillCrMod" name="fillCrMod"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46350,8 +50012,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillCrMod--> -<!--DFFOPT fillBlip--> + <!--DFFOPT fillCrMod--> + <!--DFFOPT fillBlip--> <UML:Class xmi.id="fillBlip" name="fillBlip"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46397,8 +50059,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillBlip--> -<!--DFFOPT fillBlipName--> + <!--DFFOPT fillBlip--> + <!--DFFOPT fillBlipName--> <UML:Class xmi.id="fillBlipName" name="fillBlipName"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46445,8 +50107,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillBlipName--> -<!--DFFOPT fillBlipFlags--> + <!--DFFOPT fillBlipName--> + <!--DFFOPT fillBlipFlags--> <UML:Class xmi.id="fillBlipFlags" name="fillBlipFlags"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46493,8 +50155,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillBlipFlags--> -<!--DFFOPT fillWidth--> + <!--DFFOPT fillBlipFlags--> + <!--DFFOPT fillWidth--> <UML:Class xmi.id="fillWidth" name="fillWidth"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46541,8 +50203,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillWidth--> -<!--DFFOPT fillHeight--> + <!--DFFOPT fillWidth--> + <!--DFFOPT fillHeight--> <UML:Class xmi.id="fillHeight" name="fillHeight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46588,8 +50250,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillHeight--> -<!--DFFOPT fillAngle--> + <!--DFFOPT fillHeight--> + <!--DFFOPT fillAngle--> <UML:Class xmi.id="fillAngle" name="fillAngle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46636,8 +50298,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillAngle--> -<!--DFFOPT fillFocus--> + <!--DFFOPT fillAngle--> + <!--DFFOPT fillFocus--> <UML:Class xmi.id="fillFocus" name="fillFocus"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46684,8 +50346,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillFocus--> -<!--DFFOPT fillToLeft--> + <!--DFFOPT fillFocus--> + <!--DFFOPT fillToLeft--> <UML:Class xmi.id="fillToLeft" name="fillToLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46732,8 +50394,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillToLeft--> -<!--DFFOPT fillToTop--> + <!--DFFOPT fillToLeft--> + <!--DFFOPT fillToTop--> <UML:Class xmi.id="fillToTop" name="fillToTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46780,8 +50442,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillToTop--> -<!--DFFOPT fillToRight--> + <!--DFFOPT fillToTop--> + <!--DFFOPT fillToRight--> <UML:Class xmi.id="fillToRight" name="fillToRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46828,8 +50490,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillToRight--> -<!--DFFOPT fillToBottom--> + <!--DFFOPT fillToRight--> + <!--DFFOPT fillToBottom--> <UML:Class xmi.id="fillToBottom" name="fillToBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46876,8 +50538,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillToBottom--> -<!--DFFOPT fillRectLeft--> + <!--DFFOPT fillToBottom--> + <!--DFFOPT fillRectLeft--> <UML:Class xmi.id="fillRectLeft" name="fillRectLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46925,8 +50587,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillRectLeft--> -<!--DFFOPT fillRectTop--> + <!--DFFOPT fillRectLeft--> + <!--DFFOPT fillRectTop--> <UML:Class xmi.id="fillRectTop" name="fillRectTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -46972,8 +50634,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillRectTop--> -<!--DFFOPT fillRectRight--> + <!--DFFOPT fillRectTop--> + <!--DFFOPT fillRectRight--> <UML:Class xmi.id="fillRectRight" name="fillRectRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47019,8 +50681,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillRectRight--> -<!--DFFOPT fillRectBottom--> + <!--DFFOPT fillRectRight--> + <!--DFFOPT fillRectBottom--> <UML:Class xmi.id="fillRectBottom" name="fillRectBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47066,8 +50728,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillRectBottom--> -<!--DFFOPT fillDztype--> + <!--DFFOPT fillRectBottom--> + <!--DFFOPT fillDztype--> <UML:Class xmi.id="fillDztype" name="fillDztype"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47113,8 +50775,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillDztype--> -<!--DFFOPT fillShadePreset--> + <!--DFFOPT fillDztype--> + <!--DFFOPT fillShadePreset--> <UML:Class xmi.id="fillShadePreset" name="fillShadePreset"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47161,8 +50823,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillShadePreset--> -<!--DFFOPT fillShadeColors--> + <!--DFFOPT fillShadePreset--> + <!--DFFOPT fillShadeColors--> <UML:Class xmi.id="fillShadeColors" name="fillShadeColors"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47209,8 +50871,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillShadeColors--> -<!--DFFOPT fillOriginX--> + <!--DFFOPT fillShadeColors--> + <!--DFFOPT fillOriginX--> <UML:Class xmi.id="fillOriginX" name="fillOriginX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47256,8 +50918,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillOriginX--> -<!--DFFOPT fillOriginY--> + <!--DFFOPT fillOriginX--> + <!--DFFOPT fillOriginY--> <UML:Class xmi.id="fillOriginY" name="fillOriginY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47303,8 +50965,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillOriginY--> -<!--DFFOPT fillShapeOriginX--> + <!--DFFOPT fillOriginY--> + <!--DFFOPT fillShapeOriginX--> <UML:Class xmi.id="fillShapeOriginX" name="fillShapeOriginX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47350,8 +51012,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillShapeOriginX--> -<!--DFFOPT fillShapeOriginY--> + <!--DFFOPT fillShapeOriginX--> + <!--DFFOPT fillShapeOriginY--> <UML:Class xmi.id="fillShapeOriginY" name="fillShapeOriginY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47397,8 +51059,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillShapeOriginY--> -<!--DFFOPT fillShadeType--> + <!--DFFOPT fillShapeOriginY--> + <!--DFFOPT fillShadeType--> <UML:Class xmi.id="fillShadeType" name="fillShadeType"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47445,8 +51107,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillShadeType--> -<!--DFFOPT fFilled--> + <!--DFFOPT fillShadeType--> + <!--DFFOPT fFilled--> <UML:Class xmi.id="fFilled" name="fFilled"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47501,8 +51163,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fFilled--> -<!--DFFOPT fHitTestFill--> + <!--DFFOPT fFilled--> + <!--DFFOPT fHitTestFill--> <UML:Class xmi.id="fHitTestFill" name="fHitTestFill"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47557,8 +51219,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fHitTestFill--> -<!--DFFOPT fillShape--> + <!--DFFOPT fHitTestFill--> + <!--DFFOPT fillShape--> <UML:Class xmi.id="fillShape" name="fillShape"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47613,8 +51275,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillShape--> -<!--DFFOPT fillUseRect--> + <!--DFFOPT fillShape--> + <!--DFFOPT fillUseRect--> <UML:Class xmi.id="fillUseRect" name="fillUseRect"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47669,8 +51331,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fillUseRect--> -<!--DFFOPT fNoFillHitTest--> + <!--DFFOPT fillUseRect--> + <!--DFFOPT fNoFillHitTest--> <UML:Class xmi.id="fNoFillHitTest" name="fNoFillHitTest"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47725,8 +51387,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fNoFillHitTest--> -<!--DFFOPT lineColor--> + <!--DFFOPT fNoFillHitTest--> + <!--DFFOPT lineColor--> <UML:Class xmi.id="lineColor" name="lineColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47772,8 +51434,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineColor--> -<!--DFFOPT lineOpacity--> + <!--DFFOPT lineColor--> + <!--DFFOPT lineOpacity--> <UML:Class xmi.id="lineOpacity" name="lineOpacity"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47820,8 +51482,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineOpacity--> -<!--DFFOPT lineBackColor--> + <!--DFFOPT lineOpacity--> + <!--DFFOPT lineBackColor--> <UML:Class xmi.id="lineBackColor" name="lineBackColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47868,8 +51530,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineBackColor--> -<!--DFFOPT lineCrMod--> + <!--DFFOPT lineBackColor--> + <!--DFFOPT lineCrMod--> <UML:Class xmi.id="lineCrMod" name="lineCrMod"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47916,8 +51578,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineCrMod--> -<!--DFFOPT lineType--> + <!--DFFOPT lineCrMod--> + <!--DFFOPT lineType--> <UML:Class xmi.id="lineType" name="lineType"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -47963,8 +51625,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineType--> -<!--DFFOPT lineFillBlip--> + <!--DFFOPT lineType--> + <!--DFFOPT lineFillBlip--> <UML:Class xmi.id="lineFillBlip" name="lineFillBlip"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48010,8 +51672,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineFillBlip--> -<!--DFFOPT lineFillBlipName--> + <!--DFFOPT lineFillBlip--> + <!--DFFOPT lineFillBlipName--> <UML:Class xmi.id="lineFillBlipName" name="lineFillBlipName"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48058,8 +51720,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineFillBlipName--> -<!--DFFOPT lineFillBlipFlags--> + <!--DFFOPT lineFillBlipName--> + <!--DFFOPT lineFillBlipFlags--> <UML:Class xmi.id="lineFillBlipFlags" name="lineFillBlipFlags"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48105,8 +51767,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineFillBlipFlags--> -<!--DFFOPT lineFillWidth--> + <!--DFFOPT lineFillBlipFlags--> + <!--DFFOPT lineFillWidth--> <UML:Class xmi.id="lineFillWidth" name="lineFillWidth"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48153,8 +51815,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineFillWidth--> -<!--DFFOPT lineFillHeight--> + <!--DFFOPT lineFillWidth--> + <!--DFFOPT lineFillHeight--> <UML:Class xmi.id="lineFillHeight" name="lineFillHeight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48200,8 +51862,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineFillHeight--> -<!--DFFOPT lineFillDztype--> + <!--DFFOPT lineFillHeight--> + <!--DFFOPT lineFillDztype--> <UML:Class xmi.id="lineFillDztype" name="lineFillDztype"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48248,8 +51910,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineFillDztype--> -<!--DFFOPT lineWidth--> + <!--DFFOPT lineFillDztype--> + <!--DFFOPT lineWidth--> <UML:Class xmi.id="lineWidth" name="lineWidth"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48296,8 +51958,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineWidth--> -<!--DFFOPT lineMiterLimit--> + <!--DFFOPT lineWidth--> + <!--DFFOPT lineMiterLimit--> <UML:Class xmi.id="lineMiterLimit" name="lineMiterLimit"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48344,8 +52006,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineMiterLimit--> -<!--DFFOPT lineStyle--> + <!--DFFOPT lineMiterLimit--> + <!--DFFOPT lineStyle--> <UML:Class xmi.id="lineStyle" name="lineStyle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48392,8 +52054,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineStyle--> -<!--DFFOPT lineDashing--> + <!--DFFOPT lineStyle--> + <!--DFFOPT lineDashing--> <UML:Class xmi.id="lineDashing" name="lineDashing"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48440,8 +52102,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineDashing--> -<!--DFFOPT lineDashStyle--> + <!--DFFOPT lineDashing--> + <!--DFFOPT lineDashStyle--> <UML:Class xmi.id="lineDashStyle" name="lineDashStyle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48488,8 +52150,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineDashStyle--> -<!--DFFOPT lineStartArrowhead--> + <!--DFFOPT lineDashStyle--> + <!--DFFOPT lineStartArrowhead--> <UML:Class xmi.id="lineStartArrowhead" name="lineStartArrowhead"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48536,8 +52198,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineStartArrowhead--> -<!--DFFOPT lineEndArrowhead--> + <!--DFFOPT lineStartArrowhead--> + <!--DFFOPT lineEndArrowhead--> <UML:Class xmi.id="lineEndArrowhead" name="lineEndArrowhead"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48583,8 +52245,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineEndArrowhead--> -<!--DFFOPT lineStartArrowWidth--> + <!--DFFOPT lineEndArrowhead--> + <!--DFFOPT lineStartArrowWidth--> <UML:Class xmi.id="lineStartArrowWidth" name="lineStartArrowWidth"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48631,8 +52293,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineStartArrowWidth--> -<!--DFFOPT lineStartArrowLength--> + <!--DFFOPT lineStartArrowWidth--> + <!--DFFOPT lineStartArrowLength--> <UML:Class xmi.id="lineStartArrowLength" name="lineStartArrowLength"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48678,8 +52340,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineStartArrowLength--> -<!--DFFOPT lineEndArrowWidth--> + <!--DFFOPT lineStartArrowLength--> + <!--DFFOPT lineEndArrowWidth--> <UML:Class xmi.id="lineEndArrowWidth" name="lineEndArrowWidth"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48726,8 +52388,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineEndArrowWidth--> -<!--DFFOPT lineEndArrowLength--> + <!--DFFOPT lineEndArrowWidth--> + <!--DFFOPT lineEndArrowLength--> <UML:Class xmi.id="lineEndArrowLength" name="lineEndArrowLength"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48773,8 +52435,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineEndArrowLength--> -<!--DFFOPT lineJoinStyle--> + <!--DFFOPT lineEndArrowLength--> + <!--DFFOPT lineJoinStyle--> <UML:Class xmi.id="lineJoinStyle" name="lineJoinStyle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48821,8 +52483,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineJoinStyle--> -<!--DFFOPT lineEndCapStyle--> + <!--DFFOPT lineJoinStyle--> + <!--DFFOPT lineEndCapStyle--> <UML:Class xmi.id="lineEndCapStyle" name="lineEndCapStyle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48869,8 +52531,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineEndCapStyle--> -<!--DFFOPT fArrowheadsOK--> + <!--DFFOPT lineEndCapStyle--> + <!--DFFOPT fArrowheadsOK--> <UML:Class xmi.id="fArrowheadsOK" name="fArrowheadsOK"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48925,8 +52587,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fArrowheadsOK--> -<!--DFFOPT fLine--> + <!--DFFOPT fArrowheadsOK--> + <!--DFFOPT fLine--> <UML:Class xmi.id="fLine" name="fLine"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -48980,8 +52642,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLine--> -<!--DFFOPT fHitTestLine--> + <!--DFFOPT fLine--> + <!--DFFOPT fHitTestLine--> <UML:Class xmi.id="fHitTestLine" name="fHitTestLine"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49036,8 +52698,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fHitTestLine--> -<!--DFFOPT lineFillShape--> + <!--DFFOPT fHitTestLine--> + <!--DFFOPT lineFillShape--> <UML:Class xmi.id="lineFillShape" name="lineFillShape"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49092,8 +52754,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lineFillShape--> -<!--DFFOPT fNoLineDrawDash--> + <!--DFFOPT lineFillShape--> + <!--DFFOPT fNoLineDrawDash--> <UML:Class xmi.id="fNoLineDrawDash" name="fNoLineDrawDash"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49148,8 +52810,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fNoLineDrawDash--> -<!--DFFOPT shadowType--> + <!--DFFOPT fNoLineDrawDash--> + <!--DFFOPT shadowType--> <UML:Class xmi.id="shadowType" name="shadowType"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49196,8 +52858,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowType--> -<!--DFFOPT shadowColor--> + <!--DFFOPT shadowType--> + <!--DFFOPT shadowColor--> <UML:Class xmi.id="shadowColor" name="shadowColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49244,8 +52906,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowColor--> -<!--DFFOPT shadowHighlight--> + <!--DFFOPT shadowColor--> + <!--DFFOPT shadowHighlight--> <UML:Class xmi.id="shadowHighlight" name="shadowHighlight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49292,8 +52954,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowHighlight--> -<!--DFFOPT shadowCrMod--> + <!--DFFOPT shadowHighlight--> + <!--DFFOPT shadowCrMod--> <UML:Class xmi.id="shadowCrMod" name="shadowCrMod"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49340,8 +53002,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowCrMod--> -<!--DFFOPT shadowOpacity--> + <!--DFFOPT shadowCrMod--> + <!--DFFOPT shadowOpacity--> <UML:Class xmi.id="shadowOpacity" name="shadowOpacity"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49387,8 +53049,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowOpacity--> -<!--DFFOPT shadowOffsetX--> + <!--DFFOPT shadowOpacity--> + <!--DFFOPT shadowOffsetX--> <UML:Class xmi.id="shadowOffsetX" name="shadowOffsetX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49434,8 +53096,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowOffsetX--> -<!--DFFOPT shadowOffsetY--> + <!--DFFOPT shadowOffsetX--> + <!--DFFOPT shadowOffsetY--> <UML:Class xmi.id="shadowOffsetY" name="shadowOffsetY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49481,8 +53143,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowOffsetY--> -<!--DFFOPT shadowSecondOffsetX--> + <!--DFFOPT shadowOffsetY--> + <!--DFFOPT shadowSecondOffsetX--> <UML:Class xmi.id="shadowSecondOffsetX" name="shadowSecondOffsetX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49529,8 +53191,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowSecondOffsetX--> -<!--DFFOPT shadowSecondOffsetY--> + <!--DFFOPT shadowSecondOffsetX--> + <!--DFFOPT shadowSecondOffsetY--> <UML:Class xmi.id="shadowSecondOffsetY" name="shadowSecondOffsetY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49577,8 +53239,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowSecondOffsetY--> -<!--DFFOPT shadowScaleXToX--> + <!--DFFOPT shadowSecondOffsetY--> + <!--DFFOPT shadowScaleXToX--> <UML:Class xmi.id="shadowScaleXToX" name="shadowScaleXToX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49624,8 +53286,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowScaleXToX--> -<!--DFFOPT shadowScaleYToX--> + <!--DFFOPT shadowScaleXToX--> + <!--DFFOPT shadowScaleYToX--> <UML:Class xmi.id="shadowScaleYToX" name="shadowScaleYToX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49671,8 +53333,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowScaleYToX--> -<!--DFFOPT shadowScaleXToY--> + <!--DFFOPT shadowScaleYToX--> + <!--DFFOPT shadowScaleXToY--> <UML:Class xmi.id="shadowScaleXToY" name="shadowScaleXToY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49718,8 +53380,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowScaleXToY--> -<!--DFFOPT shadowScaleYToY--> + <!--DFFOPT shadowScaleXToY--> + <!--DFFOPT shadowScaleYToY--> <UML:Class xmi.id="shadowScaleYToY" name="shadowScaleYToY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49765,8 +53427,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowScaleYToY--> -<!--DFFOPT shadowPerspectiveX--> + <!--DFFOPT shadowScaleYToY--> + <!--DFFOPT shadowPerspectiveX--> <UML:Class xmi.id="shadowPerspectiveX" name="shadowPerspectiveX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49813,8 +53475,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowPerspectiveX--> -<!--DFFOPT shadowPerspectiveY--> + <!--DFFOPT shadowPerspectiveX--> + <!--DFFOPT shadowPerspectiveY--> <UML:Class xmi.id="shadowPerspectiveY" name="shadowPerspectiveY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49861,8 +53523,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowPerspectiveY--> -<!--DFFOPT shadowWeight--> + <!--DFFOPT shadowPerspectiveY--> + <!--DFFOPT shadowWeight--> <UML:Class xmi.id="shadowWeight" name="shadowWeight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49909,8 +53571,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowWeight--> -<!--DFFOPT shadowOriginX--> + <!--DFFOPT shadowWeight--> + <!--DFFOPT shadowOriginX--> <UML:Class xmi.id="shadowOriginX" name="shadowOriginX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -49956,8 +53618,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowOriginX--> -<!--DFFOPT shadowOriginY--> + <!--DFFOPT shadowOriginX--> + <!--DFFOPT shadowOriginY--> <UML:Class xmi.id="shadowOriginY" name="shadowOriginY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50003,8 +53665,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT shadowOriginY--> -<!--DFFOPT fShadow--> + <!--DFFOPT shadowOriginY--> + <!--DFFOPT fShadow--> <UML:Class xmi.id="fShadow" name="fShadow"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50058,8 +53720,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fShadow--> -<!--DFFOPT fshadowObscured--> + <!--DFFOPT fShadow--> + <!--DFFOPT fshadowObscured--> <UML:Class xmi.id="fshadowObscured" name="fshadowObscured"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50114,8 +53776,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fshadowObscured--> -<!--DFFOPT perspectiveType--> + <!--DFFOPT fshadowObscured--> + <!--DFFOPT perspectiveType--> <UML:Class xmi.id="perspectiveType" name="perspectiveType"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50162,8 +53824,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveType--> -<!--DFFOPT perspectiveOffsetX--> + <!--DFFOPT perspectiveType--> + <!--DFFOPT perspectiveOffsetX--> <UML:Class xmi.id="perspectiveOffsetX" name="perspectiveOffsetX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50211,8 +53873,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveOffsetX--> -<!--DFFOPT perspectiveOffsetY--> + <!--DFFOPT perspectiveOffsetX--> + <!--DFFOPT perspectiveOffsetY--> <UML:Class xmi.id="perspectiveOffsetY" name="perspectiveOffsetY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50258,8 +53920,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveOffsetY--> -<!--DFFOPT perspectiveScaleXToX--> + <!--DFFOPT perspectiveOffsetY--> + <!--DFFOPT perspectiveScaleXToX--> <UML:Class xmi.id="perspectiveScaleXToX" name="perspectiveScaleXToX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50305,8 +53967,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveScaleXToX--> -<!--DFFOPT perspectiveScaleYToX--> + <!--DFFOPT perspectiveScaleXToX--> + <!--DFFOPT perspectiveScaleYToX--> <UML:Class xmi.id="perspectiveScaleYToX" name="perspectiveScaleYToX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50352,8 +54014,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveScaleYToX--> -<!--DFFOPT perspectiveScaleXToY--> + <!--DFFOPT perspectiveScaleYToX--> + <!--DFFOPT perspectiveScaleXToY--> <UML:Class xmi.id="perspectiveScaleXToY" name="perspectiveScaleXToY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50399,8 +54061,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveScaleXToY--> -<!--DFFOPT perspectiveScaleYToY--> + <!--DFFOPT perspectiveScaleXToY--> + <!--DFFOPT perspectiveScaleYToY--> <UML:Class xmi.id="perspectiveScaleYToY" name="perspectiveScaleYToY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50446,8 +54108,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveScaleYToY--> -<!--DFFOPT perspectivePerspectiveX--> + <!--DFFOPT perspectiveScaleYToY--> + <!--DFFOPT perspectivePerspectiveX--> <UML:Class xmi.id="perspectivePerspectiveX" name="perspectivePerspectiveX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50493,8 +54155,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectivePerspectiveX--> -<!--DFFOPT perspectivePerspectiveY--> + <!--DFFOPT perspectivePerspectiveX--> + <!--DFFOPT perspectivePerspectiveY--> <UML:Class xmi.id="perspectivePerspectiveY" name="perspectivePerspectiveY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50540,8 +54202,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectivePerspectiveY--> -<!--DFFOPT perspectiveWeight--> + <!--DFFOPT perspectivePerspectiveY--> + <!--DFFOPT perspectiveWeight--> <UML:Class xmi.id="perspectiveWeight" name="perspectiveWeight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50588,8 +54250,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveWeight--> -<!--DFFOPT perspectiveOriginX--> + <!--DFFOPT perspectiveWeight--> + <!--DFFOPT perspectiveOriginX--> <UML:Class xmi.id="perspectiveOriginX" name="perspectiveOriginX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50635,8 +54297,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveOriginX--> -<!--DFFOPT perspectiveOriginY--> + <!--DFFOPT perspectiveOriginX--> + <!--DFFOPT perspectiveOriginY--> <UML:Class xmi.id="perspectiveOriginY" name="perspectiveOriginY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50682,8 +54344,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT perspectiveOriginY--> -<!--DFFOPT fPerspective--> + <!--DFFOPT perspectiveOriginY--> + <!--DFFOPT fPerspective--> <UML:Class xmi.id="fPerspective" name="fPerspective"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50737,8 +54399,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fPerspective--> -<!--DFFOPT c3DSpecularAmt--> + <!--DFFOPT fPerspective--> + <!--DFFOPT c3DSpecularAmt--> <UML:Class xmi.id="c3DSpecularAmt" name="c3DSpecularAmt"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50785,8 +54447,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DSpecularAmt--> -<!--DFFOPT c3DDiffuseAmt--> + <!--DFFOPT c3DSpecularAmt--> + <!--DFFOPT c3DDiffuseAmt--> <UML:Class xmi.id="c3DDiffuseAmt" name="c3DDiffuseAmt"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50833,8 +54495,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DDiffuseAmt--> -<!--DFFOPT c3DShininess--> + <!--DFFOPT c3DDiffuseAmt--> + <!--DFFOPT c3DShininess--> <UML:Class xmi.id="c3DShininess" name="c3DShininess"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50881,8 +54543,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DShininess--> -<!--DFFOPT c3DEdgeThickness--> + <!--DFFOPT c3DShininess--> + <!--DFFOPT c3DEdgeThickness--> <UML:Class xmi.id="c3DEdgeThickness" name="c3DEdgeThickness"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50929,8 +54591,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DEdgeThickness--> -<!--DFFOPT c3DExtrudeForward--> + <!--DFFOPT c3DEdgeThickness--> + <!--DFFOPT c3DExtrudeForward--> <UML:Class xmi.id="c3DExtrudeForward" name="c3DExtrudeForward"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -50977,8 +54639,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DExtrudeForward--> -<!--DFFOPT c3DExtrudeBackward--> + <!--DFFOPT c3DExtrudeForward--> + <!--DFFOPT c3DExtrudeBackward--> <UML:Class xmi.id="c3DExtrudeBackward" name="c3DExtrudeBackward"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51024,8 +54686,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DExtrudeBackward--> -<!--DFFOPT c3DExtrudePlane--> + <!--DFFOPT c3DExtrudeBackward--> + <!--DFFOPT c3DExtrudePlane--> <UML:Class xmi.id="c3DExtrudePlane" name="c3DExtrudePlane"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51072,8 +54734,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DExtrudePlane--> -<!--DFFOPT c3DExtrusionColor--> + <!--DFFOPT c3DExtrudePlane--> + <!--DFFOPT c3DExtrusionColor--> <UML:Class xmi.id="c3DExtrusionColor" name="c3DExtrusionColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51121,8 +54783,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DExtrusionColor--> -<!--DFFOPT c3DCrMod--> + <!--DFFOPT c3DExtrusionColor--> + <!--DFFOPT c3DCrMod--> <UML:Class xmi.id="c3DCrMod" name="c3DCrMod"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51169,8 +54831,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DCrMod--> -<!--DFFOPT f3D--> + <!--DFFOPT c3DCrMod--> + <!--DFFOPT f3D--> <UML:Class xmi.id="f3D" name="f3D"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51225,8 +54887,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT f3D--> -<!--DFFOPT fc3DMetallic--> + <!--DFFOPT f3D--> + <!--DFFOPT fc3DMetallic--> <UML:Class xmi.id="fc3DMetallic" name="fc3DMetallic"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51281,8 +54943,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fc3DMetallic--> -<!--DFFOPT fc3DUseExtrusionColor--> + <!--DFFOPT fc3DMetallic--> + <!--DFFOPT fc3DUseExtrusionColor--> <UML:Class xmi.id="fc3DUseExtrusionColor" name="fc3DUseExtrusionColor"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51336,8 +54998,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fc3DUseExtrusionColor--> -<!--DFFOPT fc3DLightFace--> + <!--DFFOPT fc3DUseExtrusionColor--> + <!--DFFOPT fc3DLightFace--> <UML:Class xmi.id="fc3DLightFace" name="fc3DLightFace"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51391,8 +55053,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fc3DLightFace--> -<!--DFFOPT c3DYRotationAngle--> + <!--DFFOPT fc3DLightFace--> + <!--DFFOPT c3DYRotationAngle--> <UML:Class xmi.id="c3DYRotationAngle" name="c3DYRotationAngle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51439,8 +55101,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DYRotationAngle--> -<!--DFFOPT c3DXRotationAngle--> + <!--DFFOPT c3DYRotationAngle--> + <!--DFFOPT c3DXRotationAngle--> <UML:Class xmi.id="c3DXRotationAngle" name="c3DXRotationAngle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51487,8 +55149,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DXRotationAngle--> -<!--DFFOPT c3DRotationAxisX--> + <!--DFFOPT c3DXRotationAngle--> + <!--DFFOPT c3DRotationAxisX--> <UML:Class xmi.id="c3DRotationAxisX" name="c3DRotationAxisX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51535,8 +55197,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DRotationAxisX--> -<!--DFFOPT c3DRotationAxisY--> + <!--DFFOPT c3DRotationAxisX--> + <!--DFFOPT c3DRotationAxisY--> <UML:Class xmi.id="c3DRotationAxisY" name="c3DRotationAxisY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51582,8 +55244,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DRotationAxisY--> -<!--DFFOPT c3DRotationAxisZ--> + <!--DFFOPT c3DRotationAxisY--> + <!--DFFOPT c3DRotationAxisZ--> <UML:Class xmi.id="c3DRotationAxisZ" name="c3DRotationAxisZ"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51629,8 +55291,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DRotationAxisZ--> -<!--DFFOPT c3DRotationAngle--> + <!--DFFOPT c3DRotationAxisZ--> + <!--DFFOPT c3DRotationAngle--> <UML:Class xmi.id="c3DRotationAngle" name="c3DRotationAngle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51677,8 +55339,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DRotationAngle--> -<!--DFFOPT c3DRotationCenterX--> + <!--DFFOPT c3DRotationAngle--> + <!--DFFOPT c3DRotationCenterX--> <UML:Class xmi.id="c3DRotationCenterX" name="c3DRotationCenterX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51725,8 +55387,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DRotationCenterX--> -<!--DFFOPT c3DRotationCenterY--> + <!--DFFOPT c3DRotationCenterX--> + <!--DFFOPT c3DRotationCenterY--> <UML:Class xmi.id="c3DRotationCenterY" name="c3DRotationCenterY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51773,8 +55435,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DRotationCenterY--> -<!--DFFOPT c3DRotationCenterZ--> + <!--DFFOPT c3DRotationCenterY--> + <!--DFFOPT c3DRotationCenterZ--> <UML:Class xmi.id="c3DRotationCenterZ" name="c3DRotationCenterZ"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51821,8 +55483,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DRotationCenterZ--> -<!--DFFOPT c3DRenderMode--> + <!--DFFOPT c3DRotationCenterZ--> + <!--DFFOPT c3DRenderMode--> <UML:Class xmi.id="c3DRenderMode" name="c3DRenderMode"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51869,8 +55531,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DRenderMode--> -<!--DFFOPT c3DTolerance--> + <!--DFFOPT c3DRenderMode--> + <!--DFFOPT c3DTolerance--> <UML:Class xmi.id="c3DTolerance" name="c3DTolerance"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51917,8 +55579,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DTolerance--> -<!--DFFOPT c3DXViewpoint--> + <!--DFFOPT c3DTolerance--> + <!--DFFOPT c3DXViewpoint--> <UML:Class xmi.id="c3DXViewpoint" name="c3DXViewpoint"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -51965,8 +55627,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DXViewpoint--> -<!--DFFOPT c3DYViewpoint--> + <!--DFFOPT c3DXViewpoint--> + <!--DFFOPT c3DYViewpoint--> <UML:Class xmi.id="c3DYViewpoint" name="c3DYViewpoint"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52013,8 +55675,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DYViewpoint--> -<!--DFFOPT c3DZViewpoint--> + <!--DFFOPT c3DYViewpoint--> + <!--DFFOPT c3DZViewpoint--> <UML:Class xmi.id="c3DZViewpoint" name="c3DZViewpoint"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52061,8 +55723,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DZViewpoint--> -<!--DFFOPT c3DOriginX--> + <!--DFFOPT c3DZViewpoint--> + <!--DFFOPT c3DOriginX--> <UML:Class xmi.id="c3DOriginX" name="c3DOriginX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52108,8 +55770,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DOriginX--> -<!--DFFOPT c3DOriginY--> + <!--DFFOPT c3DOriginX--> + <!--DFFOPT c3DOriginY--> <UML:Class xmi.id="c3DOriginY" name="c3DOriginY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52155,8 +55817,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DOriginY--> -<!--DFFOPT c3DSkewAngle--> + <!--DFFOPT c3DOriginY--> + <!--DFFOPT c3DSkewAngle--> <UML:Class xmi.id="c3DSkewAngle" name="c3DSkewAngle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52203,8 +55865,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DSkewAngle--> -<!--DFFOPT c3DSkewAmount--> + <!--DFFOPT c3DSkewAngle--> + <!--DFFOPT c3DSkewAmount--> <UML:Class xmi.id="c3DSkewAmount" name="c3DSkewAmount"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52251,8 +55913,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DSkewAmount--> -<!--DFFOPT c3DAmbientIntensity--> + <!--DFFOPT c3DSkewAmount--> + <!--DFFOPT c3DAmbientIntensity--> <UML:Class xmi.id="c3DAmbientIntensity" name="c3DAmbientIntensity"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52299,8 +55961,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DAmbientIntensity--> -<!--DFFOPT c3DKeyX--> + <!--DFFOPT c3DAmbientIntensity--> + <!--DFFOPT c3DKeyX--> <UML:Class xmi.id="c3DKeyX" name="c3DKeyX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52347,8 +56009,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DKeyX--> -<!--DFFOPT c3DKeyY--> + <!--DFFOPT c3DKeyX--> + <!--DFFOPT c3DKeyY--> <UML:Class xmi.id="c3DKeyY" name="c3DKeyY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52395,8 +56057,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DKeyY--> -<!--DFFOPT c3DKeyZ--> + <!--DFFOPT c3DKeyY--> + <!--DFFOPT c3DKeyZ--> <UML:Class xmi.id="c3DKeyZ" name="c3DKeyZ"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52443,8 +56105,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DKeyZ--> -<!--DFFOPT c3DKeyIntensity--> + <!--DFFOPT c3DKeyZ--> + <!--DFFOPT c3DKeyIntensity--> <UML:Class xmi.id="c3DKeyIntensity" name="c3DKeyIntensity"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52491,8 +56153,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DKeyIntensity--> -<!--DFFOPT c3DFillX--> + <!--DFFOPT c3DKeyIntensity--> + <!--DFFOPT c3DFillX--> <UML:Class xmi.id="c3DFillX" name="c3DFillX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52539,8 +56201,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DFillX--> -<!--DFFOPT c3DFillY--> + <!--DFFOPT c3DFillX--> + <!--DFFOPT c3DFillY--> <UML:Class xmi.id="c3DFillY" name="c3DFillY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52587,8 +56249,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DFillY--> -<!--DFFOPT c3DFillZ--> + <!--DFFOPT c3DFillY--> + <!--DFFOPT c3DFillZ--> <UML:Class xmi.id="c3DFillZ" name="c3DFillZ"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52635,8 +56297,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DFillZ--> -<!--DFFOPT c3DFillIntensity--> + <!--DFFOPT c3DFillZ--> + <!--DFFOPT c3DFillIntensity--> <UML:Class xmi.id="c3DFillIntensity" name="c3DFillIntensity"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52683,8 +56345,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT c3DFillIntensity--> -<!--DFFOPT fc3DConstrainRotation--> + <!--DFFOPT c3DFillIntensity--> + <!--DFFOPT fc3DConstrainRotation--> <UML:Class xmi.id="fc3DConstrainRotation" name="fc3DConstrainRotation"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52738,8 +56400,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fc3DConstrainRotation--> -<!--DFFOPT fc3DRotationCenterAuto--> + <!--DFFOPT fc3DConstrainRotation--> + <!--DFFOPT fc3DRotationCenterAuto--> <UML:Class xmi.id="fc3DRotationCenterAuto" name="fc3DRotationCenterAuto"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52793,8 +56455,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fc3DRotationCenterAuto--> -<!--DFFOPT fc3DParallel--> + <!--DFFOPT fc3DRotationCenterAuto--> + <!--DFFOPT fc3DParallel--> <UML:Class xmi.id="fc3DParallel" name="fc3DParallel"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52849,8 +56511,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fc3DParallel--> -<!--DFFOPT fc3DKeyHarsh--> + <!--DFFOPT fc3DParallel--> + <!--DFFOPT fc3DKeyHarsh--> <UML:Class xmi.id="fc3DKeyHarsh" name="fc3DKeyHarsh"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52905,8 +56567,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fc3DKeyHarsh--> -<!--DFFOPT fc3DFillHarsh--> + <!--DFFOPT fc3DKeyHarsh--> + <!--DFFOPT fc3DFillHarsh--> <UML:Class xmi.id="fc3DFillHarsh" name="fc3DFillHarsh"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -52961,8 +56623,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fc3DFillHarsh--> -<!--DFFOPT hspMaster--> + <!--DFFOPT fc3DFillHarsh--> + <!--DFFOPT hspMaster--> <UML:Class xmi.id="hspMaster" name="hspMaster"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53009,8 +56671,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT hspMaster--> -<!--DFFOPT cxstyle--> + <!--DFFOPT hspMaster--> + <!--DFFOPT cxstyle--> <UML:Class xmi.id="cxstyle" name="cxstyle"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53057,8 +56719,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT cxstyle--> -<!--DFFOPT bWMode--> + <!--DFFOPT cxstyle--> + <!--DFFOPT bWMode--> <UML:Class xmi.id="bWMode" name="bWMode"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53106,8 +56768,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT bWMode--> -<!--DFFOPT bWModePureBW--> + <!--DFFOPT bWMode--> + <!--DFFOPT bWModePureBW--> <UML:Class xmi.id="bWModePureBW" name="bWModePureBW"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53153,8 +56815,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT bWModePureBW--> -<!--DFFOPT bWModeBW--> + <!--DFFOPT bWModePureBW--> + <!--DFFOPT bWModeBW--> <UML:Class xmi.id="bWModeBW" name="bWModeBW"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53200,8 +56862,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT bWModeBW--> -<!--DFFOPT fOleIcon--> + <!--DFFOPT bWModeBW--> + <!--DFFOPT fOleIcon--> <UML:Class xmi.id="fOleIcon" name="fOleIcon"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53256,8 +56918,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fOleIcon--> -<!--DFFOPT fPreferRelativeResize--> + <!--DFFOPT fOleIcon--> + <!--DFFOPT fPreferRelativeResize--> <UML:Class xmi.id="fPreferRelativeResize" name="fPreferRelativeResize"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53312,8 +56974,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fPreferRelativeResize--> -<!--DFFOPT fLockShapeType--> + <!--DFFOPT fPreferRelativeResize--> + <!--DFFOPT fLockShapeType--> <UML:Class xmi.id="fLockShapeType" name="fLockShapeType"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53368,8 +57030,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fLockShapeType--> -<!--DFFOPT fDeleteAttachedObject--> + <!--DFFOPT fLockShapeType--> + <!--DFFOPT fDeleteAttachedObject--> <UML:Class xmi.id="fDeleteAttachedObject" name="fDeleteAttachedObject"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53423,8 +57085,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fDeleteAttachedObject--> -<!--DFFOPT fBackground--> + <!--DFFOPT fDeleteAttachedObject--> + <!--DFFOPT fBackground--> <UML:Class xmi.id="fBackground" name="fBackground"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53479,8 +57141,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fBackground--> -<!--DFFOPT spcot--> + <!--DFFOPT fBackground--> + <!--DFFOPT spcot--> <UML:Class xmi.id="spcot" name="spcot"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53526,8 +57188,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT spcot--> -<!--DFFOPT dxyCalloutGap--> + <!--DFFOPT spcot--> + <!--DFFOPT dxyCalloutGap--> <UML:Class xmi.id="dxyCalloutGap" name="dxyCalloutGap"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53574,8 +57236,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dxyCalloutGap--> -<!--DFFOPT spcoa--> + <!--DFFOPT dxyCalloutGap--> + <!--DFFOPT spcoa--> <UML:Class xmi.id="spcoa" name="spcoa"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53621,8 +57283,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT spcoa--> -<!--DFFOPT spcod--> + <!--DFFOPT spcoa--> + <!--DFFOPT spcod--> <UML:Class xmi.id="spcod" name="spcod"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53669,8 +57331,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT spcod--> -<!--DFFOPT dxyCalloutDropSpecified--> + <!--DFFOPT spcod--> + <!--DFFOPT dxyCalloutDropSpecified--> <UML:Class xmi.id="dxyCalloutDropSpecified" name="dxyCalloutDropSpecified"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53717,8 +57379,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dxyCalloutDropSpecified--> -<!--DFFOPT dxyCalloutLengthSpecified--> + <!--DFFOPT dxyCalloutDropSpecified--> + <!--DFFOPT dxyCalloutLengthSpecified--> <UML:Class xmi.id="dxyCalloutLengthSpecified" name="dxyCalloutLengthSpecified"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53765,8 +57427,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dxyCalloutLengthSpecified--> -<!--DFFOPT fCallout--> + <!--DFFOPT dxyCalloutLengthSpecified--> + <!--DFFOPT fCallout--> <UML:Class xmi.id="fCallout" name="fCallout"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53821,8 +57483,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fCallout--> -<!--DFFOPT fCalloutAccentBar--> + <!--DFFOPT fCallout--> + <!--DFFOPT fCalloutAccentBar--> <UML:Class xmi.id="fCalloutAccentBar" name="fCalloutAccentBar"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53877,8 +57539,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fCalloutAccentBar--> -<!--DFFOPT fCalloutTextBorder--> + <!--DFFOPT fCalloutAccentBar--> + <!--DFFOPT fCalloutTextBorder--> <UML:Class xmi.id="fCalloutTextBorder" name="fCalloutTextBorder"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53933,8 +57595,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fCalloutTextBorder--> -<!--DFFOPT fCalloutMinusX--> + <!--DFFOPT fCalloutTextBorder--> + <!--DFFOPT fCalloutMinusX--> <UML:Class xmi.id="fCalloutMinusX" name="fCalloutMinusX"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -53988,8 +57650,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fCalloutMinusX--> -<!--DFFOPT fCalloutMinusY--> + <!--DFFOPT fCalloutMinusX--> + <!--DFFOPT fCalloutMinusY--> <UML:Class xmi.id="fCalloutMinusY" name="fCalloutMinusY"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54043,8 +57705,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fCalloutMinusY--> -<!--DFFOPT fCalloutDropAuto--> + <!--DFFOPT fCalloutMinusY--> + <!--DFFOPT fCalloutDropAuto--> <UML:Class xmi.id="fCalloutDropAuto" name="fCalloutDropAuto"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54099,8 +57761,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fCalloutDropAuto--> -<!--DFFOPT fCalloutLengthSpecified--> + <!--DFFOPT fCalloutDropAuto--> + <!--DFFOPT fCalloutLengthSpecified--> <UML:Class xmi.id="fCalloutLengthSpecified" name="fCalloutLengthSpecified"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54155,8 +57817,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fCalloutLengthSpecified--> -<!--DFFOPT wzName--> + <!--DFFOPT fCalloutLengthSpecified--> + <!--DFFOPT wzName--> <UML:Class xmi.id="wzName" name="wzName"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54203,8 +57865,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT wzName--> -<!--DFFOPT wzDescription--> + <!--DFFOPT wzName--> + <!--DFFOPT wzDescription--> <UML:Class xmi.id="wzDescription" name="wzDescription"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54251,8 +57913,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT wzDescription--> -<!--DFFOPT pihlShape--> + <!--DFFOPT wzDescription--> + <!--DFFOPT pihlShape--> <UML:Class xmi.id="pihlShape" name="pihlShape"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54299,8 +57961,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pihlShape--> -<!--DFFOPT pWrapPolygonVertices--> + <!--DFFOPT pihlShape--> + <!--DFFOPT pWrapPolygonVertices--> <UML:Class xmi.id="pWrapPolygonVertices" name="pWrapPolygonVertices"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54347,8 +58009,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT pWrapPolygonVertices--> -<!--DFFOPT dxWrapDistLeft--> + <!--DFFOPT pWrapPolygonVertices--> + <!--DFFOPT dxWrapDistLeft--> <UML:Class xmi.id="dxWrapDistLeft" name="dxWrapDistLeft"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54395,8 +58057,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dxWrapDistLeft--> -<!--DFFOPT dyWrapDistTop--> + <!--DFFOPT dxWrapDistLeft--> + <!--DFFOPT dyWrapDistTop--> <UML:Class xmi.id="dyWrapDistTop" name="dyWrapDistTop"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54443,8 +58105,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dyWrapDistTop--> -<!--DFFOPT dxWrapDistRight--> + <!--DFFOPT dyWrapDistTop--> + <!--DFFOPT dxWrapDistRight--> <UML:Class xmi.id="dxWrapDistRight" name="dxWrapDistRight"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54491,8 +58153,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dxWrapDistRight--> -<!--DFFOPT dyWrapDistBottom--> + <!--DFFOPT dxWrapDistRight--> + <!--DFFOPT dyWrapDistBottom--> <UML:Class xmi.id="dyWrapDistBottom" name="dyWrapDistBottom"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54539,8 +58201,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT dyWrapDistBottom--> -<!--DFFOPT lidRegroup--> + <!--DFFOPT dyWrapDistBottom--> + <!--DFFOPT lidRegroup--> <UML:Class xmi.id="lidRegroup" name="lidRegroup"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54586,8 +58248,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT lidRegroup--> -<!--DFFOPT fEditedWrap--> + <!--DFFOPT lidRegroup--> + <!--DFFOPT fEditedWrap--> <UML:Class xmi.id="fEditedWrap" name="fEditedWrap"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54642,8 +58304,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fEditedWrap--> -<!--DFFOPT fBehindDocument--> + <!--DFFOPT fEditedWrap--> + <!--DFFOPT fBehindDocument--> <UML:Class xmi.id="fBehindDocument" name="fBehindDocument"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54698,8 +58360,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fBehindDocument--> -<!--DFFOPT fOnDblClickNotify--> + <!--DFFOPT fBehindDocument--> + <!--DFFOPT fOnDblClickNotify--> <UML:Class xmi.id="fOnDblClickNotify" name="fOnDblClickNotify"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54754,8 +58416,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fOnDblClickNotify--> -<!--DFFOPT fIsButton--> + <!--DFFOPT fOnDblClickNotify--> + <!--DFFOPT fIsButton--> <UML:Class xmi.id="fIsButton" name="fIsButton"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54811,8 +58473,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fIsButton--> -<!--DFFOPT fOneD--> + <!--DFFOPT fIsButton--> + <!--DFFOPT fOneD--> <UML:Class xmi.id="fOneD" name="fOneD"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54866,8 +58528,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fOneD--> -<!--DFFOPT fHidden--> + <!--DFFOPT fOneD--> + <!--DFFOPT fHidden--> <UML:Class xmi.id="fHidden" name="fHidden"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54922,8 +58584,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fHidden--> -<!--DFFOPT fPrint--> + <!--DFFOPT fHidden--> + <!--DFFOPT fPrint--> <UML:Class xmi.id="fPrint" name="fPrint"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="dffopt"/> @@ -54978,8 +58640,8 @@ </UML:TaggedValue> </UML:ModelElement.taggedValue> </UML:Class> -<!--DFFOPT fPrint--> -<!--DFFOPT--> + <!--DFFOPT fPrint--> + <!--DFFOPT--> </UML:Namespace.ownedElement> </UML:Model> </XMI.content> diff --git a/writerfilter/source/doctok/resources.xsl b/writerfilter/source/doctok/resources.xsl index 1ef78a79dd76..e1fc68ba5323 100644 --- a/writerfilter/source/doctok/resources.xsl +++ b/writerfilter/source/doctok/resources.xsl @@ -480,7 +480,6 @@ class </xsl:text> <xsl:variable name="stereotype"><xsl:value-of select=".//UML:Stereotype[1]/@xmi.idref"/></xsl:variable> <xsl:variable name="offset_"><xsl:value-of select='translate(.//UML:TaggedValue[.//UML:TagDefinition/@xmi.idref="offset"]/UML:TaggedValue.dataValue, "ABCDEFX", "abcdefx")'/></xsl:variable> <xsl:variable name="offset"> - <xsl:if test='$offset_ != "" and not(starts-with($offset_, "0x"))'>0x</xsl:if> <xsl:value-of select='$offset_'/> </xsl:variable> <xsl:variable name="shift"><xsl:value-of select='.//UML:TaggedValue[.//UML:TagDefinition/@xmi.idref="shift"]/UML:TaggedValue.dataValue'/></xsl:variable> diff --git a/writerfilter/source/doctok/xmigen.el b/writerfilter/source/doctok/xmigen.el index 6f0f35524d76..c85299604374 100644 --- a/writerfilter/source/doctok/xmigen.el +++ b/writerfilter/source/doctok/xmigen.el @@ -123,5 +123,4 @@ (insert-uml-stereotype "ww8sprm") (insert-uml-taggedvalue sprmcode "sprmcode") (insert-uml-taggedvalue (concat "rtf:" name) "sprmid") - (insert-uml-taggedvalue kind "kind") - (insert-uml-class-end)) + (insert-uml-taggedvalue kind "kind"))
\ No newline at end of file diff --git a/writerfilter/source/doctok/xmigen.xsl b/writerfilter/source/doctok/xmigen.xsl new file mode 100644 index 000000000000..d6eab5846fd4 --- /dev/null +++ b/writerfilter/source/doctok/xmigen.xsl @@ -0,0 +1,507 @@ +<!-- +/************************************************************************* + * + * 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: resources.xsl,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. + * + ************************************************************************/ + +--> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:UML = 'org.omg.xmi.namespace.UML' + xml:space="default"> + <xsl:output method="xml"/> + + <xsl:template match="/"> + <out> + <xsl:apply-templates select="*"/> + </out> + </xsl:template> + + <xsl:template name="calcsizeinner"> + <xsl:param name="size">0</xsl:param> + <xsl:variable name="arraycount"> + <xsl:choose> + <xsl:when test="@array-count"> + <xsl:value-of select="@array-count"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="mysize"> + <xsl:choose> + <xsl:when test="@size and not(@offset)"> + <xsl:value-of select="number($arraycount) * number(@size)"/> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:choose> + <xsl:when test="following-sibling::*"> + <xsl:for-each select="following-sibling::*[1]"> + <xsl:call-template name="calcsizeinner"> + <xsl:with-param name="size" + select="number($size) + number($mysize)"/> + </xsl:call-template> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="number($size) + number($mysize)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="calcsize"> + <xsl:for-each select="*[1]"> + <xsl:call-template name="calcsizeinner"/> + </xsl:for-each> + </xsl:template> + + <xsl:template name="calcoffsetinner"> + <xsl:variable name="arraycount"> + <xsl:choose> + <xsl:when test="@array-count"> + <xsl:value-of select="@array-count"/> + </xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="mysize"> + <xsl:choose> + <xsl:when test="@size and not(@offset)"> + <xsl:value-of select="number($arraycount) * number(@size)"/> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:choose> + <xsl:when test="preceding-sibling::*"> + <xsl:variable name="precedingoffset"> + <xsl:for-each select="preceding-sibling::*[1]"> + <xsl:call-template name="calcoffsetinner"/> + </xsl:for-each> + </xsl:variable> + <xsl:value-of select="number($precedingoffset) + number($mysize)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$mysize"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="calcoffset"> + <xsl:choose> + <xsl:when test="@offset"> + <xsl:value-of select="@offset"/> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="preceding-sibling::*[1]"> + <xsl:call-template name="calcoffsetinner"/> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="ww8resource"> + <UML:Class> + <xsl:attribute name="xmi.id"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <xsl:for-each select="stereotype"> + <UML:ModelElement.stereotype> + <UML:Stereotype> + <xsl:attribute name="xmi.idref"> + <xsl:value-of select="@name"/> + </xsl:attribute> + </UML:Stereotype> + </UML:ModelElement.stereotype> + </xsl:for-each> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue> + <xsl:call-template name="calcsize"/> + </UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="size"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + + <xsl:apply-templates select="*"/> + + </UML:Class> + <UML:Generalization isSpecification="false"> + <xsl:attribute name="xmi.id"> + <xsl:value-of select="@name"/> + <xsl:text>-</xsl:text> + <xsl:value-of select="@resource"/> + </xsl:attribute> + <UML:Generalization.child> + <UML:Class> + <xsl:attribute name="xmi.idref"> + <xsl:value-of select="@name"/> + </xsl:attribute> + </UML:Class> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"> + <xsl:attribute name="xmi.idref"> + <xsl:value-of select="@resource"/> + </xsl:attribute> + </UML:Class> + </UML:Generalization.parent> + </UML:Generalization> + </xsl:template> + + <xsl:template name="taggedvalue"> + <xsl:param name="type"/> + <xsl:param name="value"/> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue> + <xsl:value-of select="$value"/> + </UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition> + <xsl:attribute name="xmi.idref"> + <xsl:value-of select="$type"/> + </xsl:attribute> + </UML:TagDefinition> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + </xsl:template> + + <xsl:template match="attribute"> + <UML:Classifier.feature> + <UML:Attribute> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">comment</xsl:with-param> + <xsl:with-param name="value"/> + </xsl:call-template> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">offset</xsl:with-param> + <xsl:with-param name="value"> + <xsl:call-template name="calcoffset"/> + </xsl:with-param> + </xsl:call-template> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">shift</xsl:with-param> + <xsl:with-param name="value"></xsl:with-param> + </xsl:call-template> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">mask</xsl:with-param> + <xsl:with-param name="value"></xsl:with-param> + </xsl:call-template> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">bits</xsl:with-param> + <xsl:with-param name="value"></xsl:with-param> + </xsl:call-template> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">attrid</xsl:with-param> + <xsl:with-param name="value"> + <xsl:choose> + <xsl:when test="@token"> + <xsl:value-of select="@token"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>rtf:</xsl:text> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + <xsl:if test="@array-count"> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">arraycount</xsl:with-param> + <xsl:with-param name="value"> + <xsl:value-of select="@array-count"/> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + <UML:StructuralFeature.type> + <UML:DataType> + <xsl:attribute name="xmi.idref"> + <xsl:value-of select="@type"/> + </xsl:attribute> + </UML:DataType> + </UML:StructuralFeature.type> + <xsl:choose> + <xsl:when test="@array-count"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="array"/> + </UML:ModelElement.stereotype> + </xsl:when> + <xsl:otherwise> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </xsl:otherwise> + </xsl:choose> + </UML:Attribute> + </UML:Classifier.feature> + </xsl:template> + + <xsl:template match="bitfield"> + <xsl:variable name="offset"> + <xsl:value-of select="sum(preceding-sibling::*/@size)"/> + </xsl:variable> + <xsl:for-each select="bits"> + <xsl:call-template name="bits"> + <xsl:with-param name="offset" select="$offset"/> + </xsl:call-template> + </xsl:for-each> + </xsl:template> + + <xsl:template name="mask"> + <xsl:param name="count"/> + <xsl:param name="value"/> + + <xsl:choose> + <xsl:when test="number($count) = 1"> + <xsl:value-of select="$value"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="mask"> + <xsl:with-param name="count" select="number($count) - 1"/> + <xsl:with-param name="value" select="number($value) * 2 + 1"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="shift"> + <xsl:param name="shift"/> + <xsl:param name="value"/> + + <xsl:choose> + <xsl:when test="number($shift) = 0"> + <xsl:value-of select="$value"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="shift"> + <xsl:with-param name="shift" select="number($shift) - 1"/> + <xsl:with-param name="value" select="$value * 2"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name='dectohex'> + <xsl:param name="number"/> + <xsl:if test="$number > 16"> + <xsl:call-template name="dectohex"> + <xsl:with-param name="number" select="floor($number div 16)"/> + </xsl:call-template> + </xsl:if> + <xsl:value-of select="substring('0123456789abcdef', $number mod 16 + 1, 1)"/> + </xsl:template> + + <xsl:template name="calcshift"> + <xsl:choose> + <xsl:when test="@shift"> + <xsl:value-of select="@shift"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="sum(following-sibling::*[not (@shift)]/@bits)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="bits"> + <xsl:param name="offset"/> + <xsl:variable name="shift"> + <xsl:call-template name="calcshift"/> + </xsl:variable> + <xsl:variable name="mask"> + <xsl:call-template name="mask"> + <xsl:with-param name="count" select="@bits"/> + <xsl:with-param name="value" select="1"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="maskshifted"> + <xsl:call-template name="shift"> + <xsl:with-param name="shift" select="$shift"/> + <xsl:with-param name="value" select="$mask"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="maskhex"> + <xsl:text>0x</xsl:text> + <xsl:call-template name="dectohex"> + <xsl:with-param name="number" select="$maskshifted"/> + </xsl:call-template> + </xsl:variable> + <UML:Classifier.feature> + <UML:Attribute> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue/> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue> + <xsl:value-of select="$offset"/> + </UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="offset"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue> + <xsl:value-of select="$shift"/> + </UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue> + <xsl:value-of select="$maskhex"/> + </UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="mask"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue> + <xsl:value-of select="@bits"/> + </UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue> + <xsl:choose> + <xsl:when test="@token"> + <xsl:value-of select="@token"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>rtf:</xsl:text> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:StructuralFeature.type> + <UML:DataType> + <xsl:attribute name="xmi.idref"> + <xsl:value-of select="ancestor::bitfield/@type"/> + </xsl:attribute> + </UML:DataType> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + </xsl:template> + + <xsl:template match="operation"> + <UML:Classifier.feature> + <UML:Operation> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">opid</xsl:with-param> + <xsl:with-param name="value"> + <xsl:choose> + <xsl:when test="@token"> + <xsl:value-of select="@token"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>rtf:</xsl:text> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + <xsl:if test="@array-count"> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">arraycount</xsl:with-param> + <xsl:with-param name="value"> + <xsl:value-of select="@array-count"/> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + <UML:BehavioralFeature.parameter> + <UML:Parameter kind="return" name="return"> + <UML:Parameter.type> + <UML:Class> + <xsl:attribute name="xmi.idref"> + <xsl:value-of select="@type"/> + </xsl:attribute> + </UML:Class> + </UML:Parameter.type> + </UML:Parameter> + </UML:BehavioralFeature.parameter> + <xsl:choose> + <xsl:when test="@array-count or stereotype[text()='array']"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="array"/> + </UML:ModelElement.stereotype> + </xsl:when> + <xsl:otherwise> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </xsl:otherwise> + </xsl:choose> + </UML:Operation> + </UML:Classifier.feature> + </xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/filter/ImportFilter.cxx b/writerfilter/source/filter/ImportFilter.cxx index 46b5563f3b80..911689996b07 100644 --- a/writerfilter/source/filter/ImportFilter.cxx +++ b/writerfilter/source/filter/ImportFilter.cxx @@ -127,10 +127,10 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes } #ifdef DEBUG_ELEMENT - writerfilter::TagLogger::dump("DEBUG"); - debugLogger->endDocument(); writerfilter::TagLogger::dump("DOMAINMAPPER"); dmapperLogger->endDocument(); + writerfilter::TagLogger::dump("DEBUG"); + debugLogger->endDocument(); #endif return sal_True; diff --git a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx index 50c32b758d44..90c878e3b8e2 100644 --- a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx +++ b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx @@ -27,6 +27,7 @@ #include <com/sun/star/xml/sax/XParser.hpp> +#include <com/sun/star/xml/sax/SAXException.hpp> #include <doctok/resourceids.hxx> #include <ooxml/resourceids.hxx> #include "OOXMLDocumentImpl.hxx" @@ -37,6 +38,7 @@ #include <iostream> +using ::com::sun::star::xml::sax::SAXException; namespace writerfilter { namespace ooxml { @@ -302,6 +304,10 @@ void OOXMLDocumentImpl::resolveFooter(Stream & rStream, void OOXMLDocumentImpl::resolve(Stream & rStream) { +#ifdef DEBUG_RESOLVE + debug_logger->startElement("OOXMLDocumentImpl.resolve"); +#endif + uno::Reference< xml::sax::XFastParser > xParser (mpStream->getFastParser()); @@ -330,8 +336,20 @@ void OOXMLDocumentImpl::resolve(Stream & rStream) xml::sax::InputSource aParserInput; aParserInput.aInputStream = mpStream->getDocumentStream(); - xParser->parseStream(aParserInput); + try + { + xParser->parseStream(aParserInput); + } + catch (...) { +#ifdef DEBUG_ELEMENT + debug_logger->element("exception"); +#endif + } } + +#ifdef DEBUG_RESOLVE + debug_logger->endElement("OOXMLDocumentImpl.resolve"); +#endif } uno::Reference<io::XInputStream> OOXMLDocumentImpl::getInputStreamForId(const ::rtl::OUString & rId) diff --git a/writerfilter/source/ooxml/OOXMLFactory.cxx b/writerfilter/source/ooxml/OOXMLFactory.cxx new file mode 100755 index 000000000000..6fac03898e42 --- /dev/null +++ b/writerfilter/source/ooxml/OOXMLFactory.cxx @@ -0,0 +1,333 @@ +/************************************************************************* + * + * 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 + * + * 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. + * + ************************************************************************/ + +#include <rtl/instance.hxx> +#include <osl/mutex.hxx> +#include "OOXMLFactory.hxx" +#include "OOXMLFastHelper.hxx" + +namespace writerfilter { +namespace ooxml { + +AttributeInfo::AttributeInfo() +:m_nResource(RT_NoResource), m_nRef(0) +{ +} + +AttributeInfo::AttributeInfo(ResourceType_t nResource, Id nRef) + :m_nResource(nResource), m_nRef(nRef) +{ +} + +CreateElement::CreateElement() +:m_nResource(RT_NoResource), m_nId(0) +{ +} + +CreateElement::CreateElement(ResourceType_t nResource, Id nId) +: m_nResource(nResource), m_nId(nId) +{ +} + +// class OOXMLFactory_ns + +OOXMLFactory_ns::~OOXMLFactory_ns() +{ +} + +AttributeToResourceMapPointer OOXMLFactory_ns::getAttributeToResourceMap(Id nId) +{ + if (m_AttributesMap.find(nId) == m_AttributesMap.end()) + m_AttributesMap[nId] = createAttributeToResourceMap(nId); + + return m_AttributesMap[nId]; +} + +ListValueMapPointer OOXMLFactory_ns::getListValueMap(Id nId) +{ + if (m_ListValuesMap.find(nId) == m_ListValuesMap.end()) + m_ListValuesMap[nId] = createListValueMap(nId); + + return m_ListValuesMap[nId]; +} + +CreateElementMapPointer OOXMLFactory_ns::getCreateElementMap(Id nId) +{ + if (m_CreateElementsMap.find(nId) == m_CreateElementsMap.end()) + m_CreateElementsMap[nId] = createCreateElementMap(nId); + + return m_CreateElementsMap[nId]; +} + +TokenToIdMapPointer OOXMLFactory_ns::getTokenToIdMap(Id nId) +{ + if (m_TokenToIdsMap.find(nId) == m_TokenToIdsMap.end()) + m_TokenToIdsMap[nId] = createTokenToIdMap(nId); + + return m_TokenToIdsMap[nId]; +} + +string OOXMLFactory_ns::getDefineName(Id /*nId*/) const +{ + return ""; +} + +// class OOXMLFactory + +typedef rtl::Static< osl::Mutex, OOXMLFactory > OOXMLFactory_Mutex; + +OOXMLFactory::Pointer_t OOXMLFactory::m_Instance; + +OOXMLFactory::OOXMLFactory() +{ + // multi-thread-safe mutex for all platforms + + osl::MutexGuard aGuard(OOXMLFactory_Mutex::get()); +} + +OOXMLFactory::~OOXMLFactory() +{ +} + +OOXMLFactory::Pointer_t OOXMLFactory::getInstance() +{ + if (m_Instance.get() == NULL) + m_Instance.reset(new OOXMLFactory()); + + return m_Instance; +} + +void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, + const uno::Reference< xml::sax::XFastAttributeList > & Attribs) +{ + Id nDefine = pHandler->getDefine(); + OOXMLFactory_ns::Pointer_t pFactory = getFactoryForNamespace(nDefine); + + if (pFactory.get() != NULL) + { +#ifdef DEBUG_ATTRIBUTES + debug_logger->startElement("attributes"); + debug_logger->attribute("define", pFactory->getDefineName(nDefine)); + char sBuffer[256]; + snprintf(sBuffer, sizeof(sBuffer), "%08" SAL_PRIxUINT32, nDefine); + debug_logger->attribute("define-num", sBuffer); +#endif + + TokenToIdMapPointer pTokenToIdMap = pFactory->getTokenToIdMap(nDefine); + AttributeToResourceMapPointer pMap = pFactory->getAttributeToResourceMap(nDefine); + + AttributeToResourceMap::const_iterator aIt; + AttributeToResourceMap::const_iterator aEndIt = pMap->end(); + + for (aIt = pMap->begin(); aIt != aEndIt; aIt++) + { + Id nId = (*pTokenToIdMap)[aIt->first]; +#ifdef DEBUG_ATTRIBUTES + debug_logger->startElement("attribute"); + debug_logger->attribute("name", fastTokenToId(aIt->first)); + debug_logger->attribute("tokenid", (*QNameToString::Instance())(nId)); + snprintf(sBuffer, sizeof(sBuffer), "%08" SAL_PRIxUINT32, nId); + debug_logger->attribute("tokenid-num", sBuffer); +#endif + if (Attribs->hasAttribute(aIt->first)) + { + switch (aIt->second.m_nResource) + { + case RT_Boolean: + { +#ifdef DEBUG_ATTRIBUTES + debug_logger->element("boolean"); +#endif + ::rtl::OUString aValue(Attribs->getValue(aIt->first)); + OOXMLFastHelper<OOXMLBooleanValue>::newProperty(pHandler, nId, aValue); + + OOXMLValue::Pointer_t pValue(new OOXMLBooleanValue(aValue)); + pFactory->attributeAction(pHandler, aIt->first, pValue); + } + break; + case RT_String: + { +#ifdef DEBUG_ATTRIBUTES + debug_logger->element("string"); +#endif + ::rtl::OUString aValue(Attribs->getValue(aIt->first)); + OOXMLFastHelper<OOXMLStringValue>::newProperty + (pHandler, nId, aValue); + + OOXMLValue::Pointer_t pValue(new OOXMLStringValue(aValue)); + pFactory->attributeAction(pHandler, aIt->first, pValue); + } + break; + case RT_Integer: + { +#ifdef DEBUG_ATTRIBUTES + debug_logger->element("integer"); +#endif + ::rtl::OUString aValue(Attribs->getValue(aIt->first)); + OOXMLFastHelper<OOXMLIntegerValue>::newProperty + (pHandler, nId, aValue); + + OOXMLValue::Pointer_t pValue(new OOXMLIntegerValue(aValue)); + pFactory->attributeAction(pHandler, aIt->first, pValue); + } + break; + case RT_Hex: + { +#ifdef DEBUG_ATTRIBUTES + debug_logger->element("hex"); +#endif + ::rtl::OUString aValue(Attribs->getValue(aIt->first)); + OOXMLFastHelper<OOXMLHexValue>::newProperty + (pHandler, nId, aValue); + + OOXMLValue::Pointer_t pValue(new OOXMLHexValue(aValue)); + pFactory->attributeAction(pHandler, aIt->first, pValue); + } + break; + case RT_List: + { +#ifdef DEBUG_ATTRIBUTES + debug_logger->startElement("list"); +#endif + ListValueMapPointer pListValueMap = + pFactory->getListValueMap(aIt->second.m_nRef); + + if (pListValueMap.get() != NULL) + { + ::rtl::OUString aValue(Attribs->getValue(aIt->first)); + sal_uInt32 nValue = (*pListValueMap)[aValue]; + +#ifdef DEBUG_ATTRIBUTES + debug_logger->attribute("value", aValue); + debug_logger->attribute("value-num", nValue); +#endif + + OOXMLFastHelper<OOXMLIntegerValue>::newProperty + (pHandler, nId, nValue); + + OOXMLValue::Pointer_t pValue(new OOXMLIntegerValue(nValue)); + pFactory->attributeAction(pHandler, aIt->first, pValue); + } +#ifdef DEBUG_ATTRIBUTES + debug_logger->endElement("list"); +#endif + } + break; + default: +#ifdef DEBUG_ATTRIBUTES + debug_logger->element("unknown-attribute-type"); +#endif + break; + } + } +#ifdef DEBUG_ATTRIBUTES + debug_logger->endElement("attribute"); +#endif + } + +#ifdef DEBUG_ATTRIBUTES + debug_logger->endElement("attributes"); +#endif + } +} + +uno::Reference< xml::sax::XFastContextHandler> +OOXMLFactory::createFastChildContext(OOXMLFastContextHandler * pHandler, + Token_t Element) +{ + Id nDefine = pHandler->getDefine(); + + OOXMLFactory_ns::Pointer_t pFactory = getFactoryForNamespace(nDefine); + + return createFastChildContextFromFactory(pHandler, pFactory, Element); +} + +void OOXMLFactory::characters(OOXMLFastContextHandler * pHandler, + const ::rtl::OUString & rString) +{ + Id nDefine = pHandler->getDefine(); + OOXMLFactory_ns::Pointer_t pFactory = getFactoryForNamespace(nDefine); + + if (pFactory.get() != NULL) + { + pFactory->charactersAction(pHandler, rString); + } +} + +void OOXMLFactory::startAction(OOXMLFastContextHandler * pHandler, Token_t /*nToken*/) +{ + Id nDefine = pHandler->getDefine(); + OOXMLFactory_ns::Pointer_t pFactory = getFactoryForNamespace(nDefine); + + if (pFactory.get() != NULL) + { +#ifdef DEBUG_ELEMENT + debug_logger->startElement("factory-startAction"); +#endif + pFactory->startAction(pHandler); +#ifdef DEBUG_ELEMENT + debug_logger->endElement("factory-startAction"); +#endif + } +} + +void OOXMLFactory::endAction(OOXMLFastContextHandler * pHandler, Token_t /*nToken*/) +{ + Id nDefine = pHandler->getDefine(); + OOXMLFactory_ns::Pointer_t pFactory = getFactoryForNamespace(nDefine); + + if (pFactory.get() != NULL) + { +#ifdef DEBUG_ELEMENT + debug_logger->startElement("factory-endAction"); +#endif + pFactory->endAction(pHandler); +#ifdef DEBUG_ELEMENT + debug_logger->endElement("factory-endAction"); +#endif + } +} + +void OOXMLFactory_ns::startAction(OOXMLFastContextHandler *) +{ +} + +void OOXMLFactory_ns::endAction(OOXMLFastContextHandler *) +{ +} + +void OOXMLFactory_ns::charactersAction(OOXMLFastContextHandler *, const ::rtl::OUString &) +{ +} + +void OOXMLFactory_ns::attributeAction(OOXMLFastContextHandler *, Token_t, OOXMLValue::Pointer_t) +{ +} + +} +} + diff --git a/writerfilter/source/ooxml/OOXMLFactory.hxx b/writerfilter/source/ooxml/OOXMLFactory.hxx new file mode 100755 index 000000000000..0558436ab793 --- /dev/null +++ b/writerfilter/source/ooxml/OOXMLFactory.hxx @@ -0,0 +1,176 @@ +/************************************************************************* + * + * 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 + * + * 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 INCLUDED_OOXML_FACTORY_HXX +#define INCLUDED_OOXML_FACTORY_HXX + +#include <hash_map> +#include <boost/shared_ptr.hpp> + +#ifndef INCLUDED_WW8_RESOURCE_MODEL_HXX +#include <resourcemodel/WW8ResourceModel.hxx> +#endif + +#ifndef INCLUDED_OOXML_FAST_TOKENS_HXX +#include <ooxml/OOXMLFastTokens.hxx> +#endif + +#ifndef INCLUDED_OOXML_FAST_CONTEXT_HANDLER_HXX +#include "OOXMLFastContextHandler.hxx" +#endif + +namespace writerfilter { +namespace ooxml { + +using namespace std; + +enum ResourceType_t { + RT_NoResource, + RT_Table, + RT_Stream, + RT_List, + RT_Integer, + RT_Properties, + RT_Hex, + RT_String, + RT_Shape, + RT_Boolean, + RT_HexValue, + RT_Value, + RT_XNote, + RT_TextTableCell, + RT_TextTableRow, + RT_TextTable, + RT_PropertyTable, + RT_Any +}; + +struct AttributeInfo +{ + ResourceType_t m_nResource; + Id m_nRef; + + AttributeInfo(ResourceType_t nResource, Id nRef); + AttributeInfo(); +}; + +typedef hash_map<Token_t, AttributeInfo> AttributeToResourceMap; +typedef boost::shared_ptr<AttributeToResourceMap> AttributeToResourceMapPointer; +typedef hash_map<Id, AttributeToResourceMapPointer> AttributesMap; + +typedef hash_map<rtl::OUString, sal_Int32, ::rtl::OUStringHash> ListValueMap; +typedef boost::shared_ptr<ListValueMap> ListValueMapPointer; +typedef hash_map<Id, ListValueMapPointer> ListValuesMap; + +struct CreateElement +{ + ResourceType_t m_nResource; + Id m_nId; + + CreateElement(ResourceType_t nResource, Id nId); + CreateElement(); +}; + +typedef hash_map<Token_t, CreateElement> CreateElementMap; +typedef boost::shared_ptr<CreateElementMap> CreateElementMapPointer; +typedef hash_map<Id, CreateElementMapPointer> CreateElementsMap; +typedef hash_map<Id, string> IdToStringMap; +typedef boost::shared_ptr<IdToStringMap> IdToStringMapPointer; + +typedef hash_map<Id, Token_t> TokenToIdMap; +typedef boost::shared_ptr<TokenToIdMap> TokenToIdMapPointer; +typedef hash_map<Id, TokenToIdMapPointer> TokenToIdsMap; + +class OOXMLFactory_ns { +public: + typedef boost::shared_ptr<OOXMLFactory_ns> Pointer_t; + + virtual void startAction(OOXMLFastContextHandler * pHandler); + virtual void charactersAction(OOXMLFastContextHandler * pHandler, const ::rtl::OUString & rString); + virtual void endAction(OOXMLFastContextHandler * pHandler); + virtual void attributeAction(OOXMLFastContextHandler * pHandler, Token_t nToken, OOXMLValue::Pointer_t pValue); + virtual string getDefineName(Id nId) const; + + AttributeToResourceMapPointer getAttributeToResourceMap(Id nId); + ListValueMapPointer getListValueMap(Id nId); + CreateElementMapPointer getCreateElementMap(Id nId); + TokenToIdMapPointer getTokenToIdMap(Id nId); + +protected: + virtual ~OOXMLFactory_ns(); + + AttributesMap m_AttributesMap; + ListValuesMap m_ListValuesMap; + CreateElementsMap m_CreateElementsMap; + TokenToIdsMap m_TokenToIdsMap; + + virtual AttributeToResourceMapPointer createAttributeToResourceMap(Id nId) = 0; + virtual ListValueMapPointer createListValueMap(Id nId) = 0; + virtual CreateElementMapPointer createCreateElementMap(Id nId) = 0; + virtual TokenToIdMapPointer createTokenToIdMap(Id nId) = 0; +}; + +class OOXMLFactory +{ +public: + typedef boost::shared_ptr<OOXMLFactory> Pointer_t; + + static Pointer_t getInstance(); + + uno::Reference< xml::sax::XFastContextHandler> createFastChildContext + (OOXMLFastContextHandler * pHandler, Token_t Element); + + uno::Reference< xml::sax::XFastContextHandler> createFastChildContextFromStart + (OOXMLFastContextHandler * pHandler, Token_t Element); + + void attributes(OOXMLFastContextHandler * pHandler, + const uno::Reference< xml::sax::XFastAttributeList > & Attribs); + + void characters(OOXMLFastContextHandler * pHandler, + const ::rtl::OUString & rString); + + void startAction(OOXMLFastContextHandler * pHandler, Token_t nToken); + void endAction(OOXMLFastContextHandler * pHandler, Token_t nToken); + + virtual ~OOXMLFactory(); + +private: + static Pointer_t m_Instance; + + OOXMLFactory(); + OOXMLFactory_ns::Pointer_t getFactoryForNamespace(Id id); + + uno::Reference< xml::sax::XFastContextHandler> + createFastChildContextFromFactory(OOXMLFastContextHandler * pHandler, + OOXMLFactory_ns::Pointer_t pFactory, + Token_t Element); +}; + +} +} + +#endif // INCLUDED_OOXML_FACTORY_HXX diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx index 6b52563887ee..d64e95b0a61a 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx @@ -9,7 +9,7 @@ * 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 + * it under the terms of the GNU Lesser General Public License version 3sen * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, @@ -33,11 +33,15 @@ #include <resourcemodel/QNameToString.hxx> #include <resourcemodel/util.hxx> #include <ooxml/resourceids.hxx> +#include <doctok/sprmids.hxx> #include <ooxml/OOXMLnamespaceids.hxx> #include "OOXMLFastContextHandler.hxx" +#include "OOXMLFactory.hxx" #include "Handler.hxx" #include "ooxmlLoggers.hxx" +static const ::rtl::OUString aEmptyStr; + static const sal_uInt8 s0x7[] = { 0x7, 0x0 }; static const sal_uInt8 s0xd[] = { 0xd, 0x0 }; static const sal_uInt8 sCR[] = { 0xd, 0x0 }; @@ -105,10 +109,12 @@ public: virtual string toString(const Id & rId) const { - string s(fastTokenToId(rId)); + string s((*QNameToString::Instance())(rId)); if (s.size() == 0) - s = (*QNameToString::Instance())(rId); + s = "(fasttoken)" + fastTokenToId(rId); + else + s = "(qname)" + s; return s; } @@ -124,6 +130,7 @@ OOXMLFastContextHandler::OOXMLFastContextHandler (uno::Reference< uno::XComponentContext > const & context) : mpParent(NULL), mId(0), + mnDefine(0), mnToken(OOXML_FAST_TOKENS_END), mpStream(NULL), mnTableDepth(0), @@ -145,12 +152,12 @@ OOXMLFastContextHandler::OOXMLFastContextHandler (OOXMLFastContextHandler * pContext) : cppu::WeakImplHelper1<com::sun::star::xml::sax::XFastContextHandler>(), mpParent(pContext), + mId(0), mnToken(OOXML_FAST_TOKENS_END), mpStream(NULL), mnTableDepth(0), mnInstanceNumber(mnInstanceCount), mnRefCount(0), - m_xContext(pContext->m_xContext), mbFallback(false) { if (pContext != NULL) @@ -295,7 +302,7 @@ void OOXMLFastContextHandler::lcl_startFastElement const uno::Reference< xml::sax::XFastAttributeList > & /*Attribs*/) throw (uno::RuntimeException, xml::sax::SAXException) { - startAction(Element); + OOXMLFactory::getInstance()->startAction(this, Element); } void OOXMLFastContextHandler::lcl_endFastElement @@ -310,7 +317,7 @@ void OOXMLFastContextHandler::lcl_endFastElement debug_logger->endElement("token"); #endif - endAction(Element); + OOXMLFactory::getInstance()->endAction(this, Element); } void SAL_CALL OOXMLFastContextHandler::endUnknownElement @@ -347,14 +354,11 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL uno::Reference< xml::sax::XFastContextHandler > OOXMLFastContextHandler::lcl_createFastChildContext -(Token_t /*Element*/, +(Token_t Element, const uno::Reference< xml::sax::XFastAttributeList > & /*Attribs*/) throw (uno::RuntimeException, xml::sax::SAXException) { - OOXMLFastContextHandler * pResult = new OOXMLFastContextHandler(this); - pResult->setFallback(true); - - return uno::Reference< xml::sax::XFastContextHandler > (pResult); + return OOXMLFactory::getInstance()->createFastChildContext(this, Element); } uno::Reference< xml::sax::XFastContextHandler > SAL_CALL @@ -386,9 +390,10 @@ void SAL_CALL OOXMLFastContextHandler::characters } void OOXMLFastContextHandler::lcl_characters -(const ::rtl::OUString & /*aChars*/) +(const ::rtl::OUString & rString) throw (uno::RuntimeException, xml::sax::SAXException) { + OOXMLFactory::getInstance()->characters(this, rString); } const uno::Sequence< sal_Int8 > & OOXMLFastContextHandler::getUnoTunnelId() @@ -422,9 +427,10 @@ OOXMLValue::Pointer_t OOXMLFastContextHandler::getValue() const } void OOXMLFastContextHandler::attributes -(const uno::Reference< xml::sax::XFastAttributeList > & /*Attribs*/) +(const uno::Reference< xml::sax::XFastAttributeList > & Attribs) throw (uno::RuntimeException, xml::sax::SAXException) { + OOXMLFactory::getInstance()->attributes(this, Attribs); } void OOXMLFastContextHandler::startAction(Token_t Element) @@ -438,8 +444,9 @@ void OOXMLFastContextHandler::startAction(Token_t Element) #endif } -void OOXMLFastContextHandler::lcl_startAction(Token_t /* Element */) +void OOXMLFastContextHandler::lcl_startAction(Token_t Element) { + OOXMLFactory::getInstance()->startAction(this, Element); } void OOXMLFastContextHandler::endAction(Token_t Element) @@ -453,8 +460,9 @@ void OOXMLFastContextHandler::endAction(Token_t Element) #endif } -void OOXMLFastContextHandler::lcl_endAction(Token_t /* Element */) +void OOXMLFastContextHandler::lcl_endAction(Token_t Element) { + OOXMLFactory::getInstance()->endAction(this, Element); } XMLTag::Pointer_t OOXMLFastContextHandler::toPropertiesTag @@ -518,7 +526,7 @@ void OOXMLFastContextHandler::setId(Id rId) debug_logger->startElement("setId"); static char sBuffer[256]; - snprintf(sBuffer, sizeof(sBuffer), "%ld", rId); + snprintf(sBuffer, sizeof(sBuffer), "%" SAL_PRIuUINT32, rId); debug_logger->attribute("id", sBuffer); debug_logger->chars((*QNameToString::Instance())(rId)); @@ -533,6 +541,16 @@ Id OOXMLFastContextHandler::getId() const return mId; } +void OOXMLFastContextHandler::setDefine(Id nDefine) +{ + mnDefine = nDefine; +} + +Id OOXMLFastContextHandler::getDefine() const +{ + return mnDefine; +} + void OOXMLFastContextHandler::setFallback(bool bFallback) { mbFallback = bFallback; @@ -603,14 +621,14 @@ void OOXMLFastContextHandler::sendTableDepth() const OOXMLValue::Pointer_t pVal (new OOXMLIntegerValue(mnTableDepth)); OOXMLProperty::Pointer_t pProp - (new OOXMLPropertyImpl(0x6649, pVal, OOXMLPropertyImpl::SPRM)); + (new OOXMLPropertyImpl(NS_sprm::LN_PTableDepth, pVal, OOXMLPropertyImpl::SPRM)); pProps->add(pProp); } { OOXMLValue::Pointer_t pVal (new OOXMLIntegerValue(1)); OOXMLProperty::Pointer_t pProp - (new OOXMLPropertyImpl(0x2416, pVal, OOXMLPropertyImpl::SPRM)); + (new OOXMLPropertyImpl(NS_sprm::LN_PFInTable, pVal, OOXMLPropertyImpl::SPRM)); pProps->add(pProp); } @@ -620,10 +638,10 @@ void OOXMLFastContextHandler::sendTableDepth() const debug_logger->endElement("props"); #endif mpStream->props(writerfilter::Reference<Properties>::Pointer_t(pProps)); -#ifdef DEBUG_PROPERTIES - debug_logger->endElement("sendTableDepth"); -#endif } +#ifdef DEBUG_ELEMENT + debug_logger->endElement("sendTableDepth"); +#endif } void OOXMLFastContextHandler::setHandle() @@ -945,13 +963,103 @@ bool OOXMLFastContextHandler::propagatesProperties() const return false; } +void OOXMLFastContextHandler::propagateCellProperties() +{ +#ifdef DEBUG_ELEMENT + debug_logger->element("propagateCellProperties"); +#endif + + mpParserState->setCellProperties(getPropertySet()); +} + +void OOXMLFastContextHandler::propagateRowProperties() +{ +#ifdef DEBUG_ELEMENT + debug_logger->element("propagateRowProperties"); +#endif + + mpParserState->setRowProperties(getPropertySet()); +} + void OOXMLFastContextHandler::propagateTableProperties() { + OOXMLPropertySet::Pointer_t pProps = getPropertySet(); +#ifdef DEBUG_ELEMENT + debug_logger->startElement("propagateTableProperties"); + debug_logger->addTag(toPropertiesTag(pProps)); + debug_logger->endElement("propagateTableProperties"); +#endif + + mpParserState->setTableProperties(pProps); +} + +void OOXMLFastContextHandler::sendCellProperties() +{ +#ifdef DEBUG_ELEMENT + debug_logger->startElement("sendCellProperties"); +#endif + + mpParserState->resolveCellProperties(*mpStream); + +#ifdef DEBUG_ELEMENT + debug_logger->endElement("sendCellProperties"); +#endif +} + +void OOXMLFastContextHandler::sendRowProperties() +{ +#ifdef DEBUG_ELEMENT + debug_logger->startElement("sendRowProperties"); +#endif + + mpParserState->resolveRowProperties(*mpStream); + +#ifdef DEBUG_ELEMENT + debug_logger->endElement("sendRowProperties"); +#endif +} + +void OOXMLFastContextHandler::sendTableProperties() +{ #ifdef DEBUG_ELEMENT - debug_logger->element("propagateTableProperties"); + debug_logger->startElement("sendTableProperties"); #endif - mpParserState->setTableProperties(getPropertySet()); + mpParserState->resolveTableProperties(*mpStream); + +#ifdef DEBUG_ELEMENT + debug_logger->endElement("sendTableProperties"); +#endif +} + +void OOXMLFastContextHandler::clearCellProps() +{ +#ifdef DEBUG_ELEMENT + debug_logger->element("clearCellProps"); +#endif + + mpParserState->setCellProperties(OOXMLPropertySet::Pointer_t + (new OOXMLPropertySetImpl())); +} + +void OOXMLFastContextHandler::clearRowProps() +{ +#ifdef DEBUG_ELEMENT + debug_logger->element("clearRowProps"); +#endif + + mpParserState->setRowProperties(OOXMLPropertySet::Pointer_t + (new OOXMLPropertySetImpl())); +} + +void OOXMLFastContextHandler::clearTableProps() +{ +#ifdef DEBUG_ELEMENT + debug_logger->element("clearTableProps"); +#endif + + mpParserState->setTableProperties(OOXMLPropertySet::Pointer_t + (new OOXMLPropertySetImpl())); } void OOXMLFastContextHandler::sendPropertiesWithId(const Id & rId) @@ -985,6 +1093,27 @@ void OOXMLFastContextHandler::clearProps() setPropertySet(OOXMLPropertySet::Pointer_t(new OOXMLPropertySetImpl())); } +void OOXMLFastContextHandler::setDefaultBooleanValue() +{ +} + +void OOXMLFastContextHandler::setDefaultIntegerValue() +{ +} + +void OOXMLFastContextHandler::setDefaultHexValue() +{ +} + +void OOXMLFastContextHandler::setDefaultStringValue() +{ +} + +const ::rtl::OUString & OOXMLFastContextHandler::getText() const +{ + return aEmptyStr; +} + void OOXMLFastContextHandler::setDocument(OOXMLDocument * pDocument) { mpParserState->setDocument(pDocument); @@ -1021,6 +1150,11 @@ void OOXMLFastContextHandler::setXNoteId(const ::rtl::OUString & rId) mpParserState->setXNoteId(rId); } +void OOXMLFastContextHandler::setXNoteId(OOXMLValue::Pointer_t pValue) +{ + mpParserState->setXNoteId(pValue->getString()); +} + const rtl::OUString & OOXMLFastContextHandler::getXNoteId() const { return mpParserState->getXNoteId(); @@ -1083,6 +1217,10 @@ void OOXMLFastContextHandler::resolvePropertySetAttrs() void OOXMLFastContextHandler::sendPropertyToParent() { +#ifdef DEBUG_ELEMENT + debug_logger->startElement("sendPropertyToParent"); +#endif + if (mpParent != NULL) { OOXMLPropertySet::Pointer_t pProps(mpParent->getPropertySet()); @@ -1093,8 +1231,64 @@ void OOXMLFastContextHandler::sendPropertyToParent() pProp(new OOXMLPropertyImpl(mId, getValue(), OOXMLPropertyImpl::SPRM)); pProps->add(pProp); + +#ifdef DEBUG_ELEMENT + debug_logger->addTag(toPropertiesTag(pProps)); +#endif } } + +#ifdef DEBUG_ELEMENT + debug_logger->endElement("sendPropertyToParent"); +#endif +} + +void OOXMLFastContextHandler::sendPropertiesToParent() +{ +#ifdef DEBUG_ELEMENT + debug_logger->startElement("sendPropertiesToParent"); +#endif + if (mpParent != NULL) + { + OOXMLPropertySet::Pointer_t pParentProps(mpParent->getPropertySet()); + + if (pParentProps.get() != NULL) + { + OOXMLPropertySet::Pointer_t pProps(getPropertySet()); + +#ifdef DEBUG_ELEMENT + debug_logger->startElement("me"); + debug_logger->addTag(toPropertiesTag(pProps)); + debug_logger->endElement("me"); +#endif + + if (pProps.get() != NULL) + { + OOXMLValue::Pointer_t pValue + (new OOXMLPropertySetValue(getPropertySet())); + + OOXMLProperty::Pointer_t pProp + (new OOXMLPropertyImpl(getId(), pValue, OOXMLPropertyImpl::SPRM)); + +#ifdef DEBUG_ELEMENT + debug_logger->startElement("propertyForSet"); + debug_logger->chars(pProp->toString()); + debug_logger->endElement("propertyForSet"); +#endif + + pParentProps->add(pProp); + +#ifdef DEBUG_ELEMENT + debug_logger->startElement("parent"); + debug_logger->addTag(toPropertiesTag(pParentProps)); + debug_logger->endElement("parent"); +#endif + } + } + } +#ifdef DEBUG_ELEMENT + debug_logger->endElement("sendPropertiesToParent"); +#endif } uno::Reference< uno::XComponentContext > @@ -1229,39 +1423,16 @@ void OOXMLFastContextHandlerProperties::lcl_endFastElement { #ifdef DEBUG_PROPERTIES debug_logger->startElement("sendproperties"); - debug_logger->addTag(toPropertiesTag(getPropertySet())); - debug_logger->endElement("sendproperties"); #endif mpStream->props(mpPropertySet); +#ifdef DEBUG_PROPERTIES + debug_logger->endElement("sendproperties"); +#endif } } else { - OOXMLValue::Pointer_t pVal - (new OOXMLPropertySetValue(mpPropertySet)); - - OOXMLPropertyImpl::Pointer_t pProperty - (new OOXMLPropertyImpl(mId, pVal, OOXMLPropertyImpl::SPRM)); - - OOXMLPropertySet::Pointer_t pProperties = (*mpParent).getPropertySet(); - - if (pProperties.get() != NULL) - { -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("property"); - debug_logger->chars(xmlify(pProperty->toString())); - debug_logger->endElement("property"); -#endif - pProperties->add(pProperty); - } -#ifdef DEBUG_PROPERTIES - else if (! propagatesProperties()) - { - debug_logger->startElement("warning"); - debug_logger->chars("properties lost"); - debug_logger->endElement("warning"); - } -#endif + sendPropertiesToParent(); } } @@ -1425,197 +1596,102 @@ void OOXMLFastContextHandlerPropertyTable::lcl_endFastElement mTable.add(pTmpVal); writerfilter::Reference<Table>::Pointer_t pTable(mTable.clone()); - mpStream->table(mId, pTable); - - endAction(Element); -} - -/* - class OOXMLFastContextHandlerBooleanValue - */ - -OOXMLFastContextHandlerBooleanValue::OOXMLFastContextHandlerBooleanValue -(OOXMLFastContextHandler * pContext) -: OOXMLFastContextHandler(pContext), mbValue(true) -{ -} - -OOXMLFastContextHandlerBooleanValue::~OOXMLFastContextHandlerBooleanValue() -{ -} - -void OOXMLFastContextHandlerBooleanValue::attributes -(const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException) -{ - if (Attribs->hasAttribute(NS_wordprocessingml|OOXML_val)) - mbValue = Attribs->getValue(NS_wordprocessingml|OOXML_val).toBoolean(); -} - -OOXMLValue::Pointer_t OOXMLFastContextHandlerBooleanValue::getValue() const -{ - return OOXMLValue::Pointer_t(new OOXMLBooleanValue(mbValue)); -} - -void OOXMLFastContextHandlerBooleanValue::setValue -(const ::rtl::OUString & rString) -{ - static rtl::OUString sOn(RTL_CONSTASCII_USTRINGPARAM("on")); - static rtl::OUString sOff(RTL_CONSTASCII_USTRINGPARAM("off")); - static rtl::OUString sTrue(RTL_CONSTASCII_USTRINGPARAM("true")); - static rtl::OUString sFalse(RTL_CONSTASCII_USTRINGPARAM("false")); - if (rString == sOn || rString == sTrue) - mbValue = true; - else if (rString == sOff || rString == sFalse) - mbValue = false; -} +#ifdef DEBUG_PROPERTIES + debug_logger->startElement("table"); + debug_logger->attribute("id", (*QNameToString::Instance())(mId)); + debug_logger->endElement("table"); +#endif -void OOXMLFastContextHandlerBooleanValue::lcl_endFastElement -(Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException) -{ - sendPropertyToParent(); + mpStream->table(mId, pTable); endAction(Element); } /* - class OOXMLFastContextHandlerIntegerValue - */ + class OOXMLFastContextHandlerValue +*/ -OOXMLFastContextHandlerIntegerValue::OOXMLFastContextHandlerIntegerValue +OOXMLFastContextHandlerValue::OOXMLFastContextHandlerValue (OOXMLFastContextHandler * pContext) -: OOXMLFastContextHandler(pContext), mnValue(0) -{ -} - -OOXMLFastContextHandlerIntegerValue::~OOXMLFastContextHandlerIntegerValue() -{ -} - -void OOXMLFastContextHandlerIntegerValue::attributes -(const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException) +: OOXMLFastContextHandler(pContext) { - if (Attribs->hasAttribute(NS_wordprocessingml|OOXML_val)) - mnValue = Attribs->getValue(NS_wordprocessingml|OOXML_val).toInt32(); } -void OOXMLFastContextHandlerIntegerValue::lcl_endFastElement -(Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException) +OOXMLFastContextHandlerValue::~OOXMLFastContextHandlerValue() { - sendPropertyToParent(); - - endAction(Element); } -OOXMLValue::Pointer_t OOXMLFastContextHandlerIntegerValue::getValue() const +void OOXMLFastContextHandlerValue::setValue(OOXMLValue::Pointer_t pValue) { - return OOXMLValue::Pointer_t(new OOXMLIntegerValue(mnValue)); + mpValue = pValue; } -/* - class OOXMLFastContextHandlerStringValue - */ - -OOXMLFastContextHandlerStringValue::OOXMLFastContextHandlerStringValue -(OOXMLFastContextHandler * pContext) -: OOXMLFastContextHandler(pContext) +OOXMLValue::Pointer_t OOXMLFastContextHandlerValue::getValue() const { + return mpValue; } -OOXMLFastContextHandlerStringValue::~OOXMLFastContextHandlerStringValue() -{ -} - -void OOXMLFastContextHandlerStringValue::attributes -(const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException) -{ - if (Attribs->hasAttribute(NS_wordprocessingml|OOXML_val)) - msValue = Attribs->getValue(NS_wordprocessingml|OOXML_val); -} - -void OOXMLFastContextHandlerStringValue::lcl_endFastElement +void OOXMLFastContextHandlerValue::lcl_endFastElement (Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException) +throw (uno::RuntimeException, xml::sax::SAXException) { sendPropertyToParent(); endAction(Element); } -OOXMLValue::Pointer_t OOXMLFastContextHandlerStringValue::getValue() const +void OOXMLFastContextHandlerValue::setDefaultBooleanValue() { - return OOXMLValue::Pointer_t(new OOXMLStringValue(msValue)); -} - -/* - class OOXMLFastContextHandlerHexValue - */ - -OOXMLFastContextHandlerHexValue::OOXMLFastContextHandlerHexValue -(OOXMLFastContextHandler * pContext) -: OOXMLFastContextHandler(pContext), mnValue(0) -{ -} - -OOXMLFastContextHandlerHexValue::~OOXMLFastContextHandlerHexValue() -{ -} +#ifdef DEBUG_ELEMENT + debug_logger->element("setDefaultBooleanValue"); +#endif -void OOXMLFastContextHandlerHexValue::attributes -(const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException) -{ - if (Attribs->hasAttribute(NS_wordprocessingml|OOXML_val)) - mnValue = Attribs->getValue(NS_wordprocessingml|OOXML_val).toInt32(16); + if (mpValue.get() == NULL) + { + OOXMLValue::Pointer_t pValue(new OOXMLBooleanValue(true)); + setValue(pValue); + } } -void OOXMLFastContextHandlerHexValue::lcl_endFastElement -(Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException) +void OOXMLFastContextHandlerValue::setDefaultIntegerValue() { - sendPropertyToParent(); +#ifdef DEBUG_ELEMENT + debug_logger->element("setDefaultIntegerValue"); +#endif - endAction(Element); + if (mpValue.get() == NULL) + { + OOXMLValue::Pointer_t pValue(new OOXMLIntegerValue(0)); + setValue(pValue); + } } -OOXMLValue::Pointer_t OOXMLFastContextHandlerHexValue::getValue() const +void OOXMLFastContextHandlerValue::setDefaultHexValue() { - return OOXMLValue::Pointer_t(new OOXMLIntegerValue(mnValue)); -} - -/* - class OOXMLFastContextHandlerListValue - */ - -OOXMLFastContextHandlerListValue::OOXMLFastContextHandlerListValue -(OOXMLFastContextHandler * pContext) -: OOXMLFastContextHandler(pContext) -{ -} +#ifdef DEBUG_ELEMENT + debug_logger->element("setDefaultHexValue"); +#endif -OOXMLFastContextHandlerListValue::~OOXMLFastContextHandlerListValue() -{ + if (mpValue.get() == NULL) + { + OOXMLValue::Pointer_t pValue(new OOXMLHexValue(0)); + setValue(pValue); + } } -void OOXMLFastContextHandlerListValue::lcl_endFastElement -(Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException) +void OOXMLFastContextHandlerValue::setDefaultStringValue() { - sendPropertyToParent(); - - endAction(Element); -} +#ifdef DEBUG_ELEMENT + debug_logger->element("setDefaultStringValue"); +#endif -OOXMLValue::Pointer_t OOXMLFastContextHandlerListValue::getValue() const -{ - return mpValue; + if (mpValue.get() == NULL) + { + OOXMLValue::Pointer_t pValue(new OOXMLStringValue(::rtl::OUString())); + setValue(pValue); + } } - /* class OOXMLFastContextHandlerTable */ @@ -1652,7 +1728,16 @@ void OOXMLFastContextHandlerTable::lcl_endFastElement writerfilter::Reference<Table>::Pointer_t pTable(mTable.clone()); if (isForwardEvents() && mId != 0x0) + { +#ifdef DEBUG_PROPERTIES + debug_logger->startElement("table"); + string str = (*QNameToString::Instance())(mId); + debug_logger->attribute("id", str); + debug_logger->endElement("table"); +#endif + mpStream->table(mId, pTable); + } } void OOXMLFastContextHandlerTable::addCurrentChild() @@ -1714,16 +1799,16 @@ void OOXMLFastContextHandlerXNote::lcl_endFastElement setForwardEvents(mbForwardEventsSaved); } -void OOXMLFastContextHandlerXNote::checkId(const rtl::OUString & rId) +void OOXMLFastContextHandlerXNote::checkId(OOXMLValue::Pointer_t pValue) { #ifdef DEBUG_ELEMENT debug_logger->startElement("checkId"); - debug_logger->attribute("myId", rId); + debug_logger->attribute("myId", pValue->getString()); debug_logger->attribute("id", getXNoteId()); debug_logger->endElement("checkId"); #endif - msMyXNoteId = rId; + msMyXNoteId = pValue->getString(); } /* @@ -1753,21 +1838,21 @@ void OOXMLFastContextHandlerTextTableCell::endCell() OOXMLValue::Pointer_t pVal (new OOXMLIntegerValue(mnTableDepth)); OOXMLProperty::Pointer_t pProp - (new OOXMLPropertyImpl(0x6649, pVal, OOXMLPropertyImpl::SPRM)); + (new OOXMLPropertyImpl(NS_sprm::LN_PTableDepth, pVal, OOXMLPropertyImpl::SPRM)); pProps->add(pProp); } { OOXMLValue::Pointer_t pVal (new OOXMLIntegerValue(1)); OOXMLProperty::Pointer_t pProp - (new OOXMLPropertyImpl(0x2416, pVal, OOXMLPropertyImpl::SPRM)); + (new OOXMLPropertyImpl(NS_sprm::LN_PFInTable, pVal, OOXMLPropertyImpl::SPRM)); pProps->add(pProp); } { OOXMLValue::Pointer_t pVal - (new OOXMLIntegerValue(mnTableDepth)); + (new OOXMLBooleanValue(mnTableDepth > 0)); OOXMLProperty::Pointer_t pProp - (new OOXMLPropertyImpl(0x244b, pVal, OOXMLPropertyImpl::SPRM)); + (new OOXMLPropertyImpl(NS_sprm::LN_PCell, pVal, OOXMLPropertyImpl::SPRM)); pProps->add(pProp); } @@ -1789,12 +1874,10 @@ OOXMLFastContextHandlerTextTableRow::OOXMLFastContextHandlerTextTableRow (OOXMLFastContextHandler * pContext) : OOXMLFastContextHandler(pContext) { - startRow(); } OOXMLFastContextHandlerTextTableRow::~OOXMLFastContextHandlerTextTableRow() { - endRow(); } void OOXMLFastContextHandlerTextTableRow::startRow() @@ -1812,21 +1895,21 @@ void OOXMLFastContextHandlerTextTableRow::endRow() OOXMLValue::Pointer_t pVal (new OOXMLIntegerValue(mnTableDepth)); OOXMLProperty::Pointer_t pProp - (new OOXMLPropertyImpl(0x6649, pVal, OOXMLPropertyImpl::SPRM)); + (new OOXMLPropertyImpl(NS_sprm::LN_PTableDepth, pVal, OOXMLPropertyImpl::SPRM)); pProps->add(pProp); } { OOXMLValue::Pointer_t pVal (new OOXMLIntegerValue(1)); OOXMLProperty::Pointer_t pProp - (new OOXMLPropertyImpl(0x2416, pVal, OOXMLPropertyImpl::SPRM)); + (new OOXMLPropertyImpl(NS_sprm::LN_PFInTable, pVal, OOXMLPropertyImpl::SPRM)); pProps->add(pProp); } { OOXMLValue::Pointer_t pVal (new OOXMLIntegerValue(1)); OOXMLProperty::Pointer_t pProp - (new OOXMLPropertyImpl(0x244c, pVal, OOXMLPropertyImpl::SPRM)); + (new OOXMLPropertyImpl(NS_sprm::LN_PRow, pVal, OOXMLPropertyImpl::SPRM)); pProps->add(pProp); } @@ -1838,7 +1921,6 @@ void OOXMLFastContextHandlerTextTableRow::endRow() #endif mpStream->props(writerfilter::Reference<Properties>::Pointer_t(pProps)); - mpParserState->resolveTableProperties(*mpStream); } startCharacterGroup(); @@ -1846,6 +1928,7 @@ void OOXMLFastContextHandlerTextTableRow::endRow() if (isForwardEvents()) mpStream->utext(s0xd, 1); + endCharacterGroup(); endParagraphGroup(); } @@ -1861,6 +1944,7 @@ OOXMLFastContextHandlerTextTable::OOXMLFastContextHandlerTextTable OOXMLFastContextHandlerTextTable::~OOXMLFastContextHandlerTextTable() { + clearTableProps(); } void OOXMLFastContextHandlerTextTable::lcl_startFastElement @@ -1868,6 +1952,7 @@ void OOXMLFastContextHandlerTextTable::lcl_startFastElement const uno::Reference< xml::sax::XFastAttributeList > & /*Attribs*/) throw (uno::RuntimeException, xml::sax::SAXException) { + mpParserState->startTable(); mnTableDepth++; boost::shared_ptr<OOXMLPropertySet> pProps( new OOXMLPropertySetImpl ); @@ -1890,6 +1975,7 @@ void OOXMLFastContextHandlerTextTable::lcl_endFastElement endAction(Element); mnTableDepth--; + mpParserState->endTable(); } /* @@ -1964,7 +2050,8 @@ void SAL_CALL ShapesNoAdd::remove(const uno::Reference< drawing::XShape > & xSha OOXMLFastContextHandlerShape::OOXMLFastContextHandlerShape (OOXMLFastContextHandler * pContext) -: OOXMLFastContextHandlerProperties(pContext), m_bShapeSent( false ) +: OOXMLFastContextHandlerProperties(pContext), m_bShapeSent( false ), + m_bShapeStarted(false) { uno::Reference<uno::XComponentContext> xContext(getComponentContext()); if (xContext.is()) @@ -2056,7 +2143,10 @@ void OOXMLFastContextHandlerShape::sendShape( Token_t Element ) // Notify the dmapper that the shape is ready to use if ( !bIsPicture ) + { mpStream->startShape( xShape ); + m_bShapeStarted = true; + } } } } @@ -2075,7 +2165,7 @@ void OOXMLFastContextHandlerShape::lcl_endFastElement // Ending the shape should be the last thing to do bool bIsPicture = Element == ( NS_picture | OOXML_pic ); - if ( !bIsPicture ) + if ( !bIsPicture && m_bShapeStarted) mpStream->endShape( ); } @@ -2103,7 +2193,7 @@ OOXMLFastContextHandlerShape::lcl_createFastChildContext case NS_wordprocessingml: case NS_vml_wordprocessingDrawing: case NS_office: - xContextHandler.set(createFromStart(Element, Attribs)); + xContextHandler.set(OOXMLFactory::getInstance()->createFastChildContextFromStart(this, Element)); break; default: if (mrShapeContext.is()) @@ -2287,7 +2377,7 @@ OOXMLFastContextHandlerWrapper::lcl_createFastChildContext bool bInNamespaces = mMyNamespaces.find(nNameSpace) != mMyNamespaces.end(); bool bInTokens = mMyTokens.find( Element ) != mMyTokens.end( ); if ( bInNamespaces ) - xResult.set(createFromStart(Element, Attribs)); + xResult.set(OOXMLFactory::getInstance()->createFastChildContextFromStart(this, Element)); else if (mxContext.is()) { OOXMLFastContextHandlerWrapper * pWrapper = diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx index 26e040182f57..b67f86fda3e7 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx @@ -130,7 +130,7 @@ public: */ virtual string getType() const { return "??"; } - virtual ResourceEnum_t getResource() const { return UNKNOWN; } + virtual ResourceEnum_t getResource() const { return STREAM; } static XMLTag::Pointer_t toPropertiesTag(OOXMLPropertySet::Pointer_t); virtual XMLTag::Pointer_t toTag() const; @@ -168,6 +168,7 @@ public: void setDocument(OOXMLDocument * pDocument); OOXMLDocument * getDocument(); + void setXNoteId(OOXMLValue::Pointer_t pValue); void setXNoteId(const ::rtl::OUString & rId); const rtl::OUString & getXNoteId() const; void setForwardEvents(bool bForwardEvents); @@ -176,6 +177,8 @@ public: virtual void setId(Id nId); virtual Id getId() const; + void setDefine(Id nDefine); + Id getDefine() const; void setFallback(bool bFallbac); bool isFallback() const; @@ -188,11 +191,61 @@ public: sal_uInt32 getInstanceNumber() const; + void sendTableDepth() const; + void setHandle(); + + void startSectionGroup(); + void setLastParagraphInSection(); + void endSectionGroup(); + void startParagraphGroup(); + void endParagraphGroup(); + void startCharacterGroup(); + void endCharacterGroup(); + + void startField(); + void fieldSeparator(); + void endField(); + void ftnednref(); + void ftnedncont(); + void ftnednsep(); + void pgNum(); + void tab(); + void cr(); + void noBreakHyphen(); + void softHyphen(); + void handleLastParagraphInSection(); + void endOfParagraph(); + void text(const ::rtl::OUString & sText); + virtual void propagateCharacterProperties(); + virtual void propagateCharacterPropertiesAsSet(const Id & rId); + virtual void propagateTableProperties(); + virtual void propagateRowProperties(); + virtual void propagateCellProperties(); + virtual bool propagatesProperties() const; + void sendPropertiesWithId(const Id & rId); + void sendPropertiesToParent(); + void sendCellProperties(); + void sendRowProperties(); + void sendTableProperties(); + void clearCellProps(); + void clearRowProps(); + void clearTableProps(); + void clearProps(); + + virtual void setDefaultBooleanValue(); + virtual void setDefaultIntegerValue(); + virtual void setDefaultHexValue(); + virtual void setDefaultStringValue(); + + const ::rtl::OUString & getText() const; + + void sendPropertyToParent(); static void dumpOpenContexts(); protected: OOXMLFastContextHandler * mpParent; Id mId; + Id mnDefine; Token_t mnToken; #ifdef DEBUG_CONTEXT_STACK @@ -238,40 +291,6 @@ protected: (const ::rtl::OUString & rId); virtual void resolvePropertySetAttrs(); - void sendTableDepth() const; - void setHandle(); - - void startSectionGroup(); - void setLastParagraphInSection(); - void endSectionGroup(); - void startParagraphGroup(); - void endParagraphGroup(); - void startCharacterGroup(); - void endCharacterGroup(); - - void startField(); - void fieldSeparator(); - void endField(); - void ftnednref(); - void ftnedncont(); - void ftnednsep(); - void pgNum(); - void tab(); - void cr(); - void noBreakHyphen(); - void softHyphen(); - void handleLastParagraphInSection(); - void endOfParagraph(); - void text(const ::rtl::OUString & sText); - virtual void propagateCharacterProperties(); - virtual void propagateCharacterPropertiesAsSet(const Id & rId); - virtual bool propagatesProperties() const; - void sendPropertiesWithId(const Id & rId); - void propagateTableProperties(); - void clearProps(); - - void sendPropertyToParent(); - uno::Reference< uno::XComponentContext > getComponentContext(); sal_uInt32 mnInstanceNumber; @@ -368,101 +387,29 @@ protected: throw (uno::RuntimeException, xml::sax::SAXException); }; -class OOXMLFastContextHandlerBooleanValue : +class OOXMLFastContextHandlerValue : public OOXMLFastContextHandler { public: - OOXMLFastContextHandlerBooleanValue + OOXMLFastContextHandlerValue (OOXMLFastContextHandler * pContext); - virtual ~OOXMLFastContextHandlerBooleanValue(); - -protected: - bool mbValue; - - virtual void attributes - (const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException); - virtual void lcl_endFastElement(Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException); + virtual ~OOXMLFastContextHandlerValue(); + virtual void setValue(OOXMLValue::Pointer_t pValue); virtual OOXMLValue::Pointer_t getValue() const; - void setValue(const ::rtl::OUString & rString); -}; - -class OOXMLFastContextHandlerIntegerValue : - public OOXMLFastContextHandler -{ -public: - OOXMLFastContextHandlerIntegerValue - (OOXMLFastContextHandler * pContext); - virtual ~OOXMLFastContextHandlerIntegerValue(); - -protected: - sal_Int32 mnValue; - void attributes - (const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException); - virtual void lcl_endFastElement(Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException); - - virtual OOXMLValue::Pointer_t getValue() const; -}; - -class OOXMLFastContextHandlerStringValue : - public OOXMLFastContextHandler -{ -public: - OOXMLFastContextHandlerStringValue - (OOXMLFastContextHandler * pContext); - virtual ~OOXMLFastContextHandlerStringValue(); - -protected: - ::rtl::OUString msValue; - - void attributes - (const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException); virtual void lcl_endFastElement(Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException); - - virtual OOXMLValue::Pointer_t getValue() const; -}; - -class OOXMLFastContextHandlerHexValue : - public OOXMLFastContextHandler -{ -public: - OOXMLFastContextHandlerHexValue - (OOXMLFastContextHandler * pContext); - virtual ~OOXMLFastContextHandlerHexValue(); - -protected: - sal_Int32 mnValue; - - void attributes - (const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException); - virtual void lcl_endFastElement(Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException); + throw (uno::RuntimeException, xml::sax::SAXException); - virtual OOXMLValue::Pointer_t getValue() const; -}; + virtual string getType() const { return "Value"; } -class OOXMLFastContextHandlerListValue : - public OOXMLFastContextHandler -{ -public: - OOXMLFastContextHandlerListValue - (OOXMLFastContextHandler * pContext); - virtual ~OOXMLFastContextHandlerListValue(); + virtual void setDefaultBooleanValue(); + virtual void setDefaultIntegerValue(); + virtual void setDefaultHexValue(); + virtual void setDefaultStringValue(); protected: - mutable OOXMLValue::Pointer_t mpValue; - - virtual void lcl_endFastElement(Token_t Element) - throw (uno::RuntimeException, xml::sax::SAXException); - virtual OOXMLValue::Pointer_t getValue() const; + OOXMLValue::Pointer_t mpValue; }; class OOXMLFastContextHandlerTable : public OOXMLFastContextHandler @@ -488,6 +435,8 @@ protected: virtual ResourceEnum_t getResource() const { return TABLE; } + virtual string getType() const { return "Table"; } + void addCurrentChild(); }; @@ -497,7 +446,10 @@ public: OOXMLFastContextHandlerXNote(OOXMLFastContextHandler * pContext); virtual ~OOXMLFastContextHandlerXNote(); - void checkId(const rtl::OUString & rId); + void checkId(OOXMLValue::Pointer_t pValue); + + virtual string getType() const { return "XNote"; } + private: bool mbForwardEventsSaved; ::rtl::OUString msMyXNoteId; @@ -520,6 +472,8 @@ public: (OOXMLFastContextHandler * pContext); virtual ~OOXMLFastContextHandlerTextTableCell(); + virtual string getType() const { return "TextTableCell"; } + void startCell(); void endCell(); }; @@ -531,6 +485,8 @@ public: (OOXMLFastContextHandler * pContext); virtual ~OOXMLFastContextHandlerTextTableRow(); + virtual string getType() const { return "TextTableRow"; } + void startRow(); void endRow(); }; @@ -543,6 +499,8 @@ public: virtual ~OOXMLFastContextHandlerTextTable(); + virtual string getType() const { return "TextTable"; } + protected: virtual void lcl_startFastElement (Token_t Element, @@ -557,12 +515,15 @@ class OOXMLFastContextHandlerShape: public OOXMLFastContextHandlerProperties { private: bool m_bShapeSent; + bool m_bShapeStarted; public: explicit OOXMLFastContextHandlerShape (OOXMLFastContextHandler * pContext); virtual ~OOXMLFastContextHandlerShape(); + virtual string getType() const { return "Shape"; } + // ::com::sun::star::xml::sax::XFastContextHandler: virtual void SAL_CALL startUnknownElement (const ::rtl::OUString & Namespace, diff --git a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx index e9a7ece6a487..f4feddf341ac 100644 --- a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx @@ -27,9 +27,14 @@ #include <iostream> #include <boost/shared_ptr.hpp> +#ifdef DEBUG_ELEMENT +#include "ooxmlLoggers.hxx" +#include <resourcemodel/Protocol.hxx> +#endif #include "OOXMLFastDocumentHandler.hxx" #include "OOXMLFastContextHandler.hxx" #include "OOXMLFastTokens.hxx" +#include "OOXMLFactory.hxx" namespace writerfilter { namespace ooxml @@ -135,7 +140,7 @@ OOXMLFastDocumentHandler::getContextHandler() const uno::Reference< xml::sax::XFastContextHandler > SAL_CALL OOXMLFastDocumentHandler::createFastChildContext (::sal_Int32 Element, - const uno::Reference< xml::sax::XFastAttributeList > & Attribs) + const uno::Reference< xml::sax::XFastAttributeList > & /*Attribs*/) throw (uno::RuntimeException, xml::sax::SAXException) { #ifdef DEBUG_CONTEXT_STACK @@ -144,7 +149,7 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL << endl; #endif - return getContextHandler()->createFromStart(Element, Attribs); + return OOXMLFactory::getInstance()->createFastChildContextFromStart(getContextHandler().get(), Element); } OOXMLParserState::Pointer_t OOXMLFastDocumentHandler::getParserState() const @@ -209,7 +214,12 @@ void SAL_CALL OOXMLFastDocumentHandler::setDocumentLocator void OOXMLFastDocumentHandler::setStream(Stream * pStream) { +#ifdef DEBUG_PROTOCOL + mpTmpStream.reset(new StreamProtocol(pStream, debug_logger)); + mpStream = mpTmpStream.get(); +#else mpStream = pStream; +#endif } void OOXMLFastDocumentHandler::setDocument(OOXMLDocument * pDocument) diff --git a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx index a95fd3306d3a..86f835c5c0a4 100644 --- a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx +++ b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx @@ -104,6 +104,9 @@ private: uno::Reference< uno::XComponentContext > m_xContext; Stream * mpStream; +#ifdef DEBUG_ELEMENT + Stream::Pointer_t mpTmpStream; +#endif OOXMLDocument * mpDocument; ::rtl::OUString msXNoteId; mutable boost::shared_ptr<OOXMLFastContextHandler> mpContextHandler; diff --git a/writerfilter/source/ooxml/OOXMLFastHelper.hxx b/writerfilter/source/ooxml/OOXMLFastHelper.hxx index ff0e30e4da0f..2d21083487ff 100644 --- a/writerfilter/source/ooxml/OOXMLFastHelper.hxx +++ b/writerfilter/source/ooxml/OOXMLFastHelper.hxx @@ -46,6 +46,9 @@ public: static uno::Reference<XFastContextHandler> createAndSetParent (OOXMLFastContextHandler * pHandler, sal_uInt32 nToken, Id nId); + static uno::Reference<XFastContextHandler> createAndSetParentAndDefine + (OOXMLFastContextHandler * pHandler, sal_uInt32 nToken, Id nId, Id nDefine); + static uno::Reference<XFastContextHandler> createAndSetParentRef (OOXMLFastContextHandler * pHandler, sal_uInt32 nToken, const uno::Reference < xml::sax::XFastAttributeList > & Attribs); @@ -72,7 +75,6 @@ OOXMLFastHelper<T>::createAndSetParent (OOXMLFastContextHandler * pHandler, sal_uInt32 nToken, Id nId) { OOXMLFastContextHandler * pTmp = new T(pHandler); - OOXMLFastContextHandler::RefAndPointer_t aResult(pTmp); pTmp->setToken(nToken); pTmp->setId(nId); @@ -91,6 +93,43 @@ OOXMLFastHelper<T>::createAndSetParent debug_logger->endElement("createAndSetParent"); #endif + uno::Reference<XFastContextHandler> aResult(pTmp); + + return aResult; +} + +template <class T> +uno::Reference<XFastContextHandler> +OOXMLFastHelper<T>::createAndSetParentAndDefine +(OOXMLFastContextHandler * pHandler, sal_uInt32 nToken, Id nId, Id nDefine) +{ + OOXMLFastContextHandler * pTmp = new T(pHandler); + + pTmp->setToken(nToken); + pTmp->setId(nId); + pTmp->setDefine(nDefine); + +#ifdef DEBUG_CREATE + debug_logger->startElement("createAndSetParentAndDefine"); + debug_logger->attribute("context", pHandler->getType()); + debug_logger->attribute("token", fastTokenToId(pTmp->getToken())); + debug_logger->attribute("id", (*QNameToString::Instance())(nId)); + + static char buffer[16]; + snprintf(buffer, sizeof(buffer), "0x%08" SAL_PRIxUINT32, nId); + + debug_logger->attribute("idnum", buffer); + if (pTmp->isFallback()) + debug_logger->attribute("fallback", "yes"); + + debug_logger->startElement("created"); + debug_logger->addTag(pTmp->toTag()); + debug_logger->endElement("created"); + debug_logger->endElement("createAndSetParentAndDefine"); +#endif + + uno::Reference<XFastContextHandler> aResult(pTmp); + return aResult; } @@ -138,10 +177,10 @@ void OOXMLFastHelper<T>::newProperty(OOXMLFastContextHandler * pHandler, { OOXMLValue::Pointer_t pVal(new T(rValue)); +#ifdef DEBUG_PROPERTIES string aStr = (*QNameToString::Instance())(nId); -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("newProperty"); + debug_logger->startElement("newProperty-from-string"); debug_logger->attribute("name", aStr); debug_logger->attribute ("value", @@ -151,7 +190,7 @@ void OOXMLFastHelper<T>::newProperty(OOXMLFastContextHandler * pHandler, if (aStr.size() == 0) debug_logger->addTag(XMLTag::Pointer_t(new XMLTag("unknown-qname"))); - debug_logger->endElement("newProperty"); + debug_logger->endElement("newProperty-from-string"); #endif pHandler->newProperty(nId, pVal); @@ -164,17 +203,17 @@ void OOXMLFastHelper<T>::newProperty(OOXMLFastContextHandler * pHandler, { OOXMLValue::Pointer_t pVal(new T(nVal)); +#ifdef DEBUG_PROPERTIES string aStr = (*QNameToString::Instance())(nId); -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("newProperty"); + debug_logger->startElement("newProperty-from-int"); debug_logger->attribute("name", aStr); debug_logger->attribute("value", pVal->toString()); if (aStr.size() == 0) debug_logger->addTag(XMLTag::Pointer_t(new XMLTag("unknown-qname"))); - debug_logger->endElement("newProperty"); + debug_logger->endElement("newProperty-from-int"); #endif pHandler->newProperty(nId, pVal); diff --git a/writerfilter/source/ooxml/OOXMLParserState.cxx b/writerfilter/source/ooxml/OOXMLParserState.cxx index 255f97558cb3..e38593777a55 100644 --- a/writerfilter/source/ooxml/OOXMLParserState.cxx +++ b/writerfilter/source/ooxml/OOXMLParserState.cxx @@ -191,11 +191,14 @@ void OOXMLParserState::resolveCharacterProperties(Stream & rStream) { #ifdef DEBUG_PROPERTIES debug_logger->startElement("resolveCharacterProperties"); - debug_logger->chars(mpCharacterProps->toString()); - debug_logger->endElement("resolveCharacterProperties"); #endif + rStream.props(mpCharacterProps); mpCharacterProps.reset(new OOXMLPropertySetImpl()); + +#ifdef DEBUG_PROPERTIES + debug_logger->endElement("resolveCharacterProperties"); +#endif } } @@ -213,22 +216,105 @@ void OOXMLParserState::setCharacterProperties mpCharacterProps->add(pProps); } +void OOXMLParserState::setCellProperties +(OOXMLPropertySet::Pointer_t pProps) +{ + if (mCellProps.size() > 0) + { + OOXMLPropertySet::Pointer_t & rCellProps = mCellProps.top(); + + if (rCellProps.get() == NULL) + rCellProps = pProps; + else + rCellProps->add(pProps); + } +} + +void OOXMLParserState::setRowProperties +(OOXMLPropertySet::Pointer_t pProps) +{ + if (mRowProps.size() > 0) + { + OOXMLPropertySet::Pointer_t & rRowProps = mRowProps.top(); + + if (rRowProps.get() == NULL) + rRowProps = pProps; + else + rRowProps->add(pProps); + } +} + +void OOXMLParserState::resolveCellProperties(Stream & rStream) +{ + if (mCellProps.size() > 0) + { + OOXMLPropertySet::Pointer_t & rCellProps = mCellProps.top(); + + if (rCellProps.get() != NULL) + { + rStream.props(rCellProps); + rCellProps.reset(new OOXMLPropertySetImpl()); + } + } +} + +void OOXMLParserState::resolveRowProperties(Stream & rStream) +{ + if (mRowProps.size() > 0) + { + OOXMLPropertySet::Pointer_t & rRowProps = mRowProps.top(); + + if (rRowProps.get() != NULL) + { + rStream.props(rRowProps); + rRowProps.reset(new OOXMLPropertySetImpl()); + } + } +} + void OOXMLParserState::resolveTableProperties(Stream & rStream) { - if (mpTableProps.get() != NULL) + if (mTableProps.size() > 0) { - rStream.props(mpTableProps); - mpTableProps.reset(new OOXMLPropertySetImpl()); + OOXMLPropertySet::Pointer_t & rTableProps = mTableProps.top(); + + if (rTableProps.get() != NULL) + { + rStream.props(rTableProps); + rTableProps.reset(new OOXMLPropertySetImpl()); + } } } void OOXMLParserState::setTableProperties (OOXMLPropertySet::Pointer_t pProps) { - if (mpTableProps.get() == NULL) - mpTableProps = pProps; - else - mpTableProps->add(pProps); + if (mTableProps.size() > 0) + { + OOXMLPropertySet::Pointer_t & rTableProps = mTableProps.top(); + if (rTableProps.get() == NULL) + rTableProps = pProps; + else + rTableProps->add(pProps); + } +} + +void OOXMLParserState::startTable() +{ + OOXMLPropertySet::Pointer_t pCellProps; + OOXMLPropertySet::Pointer_t pRowProps; + OOXMLPropertySet::Pointer_t pTableProps; + + mCellProps.push(pCellProps); + mRowProps.push(pRowProps); + mTableProps.push(pTableProps); +} + +void OOXMLParserState::endTable() +{ + mCellProps.pop(); + mRowProps.pop(); + mTableProps.pop(); } XMLTag::Pointer_t OOXMLParserState::toTag() const diff --git a/writerfilter/source/ooxml/OOXMLParserState.hxx b/writerfilter/source/ooxml/OOXMLParserState.hxx index 2953e00a499f..affdd7dbe61c 100644 --- a/writerfilter/source/ooxml/OOXMLParserState.hxx +++ b/writerfilter/source/ooxml/OOXMLParserState.hxx @@ -27,6 +27,7 @@ #ifndef INCLUDE_OOXML_PARSER_STATE_HXX #define INCLUDE_OOXML_PARSER_STATE_HXX +#include <stack> #include <ooxml/OOXMLDocument.hxx> #include <resourcemodel/TagLogger.hxx> #include "OOXMLPropertySetImpl.hxx" @@ -35,6 +36,8 @@ namespace writerfilter { namespace ooxml { +using ::std::stack; + class OOXMLParserState { bool mbInSectionGroup; @@ -48,7 +51,9 @@ class OOXMLParserState rtl::OUString msXNoteId; rtl::OUString msTarget; OOXMLPropertySet::Pointer_t mpCharacterProps; - OOXMLPropertySet::Pointer_t mpTableProps; + stack<OOXMLPropertySet::Pointer_t> mCellProps; + stack<OOXMLPropertySet::Pointer_t> mRowProps; + stack<OOXMLPropertySet::Pointer_t> mTableProps; public: typedef boost::shared_ptr<OOXMLParserState> Pointer_t; @@ -90,9 +95,16 @@ public: void resolveCharacterProperties(Stream & rStream); OOXMLPropertySet::Pointer_t getCharacterProperties() const; void setCharacterProperties(OOXMLPropertySet::Pointer_t pProps); + void resolveCellProperties(Stream & rStream); + void setCellProperties(OOXMLPropertySet::Pointer_t pProps); + void resolveRowProperties(Stream & rStream); + void setRowProperties(OOXMLPropertySet::Pointer_t pProps); void resolveTableProperties(Stream & rStream); void setTableProperties(OOXMLPropertySet::Pointer_t pProps); + void startTable(); + void endTable(); + string toString() const; XMLTag::Pointer_t toTag() const; }; diff --git a/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx b/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx index 6f9bf9a3480d..2f8844f1af01 100644 --- a/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx +++ b/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx @@ -29,7 +29,10 @@ #include <stdio.h> #include <iostream> #include <resourcemodel/QNameToString.hxx> +#include <resourcemodel/Protocol.hxx> #include <com/sun/star/drawing/XShape.hpp> +#include <ooxml/OOXMLFastTokens.hxx> +#include "ooxmlLoggers.hxx" //#define DEBUG_RESOLVE @@ -125,6 +128,17 @@ string OOXMLPropertyImpl::getName() const if (sResult.length() == 0) sResult = (*SprmIdToString::Instance())(mId); + if (sResult.length() == 0) + sResult = fastTokenToId(mId); + + if (sResult.length() == 0) + { + static char sBuffer[256]; + + snprintf(sBuffer, sizeof(sBuffer), "%" SAL_PRIxUINT32, mId); + sResult = sBuffer; + } + return sResult; } @@ -155,14 +169,23 @@ Sprm * OOXMLPropertyImpl::clone() void OOXMLPropertyImpl::resolve(writerfilter::Properties & rProperties) { + writerfilter::Properties * pProperties = NULL; +#ifdef DEBUG_PROTOCOL + writerfilter::PropertiesProtocol::Pointer_t pProtocol + (new writerfilter::PropertiesProtocol(&rProperties, debug_logger)); + pProperties = pProtocol.get(); +#else + pProperties = &rProperties; +#endif + switch (meType) { case SPRM: if (mId != 0x0) - rProperties.sprm(*this); + pProperties->sprm(*this); break; case ATTRIBUTE: - rProperties.attribute(mId, *getValue()); + pProperties->attribute(mId, *getValue()); break; } } @@ -456,7 +479,15 @@ string OOXMLPropertySetImpl::getType() const void OOXMLPropertySetImpl::add(OOXMLProperty::Pointer_t pProperty) { if (pProperty.get() != NULL && pProperty->getId() != 0x0) + { mProperties.push_back(pProperty); + } +#ifdef DEBUG_PROPERTIES + else + { + debug_logger->element("warning.property_not_added"); + } +#endif } void OOXMLPropertySetImpl::add(OOXMLPropertySet::Pointer_t pPropertySet) @@ -688,6 +719,12 @@ OOXMLTableImpl::~OOXMLTableImpl() void OOXMLTableImpl::resolve(Table & rTable) { +#ifdef DEBUG_PROTOCOL + Table::Pointer_t pTable(new TableProtocol(&rTable, debug_logger)); +#else + Table * pTable = &rTable; +#endif + int nPos = 0; PropertySets_t::iterator it = mPropertySets.begin(); @@ -699,7 +736,7 @@ void OOXMLTableImpl::resolve(Table & rTable) ((*it)->getProperties()); if (pProperties.get() != NULL) - rTable.entry(nPos, pProperties); + pTable->entry(nPos, pProperties); ++nPos; it++; diff --git a/writerfilter/source/ooxml/README.efforts b/writerfilter/source/ooxml/README.efforts new file mode 100644 index 000000000000..03570a80ec5a --- /dev/null +++ b/writerfilter/source/ooxml/README.efforts @@ -0,0 +1,131 @@ +This file describes how the remaining efforts for writerfilter can be +extracted from the source code. + +1. Marking up the efforts in the code. + +Efforts are marked up in the code with comments like this: + +/* WRITERFILTERSTATUS: done: <percent done>, planned: <effort planned>, spent: <effort spent, yet> */ + +The comments have to follow a case-label immediately. Consecutive +case-labels can be marked up, too. In the latter case the efforts are +counted for the preceeding case-labels as a whole. + +2. Extraction process + +2.1. Stage 1: + +This stage is handled in status.sh. An XML-file is generated that +contains a top level element <stage1>. <stage1> contains an element +<analyze> and several <qname> and <status> elements. + +2.1.1. Use analyzemodel.xsl to extract necessary data from model.xml. + +- Namespaces can be flagged with attribute @todo="ignore" to prevent + the namespace being considered. + +- For every <element>/<attribute> an entry in an according element in <analyze> is genereated. These elements look like this: + +<attribute id="..." resource="..." tokenid="..." qname="..." namespace="..." define="..." name="..."/> + +Important for the extraction of efforts: @qname is the identifier used +in case-labels in .cxx files and thus links the status mark up +comments with elements/attributes in the model.xml. + +2.1.2. Extract status information + +The variable SEARCHIN in status.sh determines in what directory the script will search for case labels and status comments. Only .cxx files are searched. Lines like this + +case NS_rtf::LN_UNUSED4: + +result in elements like this + +<qname file="/DomainMapper.cxx" line="216" qname="NS_rtf::LN_UNUSED4"/>. + +Lines like this + +/* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + +result in elements like this + +<status done="0" planned="0" spent="0"/> + +The <qname> and <status> elements are children of the <stage1> +element. The are inserted in the same order as found in the +code. Therefore a <status> element corresponds to the group of +consecutive preceding <qname> elements. + +2.2. Stage 2 + +In this stage analyzestage2.xsl is used on the result of stage 1 to +group the <qname> and <status> elements from stage 1. For each +<status> element a <qnames> element is generated that contains the +<qname> elements that the <status> element refers to, plus the +<status> element. + +2.3. Stage 3 + +This stage associates the <attribute> and <element> elements in +model.xml with the extracted data. It uses analyzestage3.xsl on the +result of stage 2 to do this. + +E.g. for given elements from stage 2: + +<attribute + id="dml-wordprocessingDrawing:CT_Inline:distR" + resource="Properties" + tokenid="ooxml:CT_Inline_distR" + qname="NS_ooxml::LN_CT_Inline_distR" + namespace="dml-wordprocessingDrawing" + define="CT_Inline" + name="distR"/> + +and + + <qnames> + <qname file="/GraphicImport.cxx" line="1078" qname="NS_ooxml::LN_CT_Inline_distT"/> + <qname file="/GraphicImport.cxx" line="1079" qname="NS_ooxml::LN_CT_Inline_distB"/> + <qname file="/GraphicImport.cxx" line="1080" qname="NS_ooxml::LN_CT_Inline_distL"/> + <qname file="/GraphicImport.cxx" line="1081" qname="NS_ooxml::LN_CT_Inline_distR"/> + <status done="0" planned="0.5" spent="0"/> + </qnames> + +the result of stage 3 will be + + <attribute + id="dml-wordprocessingDrawing:CT_Inline:distR" + resource="Properties" + tokenid="ooxml:CT_Inline_distR" + qname="NS_ooxml::LN_CT_Inline_distR" + namespace="dml-wordprocessingDrawing" + define="CT_Inline" name="distR"> + + <file name="/GraphicImport.cxx" line="1081"> + <status done="0" planned="0.5" spent="0" qname-count="4"/> + </file> + + </attribute> + +@qname-count is the number of case-labels that the according mark-up comment refers to. + +3. Collect efforts + +This is done by the script efforts.sh. It uses status.sh to extract the status and determines the efforts in two steps. + +3.1. Choose which <attribute>/<element> elements need effort + +This stage uses todo.xsl on the result of 2.3. + +There are two criteria that imply effort: + +- The <attribute>/<element> is not handled in any file. + +- The status for the <attribute>/<element> declares that work is + planned for it and less than 100 percent of this work is done. + +3.2. Generate table of efforts in CSV format + +This stage uses effort.xsl on the results of 3.1. and produces the +table of efforts. If there is no status defined for an +<attribute>/<element> it is assumed that the planned effort is 0.5 +hours and no work has been done. diff --git a/writerfilter/source/ooxml/analyzemodel.xsl b/writerfilter/source/ooxml/analyzemodel.xsl new file mode 100644 index 000000000000..d887a9a178a6 --- /dev/null +++ b/writerfilter/source/ooxml/analyzemodel.xsl @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:rng="http://relaxng.org/ns/structure/1.0"> + +<xsl:include href="factorytools.xsl"/> +<xsl:output method="xml"/> + +<xsl:template match="/"> + <analyze> + <xsl:for-each select="/model/namespace[not(@todo='ignore')]"> + <xsl:call-template name="analyzegrammar"/> + </xsl:for-each> + </analyze> +</xsl:template> + +<xsl:template name="analyzegrammar"> + <xsl:variable name="nsname" select="@name"/> + <xsl:for-each select="rng:grammar/rng:define"> + <xsl:variable name="defname" select="@name"/> + <xsl:for-each select=".//rng:attribute|.//rng:element"> + <xsl:choose> + <xsl:when test="local-name()='element'"> + <element> + <xsl:call-template name="defineattrs"> + <xsl:with-param name="nsname" select="$nsname"/> + <xsl:with-param name="defname" select="$defname"/> + </xsl:call-template> + </element> + </xsl:when> + <xsl:when test="local-name()='attribute'"> + <attribute> + <xsl:call-template name="defineattrs"> + <xsl:with-param name="nsname" select="$nsname"/> + <xsl:with-param name="defname" select="$defname"/> + </xsl:call-template> + </attribute> + </xsl:when> + </xsl:choose> + </xsl:for-each> + </xsl:for-each> +</xsl:template> + +<xsl:template name="defineattrs"> + <xsl:param name="nsname"/> + <xsl:param name="defname"/> + + <xsl:variable name="localname" select="local-name()"/> + <xsl:variable name="name" select="@name"/> + + <xsl:attribute name="id"> + <xsl:value-of select="$nsname"/> + <xsl:text>:</xsl:text> + <xsl:value-of select="$defname"/> + <xsl:text>:</xsl:text> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:for-each select="ancestor::namespace/resource[@name=$defname]"> + <xsl:attribute name="resource"><xsl:value-of select="@resource"/></xsl:attribute> + <xsl:choose> + <xsl:when test="$localname='attribute'"> + <xsl:for-each select="attribute[@name=$name and @tokenid]"> + <xsl:attribute name="tokenid"><xsl:value-of select="@tokenid"/></xsl:attribute> + <xsl:attribute name="qname"> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@tokenid"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="namespace"> + <xsl:value-of select="$nsname"/> + </xsl:attribute> + <xsl:attribute name="define"> + <xsl:value-of select="$defname"/> + </xsl:attribute> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + </xsl:for-each> + </xsl:when> + <xsl:when test="$localname='element'"> + <xsl:for-each select="element[@name=$name and @tokenid]"> + <xsl:attribute name="tokenid"><xsl:value-of select="@tokenid"/></xsl:attribute> + <xsl:attribute name="qname"> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@tokenid"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="namespace"> + <xsl:value-of select="$nsname"/> + </xsl:attribute> + <xsl:attribute name="define"> + <xsl:value-of select="$defname"/> + </xsl:attribute> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + </xsl:for-each> + </xsl:when> + </xsl:choose> + </xsl:for-each> +</xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/analyzer.xsl b/writerfilter/source/ooxml/analyzer.xsl deleted file mode 100644 index 155de88d954a..000000000000 --- a/writerfilter/source/ooxml/analyzer.xsl +++ /dev/null @@ -1,46 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xalan="http://xml.apache.org/xalan" - exclude-result-prefixes = "xalan" - xml:space="default"> - <xsl:output method="text" /> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="analyzerooxmlids"/> - </xsl:template> -</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/analyzestage2.xsl b/writerfilter/source/ooxml/analyzestage2.xsl new file mode 100644 index 000000000000..9c7dc247b5ab --- /dev/null +++ b/writerfilter/source/ooxml/analyzestage2.xsl @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:template match="/"> + <stage2> + <xsl:copy-of select="/stage1/analyze"/> + <xsl:for-each select="/stage1/qname"> + <xsl:if test="not(local-name(preceding-sibling::*[1]) = 'qname')"> + <qnames> + <xsl:call-template name="handleqnames"/> + </qnames> + </xsl:if> + </xsl:for-each> + </stage2> +</xsl:template> + +<xsl:template name="handleqnames"> + <xsl:choose> + <xsl:when test="local-name() = 'qname'"> + <xsl:copy-of select="."/> + <xsl:for-each select="following-sibling::*[1]"> + <xsl:call-template name="handleqnames"/> + </xsl:for-each> + </xsl:when> + <xsl:when test="local-name() = 'nostatus' or local-name() = 'status'"> + <xsl:copy-of select="."/> + </xsl:when> + </xsl:choose> +</xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/analyzestage3.xsl b/writerfilter/source/ooxml/analyzestage3.xsl new file mode 100644 index 000000000000..103782c1a11a --- /dev/null +++ b/writerfilter/source/ooxml/analyzestage3.xsl @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + +<xsl:key name="qnames" match="/stage2/qnames/qname" use="@qname"/> + +<xsl:template match="/"> + <stage3 xmlns:rng="http://relaxng.org/ns/structure/1.0"> + <xsl:for-each select="/stage2/analyze"> + <xsl:for-each select="attribute|element"> + <xsl:variable name="qname" select="@qname"/> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:for-each select="key('qnames', @qname)"> + <file> + <xsl:attribute name="name"> + <xsl:value-of select="@file"/> + </xsl:attribute> + <xsl:attribute name="line"> + <xsl:value-of select="@line"/> + </xsl:attribute> + <xsl:for-each select="ancestor::qnames/status|ancestor::qnames/nostatus"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:attribute name="qname-count"> + <xsl:value-of select="count(ancestor::qnames/qname)"/> + </xsl:attribute> + </xsl:copy> + </xsl:for-each> + </file> + </xsl:for-each> + </xsl:copy> + </xsl:for-each> + </xsl:for-each> + </stage3> +</xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/effort.xsl b/writerfilter/source/ooxml/effort.xsl new file mode 100644 index 000000000000..47f278a63f4f --- /dev/null +++ b/writerfilter/source/ooxml/effort.xsl @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:rng="http://relaxng.org/ns/structure/1.0"> + +<xsl:output method="text"/> + +<xsl:template match="/"> + <xsl:text>Namespace,Define,Name,Done,Planned,qname-count
</xsl:text> + <xsl:for-each select="/todo/attribute|/todo/element"> + <xsl:for-each select=".//status"> + <xsl:for-each select="ancestor::attribute|ancestor::element"> + <xsl:value-of select="@namespace"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="@define"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>,</xsl:text> + </xsl:for-each> + <xsl:value-of select="@done"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="@planned"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="@qname-count"/> + <xsl:text>
</xsl:text> + </xsl:for-each> + <xsl:if test="not(.//status)"> + <xsl:value-of select="@namespace"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="@define"/> + <xsl:text>,</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>,0,0.5,1
</xsl:text> + </xsl:if> + </xsl:for-each> +</xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/efforts.sh b/writerfilter/source/ooxml/efforts.sh new file mode 100755 index 000000000000..f42a30d5b2fd --- /dev/null +++ b/writerfilter/source/ooxml/efforts.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +./status.sh | xmllint --format - | xsltproc todo.xsl - | xsltproc effort.xsl - diff --git a/writerfilter/source/ooxml/values.xsl b/writerfilter/source/ooxml/factory.xsl index cee50f39ff61..544c150021c8 100644 --- a/writerfilter/source/ooxml/values.xsl +++ b/writerfilter/source/ooxml/factory.xsl @@ -3,10 +3,14 @@ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - Copyright 2000, 2010 Oracle and/or its affiliates. + Copyright 2008 by Sun Microsystems, Inc. OpenOffice.org - a multi-platform office productivity suite + $RCSfile: fastresources_wml.xsl,v $ + + $Revision: 1.3 $ + This file is part of OpenOffice.org. OpenOffice.org is free software: you can redistribute it and/or modify @@ -23,7 +27,7 @@ version 3 along with OpenOffice.org. If not, see <http://www.openoffice.org/license.html> for a copy of the LGPLv3 License. - + ************************************************************************/ --> @@ -61,28 +65,25 @@ <xsl:output method="text" /> <xsl:param name="prefix"/> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_VALUES_HXX -#define INCLUDED_OOXML_VALUES_HXX - -#include <rtl/ustring.hxx> -#include "OOXMLPropertySetImpl.hxx" - + <xsl:text> +#include "OOXMLFactory.hxx"</xsl:text> + <xsl:call-template name="factoryincludes"/> + <xsl:text> namespace writerfilter { namespace ooxml { +using namespace ::std; +using namespace ::com::sun::star; /// @cond GENERATED - </xsl:text> - <xsl:call-template name="valuedecls"/> - <xsl:text> + </xsl:text> + <xsl:call-template name="factoryfornamespace"/> + <xsl:text> /// @endcond }} -#endif //INCLUDED_OOXML_VALUES_HXX
</xsl:text></out></xsl:template> +</xsl:text> +</xsl:template> - <xsl:template match="*"/> -</xsl:stylesheet> +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/fastresources_dml-shape3DScene.xsl b/writerfilter/source/ooxml/factory_ns.xsl index aec93f875597..44b5c824859f 100644 --- a/writerfilter/source/ooxml/fastresources_dml-shape3DScene.xsl +++ b/writerfilter/source/ooxml/factory_ns.xsl @@ -3,10 +3,14 @@ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - Copyright 2000, 2010 Oracle and/or its affiliates. + Copyright 2008 by Sun Microsystems, Inc. OpenOffice.org - a multi-platform office productivity suite + $RCSfile: fastresources_wml.xsl,v $ + + $Revision: 1.3 $ + This file is part of OpenOffice.org. OpenOffice.org is free software: you can redistribute it and/or modify @@ -23,7 +27,7 @@ version 3 along with OpenOffice.org. If not, see <http://www.openoffice.org/license.html> for a copy of the LGPLv3 License. - + ************************************************************************/ --> @@ -61,38 +65,97 @@ <xsl:output method="text" /> <xsl:param name="prefix"/> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> +<xsl:template name="factoryactiondecls"> + <xsl:variable name="ns" select="@name"/> + <xsl:for-each select="resource/action"> + <xsl:sort select="@name"/> + <xsl:if test="generate-id(key('actions', @name)[ancestor::namespace/@name=$ns][1]) = generate-id(.)"> + <xsl:text> + void </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>Action(OOXMLFastContextHandler * pHandler</xsl:text> + <xsl:if test="@name='characters'"> + <xsl:text>, const ::rtl::OUString & sText</xsl:text> + </xsl:if> + <xsl:text>);</xsl:text> + </xsl:if> + </xsl:for-each> +</xsl:template> + +<!-- factorydecl --> +<xsl:template name="factorydecl"> + <xsl:variable name="classname"> + <xsl:call-template name="factoryclassname"/> + </xsl:variable> + <xsl:text> +class </xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text> : public OOXMLFactory_ns +{ +public: + typedef boost::shared_ptr < OOXMLFactory_ns > Pointer_t; + + static Pointer_t getInstance(); + + virtual AttributeToResourceMapPointer createAttributeToResourceMap(Id nId); + virtual ListValueMapPointer createListValueMap(Id nId); + virtual CreateElementMapPointer createCreateElementMap(Id nId); + virtual TokenToIdMapPointer createTokenToIdMap(Id nId); + virtual string getDefineName(Id nId) const;</xsl:text> + <xsl:call-template name="factoryactiondecls"/> + virtual void attributeAction(OOXMLFastContextHandler * pHandler, Token_t nToken, OOXMLValue::Pointer_t pValue); <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DSCENE_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DSCENE_HXX + + virtual ~</xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>(); + +protected: + static Pointer_t m_pInstance; -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> + </xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>(); +}; + </xsl:text> +</xsl:template> -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" + <xsl:template match="/"> + <xsl:variable name="ns" select="substring-before(substring-after($file, 'OOXMLFactory_'), '.hxx')"/> + <xsl:variable name="incguard"> + <xsl:text>INCLUDED_OOXML_FACTORY_</xsl:text> + <xsl:value-of select="translate($ns, 'abcdefghijklmnopqrstuvwxyz-', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_')"/> + <xsl:text>_HXX</xsl:text> + </xsl:variable> + <xsl:call-template name="licenseheader"/> + <xsl:text> +#ifndef </xsl:text> + <xsl:value-of select="$incguard"/> + <xsl:text> +#define </xsl:text> + <xsl:value-of select="$incguard"/> + <xsl:text> +#include "OOXMLFactory.hxx" +#include "OOXMLFactory_generated.hxx" +#include "OOXMLnamespaceids.hxx" +#include "resourceids.hxx" namespace writerfilter { namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; /// @cond GENERATED </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-shape3DScene</xsl:with-param> - </xsl:call-template> + <xsl:for-each select="/model/namespace[@name=$ns]"> + <xsl:call-template name="factorydecl"/> + </xsl:for-each> <xsl:text> /// @endcond }} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DSCENE_HXX
</xsl:text> - </xsl:template> +#endif //</xsl:text> + <xsl:value-of select="$incguard"/> + <xsl:text>
</xsl:text> +</xsl:template> - <xsl:template match="*"/> -</xsl:stylesheet> +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/fastresources_dml-chartDrawing.xsl b/writerfilter/source/ooxml/factory_values.xsl index 3a0869ebe826..4960f58e6b67 100644 --- a/writerfilter/source/ooxml/fastresources_dml-chartDrawing.xsl +++ b/writerfilter/source/ooxml/factory_values.xsl @@ -3,10 +3,14 @@ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - Copyright 2000, 2010 Oracle and/or its affiliates. + Copyright 2008 by Sun Microsystems, Inc. OpenOffice.org - a multi-platform office productivity suite + $RCSfile: fastresources_wml.xsl,v $ + + $Revision: 1.3 $ + This file is part of OpenOffice.org. OpenOffice.org is free software: you can redistribute it and/or modify @@ -23,7 +27,7 @@ version 3 along with OpenOffice.org. If not, see <http://www.openoffice.org/license.html> for a copy of the LGPLv3 License. - + ************************************************************************/ --> @@ -61,38 +65,36 @@ <xsl:output method="text" /> <xsl:param name="prefix"/> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> + <!-- + Generates constant declarations for attribute values. + --> + <xsl:template name="valueconstantdecls"> <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_CHARTDRAWING_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_CHARTDRAWING_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED +extern rtl::OUString </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-chartDrawing</xsl:with-param> + <xsl:call-template name="valuestringname"> + <xsl:with-param name="string"></xsl:with-param> </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_CHARTDRAWING_HXX
</xsl:text> + <xsl:text>;</xsl:text> + <xsl:for-each select="//rng:value[generate-id(key('value-with-content', text())[1]) = generate-id(.)]"> + <xsl:text> +extern rtl::OUString </xsl:text> + <xsl:call-template name="valuestringname"> + <xsl:with-param name="string" select="."/> + </xsl:call-template> + <xsl:text>;</xsl:text> + </xsl:for-each> </xsl:template> - <xsl:template match="*"/> + <xsl:template match="/"> + <xsl:text> +#ifndef INCLUDED_FACTORY_VALUES</xsl:text> +#include <rtl/ustring.hxx> + +<xsl:call-template name="valueconstantdecls"/> +<xsl:text> +#endif // INCLUDED_FACTORY_VALUES
</xsl:text> + </xsl:template> </xsl:stylesheet> diff --git a/writerfilter/source/ooxml/factoryimpl.xsl b/writerfilter/source/ooxml/factoryimpl.xsl new file mode 100644 index 000000000000..8eecf4aba813 --- /dev/null +++ b/writerfilter/source/ooxml/factoryimpl.xsl @@ -0,0 +1,386 @@ +<!-- +/************************************************************************* + * + 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: fastresources_wml.xsl,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. + + ************************************************************************/ + +--> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" + xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" + xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" + xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" + xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" + xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" + xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" + xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" + xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" + xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" + xmlns:math="http://www.w3.org/1998/Math/MathML" + xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" + xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" + xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" + xmlns:ooo="http://openoffice.org/2004/office" + xmlns:ooow="http://openoffice.org/2004/writer" + xmlns:oooc="http://openoffice.org/2004/calc" + xmlns:dom="http://www.w3.org/2001/xml-events" + xmlns:xforms="http://www.w3.org/2002/xforms" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> + <xsl:output method="text" /> + <xsl:param name="prefix"/> + + <xsl:include href="factorytools.xsl"/> + + <xsl:key name="resources-with-kind" match="//resource[kind]" use="kind/@name"/> + <xsl:key name="sprms-with-code" match="//resource/element[@tokenid]" use="@tokenid"/> + +<xsl:template name="factorycreatecontextfromfactory"> + <xsl:text> +uno::Reference< xml::sax::XFastContextHandler > OOXMLFactory::createFastChildContextFromFactory +(OOXMLFastContextHandler * pHandler, OOXMLFactory_ns::Pointer_t pFactory, Token_t Element) +{ + uno::Reference < xml::sax::XFastContextHandler > aResult; + Id nDefine = pHandler->getDefine(); + + if (pFactory.get() != NULL) + { + CreateElementMapPointer pMap = pFactory->getCreateElementMap(nDefine); + TokenToIdMapPointer pTokenMap = pFactory->getTokenToIdMap(nDefine); + + if (pMap.get() != NULL) + { + Id nId = (*pTokenMap)[Element]; +#ifdef DEBUG_CREATE + string sDefine(pFactory->getDefineName(nDefine)); + string sElement(fastTokenToId(Element)); + string sQName((*QNameToString::Instance())(nId)); + + debug_logger->startElement("createFastChildContextFromFactory"); + debug_logger->attribute("define", sDefine); + debug_logger->attribute("element", sElement); + debug_logger->attribute("qname", sQName); + + static char buffer[16]; + snprintf(buffer, sizeof(buffer), "0x%08" SAL_PRIuUINT32, nId); + debug_logger->attribute("idnum", buffer); + + snprintf(buffer, sizeof(buffer), "0x%08" SAL_PRIuUINT32, nDefine); + debug_logger->attribute("definenum", buffer); +#endif + + CreateElement aCreateElement = (*pMap)[Element]; + + switch (aCreateElement.m_nResource) + {</xsl:text> + <xsl:for-each select="/model/namespace/resource"> + <xsl:if test="generate-id(key('resources', @resource)) = generate-id(.)"> + <xsl:if test="not(@resource = 'Hex' or + @resource = 'Integer' or + @resource = 'Boolean' or + @resource = 'List' or + @resource = 'String')"> + <xsl:text> + case RT_</xsl:text> + <xsl:value-of select="@resource"/> + <xsl:text>: + aResult.set(OOXMLFastHelper<OOXMLFastContextHandler</xsl:text> + <xsl:value-of select="@resource"/> + <xsl:text>>::createAndSetParentAndDefine(pHandler, Element, nId, aCreateElement.m_nId)); + break;</xsl:text> + </xsl:if> + </xsl:if> + </xsl:for-each> + <xsl:text> + case RT_Any: + aResult.set(createFastChildContextFromStart(pHandler, Element)); + break; + default: + break; + } + +#ifdef DEBUG_CREATE + debug_logger->endElement("createFastChildContextFromFactory"); +#endif + } + } + + return aResult; +} +</xsl:text> +</xsl:template> + +<xsl:template name="factoryfornamespace"> + <xsl:text> +OOXMLFactory_ns::Pointer_t OOXMLFactory::getFactoryForNamespace(Id nId) +{ + OOXMLFactory_ns::Pointer_t pResult; + + switch (nId & 0xffff0000) + {</xsl:text> + <xsl:for-each select="/model/namespace"> + <xsl:text> + case </xsl:text> + <xsl:call-template name="idfornamespace"/> + <xsl:text>: + pResult = </xsl:text> + <xsl:call-template name="factoryclassname"/> + <xsl:text>::getInstance(); + break;</xsl:text> + </xsl:for-each> + <xsl:text> + default: + break; + } + + return pResult; +} +</xsl:text> +</xsl:template> + +<xsl:template name="factorycreatefromstart"> + <xsl:text> +uno::Reference< xml::sax::XFastContextHandler > OOXMLFactory::createFastChildContextFromStart +(OOXMLFastContextHandler * pHandler, Token_t Element) +{ +#ifdef DEBUG_CREATE + debug_logger->startElement("createFastChildContextFromStart"); +#endif + + uno::Reference < xml::sax::XFastContextHandler > aResult; + OOXMLFactory_ns::Pointer_t pFactory; + +</xsl:text> + <xsl:for-each select="/model/namespace"> + <xsl:text> + if (! aResult.is()) + { + pFactory = getFactoryForNamespace(</xsl:text> + <xsl:call-template name="idfornamespace"/> + <xsl:text>); + aResult.set(createFastChildContextFromFactory(pHandler, pFactory, Element)); + }</xsl:text> + </xsl:for-each> + <xsl:text> + +#ifdef DEBUG_CREATE + debug_logger->endElement("createFastChildContextFromStart"); +#endif + return aResult; +} +</xsl:text> +</xsl:template> + +<xsl:template name="fasttokentoid"> + <xsl:text> +namespace tokenmap { +struct token { const char * name; Token_t nToken; }; +class Perfect_Hash +{ +private: + static inline unsigned int hash (const char *str, unsigned int len); +public: + static struct token *in_word_set (const char *str, unsigned int len); +}; +} + +string fastTokenToId(sal_uInt32 nToken) +{ + </xsl:text> + <xsl:text> + string sResult; + + switch (nToken & 0xffff0000) + {</xsl:text> + <xsl:for-each select="//namespace-alias"> + <xsl:text> + case NS_</xsl:text> + <xsl:value-of select="@alias"/> + <xsl:text>: + sResult += "</xsl:text> + <xsl:value-of select="@alias"/> + <xsl:text>:"; + break;</xsl:text> + </xsl:for-each> + <xsl:text> + } + + switch (nToken & 0xffff) + {</xsl:text> + <xsl:for-each select=".//rng:element[@localname]|.//rng:attribute[@localname]"> + <xsl:variable name="localname" select="@localname"/> + <xsl:if test="generate-id(.) = generate-id(key('same-token-name', $localname)[1])"> + <xsl:text> + case </xsl:text> + <xsl:call-template name="fastlocalname"/> + <xsl:text>: + sResult += "</xsl:text> + <xsl:value-of select="$localname"/> + <xsl:text>"; + break;</xsl:text> + </xsl:if> + </xsl:for-each> +<xsl:text> + } + + return sResult; +} + </xsl:text> +</xsl:template> + + <!-- + Generates case labels for mapping from token ids to a single kind + of sprm. + + @param kind the sprm kind for which to generate the case labels + --> + + <xsl:template name="sprmkindcase"> + <xsl:param name="kind"/> + <xsl:for-each select="key('resources-with-kind', $kind)/element"> + <xsl:if test="generate-id(.) = generate-id(key('sprms-with-code', @tokenid))"> + <xsl:text> + case </xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@tokenid"/> + </xsl:call-template> + <xsl:text>: //</xsl:text> + <xsl:value-of select="ancestor::resource/@name"/> + <xsl:text>, </xsl:text> + <xsl:value-of select="@name"/> + </xsl:if> + </xsl:for-each> + </xsl:template> + + <!-- + Generates SprmKind. + --> + <xsl:template name="sprmkind"> + <xsl:text> +Sprm::Kind SprmKind(sal_uInt32 nSprmCode) +{ + Sprm::Kind nResult = Sprm::UNKNOWN; + + switch (nSprmCode) + {</xsl:text> + <xsl:call-template name="sprmkindcase"> + <xsl:with-param name="kind">paragraph</xsl:with-param> + </xsl:call-template> + <xsl:text> + nResult = Sprm::PARAGRAPH; + break;</xsl:text> + <xsl:call-template name="sprmkindcase"> + <xsl:with-param name="kind">character</xsl:with-param> + </xsl:call-template> + <xsl:text> + nResult = Sprm::CHARACTER; + break;</xsl:text> + <xsl:call-template name="sprmkindcase"> + <xsl:with-param name="kind">table</xsl:with-param> + </xsl:call-template> + <xsl:text> + nResult = Sprm::TABLE; + break;</xsl:text> + <xsl:text> + default: + break; + } + + return nResult; +}</xsl:text> + </xsl:template> + +<xsl:template name="getfastparser"> +<xsl:text> +uno::Reference < xml::sax::XFastParser > OOXMLStreamImpl::getFastParser() +{ + if (! mxFastParser.is()) + { + uno::Reference < lang::XMultiComponentFactory > xFactory = + uno::Reference < lang::XMultiComponentFactory > + (mxContext->getServiceManager()); + + mxFastParser.set(xFactory->createInstanceWithContext + ( ::rtl::OUString::createFromAscii + ( "com.sun.star.xml.sax.FastParser" ), + mxContext ), uno::UNO_QUERY_THROW); +</xsl:text> +<xsl:for-each select="//namespace-alias"> + <xsl:text> + mxFastParser->registerNamespace(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>")), </xsl:text> + <xsl:call-template name="namespaceid"/> + <xsl:text>);</xsl:text> +</xsl:for-each> +<xsl:text> + } + + return mxFastParser; +} +</xsl:text> +</xsl:template> + + <xsl:template match="/"> + <xsl:text> +#include "OOXMLFactory.hxx" +#include "OOXMLFastHelper.hxx" +#include "OOXMLStreamImpl.hxx" +#include "doctok/sprmids.hxx" +#include "doctok/resourceids.hxx" +</xsl:text> + <xsl:call-template name="factoryincludes"/> + <xsl:text> +namespace writerfilter { +namespace ooxml { + +/// @cond GENERATED + </xsl:text> + <xsl:call-template name="factorycreatecontextfromfactory"/> + <xsl:call-template name="factoryfornamespace"/> + <xsl:call-template name="factorycreatefromstart"/> + <xsl:call-template name="fasttokentoid"/> + <xsl:call-template name="sprmkind"/> + <xsl:call-template name="getfastparser"/> + <xsl:text> +/// @endcond +}} +</xsl:text> +</xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/factoryimpl_ns.xsl b/writerfilter/source/ooxml/factoryimpl_ns.xsl new file mode 100644 index 000000000000..55d986932aec --- /dev/null +++ b/writerfilter/source/ooxml/factoryimpl_ns.xsl @@ -0,0 +1,824 @@ +<!-- +/************************************************************************* + * + 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: fastresources_wml.xsl,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. + + ************************************************************************/ + +--> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" + xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" + xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" + xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" + xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" + xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" + xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" + xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" + xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" + xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" + xmlns:math="http://www.w3.org/1998/Math/MathML" + xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" + xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" + xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" + xmlns:ooo="http://openoffice.org/2004/office" + xmlns:ooow="http://openoffice.org/2004/writer" + xmlns:oooc="http://openoffice.org/2004/calc" + xmlns:dom="http://www.w3.org/2001/xml-events" + xmlns:xforms="http://www.w3.org/2002/xforms" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> + <xsl:output method="text" /> + <xsl:param name="prefix"/> + + <xsl:include href="factorytools.xsl"/> + +<xsl:template name="factorymutex"> + <xsl:call-template name="factoryclassname"/> + <xsl:text>_Mutex</xsl:text> +</xsl:template> + +<xsl:template name="factorymutexdecl"> + <xsl:variable name="classname"> + <xsl:call-template name="factoryclassname"/> + </xsl:variable> + <xsl:text> +typedef rtl::Static < osl::Mutex, </xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text> > </xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>_Mutex; +</xsl:text> +</xsl:template> + +<xsl:template name="factoryconstructor"> + <xsl:variable name="classname"> + <xsl:call-template name="factoryclassname"/> + </xsl:variable> + <xsl:text> +</xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>() +{ + // multi-thread-safe mutex for all platforms + + osl::MutexGuard aGuard(</xsl:text> + <xsl:call-template name="factorymutex"/> + <xsl:text>::get()); +} +</xsl:text> +</xsl:template> + +<xsl:template name="factorydestructor"> + <xsl:variable name="classname"> + <xsl:call-template name="factoryclassname"/> + </xsl:variable> + <xsl:text> +</xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>::~</xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>() +{ +} +</xsl:text> +</xsl:template> + +<xsl:template name="factorygetinstance"> + <xsl:variable name="classname"> + <xsl:call-template name="factoryclassname"/> + </xsl:variable> + <xsl:text> +OOXMLFactory_ns::Pointer_t </xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>::m_pInstance; + +OOXMLFactory_ns::Pointer_t </xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>::getInstance() +{ + if (m_pInstance.get() == NULL) + m_pInstance.reset(new </xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>()); + + return m_pInstance; +} +</xsl:text> +</xsl:template> + +<!-- + +creates code block in OOXMLFactory_<namespace>::createAttributeToResourceMap +for a rng:define + + --> +<xsl:template name="factoryattributetoresourcemapinner"> + <xsl:for-each select=".//rng:attribute"> + <xsl:variable name="mynsid" select="generate-id(ancestor::namespace)"/> + <xsl:variable name="resource"> + <xsl:for-each select="rng:ref"> + <xsl:for-each select="key('context-resource', @name)[generate-id(ancestor::namespace) = $mynsid]"> + <xsl:value-of select="@resource"/> + </xsl:for-each> + </xsl:for-each> + <xsl:for-each select=".//rng:text"> + <xsl:text>String</xsl:text> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="refdefine1"> + <xsl:for-each select="rng:ref"> + <xsl:variable name="refname" select="@name"/> + <xsl:for-each select="ancestor::rng:grammar/rng:define[@name=$refname]"> + <xsl:call-template name="idfordefine"/> + </xsl:for-each> + </xsl:for-each> + </xsl:variable> + <xsl:variable name="refdefine"> + <xsl:choose> + <xsl:when test="string-length($refdefine1) > 0"> + <xsl:value-of select="$refdefine1"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>0</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <xsl:when test="string-length($resource) > 0"> + <xsl:text> + (*pMap)[</xsl:text> + <xsl:call-template name="fasttoken"/> + <xsl:text>] = AttributeInfo(RT_</xsl:text> + <xsl:value-of select="$resource"/> + <xsl:text>, </xsl:text> + <xsl:value-of select="$refdefine"/> + <xsl:text>);</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> + // empty resource: </xsl:text> + <xsl:call-template name="fasttoken"/> + </xsl:otherwise> + </xsl:choose> + + </xsl:for-each> + + <xsl:for-each select=".//rng:ref[not(ancestor::rng:element or ancestor::rng:attribute)]"> + <xsl:variable name="name" select="@name"/> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:call-template name="factoryattributetoresourcemapinner"/> + </xsl:for-each> + </xsl:for-each> +</xsl:template> + +<!-- factoryattributetoresourcemap --> +<xsl:template name="factoryattributetoresourcemap"> + <xsl:text> +AttributeToResourceMapPointer </xsl:text> + <xsl:call-template name="factoryclassname"/> + <xsl:text>::createAttributeToResourceMap(Id nId) +{ + AttributeToResourceMapPointer pMap(new AttributeToResourceMap()); + + switch (nId) + {</xsl:text> + <xsl:for-each select="rng:grammar/rng:define"> + <xsl:variable name="inner"> + <xsl:call-template name="factoryattributetoresourcemapinner"/> + </xsl:variable> + <xsl:if test="string-length($inner) > 0"> + <xsl:text> + </xsl:text> + <xsl:call-template name="caselabeldefine"/> + <xsl:value-of select="$inner"/> + <xsl:text> + break;</xsl:text> + </xsl:if> + </xsl:for-each> + default: + break; + } + + return pMap; +} +</xsl:template> + +<!-- factorylistvaluemap --> +<xsl:template name="factorylistvaluemap"> + <xsl:text> +ListValueMapPointer </xsl:text> + <xsl:call-template name="factoryclassname"/> + <xsl:text>::createListValueMap(Id nId) +{ + ListValueMapPointer pMap(new ListValueMap()); + + switch (nId) + {</xsl:text> + <xsl:for-each select="resource[@resource='List']"> + <xsl:text> + </xsl:text> + <xsl:call-template name="caselabeldefine"/> + <xsl:for-each select="value"> + <xsl:text> + (*pMap)[</xsl:text> + <xsl:call-template name="valuestringname"> + <xsl:with-param name="string" select="text()"/> + </xsl:call-template> + <xsl:text>] = </xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@tokenid"/> + </xsl:call-template> + <xsl:text>;</xsl:text> + </xsl:for-each> + <xsl:text> + break;</xsl:text> + </xsl:for-each> + <xsl:text> + default: + break; + } + + return pMap; +}</xsl:text> +</xsl:template> + +<!-- factoryelementtoresorucemapinner --> +<xsl:template name="factorycreateelementmapinner"> + <xsl:for-each select=".//rng:element"> + <xsl:variable name="resource"> + <xsl:for-each select="rng:ref"> + <xsl:call-template name="contextresource"/> + </xsl:for-each> + </xsl:variable> + <xsl:if test="string-length($resource) > 0"> + <xsl:text> + (*pMap)[</xsl:text> + <xsl:call-template name="fasttoken"/> + <xsl:text>] = CreateElement(RT_</xsl:text> + <xsl:value-of select="$resource"/> + <xsl:text>, </xsl:text> + <xsl:for-each select="rng:ref"> + <xsl:call-template name="idforref"/> + </xsl:for-each> + <xsl:text>);</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:for-each select=".//rng:ref[not(ancestor::rng:element or ancestor::rng:attribute)]"> + <xsl:variable name="name" select="@name"/> + <xsl:variable name="block"> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:call-template name="factorycreateelementmapinner"/> + </xsl:for-each> + </xsl:variable> + <xsl:variable name="block1"> + <xsl:choose> + <xsl:when test="string-length($block) = 0"> + <xsl:for-each select="ancestor::model/namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:call-template name="factorycreateelementmapinner"/> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$block"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="string-length($block1) > 0"> + <xsl:text> + /* ref: </xsl:text> + <xsl:value-of select="$name"/> + <xsl:text>*/</xsl:text> + <xsl:value-of select="$block1"/> + </xsl:if> + </xsl:for-each> +</xsl:template> + +<xsl:template name="factorycreateelementmapfromstart"> + <xsl:for-each select="start"> + <xsl:variable name="name" select="@name"/> + <xsl:variable name="block"> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:call-template name="factorycreateelementmapinner"> + </xsl:call-template> + </xsl:for-each> + </xsl:variable> + <xsl:text> + /* start: </xsl:text> + <xsl:value-of select="$name"/> + <xsl:text>*/</xsl:text> + <xsl:if test="string-length($block) > 0"> + <xsl:value-of select="$block"/> + </xsl:if> + </xsl:for-each> +</xsl:template> + +<!-- factoryelementtoresourcemap --> +<xsl:template name="factorycreateelementmap"> + <xsl:text> +CreateElementMapPointer </xsl:text> + <xsl:call-template name="factoryclassname"/> + <xsl:text>::createCreateElementMap(Id nId) +{ + CreateElementMapPointer pMap(new CreateElementMap()); + + switch (nId) + {</xsl:text> + <xsl:for-each select="rng:grammar/rng:define"> + <xsl:variable name="inner"> + <xsl:call-template name="factorycreateelementmapinner"/> + </xsl:variable> + <xsl:if test="string-length($inner) > 0"> + <xsl:text> + </xsl:text> + <xsl:call-template name="caselabeldefine"/> + <xsl:value-of select="$inner"/> + <xsl:text> + break;</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> + default:</xsl:text> + <xsl:call-template name="factorycreateelementmapfromstart"/> + <xsl:text> + break; + } + + return pMap; +}</xsl:text> +</xsl:template> + + <!-- + Chooses the action for the current <action> element. + --> + <xsl:template name="factorychooseaction"> + <xsl:if test="@tokenid"> + <xsl:text> + if (sal::static_int_cast<Id>(pHandler->getId()) == </xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@tokenid"/> + </xsl:call-template> + <xsl:text>) + {</xsl:text> + </xsl:if> + <xsl:for-each select="./cond"> + <xsl:text> + { + OOXMLPropertySetEntryToInteger aHandler(</xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@tokenid"/> + </xsl:call-template> + <xsl:text>); + dynamic_cast<OOXMLFastContextHandlerStream*>(pHandler)->getPropertySetAttrs()->resolve(aHandler); + + if (sal::static_int_cast<Id>(aHandler.getValue()) == </xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@value"/> + </xsl:call-template> + <xsl:text>) + {</xsl:text> + </xsl:for-each> + <xsl:choose> + <xsl:when test="@action='handleXNotes' or + @action='handleHdrFtr' or + @action='handleComment' or + @action='handlePicture' or + @action='handleBreak' or + @action='handleOLE'"> + <xsl:text> + dynamic_cast<OOXMLFastContextHandlerProperties*>(pHandler)-></xsl:text> + <xsl:value-of select="@action"/> + <xsl:text>();</xsl:text> + </xsl:when> + <xsl:when test="@action='propagateCharacterPropertiesAsSet'"> + <xsl:text> + pHandler->propagateCharacterPropertiesAsSet(</xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@sendtokenid"/> + </xsl:call-template> + <xsl:text>);</xsl:text> + </xsl:when> + <xsl:when test="@action='startCell' or @action='endCell'"> + <xsl:text> + dynamic_cast<OOXMLFastContextHandlerTextTableCell*>(pHandler)-></xsl:text> + <xsl:value-of select="@action"/> + <xsl:text>();</xsl:text> + </xsl:when> + <xsl:when test="@action='startRow' or @action='endRow'"> + <xsl:text> + dynamic_cast<OOXMLFastContextHandlerTextTableRow*>(pHandler)-></xsl:text> + <xsl:value-of select="@action"/> + <xsl:text>();</xsl:text> + </xsl:when> + <xsl:when test="@action='sendProperty' or @action='handleHyperlink'"> + <xsl:text> + dynamic_cast<OOXMLFastContextHandlerStream*>(pHandler)-></xsl:text> + <xsl:value-of select="@action"/> + <xsl:text>();</xsl:text> + </xsl:when> + <xsl:when test="@action='fieldstart'"> + <xsl:text> + pHandler->startField();</xsl:text> + </xsl:when> + <xsl:when test="@action='fieldsep'"> + <xsl:text> + pHandler->fieldSeparator();</xsl:text> + </xsl:when> + <xsl:when test="@action='fieldend'"> + <xsl:text> + pHandler->endField();</xsl:text> + </xsl:when> + <xsl:when test="@action='printproperty'"> + <xsl:text> + dynamic_cast<OOXMLFastContextHandlerStream*>(pHandler)->sendProperty(</xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@sendtokenid"/> + </xsl:call-template> + <xsl:text>);</xsl:text> + </xsl:when> + <xsl:when test="@action='sendPropertiesWithId'"> + <xsl:text> + pHandler->sendPropertiesWithId(</xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@sendtokenid"/> + </xsl:call-template> + <xsl:text>);</xsl:text> + </xsl:when> + <xsl:when test="@action='text'"> + pHandler->text(sText); + </xsl:when> + <xsl:when test="@action='newProperty'"> + <xsl:text> + OOXMLFastHelper<OOXMLIntegerValue>::newProperty(pHandler, </xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@tokenid"/> + </xsl:call-template> + <xsl:text>, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("</xsl:text> + <xsl:value-of select="@value"/> + <xsl:text>")));</xsl:text> + </xsl:when> + <xsl:when test="@action='mark'"> + <xsl:text> + OOXMLFastHelper<OOXMLIntegerValue>::mark(pHandler, </xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@sendtokenid"/> + </xsl:call-template> + <xsl:text>, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("</xsl:text> + <xsl:value-of select="@value"/> + <xsl:text>")));</xsl:text> + </xsl:when> + <xsl:when test="@action='tokenproperty'"> + <xsl:text> + OOXMLFastHelper<OOXMLIntegerValue>::newProperty(pHandler, </xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id">ooxml:token</xsl:with-param> + </xsl:call-template> + <xsl:text>, pHandler->getToken());</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> + pHandler-></xsl:text> + <xsl:value-of select="@action"/> + <xsl:text>();</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select="./cond"> + <xsl:text> + } + }</xsl:text> + </xsl:for-each> + <xsl:if test="@tokenid"> + <xsl:text> + }</xsl:text> + </xsl:if> + </xsl:template> + +<!-- factoryaction --> +<xsl:template name="factoryaction"> + <xsl:param name="action"/> + <xsl:text> +void </xsl:text> + <xsl:call-template name="factoryclassname"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$action"/> + <xsl:text>Action(OOXMLFastContextHandler * pHandler</xsl:text> + <xsl:if test="$action='characters'"> + <xsl:text>, const ::rtl::OUString & sText</xsl:text> + </xsl:if> + <xsl:text>) +{ + switch (pHandler->getDefine()) + {</xsl:text> + <xsl:for-each select="resource[action/@name=$action]"> + <xsl:text> + </xsl:text> + <xsl:call-template name="caselabeldefine"/> + <xsl:for-each select="action[@name=$action]"> + <xsl:call-template name="factorychooseaction"/> + </xsl:for-each> + <xsl:text> + break;</xsl:text> + </xsl:for-each> + <xsl:text> + default: + break; + } +} +</xsl:text> +</xsl:template> + +<!-- factoryactions --> +<xsl:template name="factoryactions"> + <xsl:variable name="ns" select="@name"/> + <xsl:for-each select="resource/action"> + <xsl:sort select="@name"/> + <xsl:if test="generate-id(key('actions', @name)[ancestor::namespace/@name=$ns][1]) = generate-id(.)"> + <xsl:variable name="name" select="@name"/> + <xsl:for-each select="ancestor::namespace"> + <xsl:call-template name="factoryaction"> + <xsl:with-param name="action" select="$name"/> + </xsl:call-template> + </xsl:for-each> + </xsl:if> + </xsl:for-each> +</xsl:template> + +<xsl:template name="factorygetdefinename"> + <xsl:text> +string </xsl:text> + <xsl:call-template name="factoryclassname"/> + <xsl:text>::getDefineName(Id nId) const +{ + static IdToStringMapPointer pMap; + + if (pMap.get() == NULL) + { + pMap = IdToStringMapPointer(new IdToStringMap()); + +</xsl:text> + <xsl:for-each select="rng:grammar/rng:define"> + <xsl:text> + (*pMap)[</xsl:text> + <xsl:call-template name="idfordefine"/> + <xsl:text>] = "</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>";</xsl:text> + </xsl:for-each> + } + + return (*pMap)[nId]; +} + +</xsl:template> + +<xsl:template name="factorytokentoidmapinner"> + <xsl:variable name="name" select="@name"/> + <xsl:variable name="body"> + <xsl:for-each select="ancestor::namespace/resource[@name=$name]"> + <xsl:for-each select="element[@tokenid]|attribute[@tokenid]"> + <xsl:text> + (*pMap)[</xsl:text> + <xsl:call-template name="fasttoken"/> + <xsl:text>] = </xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="@tokenid"/> + </xsl:call-template> + <xsl:text>;</xsl:text> + </xsl:for-each> + </xsl:for-each> + </xsl:variable> + <xsl:if test="string-length($body) > 0"> + <xsl:text> + // </xsl:text> + <xsl:value-of select="$name"/> + <xsl:value-of select="$body"/> + </xsl:if> + <xsl:for-each select=".//rng:ref[not(ancestor::rng:element or ancestor::rng:attribute)]"> + <xsl:variable name="refname" select="@name"/> + <xsl:variable name="refblock1"> + <xsl:for-each + select="ancestor::rng:grammar/rng:define[@name=$refname]"> + <xsl:call-template name="factorytokentoidmapinner"/> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <xsl:when test="string-length($refblock1) = 0"> + <xsl:for-each select="ancestor::model/namespace/rng:grammar/rng:define[@name=$refname]"> + <xsl:call-template name="factorytokentoidmapinner"/> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$refblock1"/> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> +</xsl:template> + +<xsl:template name="factorytokentoidmap"> + <xsl:text> +TokenToIdMapPointer </xsl:text> + <xsl:call-template name="factoryclassname"/> + <xsl:text>::createTokenToIdMap(Id nId) +{ + TokenToIdMapPointer pMap(new TokenToIdMap()); + + switch (nId) + {</xsl:text> + <xsl:for-each select="rng:grammar/rng:define"> + <xsl:variable name="inner"> + <xsl:call-template name="factorytokentoidmapinner"/> + </xsl:variable> + <xsl:if test="string-length($inner) > 0"> + <xsl:text> + </xsl:text> + <xsl:call-template name="caselabeldefine"/> + <xsl:value-of select="$inner"/> + <xsl:text> + break;</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> + default:</xsl:text> + <xsl:for-each select="start"> + <xsl:variable name="name" select="@name"/> + <xsl:text> + // </xsl:text> + <xsl:value-of select="$name"/> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:call-template name="factorytokentoidmapinner"/> + </xsl:for-each> + </xsl:for-each> + <xsl:text> + break; + } + + return pMap; +} +</xsl:text> +</xsl:template> + +<xsl:template name="factoryattributeactiondefineinner"> + <xsl:variable name="name" select="@name"/> + <xsl:variable name="block"> + <xsl:for-each select="ancestor::namespace/resource[@name=$name]"> + <xsl:for-each select="attribute[@action]"> + <xsl:text> + case </xsl:text> + <xsl:call-template name="fasttoken"/> + <xsl:text>: + pHandler-></xsl:text> + <xsl:value-of select="@action"/> + <xsl:text>(pValue); + break;</xsl:text> + </xsl:for-each> + </xsl:for-each> + </xsl:variable> + <xsl:if test="string-length($block) > 0"> + <xsl:variable name="handlertype"> + <xsl:text>OOXMLFastContextHandler</xsl:text> + <xsl:for-each select="ancestor::namespace/resource[@name=$name]"> + <xsl:value-of select="@resource"/> + </xsl:for-each> + </xsl:variable> + <xsl:text> + { + </xsl:text> + <xsl:value-of select="$handlertype"/> + <xsl:text> * pHandler = dynamic_cast<</xsl:text> + <xsl:value-of select="$handlertype"/> + <xsl:text> * >(_pHandler); + + switch(nToken) + {</xsl:text> + <xsl:value-of select="$block"/> + <xsl:text> + default: + break; + } + }</xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template name="factoryattributeactioninner"> + <xsl:for-each select="rng:grammar/rng:define"> + <xsl:variable name="inner"> + <xsl:call-template name="factoryattributeactiondefineinner"/> + </xsl:variable> + <xsl:if test="string-length($inner) > 0"> + <xsl:text> + </xsl:text> + <xsl:call-template name="caselabeldefine"/> + <xsl:value-of select="$inner"/> + <xsl:text> + break;</xsl:text> + </xsl:if> + </xsl:for-each> +</xsl:template> + +<xsl:template name="factoryattributeaction"> + <xsl:variable name="inner"> + <xsl:call-template name="factoryattributeactioninner"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="string-length($inner) > 0"> + <xsl:text> +void </xsl:text> +<xsl:call-template name="factoryclassname"/> +<xsl:text>::attributeAction(OOXMLFastContextHandler * _pHandler, Token_t nToken, OOXMLValue::Pointer_t pValue) +{ + switch(_pHandler->getDefine()) + {</xsl:text> + <xsl:value-of select="$inner"/> + <xsl:text> + default: + break; + } +} +</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> +void </xsl:text> +<xsl:call-template name="factoryclassname"/> +<xsl:text>::attributeAction(OOXMLFastContextHandler *, Token_t, OOXMLValue::Pointer_t) +{ +} +</xsl:text> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + + <xsl:template match="/"> + <xsl:variable name="ns" select="substring-before(substring-after($file, 'OOXMLFactory_'), '.cxx')"/> + <xsl:text> +#include "doctok/sprmids.hxx" +#include "doctok/resourceids.hxx" +#include "ooxml/resourceids.hxx" +#include "OOXMLFactory_values.hxx" +#include "OOXMLFactory_</xsl:text> + <xsl:value-of select="$ns"/> + <xsl:text>.hxx" +#include "OOXMLFastHelper.hxx" + +namespace writerfilter { +namespace ooxml { + +/// @cond GENERATED + </xsl:text> + <xsl:for-each select="/model/namespace[@name=$ns]"> + <xsl:call-template name="factorymutexdecl"/> + <xsl:call-template name="factoryconstructor"/> + <xsl:call-template name="factorydestructor"/> + <xsl:call-template name="factorygetinstance"/> + <xsl:call-template name="factoryattributetoresourcemap"/> + <xsl:call-template name="factorylistvaluemap"/> + <xsl:call-template name="factorycreateelementmap"/> + <xsl:call-template name="factoryactions"/> + <xsl:call-template name="factorygetdefinename"/> + <xsl:call-template name="factorytokentoidmap"/> + <xsl:call-template name="factoryattributeaction"/> + </xsl:for-each> + <xsl:text> +/// @endcond +}} +</xsl:text> +</xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/fastresources_.xsl b/writerfilter/source/ooxml/factoryimpl_values.xsl index 6141bb7f02bc..465923d41769 100644 --- a/writerfilter/source/ooxml/fastresources_.xsl +++ b/writerfilter/source/ooxml/factoryimpl_values.xsl @@ -3,10 +3,14 @@ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - Copyright 2000, 2010 Oracle and/or its affiliates. + Copyright 2008 by Sun Microsystems, Inc. OpenOffice.org - a multi-platform office productivity suite + $RCSfile: fastresources_wml.xsl,v $ + + $Revision: 1.3 $ + This file is part of OpenOffice.org. OpenOffice.org is free software: you can redistribute it and/or modify @@ -23,7 +27,7 @@ version 3 along with OpenOffice.org. If not, see <http://www.openoffice.org/license.html> for a copy of the LGPLv3 License. - + ************************************************************************/ --> @@ -61,39 +65,34 @@ <xsl:output method="text" /> <xsl:param name="prefix"/> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> + <!-- + Generates constant definitions for attribute values. + --> + <xsl:template name="valueconstants"> <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_WML_HXX -#define INCLUDED_OOXML_FASTRESOURCES_WML_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; -using namespace doctok; +rtl::OUString </xsl:text> +<xsl:call-template name="valuestringname"> + <xsl:with-param name="string"></xsl:with-param> +</xsl:call-template> +<xsl:text>(RTL_CONSTASCII_USTRINGPARAM(""));</xsl:text> +<xsl:for-each select="//rng:value[generate-id(key('value-with-content', text())[1]) = generate-id(.)]"> + <xsl:text> +rtl::OUString </xsl:text> +<xsl:call-template name="valuestringname"> + <xsl:with-param name="string" select="."/> +</xsl:call-template> +<xsl:text>(RTL_CONSTASCII_USTRINGPARAM("</xsl:text> +<xsl:value-of select="."/> +<xsl:text>"));</xsl:text> +</xsl:for-each> + </xsl:template> -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">wml</xsl:with-param> - </xsl:call-template> + <xsl:template match="/"> <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_WML_HXX
</xsl:text> +#include "OOXMLFactory_values.hxx"</xsl:text> +<xsl:call-template name="valueconstants"/> +<xsl:text>
</xsl:text> </xsl:template> - - <xsl:template match="*"/> </xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-shape3DCamera.xsl b/writerfilter/source/ooxml/factoryinc.xsl index 8ff2260a76c4..aa54a5c297ca 100644 --- a/writerfilter/source/ooxml/fastresources_dml-shape3DCamera.xsl +++ b/writerfilter/source/ooxml/factoryinc.xsl @@ -3,10 +3,14 @@ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - Copyright 2000, 2010 Oracle and/or its affiliates. + Copyright 2008 by Sun Microsystems, Inc. OpenOffice.org - a multi-platform office productivity suite + $RCSfile: fastresources_wml.xsl,v $ + + $Revision: 1.3 $ + This file is part of OpenOffice.org. OpenOffice.org is free software: you can redistribute it and/or modify @@ -23,7 +27,7 @@ version 3 along with OpenOffice.org. If not, see <http://www.openoffice.org/license.html> for a copy of the LGPLv3 License. - + ************************************************************************/ --> @@ -61,38 +65,48 @@ <xsl:output method="text" /> <xsl:param name="prefix"/> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DCAMERA_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DCAMERA_HXX + <xsl:template name="factorynamespaceiddecls"> + <xsl:for-each select="/model/namespace"> + <xsl:sort select="@name"/> + <xsl:text> +extern const Id </xsl:text> +<xsl:call-template name="idfornamespace"/> +<xsl:text>;</xsl:text> + </xsl:for-each> + </xsl:template> -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> + <xsl:template name="factorynamespaceidimpls"> + <xsl:for-each select="/model/namespace"> + <xsl:sort select="@name"/> + <xsl:text> +const Id </xsl:text> +<xsl:call-template name="idfornamespace"/> +<xsl:text> = </xsl:text> +<xsl:value-of select="position()"/> +<xsl:text> << 16;</xsl:text> + </xsl:for-each> +</xsl:template> -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" + <xsl:template match="/"> + <xsl:text> +#ifndef OOXML_FACTORY_GENERATED_HXX +#define OOXML_FACTORY_GENERATED_HXX namespace writerfilter { namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; /// @cond GENERATED </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-shape3DCamera</xsl:with-param> - </xsl:call-template> + <xsl:call-template name="factorynamespaceidimpls"/> + <xsl:call-template name="factorydefineidimpls"/> <xsl:text> /// @endcond }} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DCAMERA_HXX
</xsl:text> - </xsl:template> - <xsl:template match="*"/> -</xsl:stylesheet> +#endif // OOXML_FACTORY_GENERATED_HXX +</xsl:text> +</xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/factorytools.xsl b/writerfilter/source/ooxml/factorytools.xsl new file mode 100644 index 000000000000..a7b0af5f9dea --- /dev/null +++ b/writerfilter/source/ooxml/factorytools.xsl @@ -0,0 +1,345 @@ +<!-- +/************************************************************************* + * + * 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: $ + * + * $Revision: $ + * + * 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. + * + ************************************************************************/ + +--> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" + xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" + xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" + xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" + xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" + xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" + xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" + xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" + xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" + xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" + xmlns:math="http://www.w3.org/1998/Math/MathML" + xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" + xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" + xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" + xmlns:ooo="http://openoffice.org/2004/office" + xmlns:ooow="http://openoffice.org/2004/writer" + xmlns:oooc="http://openoffice.org/2004/calc" + xmlns:dom="http://www.w3.org/2001/xml-events" + xmlns:xforms="http://www.w3.org/2002/xforms" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:xalan="http://xml.apache.org/xalan" + xmlns:UML = 'org.omg.xmi.namespace.UML' + xmlns:common="http://exslt.org/common" + exclude-result-prefixes = "xalan" + xml:space="default"> + +<!-- + KEYS +--> +<xsl:key name="context-resource" + match="resource" use="@name"/> + +<xsl:key name="tokenids" match="@tokenid|@sendtokenid" use="."/> + +<xsl:key name="actions" match="/model/namespace/resource/action" + use="@name"/> + +<xsl:key name="definename" match="//rng:define" use="@name"/> + +<xsl:key name="resources" match="/model/namespace/resource" use="@resource"/> + +<xsl:key name="value-with-content" match="//rng:value" + use="text()"/> + +<xsl:key name="same-token-name" match="rng:element|rng:attribute" use="@localname"/> + +<!-- license header --> +<xsl:template name="licenseheader"> + <xsl:text> +/* + + THIS FILE IS GENERATED AUTOMATICALLY! DO NOT EDIT! + +*/ +
</xsl:text> +</xsl:template> + +<!-- +IDENTIFIERs +--> + +<!-- + +generates token identifer for a namespace + +NN_<namespace/@name> + +--> +<xsl:template name="fastnamespace"> + <xsl:if test="string-length(@prefix) > 0"> + <xsl:text>NS_</xsl:text> + <xsl:value-of select="@prefix"/> + </xsl:if> +</xsl:template> + +<!-- + +generates local part of token identifier for a rng:define + +OOXML_<rng:define/@localname> + +--> +<xsl:template name="fastlocalname"> + <xsl:text>OOXML_</xsl:text> + <xsl:value-of select="@localname"/> +</xsl:template> + +<!-- + +generates identifier for a token + +--> +<xsl:template name="fasttoken"> + <xsl:variable name="ns"> + <xsl:call-template name="fastnamespace"/> + </xsl:variable> + <xsl:if test="string-length($ns) > 0"> + <xsl:value-of select="$ns"/> + <xsl:text>|</xsl:text> + </xsl:if> + <xsl:call-template name="fastlocalname"/> +</xsl:template> + +<!-- generates identifier for a namespace + +NN_<namespace/@name> + +--> +<xsl:template name="idfornamespace"> + <xsl:text>NN_</xsl:text> + <xsl:value-of select="translate(@name, '-', '_')"/> +</xsl:template> + +<!-- generates local part of identier for rng:define + +DEFINE_<rng:define/@name> + +--> +<xsl:template name="localidfordefine"> + <xsl:text>DEFINE_</xsl:text> + <xsl:value-of select="@name"/> +</xsl:template> + +<!-- generates id for a rng:define + +NN_<namespace/@name> | DEFINE_<rng:define/@name> + +--> +<xsl:template name="idfordefine"> + <xsl:for-each select="ancestor::namespace"> + <xsl:call-template name="idfornamespace"/> + </xsl:for-each> + <xsl:text>|</xsl:text> + <xsl:call-template name="localidfordefine"/> +</xsl:template> + +<!-- + +creates case label for a rng:define: + +case NN_<namesapce/@name> | DEFINE_<rng:define/@name>: + +--> +<xsl:template name="caselabeldefine"> + <xsl:text>case </xsl:text> + <xsl:call-template name="idfordefine"/> + <xsl:text>:</xsl:text> +</xsl:template> + +<!-- + Generates name for a value string. + + Value strings are possible values for attributes in OOXML. + + @param string the string as present in the according <rng:value> +--> +<xsl:template name="valuestringname"> + <xsl:param name="string"/> + <xsl:text>OOXMLValueString_</xsl:text> + <xsl:value-of select="translate($string, '-+ ,', 'mp__')"/> +</xsl:template> + +<!-- + Generates qname for id. + + @param id the id to generate qname for + + If id is of format <prefix>:<localname> the result is + + NS_<prefix>::LN_<localname> + + If id does not contain ":" the result is just id. +--> +<xsl:template name='idtoqname'> + <xsl:param name='id'/> + <xsl:choose> + <xsl:when test="contains($id, ':')"> + <xsl:text>NS_</xsl:text> + <xsl:value-of select='substring-before($id, ":")'/> + <xsl:text>::LN_</xsl:text> + <xsl:value-of select='substring-after($id, ":")'/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$id"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- + Returns the identifier for a namespace. + +NS_<namespace/@alias> + +--> +<xsl:template name="namespaceid"> + <xsl:text>NS_</xsl:text> + <xsl:value-of select="@alias"/> +</xsl:template> + +<!-- + Returns the value of the @resource attribute of the <resource> + node according to the current <define>. +--> +<xsl:template name="contextresource"> + <xsl:variable name="name" select="@name"/> + <xsl:variable name="nsid" select="generate-id(ancestor::namespace)"/> + <xsl:variable name="resourcesamens"> + <xsl:for-each select="key('context-resource', @name)"> + <xsl:if test="generate-id(ancestor::namespace) = $nsid"> + <xsl:value-of select="@resource"/> + </xsl:if> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <xsl:when test="$name='BUILT_IN_ANY_TYPE'"> + <xsl:text>Any</xsl:text> + </xsl:when> + <xsl:when test="string-length($resourcesamens) = 0"> + <xsl:for-each select="key('context-resource', @name)[1]"> + <xsl:value-of select="@resource"/> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$resourcesamens"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="idforref"> + <xsl:variable name="name" select="@name"/> + <xsl:variable name="result1"> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:call-template name="idfordefine"/> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <xsl:when test="$name='BUILT_IN_ANY_TYPE'"> + <xsl:text>0</xsl:text> + </xsl:when> + <xsl:when test="string-length($result1) = 0"> + <xsl:for-each select="(ancestor::model/namespace/rng:grammar/rng:define[@name=$name])[1]"> + <xsl:call-template name="idfordefine"/> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$result1"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- factoryclassname --> +<xsl:template name="factoryclassname"> + <xsl:text>OOXMLFactory_</xsl:text> + <xsl:value-of select="translate(@name, '-', '_')"/> +</xsl:template> + +<xsl:template name="factoryincludes"> + <xsl:for-each select="/model/namespace"> + <xsl:text> +#include "OOXMLFactory_</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>.hxx"</xsl:text> + </xsl:for-each> +</xsl:template> + +<xsl:template name="factorydefineiddecls"> + <xsl:for-each select="//rng:define"> + <xsl:sort select="@name"/> + <xsl:if test="generate-id(key('definename', @name)[1]) = generate-id(.)"> + <xsl:text> +extern const Id </xsl:text> + <xsl:call-template name="localidfordefine"/> + <xsl:text>;</xsl:text> + </xsl:if> + </xsl:for-each> +</xsl:template> + +<xsl:template name="factorydefineidimpls"> + <xsl:for-each select="//rng:define"> + <xsl:sort select="@name"/> + <xsl:if test="generate-id(key('definename', @name)[1]) = generate-id(.)"> + <xsl:text> +const Id </xsl:text> + <xsl:call-template name="localidfordefine"/> + <xsl:text> = </xsl:text> + <xsl:value-of select="position()"/> + <xsl:text>;</xsl:text> + </xsl:if> + </xsl:for-each> +</xsl:template> + +<xsl:template name="resources"> + <xsl:for-each select="/model/namespace/resource"> + <xsl:if test="generate-id(key('resources', @resource)[1])=generate-id(.)"> + <xsl:text>RT_</xsl:text> + <xsl:value-of select="@resource"/> + <xsl:text>,
</xsl:text> + </xsl:if> + </xsl:for-each> +</xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/fastresources.xsl b/writerfilter/source/ooxml/fastresources.xsl deleted file mode 100644 index bf68234a37bb..000000000000 --- a/writerfilter/source/ooxml/fastresources.xsl +++ /dev/null @@ -1,116 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_RESOURCES_HXX -#define INCLUDED_OOXML_RESOURCES_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include <resourcemodel/TagLogger.hxx> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include <ooxml/OOXMLnamespaceids.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx"</xsl:text> - <xsl:for-each select="//namespace"> - <xsl:text> -#include "OOXMLfastresources_</xsl:text> -<xsl:value-of select="@name"/> -<xsl:text>.hxx"</xsl:text> - </xsl:for-each> - <xsl:text> - -namespace writerfilter { -namespace ooxml { - -extern TagLogger::Pointer_t debug_logger; - -using namespace ::std; -using namespace ::com::sun::star; - -uno::Reference < xml::sax::XFastContextHandler > -createFromStart(::sal_Int32 Element); -void dumpAttribs -(const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException); - - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="valueconstantdecls"/> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_RESOURCES_HXX
</xsl:text></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-baseStylesheet.xsl b/writerfilter/source/ooxml/fastresources_dml-baseStylesheet.xsl deleted file mode 100644 index b16443e1021a..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-baseStylesheet.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_BASESTYLESHEET_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_BASESTYLESHEET_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-baseStylesheet</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_BASESTYLESHEET_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-baseTypes.xsl b/writerfilter/source/ooxml/fastresources_dml-baseTypes.xsl deleted file mode 100644 index 1311c8593b8f..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-baseTypes.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_BASETYPES_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_BASETYPES_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-baseTypes</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_BASETYPES_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-documentProperties.xsl b/writerfilter/source/ooxml/fastresources_dml-documentProperties.xsl deleted file mode 100644 index 4a5aab2e3012..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-documentProperties.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_DOCUMENTPROPERTIES_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_DOCUMENTPROPERTIES_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-documentProperties</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_DOCUMENTPROPERTIES_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-graphicalObject.xsl b/writerfilter/source/ooxml/fastresources_dml-graphicalObject.xsl deleted file mode 100644 index 731fe6dd7712..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-graphicalObject.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_GRAPHICALOBJECT_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_GRAPHICALOBJECT_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-graphicalObject</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_GRAPHICALOBJECT_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-shape3DLighting.xsl b/writerfilter/source/ooxml/fastresources_dml-shape3DLighting.xsl deleted file mode 100644 index 374668a8b7e3..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-shape3DLighting.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DLIGHTING_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DLIGHTING_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-shape3DLighting</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DLIGHTING_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-shape3DStyles.xsl b/writerfilter/source/ooxml/fastresources_dml-shape3DStyles.xsl deleted file mode 100644 index 8769fdc93f88..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-shape3DStyles.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DSTYLES_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DSTYLES_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-shape3DStyles</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_SHAPE3DSTYLES_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-shapeEffects.xsl b/writerfilter/source/ooxml/fastresources_dml-shapeEffects.xsl deleted file mode 100644 index 3925aa2c2f34..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-shapeEffects.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_SHAPEEFFECTS_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_SHAPEEFFECTS_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-shapeEffects</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_SHAPEEFFECTS_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-shapeGeometry.xsl b/writerfilter/source/ooxml/fastresources_dml-shapeGeometry.xsl deleted file mode 100644 index d500a94d7137..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-shapeGeometry.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_SHAPEGEOMETRY_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_SHAPEGEOMETRY_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-shapeGeometry</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_SHAPEGEOMETRY_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-shapeLineProperties.xsl b/writerfilter/source/ooxml/fastresources_dml-shapeLineProperties.xsl deleted file mode 100644 index cc7e47ba3e27..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-shapeLineProperties.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_SHAPELINEPROPERTIES_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_SHAPELINEPROPERTIES_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-shapeLineProperties</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_SHAPELINEPROPERTIES_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-shapeProperties.xsl b/writerfilter/source/ooxml/fastresources_dml-shapeProperties.xsl deleted file mode 100644 index 7fbfef66b033..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-shapeProperties.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_SHAPEPROPERTIES_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_SHAPEPROPERTIES_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-shapeProperties</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_SHAPEPROPERTIES_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-styleDefaults.xsl b/writerfilter/source/ooxml/fastresources_dml-styleDefaults.xsl deleted file mode 100644 index 35d20409e2f0..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-styleDefaults.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_STYLEDEFAULTS_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_STYLEDEFAULTS_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-styleDefaults</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_STYLEDEFAULTS_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-stylesheet.xsl b/writerfilter/source/ooxml/fastresources_dml-stylesheet.xsl deleted file mode 100644 index 182052eb117b..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-stylesheet.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_STYLESHEET_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_STYLESHEET_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-stylesheet</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_STYLESHEET_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-textCharacter.xsl b/writerfilter/source/ooxml/fastresources_dml-textCharacter.xsl deleted file mode 100644 index 8b276f25d4ad..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-textCharacter.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_TEXTCHARACTER_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_TEXTCHARACTER_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-textCharacter</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_TEXTCHARACTER_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_dml-wordprocessingDrawing.xsl b/writerfilter/source/ooxml/fastresources_dml-wordprocessingDrawing.xsl deleted file mode 100644 index d158513e3240..000000000000 --- a/writerfilter/source/ooxml/fastresources_dml-wordprocessingDrawing.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_DML_WORDPROCESSINGDRAWING_HXX -#define INCLUDED_OOXML_FASTRESOURCES_DML_WORDPROCESSINGDRAWING_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">dml-wordprocessingDrawing</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_DML_WORDPROCESSINGDRAWING_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_shared-math.xsl b/writerfilter/source/ooxml/fastresources_shared-math.xsl deleted file mode 100644 index c80d616f8f50..000000000000 --- a/writerfilter/source/ooxml/fastresources_shared-math.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_SHARED_MATH_HXX -#define INCLUDED_OOXML_FASTRESOURCES_SHARED_MATH_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">shared-math</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_SHARED_MATH_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_shared-relationshipReference.xsl b/writerfilter/source/ooxml/fastresources_shared-relationshipReference.xsl deleted file mode 100644 index d4abaf92680c..000000000000 --- a/writerfilter/source/ooxml/fastresources_shared-relationshipReference.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_SHARED_RELATIONSHIPREFERENCE_HXX -#define INCLUDED_OOXML_FASTRESOURCES_SHARED_RELATIONSHIPREFERENCE_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">shared-relationshipReference</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_SHARED_RELATIONSHIPREFERENCE_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_sml-customXmlMappings.xsl b/writerfilter/source/ooxml/fastresources_sml-customXmlMappings.xsl deleted file mode 100644 index 33238578d449..000000000000 --- a/writerfilter/source/ooxml/fastresources_sml-customXmlMappings.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_SML_CUSTOMXMLMAPPINGS_HXX -#define INCLUDED_OOXML_FASTRESOURCES_SML_CUSTOMXMLMAPPINGS_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">sml-customXmlMappings</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_SML_CUSTOMXMLMAPPINGS_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_vml-main.xsl b/writerfilter/source/ooxml/fastresources_vml-main.xsl deleted file mode 100644 index cd9512ecd7d8..000000000000 --- a/writerfilter/source/ooxml/fastresources_vml-main.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_VML_MAIN_HXX -#define INCLUDED_OOXML_FASTRESOURCES_VML_MAIN_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">vml-main</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_VML_MAIN_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_vml-officeDrawing.xsl b/writerfilter/source/ooxml/fastresources_vml-officeDrawing.xsl deleted file mode 100644 index 039a2a2f608c..000000000000 --- a/writerfilter/source/ooxml/fastresources_vml-officeDrawing.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_VML_OFFICE_DRAWING_HXX -#define INCLUDED_OOXML_FASTRESOURCES_VML_OFFICE_DRAWING_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">vml-officeDrawing</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_VML_OFFICE_DRAWING_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_vml-wordprocessingDrawing.xsl b/writerfilter/source/ooxml/fastresources_vml-wordprocessingDrawing.xsl deleted file mode 100644 index fa5adb933284..000000000000 --- a/writerfilter/source/ooxml/fastresources_vml-wordprocessingDrawing.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_VML_WORDPROCESSION_DRAWING_HXX -#define INCLUDED_OOXML_FASTRESOURCES_VML_WORDPROCESSION_DRAWING_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">vml-wordprocessingDrawing</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_VML_WORDPROCESSION_DRAWING_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresources_wml.xsl b/writerfilter/source/ooxml/fastresources_wml.xsl deleted file mode 100644 index c21ab6ef2cdd..000000000000 --- a/writerfilter/source/ooxml/fastresources_wml.xsl +++ /dev/null @@ -1,98 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#ifndef INCLUDED_OOXML_FASTRESOURCES_WML_HXX -#define INCLUDED_OOXML_FASTRESOURCES_WML_HXX - -#include <vector> -#include <boost/shared_ptr.hpp> -#include <string> - -#include <resourcemodel/WW8ResourceModel.hxx> -#include "OOXMLFastContextHandler.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLStreamImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - -/// @cond GENERATED - </xsl:text> - <xsl:call-template name="fastcontextdecls"> - <xsl:with-param name="namespace">wml</xsl:with-param> - </xsl:call-template> - <xsl:text> -/// @endcond -}} -#endif //INCLUDED_OOXML_FASTRESOURCES_WML_HXX
</xsl:text> - </xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl.xsl b/writerfilter/source/ooxml/fastresourcesimpl.xsl deleted file mode 100644 index ac0558236cd4..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl.xsl +++ /dev/null @@ -1,95 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <string> -#include <doctok/sprmids.hxx> -#include "OOXMLFastHelper.hxx" -#include "OOXMLfastresources.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; - - </xsl:text> - <xsl:call-template name="fastcontextcreatefromstart"/> - <xsl:call-template name="getfastparser"/> - <xsl:call-template name="fasttokentoid"/> - <xsl:call-template name="sprmkind"/> - <xsl:call-template name="dumpattribs"/> - <xsl:call-template name="ooxmlidstoxml"/> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-baseStylesheet.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-baseStylesheet.xsl deleted file mode 100644 index 79c4f46a51ee..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-baseStylesheet.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-baseStylesheet</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-baseTypes.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-baseTypes.xsl deleted file mode 100644 index cf7de4f5427a..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-baseTypes.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-baseTypes</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-chartDrawing.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-chartDrawing.xsl deleted file mode 100644 index 6f14f1399d9c..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-chartDrawing.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-chartDrawing</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-documentProperties.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-documentProperties.xsl deleted file mode 100644 index 19c6cc30c9d8..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-documentProperties.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-documentProperties</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-graphicalObject.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-graphicalObject.xsl deleted file mode 100644 index c3854540c818..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-graphicalObject.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-graphicalObject</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DCamera.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DCamera.xsl deleted file mode 100644 index b0b3c5ed0c35..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DCamera.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-shape3DCamera</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DLighting.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DLighting.xsl deleted file mode 100644 index 42c99380ea3b..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DLighting.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-shape3DLighting</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DScene.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DScene.xsl deleted file mode 100644 index caa362a3e0a7..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DScene.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-shape3DScene</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DStyles.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DStyles.xsl deleted file mode 100644 index 5c07fc034714..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-shape3DStyles.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-shape3DStyles</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-shapeEffects.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-shapeEffects.xsl deleted file mode 100644 index 285518d3908d..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-shapeEffects.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-shapeEffects</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-shapeGeometry.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-shapeGeometry.xsl deleted file mode 100644 index 063ab2c4aae9..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-shapeGeometry.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-shapeGeometry</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-shapeLineProperties.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-shapeLineProperties.xsl deleted file mode 100644 index 41127751ff2d..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-shapeLineProperties.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-shapeLineProperties</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-styleDefaults.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-styleDefaults.xsl deleted file mode 100644 index 604652d664c2..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-styleDefaults.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-styleDefaults</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-stylesheet.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-stylesheet.xsl deleted file mode 100644 index 940363e355f2..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-stylesheet.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-stylesheet</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-textCharacter.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-textCharacter.xsl deleted file mode 100644 index d3d486196825..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-textCharacter.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-textCharacter</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_dml-wordprocessingDrawing.xsl b/writerfilter/source/ooxml/fastresourcesimpl_dml-wordprocessingDrawing.xsl deleted file mode 100644 index 6433812e6c2f..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_dml-wordprocessingDrawing.xsl +++ /dev/null @@ -1,94 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> - -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">dml-wordprocessingDrawing</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_shared-math.xsl b/writerfilter/source/ooxml/fastresourcesimpl_shared-math.xsl deleted file mode 100644 index 65af7e93fa0a..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_shared-math.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">shared-math</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_shared-relationshipReference.xsl b/writerfilter/source/ooxml/fastresourcesimpl_shared-relationshipReference.xsl deleted file mode 100644 index ff0e8416d23a..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_shared-relationshipReference.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">shared-relationshipReference</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_sml-customXmlMappings.xsl b/writerfilter/source/ooxml/fastresourcesimpl_sml-customXmlMappings.xsl deleted file mode 100644 index 21dc37d4dec4..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_sml-customXmlMappings.xsl +++ /dev/null @@ -1,93 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">sml-customXmlMappings</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_vml-main.xsl b/writerfilter/source/ooxml/fastresourcesimpl_vml-main.xsl deleted file mode 100644 index 080e31ed69cd..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_vml-main.xsl +++ /dev/null @@ -1,94 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include <doctok/sprmids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">vml-main</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_vml-officeDrawing.xsl b/writerfilter/source/ooxml/fastresourcesimpl_vml-officeDrawing.xsl deleted file mode 100644 index d4716325726d..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_vml-officeDrawing.xsl +++ /dev/null @@ -1,94 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include <doctok/sprmids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">vml-officeDrawing</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_vml-wordprocessingDrawing.xsl b/writerfilter/source/ooxml/fastresourcesimpl_vml-wordprocessingDrawing.xsl deleted file mode 100644 index 09500c745444..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_vml-wordprocessingDrawing.xsl +++ /dev/null @@ -1,94 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include <doctok/sprmids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">vml-wordprocessingDrawing</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fastresourcesimpl_wml.xsl b/writerfilter/source/ooxml/fastresourcesimpl_wml.xsl deleted file mode 100644 index 1b0b41debcff..000000000000 --- a/writerfilter/source/ooxml/fastresourcesimpl_wml.xsl +++ /dev/null @@ -1,94 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include <doctok/sprmids.hxx> -#include "OOXMLfastresources.hxx" -#include "OOXMLFastTokens.hxx" -#include "OOXMLFastHelper.hxx" -#include "OOXMLvalues.hxx" -#include "Handler.hxx" - -/// @cond GENERATED - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - - </xsl:text> - <xsl:call-template name="fastcontextimpls"><xsl:with-param name="ns">wml</xsl:with-param></xsl:call-template> - <xsl:text> -}} -/// @endcond GENERATED -
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/fasttokens.xsl b/writerfilter/source/ooxml/fasttokens.xsl index 151e2f1cda0c..4014df0eec91 100644 --- a/writerfilter/source/ooxml/fasttokens.xsl +++ b/writerfilter/source/ooxml/fasttokens.xsl @@ -61,7 +61,25 @@ <xsl:output method="text" /> <xsl:param name="prefix"/> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> + + <xsl:template name="fasttokens"> + <xsl:text> +typedef sal_Int32 Token_t; + </xsl:text> + <xsl:for-each select="/model/fasttoken"> + <xsl:text> +const Token_t OOXML_</xsl:text> +<xsl:value-of select="translate(., '-', '_')"/> +<xsl:text> = </xsl:text> +<xsl:value-of select="position() - 1"/> +<xsl:text>;</xsl:text> + </xsl:for-each> + <xsl:text> +const Token_t OOXML_FAST_TOKENS_END =</xsl:text> +<xsl:value-of select="count(/model/fasttoken)"/> +<xsl:text>;
</xsl:text> + </xsl:template> <xsl:template match="/"> <out xml:space="preserve"> diff --git a/writerfilter/source/ooxml/fasttokensimpl.xsl b/writerfilter/source/ooxml/fasttokensimpl.xsl deleted file mode 100644 index 1bafce1978e2..000000000000 --- a/writerfilter/source/ooxml/fasttokensimpl.xsl +++ /dev/null @@ -1,77 +0,0 @@ -<!-- - - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -namespace writerfilter { -namespace ooxml { -using namespace ::std; -using namespace ::com::sun::star; -</xsl:text> -<xsl:call-template name="fasttokentoid"/> -<xsl:text> -}}
</xsl:text></out></xsl:template> - - <xsl:template match="*"/> -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/gperffasttokenhandler.xsl b/writerfilter/source/ooxml/gperffasttokenhandler.xsl index 9ecd15f8c744..d14db0486b5d 100644 --- a/writerfilter/source/ooxml/gperffasttokenhandler.xsl +++ b/writerfilter/source/ooxml/gperffasttokenhandler.xsl @@ -63,7 +63,31 @@ xml:space="default"> <xsl:output method="text" /> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> + + <!-- + Generates input for gperf to genreate hash map for OOXMLFastTokenHandler + --> + <xsl:template name="gperfinputfasttokenhandler"> + <xsl:text> +%{ +#include "OOXMLFastTokens.hxx" + +namespace writerfilter { namespace ooxml { namespace tokenmap { +%} +struct token { const char * name; Token_t nToken; }; +%%</xsl:text> + <xsl:for-each select=".//rng:element|.//rng:attribute"> + <xsl:if test="generate-id(.) = generate-id(key('same-token-name', @localname)[1])"> + <xsl:text>
</xsl:text> + <xsl:value-of select="@localname"/> + <xsl:text>, </xsl:text> + <xsl:call-template name="fastlocalname"/> + </xsl:if> + </xsl:for-each> + <xsl:text> +%%
</xsl:text> +}}}
</xsl:template> <xsl:template match="/"> <xsl:call-template name="gperfinputfasttokenhandler"/> diff --git a/writerfilter/source/ooxml/makefile.mk b/writerfilter/source/ooxml/makefile.mk index ac8e7ea9b05c..c6a40b4cc5d1 100644 --- a/writerfilter/source/ooxml/makefile.mk +++ b/writerfilter/source/ooxml/makefile.mk @@ -68,14 +68,16 @@ NAMESPACES= \ # --- Files -------------------------------------------------------- -SLOFASTNAMESPACES= \ - $(SLO)$/OOXMLfastresources_{$(NAMESPACES)}.obj +SLOFACTORIESNAMESPACES= \ + $(SLO)$/OOXMLFactory_{$(NAMESPACES)}.obj SLOFILES= \ + $(SLOFACTORIESNAMESPACES) \ $(SLOFASTNAMESPACES) \ + $(SLO)$/OOXMLFactory_generated.obj \ + $(SLO)$/OOXMLFactory.obj \ $(SLO)$/OOXMLBinaryObjectReference.obj\ - $(SLO)$/OOXMLfastresources.obj \ - $(SLO)$/OOXMLvalues.obj \ + $(SLO)$/OOXMLFactory_values.obj \ $(SLO)$/OOXMLPropertySetImpl.obj \ $(SLO)$/OOXMLParserState.obj \ $(SLO)$/Handler.obj \ @@ -85,7 +87,6 @@ SLOFILES= \ $(SLO)$/OOXMLFastContextHandler.obj \ $(SLO)$/OOXMLFastTokenHandler.obj - SHL1TARGET=$(TARGET) .IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC" @@ -127,55 +128,49 @@ OOXMLCXXOUTDIR=$(MISC) OOXMLHXXOUTDIR=$(INCCOM)/ooxml OOXMLHXXOUTDIRCREATED=$(OOXMLHXXOUTDIR)/created -OOXMLFASTRESOURCECXXS=$(OOXMLCXXOUTDIR)$/OOXMLfastresources_{$(NAMESPACES)}.cxx -OOXMLFASTRESOURCEHXXS=$(OOXMLHXXOUTDIR)$/OOXMLfastresources_{$(NAMESPACES)}.hxx +OOXMLFACTORYCXXS=$(OOXMLCXXOUTDIR)$/OOXMLFactory_{$(NAMESPACES)}.cxx +OOXMLFACTORYHXXS=$(OOXMLHXXOUTDIR)$/OOXMLFactory_{$(NAMESPACES)}.hxx OOXMLMODEL=model.xml OOXMLPREPROCESSXSL=modelpreprocess.xsl -OOXMLRESOURCESTOOLSXSL=resourcestools.xsl +OOXMLFACTORYTOOLSXSL=factorytools.xsl OOXMLRESORUCETOKENSXSL=resourcestokens.xsl OOXMLFASTTOKENSXSL=fasttokens.xsl -OOXMLFASTTOKENSIMPLXSL=fasttokensimpl.xsl -OOXMLFASTRESOURCESXSL=fastresources.xsl OOXMLRESOURCESIMPLXSL=resourcesimpl.xsl -OOXMLFASTRESOURCESIMPLXSL=fastresourcesimpl.xsl OOXMLNAMESPACEIDSXSL=namespaceids.xsl -OOXMLVALUESXSL=values.xsl -OOXMLVALUESIMPLXSL=valuesimpl.xsl +OOXMLFACTORYVALUESXSL=factory_values.xsl +OOXMLFACTORYVALUESIMPLXSL=factoryimpl_values.xsl OOXMLRESOURCEIDSXSL=resourceids.xsl OOXMLGPERFFASTTOKENXSL=gperffasttokenhandler.xsl OOXMLRESOURCEIDSHXX=$(OOXMLHXXOUTDIR)$/resourceids.hxx -NSPROCESS=namespace_preprocess.pl - TOKENXML=$(OOXMLCXXOUTDIR)$/token.xml TOKENXMLTMP=$(OOXMLCXXOUTDIR)$/token.tmp +OOXMLFACTORYGENERATEDHXX=$(OOXMLHXXOUTDIR)$/OOXMLFactory_generated.hxx +OOXMLFACTORYGENERATEDCXX=$(OOXMLCXXOUTDIR)$/OOXMLFactory_generated.cxx OOXMLFASTTOKENSHXX=$(OOXMLHXXOUTDIR)$/OOXMLFastTokens.hxx -OOXMLFASTRESOURCESHXX=$(OOXMLHXXOUTDIR)$/OOXMLfastresources.hxx OOXMLNAMESPACEIDSHXX=$(OOXMLHXXOUTDIR)$/OOXMLnamespaceids.hxx -OOXMLFASTRESOURCESCXX=$(OOXMLCXXOUTDIR)$/OOXMLfastresources.cxx -OOXMLVALUESHXX=$(OOXMLCXXOUTDIR)$/OOXMLvalues.hxx -OOXMLVALUESCXX=$(OOXMLCXXOUTDIR)$/OOXMLvalues.cxx +OOXMLFACTORYVALUESHXX=$(OOXMLCXXOUTDIR)$/OOXMLFactory_values.hxx +OOXMLFACTORYVALUESCXX=$(OOXMLCXXOUTDIR)$/OOXMLFactory_values.cxx GPERFFASTTOKENHXX=$(OOXMLHXXOUTDIR)$/gperffasttoken.hxx MODELPROCESSED=$(MISC)$/model_preprocessed.xml -NSXSL=$(MISC)$/namespacesmap.xsl OOXMLGENHEADERS= \ - $(OOXMLFASTRESOURCESHXX) \ + $(OOXMLFACTORYGENERATEDHXX) \ + $(OOXMLFACTORYHXXS) \ $(OOXMLFASTTOKENSHXX) \ - $(OOXMLVALUESHXX) \ - $(OOXMLFASTRESOURCEHXXS) \ + $(OOXMLFACTORYVALUESHXX) \ $(GPERFFASTTOKENHXX) \ $(OOXMLRESOURCEIDSHXX) \ $(OOXMLNAMESPACEIDSHXX) GENERATEDFILES= \ $(OOXMLGENHEADERS) \ - $(MODELPROCESSED) \ - $(OOXMLFASTRESOURCECXXS) \ - $(OOXMLVALUESCXX) \ + $(OOXMLFACTORYGENERATEDCXX) \ + $(OOXMLFACTORYCXXS) \ + $(OOXMLFACTORYVALUESCXX) \ $(TOKENXMLTMP) \ $(TOKENXML) @@ -185,87 +180,77 @@ $(TOKENXMLTMP): $(SOLARVER)$/$(INPATH)$/inc$(UPDMINOREXT)$/oox$/token.txt $(TOKENXML): tokenxmlheader $(TOKENXMLTMP) tokenxmlfooter @$(TYPE) tokenxmlheader $(TOKENXMLTMP) tokenxmlfooter > $@ -$(MISC)$/$(OOXMLPREPROCESSXSL): $(OOXMLPREPROCESSXSL) - @$(COPY) $(PWD)$/$(OOXMLPREPROCESSXSL) $(MISC) - -$(NSXSL) : $(OOXMLMODEL) $(SOLARVER)$/$(INPATH)$/inc$(UPDMINOREXT)$/oox$/namespaces.txt $(NSPROCESS) - @$(PERL) $(NSPROCESS) $(SOLARVER)$/$(INPATH)$/inc$(UPDMINOREXT)$/oox$/namespaces.txt > $@ - -$(MODELPROCESSED): $(NSXSL) $(MISC)$/$(OOXMLPREPROCESSXSL) $(OOXMLMODEL) - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $(NSXSL) $(OOXMLMODEL) > $@ - $(OOXMLHXXOUTDIRCREATED): - @$(MKDIRHIER) $(OOXMLHXXOUTDIR) + $(MKDIRHIER) $(OOXMLHXXOUTDIR) @$(TOUCH) $@ $(OOXMLGENHEADERS): $(OOXMLHXXOUTDIRCREATED) $(OOXMLFASTTOKENSHXX): $(OOXMLFASTTOKENSXSL) $(TOKENXML) - @echo "Making: " $(@:f) + @echo "Making: " $(@:f) $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLFASTTOKENSXSL) $(TOKENXML) > $@ -$(OOXMLFASTRESOURCESHXX): $(OOXMLFASTRESOURCESXSL) $(MODELPROCESSED) - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLFASTRESOURCESXSL) $(MODELPROCESSED) > $@ +$(OOXMLFACTORYGENERATEDHXX): factoryinc.xsl + @echo "Making: " $(@:f) + $(COMMAND_ECHO)$(XSLTPROC) $< $(MODELPROCESSED) > $@ + +$(OOXMLFACTORYGENERATEDCXX): factoryimpl.xsl + @echo "Making: " $(@:f) + $(COMMAND_ECHO)$(XSLTPROC) $< $(MODELPROCESSED) > $@ -$(OOXMLFASTRESOURCESCXX): $(OOXMLFASTRESOURCEHXXS) \ - $(OOXMLFASTRESOURCESIMPLXSL) $(MODELPROCESSED) - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLFASTRESOURCESIMPLXSL) $(MODELPROCESSED) > $@ +$(OOXMLFACTORYGENERATEDCXX): $(MODELPROCESSED) -$(OOXMLFASTRESOURCECXXS): $(MODELPROCESSED) +$(OOXMLFACTORYGENERATEDHXX): $(MODELPROCESSED) -$(OOXMLFASTRESOURCEHXXS): $(MODELPROCESSED) +$(OOXMLFACTORYCXXS): $(MODELPROCESSED) -$(OOXMLCXXOUTDIR)$/OOXMLfastresources%.cxx: fastresourcesimpl%.xsl - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $< $(MODELPROCESSED) > $@ +$(OOXMLFACTORYHXXS): $(MODELPROCESSED) -$(OOXMLHXXOUTDIR)$/OOXMLfastresources%.hxx: fastresources%.xsl - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $< $(MODELPROCESSED) > $@ +$(OOXMLCXXOUTDIR)$/OOXMLFactory%.cxx: factoryimpl_ns.xsl + @echo "Making: " $(@:f) + $(COMMAND_ECHO)$(XSLTPROC) --stringparam file $@ $< $(MODELPROCESSED) > $@ + +$(OOXMLHXXOUTDIR)$/OOXMLFactory%.hxx: factory_ns.xsl + @echo "Making: " $(@:f) + $(COMMAND_ECHO)$(XSLTPROC) --stringparam file $@ $< $(MODELPROCESSED) > $@ -$(OOXMLVALUESHXX): $(OOXMLVALUESXSL) $(MODELPROCESSED) - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLVALUESXSL) $(MODELPROCESSED) > $@ +$(OOXMLFACTORYVALUESHXX): $(OOXMLFACTORYVALUESXSL) $(MODELPROCESSED) + @echo "Making: " $(@:f) + $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLFACTORYVALUESXSL) $(MODELPROCESSED) > $@ -$(OOXMLVALUESCXX): $(OOXMLVALUESIMPLXSL) $(MODELPROCESSED) \ - $(OOXMLFASTRESOURCESHXX) - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLVALUESIMPLXSL) $(MODELPROCESSED) > $@ +$(OOXMLFACTORYVALUESCXX): $(OOXMLFACTORYVALUESIMPLXSL) $(MODELPROCESSED) + @echo "Making: " $(@:f) + $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLFACTORYVALUESIMPLXSL) $(MODELPROCESSED) > $@ $(OOXMLRESOURCEIDSHXX): $(OOXMLHXXOUTDIRCREATED) $(OOXMLRESOURCEIDSXSL) \ $(MODELPROCESSED) - @echo "Making: " $(@:f) + @echo "Making: " $(@:f) $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLRESOURCEIDSXSL) $(MODELPROCESSED) > $@ $(OOXMLNAMESPACEIDSHXX): $(OOXMLHXXOUTDIRCREATED) $(OOXMLNAMESPACEIDSXSL) \ $(MODELPROCESSED) - @echo "Making: " $(@:f) + @echo "Making: " $(@:f) $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLNAMESPACEIDSXSL) $(MODELPROCESSED) > $@ $(GPERFFASTTOKENHXX): $(OOXMLGPERFFASTTOKENXSL) $(MODELPROCESSED) - @echo "Making: " $(@:f) + @echo "Making: " $(@:f) $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLGPERFFASTTOKENXSL) $(MODELPROCESSED) | tr -d '\r' | gperf -I -t -E -S1 -c -G -LC++ > $@ -$(SLOFASTNAMESPACES): $(OOXMLFASTRESOURCESCXX) $(OOXMLGENHEADERS) +$(SLOFACTORIESNAMESPACES): $(OOXMLFACTORYSCXXS) $(OOXMLGENHEADERS) -$(GENERATEDFILES): $(OOXMLRESOURCESTOOLSXSL) +$(GENERATEDFILES): $(OOXMLFACTORYTOOLSXSL) $(SLOFILES): $(OOXMLGENHEADERS) -$(SLO)/OOXMLfastresources.obj: $(OOXMLFASTRESOURCESCXX) $(OOXMLGENHEADERS) - -$(SLO)/OOXMLvalues.obj: $(OOXMLVALUESCXX) $(OOXMLVALUESHXX) +$(SLO)/OOXMLFactory_values.obj: $(OOXMLFACTORYVALUESCXX) $(OOXMLFACTORYVALUESHXX) -$(SLOFASTNAMESPACES): OOXMLFastHelper.hxx +$(SLO)$/OOXMLFactory_generated.obj: $(OOXMLFACTORYGENERATEDCXX) $(OOXMLGENHEADERS) .PHONY: genclean genmake genheaders genclean: - @rm -f $(GENERATEDFILES) + rm -f $(GENERATEDFILES) genmake: $(GENERATEDFILES) -genheaders: $(OOXMLFASTRESOURCEHXXS) +genheaders: $(GENHEADERS) diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index add4a80b551e..f571a50a9407 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <model xmlns:rng="http://relaxng.org/ns/structure/1.0"> <namespace-alias name="http://www.w3.org/XML/1998/namespace" alias="xml" id="XML"/> <namespace-alias name="http://schemas.openxmlformats.org/officeDocument/2006/relationships" alias="relationships" id="RELATIONSHIPS"/> @@ -24,10 +24,10 @@ <start name="themeOverride"/> <start name="themeManager"/> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-baseStylesheet.rng"/> <include href="dml-styleDefaults.rng"/> -<!-- start = theme | themeOverride | themeManager --> + <!-- start = theme | themeOverride | themeManager --> <define name="CT_EmptyElement"> <empty/> </define> @@ -190,12 +190,15 @@ </define> </grammar> <resource name="CT_OfficeStyleSheet" resource="Table" tokenid="ooxml:THEMETABLE"/> + <resource name="theme" resource="Stream"> + <element name="theme" tokenid="ooxml:THEMETABLE"/> + </resource> <resource name="themeOverride" resource="Stream"/> <resource name="themeManager" resource="Stream"/> </namespace> <namespace name="dml-styleDefaults" file="dml-styleDefaults"> <grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-shapeProperties.rng"/> <include href="dml-shapeStyle.rng"/> <include href="dml-text.rng"/> @@ -246,27 +249,27 @@ </namespace> <namespace name="dml-shape3DLighting" file="dml-shape3DLighting.rng"> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-baseTypes.rng"/> <define name="ST_LightRigDirection"> <list> <xs:documentation>Light Rig Direction</xs:documentation> <choice> -<!-- Top Left --> + <!-- Top Left --> <value>tl</value> -<!-- Top --> + <!-- Top --> <value>t</value> -<!-- Top Right --> + <!-- Top Right --> <value>tr</value> -<!-- Left --> + <!-- Left --> <value>l</value> -<!-- Right --> + <!-- Right --> <value>r</value> -<!-- Bottom Left --> + <!-- Bottom Left --> <value>bl</value> -<!-- Bottom --> + <!-- Bottom --> <value>b</value> -<!-- Bottom Right --> + <!-- Bottom Right --> <value>br</value> </choice> </list> @@ -275,59 +278,59 @@ <list> <xs:documentation>Light Rig Type</xs:documentation> <choice> -<!-- Legacy Flat 1 --> + <!-- Legacy Flat 1 --> <value>legacyFlat1</value> -<!-- Legacy Flat 2 --> + <!-- Legacy Flat 2 --> <value>legacyFlat2</value> -<!-- Legacy Flat 3 --> + <!-- Legacy Flat 3 --> <value>legacyFlat3</value> -<!-- Legacy Flat 4 --> + <!-- Legacy Flat 4 --> <value>legacyFlat4</value> -<!-- Legacy Normal 1 --> + <!-- Legacy Normal 1 --> <value>legacyNormal1</value> -<!-- Legacy Normal 2 --> + <!-- Legacy Normal 2 --> <value>legacyNormal2</value> -<!-- Legacy Normal 3 --> + <!-- Legacy Normal 3 --> <value>legacyNormal3</value> -<!-- Legacy Normal 4 --> + <!-- Legacy Normal 4 --> <value>legacyNormal4</value> -<!-- Legacy Harsh 1 --> + <!-- Legacy Harsh 1 --> <value>legacyHarsh1</value> -<!-- Legacy Harsh 2 --> + <!-- Legacy Harsh 2 --> <value>legacyHarsh2</value> -<!-- Legacy Harsh 3 --> + <!-- Legacy Harsh 3 --> <value>legacyHarsh3</value> -<!-- Legacy Harsh 4 --> + <!-- Legacy Harsh 4 --> <value>legacyHarsh4</value> -<!-- Three Point --> + <!-- Three Point --> <value>threePt</value> -<!-- Light Rig Enum ( Balanced ) --> + <!-- Light Rig Enum ( Balanced ) --> <value>balanced</value> -<!-- Soft --> + <!-- Soft --> <value>soft</value> -<!-- Harsh --> + <!-- Harsh --> <value>harsh</value> -<!-- Flood --> + <!-- Flood --> <value>flood</value> -<!-- Contrasting --> + <!-- Contrasting --> <value>contrasting</value> -<!-- Morning --> + <!-- Morning --> <value>morning</value> -<!-- Sunrise --> + <!-- Sunrise --> <value>sunrise</value> -<!-- Sunset --> + <!-- Sunset --> <value>sunset</value> -<!-- Chilly --> + <!-- Chilly --> <value>chilly</value> -<!-- Freezing --> + <!-- Freezing --> <value>freezing</value> -<!-- Flat --> + <!-- Flat --> <value>flat</value> -<!-- Two Point --> + <!-- Two Point --> <value>twoPt</value> -<!-- Glow --> + <!-- Glow --> <value>glow</value> -<!-- Bright Room --> + <!-- Bright Room --> <value>brightRoom</value> </choice> </list> @@ -390,7 +393,7 @@ </namespace> <namespace name="dml-shape3DScene" file="dml-shape3DScene.rng"> <grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-shape3DCamera.rng"/> <include href="dml-shape3DLighting.rng"/> <include href="dml-shape3DScenePlane.rng"/> @@ -416,35 +419,35 @@ </namespace> <namespace name="dml-shape3DStyles" file="dml-shape3DStyles.rng"> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-shapeGeometry.rng"/> <define name="ST_BevelPresetType"> <list> <xs:documentation>Bevel Presets</xs:documentation> <choice> -<!-- Relaxed Inset --> + <!-- Relaxed Inset --> <value>relaxedInset</value> -<!-- Circle --> + <!-- Circle --> <value>circle</value> -<!-- Slope --> + <!-- Slope --> <value>slope</value> -<!-- Cross --> + <!-- Cross --> <value>cross</value> -<!-- Angle --> + <!-- Angle --> <value>angle</value> -<!-- Soft Round --> + <!-- Soft Round --> <value>softRound</value> -<!-- Convex --> + <!-- Convex --> <value>convex</value> -<!-- Cool Slant --> + <!-- Cool Slant --> <value>coolSlant</value> -<!-- Divot --> + <!-- Divot --> <value>divot</value> -<!-- Riblet --> + <!-- Riblet --> <value>riblet</value> -<!-- Hard Edge --> + <!-- Hard Edge --> <value>hardEdge</value> -<!-- Art Deco --> + <!-- Art Deco --> <value>artDeco</value> </choice> </list> @@ -473,35 +476,35 @@ <list> <xs:documentation>Preset Material Type</xs:documentation> <choice> -<!-- Legacy Matte --> + <!-- Legacy Matte --> <value>legacyMatte</value> -<!-- Legacy Plastic --> + <!-- Legacy Plastic --> <value>legacyPlastic</value> -<!-- Legacy Metal --> + <!-- Legacy Metal --> <value>legacyMetal</value> -<!-- Legacy Wireframe --> + <!-- Legacy Wireframe --> <value>legacyWireframe</value> -<!-- Matte --> + <!-- Matte --> <value>matte</value> -<!-- Plastic --> + <!-- Plastic --> <value>plastic</value> -<!-- Metal --> + <!-- Metal --> <value>metal</value> -<!-- Warm Matte --> + <!-- Warm Matte --> <value>warmMatte</value> -<!-- Translucent Powder --> + <!-- Translucent Powder --> <value>translucentPowder</value> -<!-- Powder --> + <!-- Powder --> <value>powder</value> -<!-- Dark Edge --> + <!-- Dark Edge --> <value>dkEdge</value> -<!-- Soft Edge --> + <!-- Soft Edge --> <value>softEdge</value> -<!-- Clear --> + <!-- Clear --> <value>clear</value> -<!-- Flat --> + <!-- Flat --> <value>flat</value> -<!-- Soft Metal --> + <!-- Soft Metal --> <value>softmetal</value> </choice> </list> @@ -612,135 +615,135 @@ </namespace> <namespace name="dml-shape3DCamera" file="dml-shape3DCamera.rng"> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-baseTypes.rng"/> <define name="ST_PresetCameraType"> <list> <xs:documentation>Preset Camera Type</xs:documentation> <choice> -<!-- Legacy Oblique Top Left --> + <!-- Legacy Oblique Top Left --> <value>legacyObliqueTopLeft</value> -<!-- Legacy Oblique Top --> + <!-- Legacy Oblique Top --> <value>legacyObliqueTop</value> -<!-- Legacy Oblique Top Right --> + <!-- Legacy Oblique Top Right --> <value>legacyObliqueTopRight</value> -<!-- Legacy Oblique Left --> + <!-- Legacy Oblique Left --> <value>legacyObliqueLeft</value> -<!-- Legacy Oblique Front --> + <!-- Legacy Oblique Front --> <value>legacyObliqueFront</value> -<!-- Legacy Oblique Right --> + <!-- Legacy Oblique Right --> <value>legacyObliqueRight</value> -<!-- Legacy Oblique Bottom Left --> + <!-- Legacy Oblique Bottom Left --> <value>legacyObliqueBottomLeft</value> -<!-- Legacy Oblique Bottom --> + <!-- Legacy Oblique Bottom --> <value>legacyObliqueBottom</value> -<!-- Legacy Oblique Bottom Right --> + <!-- Legacy Oblique Bottom Right --> <value>legacyObliqueBottomRight</value> -<!-- Legacy Perspective Top Left --> + <!-- Legacy Perspective Top Left --> <value>legacyPerspectiveTopLeft</value> -<!-- Legacy Perspective Top --> + <!-- Legacy Perspective Top --> <value>legacyPerspectiveTop</value> -<!-- Legacy Perspective Top Right --> + <!-- Legacy Perspective Top Right --> <value>legacyPerspectiveTopRight</value> -<!-- Legacy Perspective Left --> + <!-- Legacy Perspective Left --> <value>legacyPerspectiveLeft</value> -<!-- Legacy Perspective Front --> + <!-- Legacy Perspective Front --> <value>legacyPerspectiveFront</value> -<!-- Legacy Perspective Right --> + <!-- Legacy Perspective Right --> <value>legacyPerspectiveRight</value> -<!-- Legacy Perspective Bottom Left --> + <!-- Legacy Perspective Bottom Left --> <value>legacyPerspectiveBottomLeft</value> -<!-- Legacy Perspective Bottom --> + <!-- Legacy Perspective Bottom --> <value>legacyPerspectiveBottom</value> -<!-- Legacy Perspective Bottom Right --> + <!-- Legacy Perspective Bottom Right --> <value>legacyPerspectiveBottomRight</value> -<!-- Orthographic Front --> + <!-- Orthographic Front --> <value>orthographicFront</value> -<!-- Isometric Top Up --> + <!-- Isometric Top Up --> <value>isometricTopUp</value> -<!-- Isometric Top Down --> + <!-- Isometric Top Down --> <value>isometricTopDown</value> -<!-- Isometric Bottom Up --> + <!-- Isometric Bottom Up --> <value>isometricBottomUp</value> -<!-- Isometric Bottom Down --> + <!-- Isometric Bottom Down --> <value>isometricBottomDown</value> -<!-- Isometric Left Up --> + <!-- Isometric Left Up --> <value>isometricLeftUp</value> -<!-- Isometric Left Down --> + <!-- Isometric Left Down --> <value>isometricLeftDown</value> -<!-- Isometric Right Up --> + <!-- Isometric Right Up --> <value>isometricRightUp</value> -<!-- Isometric Right Down --> + <!-- Isometric Right Down --> <value>isometricRightDown</value> -<!-- Isometric Off Axis 1 Left --> + <!-- Isometric Off Axis 1 Left --> <value>isometricOffAxis1Left</value> -<!-- Isometric Off Axis 1 Right --> + <!-- Isometric Off Axis 1 Right --> <value>isometricOffAxis1Right</value> -<!-- Isometric Off Axis 1 Top --> + <!-- Isometric Off Axis 1 Top --> <value>isometricOffAxis1Top</value> -<!-- Isometric Off Axis 2 Left --> + <!-- Isometric Off Axis 2 Left --> <value>isometricOffAxis2Left</value> -<!-- Isometric Off Axis 2 Right --> + <!-- Isometric Off Axis 2 Right --> <value>isometricOffAxis2Right</value> -<!-- Isometric Off Axis 2 Top --> + <!-- Isometric Off Axis 2 Top --> <value>isometricOffAxis2Top</value> -<!-- Isometric Off Axis 3 Left --> + <!-- Isometric Off Axis 3 Left --> <value>isometricOffAxis3Left</value> -<!-- Isometric Off Axis 3 Right --> + <!-- Isometric Off Axis 3 Right --> <value>isometricOffAxis3Right</value> -<!-- Isometric Off Axis 3 Bottom --> + <!-- Isometric Off Axis 3 Bottom --> <value>isometricOffAxis3Bottom</value> -<!-- Isometric Off Axis 4 Left --> + <!-- Isometric Off Axis 4 Left --> <value>isometricOffAxis4Left</value> -<!-- Isometric Off Axis 4 Right --> + <!-- Isometric Off Axis 4 Right --> <value>isometricOffAxis4Right</value> -<!-- Isometric Off Axis 4 Bottom --> + <!-- Isometric Off Axis 4 Bottom --> <value>isometricOffAxis4Bottom</value> -<!-- Oblique Top Left --> + <!-- Oblique Top Left --> <value>obliqueTopLeft</value> -<!-- Oblique Top --> + <!-- Oblique Top --> <value>obliqueTop</value> -<!-- Oblique Top Right --> + <!-- Oblique Top Right --> <value>obliqueTopRight</value> -<!-- Oblique Left --> + <!-- Oblique Left --> <value>obliqueLeft</value> -<!-- Oblique Right --> + <!-- Oblique Right --> <value>obliqueRight</value> -<!-- Oblique Bottom Left --> + <!-- Oblique Bottom Left --> <value>obliqueBottomLeft</value> -<!-- Oblique Bottom --> + <!-- Oblique Bottom --> <value>obliqueBottom</value> -<!-- Oblique Bottom Right --> + <!-- Oblique Bottom Right --> <value>obliqueBottomRight</value> -<!-- Perspective Front --> + <!-- Perspective Front --> <value>perspectiveFront</value> -<!-- Perspective Left --> + <!-- Perspective Left --> <value>perspectiveLeft</value> -<!-- Perspective Right --> + <!-- Perspective Right --> <value>perspectiveRight</value> -<!-- Orthographic Above --> + <!-- Orthographic Above --> <value>perspectiveAbove</value> -<!-- Perspective Below --> + <!-- Perspective Below --> <value>perspectiveBelow</value> -<!-- Perspective Above Left Facing --> + <!-- Perspective Above Left Facing --> <value>perspectiveAboveLeftFacing</value> -<!-- Perspective Above Right Facing --> + <!-- Perspective Above Right Facing --> <value>perspectiveAboveRightFacing</value> -<!-- Perspective Contrasting Left Facing --> + <!-- Perspective Contrasting Left Facing --> <value>perspectiveContrastingLeftFacing</value> -<!-- Perspective Contrasting Right Facing --> + <!-- Perspective Contrasting Right Facing --> <value>perspectiveContrastingRightFacing</value> -<!-- Perspective Heroic Left Facing --> + <!-- Perspective Heroic Left Facing --> <value>perspectiveHeroicLeftFacing</value> -<!-- Perspective Heroic Right Facing --> + <!-- Perspective Heroic Right Facing --> <value>perspectiveHeroicRightFacing</value> -<!-- Perspective Heroic Extreme Left Facing --> + <!-- Perspective Heroic Extreme Left Facing --> <value>perspectiveHeroicExtremeLeftFacing</value> -<!-- Perspective Heroic Extreme Right Facing --> + <!-- Perspective Heroic Extreme Right Facing --> <value>perspectiveHeroicExtremeRightFacing</value> -<!-- Perspective Relaxed --> + <!-- Perspective Relaxed --> <value>perspectiveRelaxed</value> -<!-- Perspective Relaxed Moderately --> + <!-- Perspective Relaxed Moderately --> <value>perspectiveRelaxedModerately</value> </choice> </list> @@ -837,9 +840,9 @@ <value name="perspectiveRelaxedModerately" tokenid="ooxml:Value_drawingml_ST_PresetCameraType_perspectiveRelaxedModerately">perspectiveRelaxedModerately</value> </resource> </namespace> - <namespace name="dml-baseStylesheet" file="dml-baseStylesheet.rng"> + <namespace name="dml-baseStylesheet" file="dml-baseStylesheet.rng" todo="ignore"> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <define name="ST_StyleMatrixColumnIndex"> <data type="unsignedInt"> <xs:documentation>Style Matrix Column Index</xs:documentation> @@ -849,11 +852,11 @@ <list> <xs:documentation>Font Collection Index</xs:documentation> <choice> -<!-- Major Font --> + <!-- Major Font --> <value>major</value> -<!-- Minor Font --> + <!-- Minor Font --> <value>minor</value> -<!-- None --> + <!-- None --> <value>none</value> </choice> </list> @@ -862,29 +865,29 @@ <list> <xs:documentation>Theme Color Reference</xs:documentation> <choice> -<!-- Dark 1 --> + <!-- Dark 1 --> <value>dk1</value> -<!-- Light 1 --> + <!-- Light 1 --> <value>lt1</value> -<!-- Dark 2 --> + <!-- Dark 2 --> <value>dk2</value> -<!-- Light 2 --> + <!-- Light 2 --> <value>lt2</value> -<!-- Accent 1 --> + <!-- Accent 1 --> <value>accent1</value> -<!-- Accent 2 --> + <!-- Accent 2 --> <value>accent2</value> -<!-- Accent 3 --> + <!-- Accent 3 --> <value>accent3</value> -<!-- Accent 4 --> + <!-- Accent 4 --> <value>accent4</value> -<!-- Accent 5 --> + <!-- Accent 5 --> <value>accent5</value> -<!-- Accent 6 --> + <!-- Accent 6 --> <value>accent6</value> -<!-- Hyperlink --> + <!-- Hyperlink --> <value>hlink</value> -<!-- Followed Hyperlink --> + <!-- Followed Hyperlink --> <value>folHlink</value> </choice> </list> @@ -1165,9 +1168,9 @@ <element name="extLst" tokenid="ooxml:CT_BaseStyles_extLst"/> </resource> </namespace> - <namespace name="dml-textCharacter" file="dml-textCharacter.rng"> + <namespace name="dml-textCharacter" file="dml-textCharacter.rng" todo="ignore"> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-baseTypes.rng"/> <include href="dml-shapeEffects.rng"/> <include href="dml-shapeLineProperties.rng"/> @@ -1240,41 +1243,41 @@ <list> <xs:documentation>Text Underline Types</xs:documentation> <choice> -<!-- Text Underline Enum ( None ) --> + <!-- Text Underline Enum ( None ) --> <value>none</value> -<!-- Text Underline Enum ( Words ) --> + <!-- Text Underline Enum ( Words ) --> <value>words</value> -<!-- Text Underline Enum ( Single ) --> + <!-- Text Underline Enum ( Single ) --> <value>sng</value> -<!-- Text Underline Enum ( Double ) --> + <!-- Text Underline Enum ( Double ) --> <value>dbl</value> -<!-- Text Underline Enum ( Heavy ) --> + <!-- Text Underline Enum ( Heavy ) --> <value>heavy</value> -<!-- Text Underline Enum ( Dotted ) --> + <!-- Text Underline Enum ( Dotted ) --> <value>dotted</value> -<!-- Text Underline Enum ( Heavy Dotted ) --> + <!-- Text Underline Enum ( Heavy Dotted ) --> <value>dottedHeavy</value> -<!-- Text Underline Enum ( Dashed ) --> + <!-- Text Underline Enum ( Dashed ) --> <value>dash</value> -<!-- Text Underline Enum ( Heavy Dashed ) --> + <!-- Text Underline Enum ( Heavy Dashed ) --> <value>dashHeavy</value> -<!-- Text Underline Enum ( Long Dashed ) --> + <!-- Text Underline Enum ( Long Dashed ) --> <value>dashLong</value> -<!-- Text Underline Enum ( Heavy Long Dashed ) --> + <!-- Text Underline Enum ( Heavy Long Dashed ) --> <value>dashLongHeavy</value> -<!-- Text Underline Enum ( Dot Dash ) --> + <!-- Text Underline Enum ( Dot Dash ) --> <value>dotDash</value> -<!-- Text Underline Enum ( Heavy Dot Dash ) --> + <!-- Text Underline Enum ( Heavy Dot Dash ) --> <value>dotDashHeavy</value> -<!-- Text Underline Enum ( Dot Dot Dash ) --> + <!-- Text Underline Enum ( Dot Dot Dash ) --> <value>dotDotDash</value> -<!-- Text Underline Enum ( Heavy Dot Dot Dash ) --> + <!-- Text Underline Enum ( Heavy Dot Dot Dash ) --> <value>dotDotDashHeavy</value> -<!-- Text Underline Enum ( Wavy ) --> + <!-- Text Underline Enum ( Wavy ) --> <value>wavy</value> -<!-- Text Underline Enum ( Heavy Wavy ) --> + <!-- Text Underline Enum ( Heavy Wavy ) --> <value>wavyHeavy</value> -<!-- Text Underline Enum ( Double Wavy ) --> + <!-- Text Underline Enum ( Double Wavy ) --> <value>wavyDbl</value> </choice> </list> @@ -1314,11 +1317,11 @@ <list> <xs:documentation>Text Strike Type</xs:documentation> <choice> -<!-- Text Strike Enum ( No Strike ) --> + <!-- Text Strike Enum ( No Strike ) --> <value>noStrike</value> -<!-- Text Strike Enum ( Single Strike ) --> + <!-- Text Strike Enum ( Single Strike ) --> <value>sngStrike</value> -<!-- Text Strike Enum ( Double Strike ) --> + <!-- Text Strike Enum ( Double Strike ) --> <value>dblStrike</value> </choice> </list> @@ -1327,11 +1330,11 @@ <list> <xs:documentation>Text Cap Types</xs:documentation> <choice> -<!-- Text Caps Enum ( None ) --> + <!-- Text Caps Enum ( None ) --> <value>none</value> -<!-- Text Caps Enum ( Small ) --> + <!-- Text Caps Enum ( Small ) --> <value>small</value> -<!-- Text Caps Enum ( All ) --> + <!-- Text Caps Enum ( All ) --> <value>all</value> </choice> </list> @@ -1575,11 +1578,11 @@ <value name="all" tokenid="ooxml:Value_drawingml_ST_TextCapsType_all">all</value> </resource> </namespace> - <namespace name="dml-shapeEffects" file="dml-shapeEffects.rng"> + <namespace name="dml-shapeEffects" file="dml-shapeEffects.rng" todo="ignore"> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-baseTypes.rng"/> -<!-- start = blip --> + <!-- start = blip --> <define name="CT_AlphaBiLevelEffect"> <attribute name="thresh"> <ref name="ST_PositiveFixedPercentage"/> @@ -1797,45 +1800,45 @@ <list> <xs:documentation>Preset Shadow Type</xs:documentation> <choice> -<!-- Top Left Drop Shadow --> + <!-- Top Left Drop Shadow --> <value>shdw1</value> -<!-- Top Right Drop Shadow --> + <!-- Top Right Drop Shadow --> <value>shdw2</value> -<!-- Back Left Perspective Shadow --> + <!-- Back Left Perspective Shadow --> <value>shdw3</value> -<!-- Back Right Perspective Shadow --> + <!-- Back Right Perspective Shadow --> <value>shdw4</value> -<!-- Bottom Left Drop Shadow --> + <!-- Bottom Left Drop Shadow --> <value>shdw5</value> -<!-- Bottom Right Drop Shadow --> + <!-- Bottom Right Drop Shadow --> <value>shdw6</value> -<!-- Front Left Perspective Shadow --> + <!-- Front Left Perspective Shadow --> <value>shdw7</value> -<!-- Front Right Perspective Shadow --> + <!-- Front Right Perspective Shadow --> <value>shdw8</value> -<!-- Top Left Small Drop Shadow --> + <!-- Top Left Small Drop Shadow --> <value>shdw9</value> -<!-- Top Left Large Drop Shadow --> + <!-- Top Left Large Drop Shadow --> <value>shdw10</value> -<!-- Back Left Long Perspective Shadow --> + <!-- Back Left Long Perspective Shadow --> <value>shdw11</value> -<!-- Back Right Long Perspective Shadow --> + <!-- Back Right Long Perspective Shadow --> <value>shdw12</value> -<!-- Top Left Double Drop Shadow --> + <!-- Top Left Double Drop Shadow --> <value>shdw13</value> -<!-- Bottom Right Small Drop Shadow --> + <!-- Bottom Right Small Drop Shadow --> <value>shdw14</value> -<!-- Front Left Long Perspective Shadow --> + <!-- Front Left Long Perspective Shadow --> <value>shdw15</value> -<!-- Front Right LongPerspective Shadow --> + <!-- Front Right LongPerspective Shadow --> <value>shdw16</value> -<!-- 3D Outer Box Shadow --> + <!-- 3D Outer Box Shadow --> <value>shdw17</value> -<!-- 3D Inner Box Shadow --> + <!-- 3D Inner Box Shadow --> <value>shdw18</value> -<!-- Back Center Perspective Shadow --> + <!-- Back Center Perspective Shadow --> <value>shdw19</value> -<!-- Front Bottom Shadow --> + <!-- Front Bottom Shadow --> <value>shdw20</value> </choice> </list> @@ -2047,11 +2050,11 @@ <list> <xs:documentation>Path Shade Type</xs:documentation> <choice> -<!-- Shape --> + <!-- Shape --> <value>shape</value> -<!-- Circle --> + <!-- Circle --> <value>circle</value> -<!-- Rectangle --> + <!-- Rectangle --> <value>rect</value> </choice> </list> @@ -2083,13 +2086,13 @@ <list> <xs:documentation>Tile Flip Mode</xs:documentation> <choice> -<!-- None --> + <!-- None --> <value>none</value> -<!-- Horizontal --> + <!-- Horizontal --> <value>x</value> -<!-- Vertical --> + <!-- Vertical --> <value>y</value> -<!-- Horizontal and Vertical --> + <!-- Horizontal and Vertical --> <value>xy</value> </choice> </list> @@ -2198,15 +2201,15 @@ <list> <xs:documentation>Blip Compression Type</xs:documentation> <choice> -<!-- Email Compression --> + <!-- Email Compression --> <value>email</value> -<!-- Screen Viewing Compression --> + <!-- Screen Viewing Compression --> <value>screen</value> -<!-- Printing Compression --> + <!-- Printing Compression --> <value>print</value> -<!-- High Quality Printing Compression --> + <!-- High Quality Printing Compression --> <value>hqprint</value> -<!-- No Compression --> + <!-- No Compression --> <value>none</value> </choice> </list> @@ -2319,113 +2322,113 @@ <list> <xs:documentation>Preset Pattern Value</xs:documentation> <choice> -<!-- 5% --> + <!-- 5% --> <value>pct5</value> -<!-- 10% --> + <!-- 10% --> <value>pct10</value> -<!-- 20% --> + <!-- 20% --> <value>pct20</value> -<!-- 25% --> + <!-- 25% --> <value>pct25</value> -<!-- 30% --> + <!-- 30% --> <value>pct30</value> -<!-- 40% --> + <!-- 40% --> <value>pct40</value> -<!-- 50% --> + <!-- 50% --> <value>pct50</value> -<!-- 60% --> + <!-- 60% --> <value>pct60</value> -<!-- 70% --> + <!-- 70% --> <value>pct70</value> -<!-- 75% --> + <!-- 75% --> <value>pct75</value> -<!-- 80% --> + <!-- 80% --> <value>pct80</value> -<!-- 90% --> + <!-- 90% --> <value>pct90</value> -<!-- Horizontal --> + <!-- Horizontal --> <value>horz</value> -<!-- Vertical --> + <!-- Vertical --> <value>vert</value> -<!-- Light Horizontal --> + <!-- Light Horizontal --> <value>ltHorz</value> -<!-- Light Vertical --> + <!-- Light Vertical --> <value>ltVert</value> -<!-- Dark Horizontal --> + <!-- Dark Horizontal --> <value>dkHorz</value> -<!-- Dark Vertical --> + <!-- Dark Vertical --> <value>dkVert</value> -<!-- Narrow Horizontal --> + <!-- Narrow Horizontal --> <value>narHorz</value> -<!-- Narrow Vertical --> + <!-- Narrow Vertical --> <value>narVert</value> -<!-- Dashed Horizontal --> + <!-- Dashed Horizontal --> <value>dashHorz</value> -<!-- Dashed Vertical --> + <!-- Dashed Vertical --> <value>dashVert</value> -<!-- Cross --> + <!-- Cross --> <value>cross</value> -<!-- Downward Diagonal --> + <!-- Downward Diagonal --> <value>dnDiag</value> -<!-- Upward Diagonal --> + <!-- Upward Diagonal --> <value>upDiag</value> -<!-- Light Downward Diagonal --> + <!-- Light Downward Diagonal --> <value>ltDnDiag</value> -<!-- Light Upward Diagonal --> + <!-- Light Upward Diagonal --> <value>ltUpDiag</value> -<!-- Dark Downward Diagonal --> + <!-- Dark Downward Diagonal --> <value>dkDnDiag</value> -<!-- Dark Upward Diagonal --> + <!-- Dark Upward Diagonal --> <value>dkUpDiag</value> -<!-- Wide Downward Diagonal --> + <!-- Wide Downward Diagonal --> <value>wdDnDiag</value> -<!-- Wide Upward Diagonal --> + <!-- Wide Upward Diagonal --> <value>wdUpDiag</value> -<!-- Dashed Downward Diagonal --> + <!-- Dashed Downward Diagonal --> <value>dashDnDiag</value> -<!-- Dashed Upward DIagonal --> + <!-- Dashed Upward DIagonal --> <value>dashUpDiag</value> -<!-- Diagonal Cross --> + <!-- Diagonal Cross --> <value>diagCross</value> -<!-- Small Checker Board --> + <!-- Small Checker Board --> <value>smCheck</value> -<!-- Large Checker Board --> + <!-- Large Checker Board --> <value>lgCheck</value> -<!-- Small Grid --> + <!-- Small Grid --> <value>smGrid</value> -<!-- Large Grid --> + <!-- Large Grid --> <value>lgGrid</value> -<!-- Dotted Grid --> + <!-- Dotted Grid --> <value>dotGrid</value> -<!-- Small Confetti --> + <!-- Small Confetti --> <value>smConfetti</value> -<!-- Large Confetti --> + <!-- Large Confetti --> <value>lgConfetti</value> -<!-- Horizontal Brick --> + <!-- Horizontal Brick --> <value>horzBrick</value> -<!-- Diagonal Brick --> + <!-- Diagonal Brick --> <value>diagBrick</value> -<!-- Solid Diamond --> + <!-- Solid Diamond --> <value>solidDmnd</value> -<!-- Open Diamond --> + <!-- Open Diamond --> <value>openDmnd</value> -<!-- Dotted Diamond --> + <!-- Dotted Diamond --> <value>dotDmnd</value> -<!-- Plaid --> + <!-- Plaid --> <value>plaid</value> -<!-- Sphere --> + <!-- Sphere --> <value>sphere</value> -<!-- Weave --> + <!-- Weave --> <value>weave</value> -<!-- Divot --> + <!-- Divot --> <value>divot</value> -<!-- Shingle --> + <!-- Shingle --> <value>shingle</value> -<!-- Wave --> + <!-- Wave --> <value>wave</value> -<!-- Trellis --> + <!-- Trellis --> <value>trellis</value> -<!-- Zig Zag --> + <!-- Zig Zag --> <value>zigZag</value> </choice> </list> @@ -2485,15 +2488,15 @@ <list> <xs:documentation>Blend Mode</xs:documentation> <choice> -<!-- Overlay --> + <!-- Overlay --> <value>over</value> -<!-- Multiply --> + <!-- Multiply --> <value>mult</value> -<!-- Screen --> + <!-- Screen --> <value>screen</value> -<!-- Darken --> + <!-- Darken --> <value>darken</value> -<!-- Lighten --> + <!-- Lighten --> <value>lighten</value> </choice> </list> @@ -2611,9 +2614,9 @@ <list> <xs:documentation>Effect Container Type</xs:documentation> <choice> -<!-- Sibling --> + <!-- Sibling --> <value>sib</value> -<!-- Tree --> + <!-- Tree --> <value>tree</value> </choice> </list> @@ -2902,25 +2905,25 @@ <attribute name="name" tokenid="ooxml:CT_EffectContainer_name"/> </resource> </namespace> - <namespace name="dml-shapeLineProperties" file="dml-shapeLineProperties.rng"> + <namespace name="dml-shapeLineProperties" file="dml-shapeLineProperties.rng" todo="ignore"> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-shapeEffects.rng"/> <define name="ST_LineEndType"> <list> <xs:documentation>Line End Type</xs:documentation> <choice> -<!-- None --> + <!-- None --> <value>none</value> -<!-- Triangle Arrow Head --> + <!-- Triangle Arrow Head --> <value>triangle</value> -<!-- Stealth Arrow --> + <!-- Stealth Arrow --> <value>stealth</value> -<!-- Diamond --> + <!-- Diamond --> <value>diamond</value> -<!-- Oval --> + <!-- Oval --> <value>oval</value> -<!-- Arrow Head --> + <!-- Arrow Head --> <value>arrow</value> </choice> </list> @@ -2929,11 +2932,11 @@ <list> <xs:documentation>Line End Width</xs:documentation> <choice> -<!-- Small --> + <!-- Small --> <value>sm</value> -<!-- Medium --> + <!-- Medium --> <value>med</value> -<!-- Large --> + <!-- Large --> <value>lg</value> </choice> </list> @@ -2942,11 +2945,11 @@ <list> <xs:documentation>Line End Length</xs:documentation> <choice> -<!-- Small --> + <!-- Small --> <value>sm</value> -<!-- Medium --> + <!-- Medium --> <value>med</value> -<!-- Large --> + <!-- Large --> <value>lg</value> </choice> </list> @@ -3018,27 +3021,27 @@ <list> <xs:documentation>Preset Line Dash Value</xs:documentation> <choice> -<!-- Solid --> + <!-- Solid --> <value>solid</value> -<!-- Dot --> + <!-- Dot --> <value>dot</value> -<!-- Dash --> + <!-- Dash --> <value>dash</value> -<!-- Large Dash --> + <!-- Large Dash --> <value>lgDash</value> -<!-- Dash Dot --> + <!-- Dash Dot --> <value>dashDot</value> -<!-- Large Dash Dot --> + <!-- Large Dash Dot --> <value>lgDashDot</value> -<!-- Large Dash Dot Dot --> + <!-- Large Dash Dot Dot --> <value>lgDashDotDot</value> -<!-- System Dash --> + <!-- System Dash --> <value>sysDash</value> -<!-- System Dot --> + <!-- System Dot --> <value>sysDot</value> -<!-- System Dash Dot --> + <!-- System Dash Dot --> <value>sysDashDot</value> -<!-- System Dash Dot Dot --> + <!-- System Dash Dot Dot --> <value>sysDashDotDot</value> </choice> </list> @@ -3082,11 +3085,11 @@ <list> <xs:documentation>End Line Cap</xs:documentation> <choice> -<!-- Round Line Cap --> + <!-- Round Line Cap --> <value>rnd</value> -<!-- Square Line Cap --> + <!-- Square Line Cap --> <value>sq</value> -<!-- Flat Line Cap --> + <!-- Flat Line Cap --> <value>flat</value> </choice> </list> @@ -3098,9 +3101,9 @@ <list> <xs:documentation>Alignment Type</xs:documentation> <choice> -<!-- Center Alignment --> + <!-- Center Alignment --> <value>ctr</value> -<!-- Inset Alignment --> + <!-- Inset Alignment --> <value>in</value> </choice> </list> @@ -3109,15 +3112,15 @@ <list> <xs:documentation>Compound Line Type</xs:documentation> <choice> -<!-- Single Line --> + <!-- Single Line --> <value>sng</value> -<!-- Double Lines --> + <!-- Double Lines --> <value>dbl</value> -<!-- Thick Thin Double Lines --> + <!-- Thick Thin Double Lines --> <value>thickThin</value> -<!-- Thin Thick Double Lines --> + <!-- Thin Thick Double Lines --> <value>thinThick</value> -<!-- Thin Thick Thin Triple Lines --> + <!-- Thin Thick Thin Triple Lines --> <value>tri</value> </choice> </list> @@ -3243,9 +3246,9 @@ <attribute name="algn" tokenid="ooxml:CT_LineProperties_algn"/> </resource> </namespace> - <namespace name="dml-shapeProperties" file="dml-shapeProperties.rng"> + <namespace name="dml-shapeProperties" file="dml-shapeProperties.rng" todo="ignore"> <grammar xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-shape3DStyles.rng"/> <include href="dml-shape3DScene.rng"/> <include href="dml-shapeGeometry.rng"/> @@ -3338,7 +3341,7 @@ </namespace> <namespace name="dml-baseTypes" file="dml-baseTypes"> <grammar xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="shared-relationshipReference.rng"/> <define name="CT_OfficeArtExtension"> <element> @@ -3625,65 +3628,65 @@ <list> <xs:documentation>System Color Value</xs:documentation> <choice> -<!-- Scroll Bar System Color --> + <!-- Scroll Bar System Color --> <value>scrollBar</value> -<!-- Background System Color --> + <!-- Background System Color --> <value>background</value> -<!-- Active Caption System Color --> + <!-- Active Caption System Color --> <value>activeCaption</value> -<!-- Inactive Caption System Color --> + <!-- Inactive Caption System Color --> <value>inactiveCaption</value> -<!-- Menu System Color --> + <!-- Menu System Color --> <value>menu</value> -<!-- Window System Color --> + <!-- Window System Color --> <value>window</value> -<!-- Window Frame System Color --> + <!-- Window Frame System Color --> <value>windowFrame</value> -<!-- Menu Text System Color --> + <!-- Menu Text System Color --> <value>menuText</value> -<!-- Window Text System Color --> + <!-- Window Text System Color --> <value>windowText</value> -<!-- Caption Text System Color --> + <!-- Caption Text System Color --> <value>captionText</value> -<!-- Active Border System Color --> + <!-- Active Border System Color --> <value>activeBorder</value> -<!-- Inactive Border System Color --> + <!-- Inactive Border System Color --> <value>inactiveBorder</value> -<!-- Application Workspace System Color --> + <!-- Application Workspace System Color --> <value>appWorkspace</value> -<!-- Highlight System Color --> + <!-- Highlight System Color --> <value>highlight</value> -<!-- Highlight Text System Color --> + <!-- Highlight Text System Color --> <value>highlightText</value> -<!-- Button Face System Color --> + <!-- Button Face System Color --> <value>btnFace</value> -<!-- Button Shadow System Color --> + <!-- Button Shadow System Color --> <value>btnShadow</value> -<!-- Gray Text System Color --> + <!-- Gray Text System Color --> <value>grayText</value> -<!-- Button Text System Color --> + <!-- Button Text System Color --> <value>btnText</value> -<!-- Inactive Caption Text System Color --> + <!-- Inactive Caption Text System Color --> <value>inactiveCaptionText</value> -<!-- Button Highlight System Color --> + <!-- Button Highlight System Color --> <value>btnHighlight</value> -<!-- 3D Dark System Color --> + <!-- 3D Dark System Color --> <value>3dDkShadow</value> -<!-- 3D Light System Color --> + <!-- 3D Light System Color --> <value>3dLight</value> -<!-- Info Text System Color --> + <!-- Info Text System Color --> <value>infoText</value> -<!-- Info Back System Color --> + <!-- Info Back System Color --> <value>infoBk</value> -<!-- Hot Light System Color --> + <!-- Hot Light System Color --> <value>hotLight</value> -<!-- Gradient Active Caption System Color --> + <!-- Gradient Active Caption System Color --> <value>gradientActiveCaption</value> -<!-- Gradient Inactive Caption System Color --> + <!-- Gradient Inactive Caption System Color --> <value>gradientInactiveCaption</value> -<!-- Menu Highlight System Color --> + <!-- Menu Highlight System Color --> <value>menuHighlight</value> -<!-- Menu Bar System Color --> + <!-- Menu Bar System Color --> <value>menuBar</value> </choice> </list> @@ -3707,39 +3710,39 @@ <list> <xs:documentation>Scheme Color</xs:documentation> <choice> -<!-- Background Color 1 --> + <!-- Background Color 1 --> <value>bg1</value> -<!-- Text Color 1 --> + <!-- Text Color 1 --> <value>tx1</value> -<!-- Background Color 2 --> + <!-- Background Color 2 --> <value>bg2</value> -<!-- Text Color 2 --> + <!-- Text Color 2 --> <value>tx2</value> -<!-- Accent Color 1 --> + <!-- Accent Color 1 --> <value>accent1</value> -<!-- Accent Color 2 --> + <!-- Accent Color 2 --> <value>accent2</value> -<!-- Accent Color 3 --> + <!-- Accent Color 3 --> <value>accent3</value> -<!-- Accent Color 4 --> + <!-- Accent Color 4 --> <value>accent4</value> -<!-- Accent Color 5 --> + <!-- Accent Color 5 --> <value>accent5</value> -<!-- Accent Color 6 --> + <!-- Accent Color 6 --> <value>accent6</value> -<!-- Hyperlink Color --> + <!-- Hyperlink Color --> <value>hlink</value> -<!-- Followed Hyperlink Color --> + <!-- Followed Hyperlink Color --> <value>folHlink</value> -<!-- Style Color --> + <!-- Style Color --> <value>phClr</value> -<!-- Dark Color 1 --> + <!-- Dark Color 1 --> <value>dk1</value> -<!-- Light Color 1 --> + <!-- Light Color 1 --> <value>lt1</value> -<!-- Dark Color 2 --> + <!-- Dark Color 2 --> <value>dk2</value> -<!-- Light Color 2 --> + <!-- Light Color 2 --> <value>lt2</value> </choice> </list> @@ -3757,285 +3760,285 @@ <list> <xs:documentation>Preset Color Value</xs:documentation> <choice> -<!-- Alice Blue Preset Color --> + <!-- Alice Blue Preset Color --> <value>aliceBlue</value> -<!-- Antique White Preset Color --> + <!-- Antique White Preset Color --> <value>antiqueWhite</value> -<!-- Aqua Preset Color --> + <!-- Aqua Preset Color --> <value>aqua</value> -<!-- Aquamarine Preset Color --> + <!-- Aquamarine Preset Color --> <value>aquamarine</value> -<!-- Azure Preset Color --> + <!-- Azure Preset Color --> <value>azure</value> -<!-- Beige Preset Color --> + <!-- Beige Preset Color --> <value>beige</value> -<!-- Bisque Preset Color --> + <!-- Bisque Preset Color --> <value>bisque</value> -<!-- Black Preset Color --> + <!-- Black Preset Color --> <value>black</value> -<!-- Blanched Almond Preset Color --> + <!-- Blanched Almond Preset Color --> <value>blanchedAlmond</value> -<!-- Blue Preset Color --> + <!-- Blue Preset Color --> <value>blue</value> -<!-- Blue Violet Preset Color --> + <!-- Blue Violet Preset Color --> <value>blueViolet</value> -<!-- Brown Preset Color --> + <!-- Brown Preset Color --> <value>brown</value> -<!-- Burly Wood Preset Color --> + <!-- Burly Wood Preset Color --> <value>burlyWood</value> -<!-- Cadet Blue Preset Color --> + <!-- Cadet Blue Preset Color --> <value>cadetBlue</value> -<!-- Chartreuse Preset Color --> + <!-- Chartreuse Preset Color --> <value>chartreuse</value> -<!-- Chocolate Preset Color --> + <!-- Chocolate Preset Color --> <value>chocolate</value> -<!-- Coral Preset Color --> + <!-- Coral Preset Color --> <value>coral</value> -<!-- Cornflower Blue Preset Color --> + <!-- Cornflower Blue Preset Color --> <value>cornflowerBlue</value> -<!-- Cornsilk Preset Color --> + <!-- Cornsilk Preset Color --> <value>cornsilk</value> -<!-- Crimson Preset Color --> + <!-- Crimson Preset Color --> <value>crimson</value> -<!-- Cyan Preset Color --> + <!-- Cyan Preset Color --> <value>cyan</value> -<!-- Dark Blue Preset Color --> + <!-- Dark Blue Preset Color --> <value>dkBlue</value> -<!-- Dark Cyan Preset Color --> + <!-- Dark Cyan Preset Color --> <value>dkCyan</value> -<!-- Dark Goldenrod Preset Color --> + <!-- Dark Goldenrod Preset Color --> <value>dkGoldenrod</value> -<!-- Dark Gray Preset Color --> + <!-- Dark Gray Preset Color --> <value>dkGray</value> -<!-- Dark Green Preset Color --> + <!-- Dark Green Preset Color --> <value>dkGreen</value> -<!-- Dark Khaki Preset Color --> + <!-- Dark Khaki Preset Color --> <value>dkKhaki</value> -<!-- Dark Magenta Preset Color --> + <!-- Dark Magenta Preset Color --> <value>dkMagenta</value> -<!-- Dark Olive Green Preset Color --> + <!-- Dark Olive Green Preset Color --> <value>dkOliveGreen</value> -<!-- Dark Orange Preset Color --> + <!-- Dark Orange Preset Color --> <value>dkOrange</value> -<!-- Dark Orchid Preset Color --> + <!-- Dark Orchid Preset Color --> <value>dkOrchid</value> -<!-- Dark Red Preset Color --> + <!-- Dark Red Preset Color --> <value>dkRed</value> -<!-- Dark Salmon Preset Color --> + <!-- Dark Salmon Preset Color --> <value>dkSalmon</value> -<!-- Dark Sea Green Preset Color --> + <!-- Dark Sea Green Preset Color --> <value>dkSeaGreen</value> -<!-- Dark Slate Blue Preset Color --> + <!-- Dark Slate Blue Preset Color --> <value>dkSlateBlue</value> -<!-- Dark Slate Gray Preset Color --> + <!-- Dark Slate Gray Preset Color --> <value>dkSlateGray</value> -<!-- Dark Turquoise Preset Color --> + <!-- Dark Turquoise Preset Color --> <value>dkTurquoise</value> -<!-- Dark Violet Preset Color --> + <!-- Dark Violet Preset Color --> <value>dkViolet</value> -<!-- Deep Pink Preset Color --> + <!-- Deep Pink Preset Color --> <value>deepPink</value> -<!-- Deep Sky Blue Preset Color --> + <!-- Deep Sky Blue Preset Color --> <value>deepSkyBlue</value> -<!-- Dim Gray Preset Color --> + <!-- Dim Gray Preset Color --> <value>dimGray</value> -<!-- Dodger Blue Preset Color --> + <!-- Dodger Blue Preset Color --> <value>dodgerBlue</value> -<!-- Firebrick Preset Color --> + <!-- Firebrick Preset Color --> <value>firebrick</value> -<!-- Floral White Preset Color --> + <!-- Floral White Preset Color --> <value>floralWhite</value> -<!-- Forest Green Preset Color --> + <!-- Forest Green Preset Color --> <value>forestGreen</value> -<!-- Fuchsia Preset Color --> + <!-- Fuchsia Preset Color --> <value>fuchsia</value> -<!-- Gainsboro Preset Color --> + <!-- Gainsboro Preset Color --> <value>gainsboro</value> -<!-- Ghost White Preset Color --> + <!-- Ghost White Preset Color --> <value>ghostWhite</value> -<!-- Gold Preset Color --> + <!-- Gold Preset Color --> <value>gold</value> -<!-- Goldenrod Preset Color --> + <!-- Goldenrod Preset Color --> <value>goldenrod</value> -<!-- Gray Preset Color --> + <!-- Gray Preset Color --> <value>gray</value> -<!-- Green Preset Color --> + <!-- Green Preset Color --> <value>green</value> -<!-- Green Yellow Preset Color --> + <!-- Green Yellow Preset Color --> <value>greenYellow</value> -<!-- Honeydew Preset Color --> + <!-- Honeydew Preset Color --> <value>honeydew</value> -<!-- Hot Pink Preset Color --> + <!-- Hot Pink Preset Color --> <value>hotPink</value> -<!-- Indian Red Preset Color --> + <!-- Indian Red Preset Color --> <value>indianRed</value> -<!-- Indigo Preset Color --> + <!-- Indigo Preset Color --> <value>indigo</value> -<!-- Ivory Preset Color --> + <!-- Ivory Preset Color --> <value>ivory</value> -<!-- Khaki Preset Color --> + <!-- Khaki Preset Color --> <value>khaki</value> -<!-- Lavender Preset Color --> + <!-- Lavender Preset Color --> <value>lavender</value> -<!-- Lavender Blush Preset Color --> + <!-- Lavender Blush Preset Color --> <value>lavenderBlush</value> -<!-- Lawn Green Preset Color --> + <!-- Lawn Green Preset Color --> <value>lawnGreen</value> -<!-- Lemon Chiffon Preset Color --> + <!-- Lemon Chiffon Preset Color --> <value>lemonChiffon</value> -<!-- Light Blue Preset Color --> + <!-- Light Blue Preset Color --> <value>ltBlue</value> -<!-- Light Coral Preset Color --> + <!-- Light Coral Preset Color --> <value>ltCoral</value> -<!-- Light Cyan Preset Color --> + <!-- Light Cyan Preset Color --> <value>ltCyan</value> -<!-- Light Goldenrod Yellow Preset Color --> + <!-- Light Goldenrod Yellow Preset Color --> <value>ltGoldenrodYellow</value> -<!-- Light Gray Preset Color --> + <!-- Light Gray Preset Color --> <value>ltGray</value> -<!-- Light Green Preset Color --> + <!-- Light Green Preset Color --> <value>ltGreen</value> -<!-- Light Pink Preset Color --> + <!-- Light Pink Preset Color --> <value>ltPink</value> -<!-- Light Salmon Preset Color --> + <!-- Light Salmon Preset Color --> <value>ltSalmon</value> -<!-- Light Sea Green Preset Color --> + <!-- Light Sea Green Preset Color --> <value>ltSeaGreen</value> -<!-- Light Sky Blue Preset Color --> + <!-- Light Sky Blue Preset Color --> <value>ltSkyBlue</value> -<!-- Light Slate Gray Preset Color --> + <!-- Light Slate Gray Preset Color --> <value>ltSlateGray</value> -<!-- Light Steel Blue Preset Color --> + <!-- Light Steel Blue Preset Color --> <value>ltSteelBlue</value> -<!-- Light Yellow Preset Color --> + <!-- Light Yellow Preset Color --> <value>ltYellow</value> -<!-- Lime Preset Color --> + <!-- Lime Preset Color --> <value>lime</value> -<!-- Lime Green Preset Color --> + <!-- Lime Green Preset Color --> <value>limeGreen</value> -<!-- Linen Preset Color --> + <!-- Linen Preset Color --> <value>linen</value> -<!-- Magenta Preset Color --> + <!-- Magenta Preset Color --> <value>magenta</value> -<!-- Maroon Preset Color --> + <!-- Maroon Preset Color --> <value>maroon</value> -<!-- Medium Aquamarine Preset Color --> + <!-- Medium Aquamarine Preset Color --> <value>medAquamarine</value> -<!-- Medium Blue Preset Color --> + <!-- Medium Blue Preset Color --> <value>medBlue</value> -<!-- Medium Orchid Preset Color --> + <!-- Medium Orchid Preset Color --> <value>medOrchid</value> -<!-- Medium Purple Preset Color --> + <!-- Medium Purple Preset Color --> <value>medPurple</value> -<!-- Medium Sea Green Preset Color --> + <!-- Medium Sea Green Preset Color --> <value>medSeaGreen</value> -<!-- Medium Slate Blue Preset Color --> + <!-- Medium Slate Blue Preset Color --> <value>medSlateBlue</value> -<!-- Medium Spring Green Preset Color --> + <!-- Medium Spring Green Preset Color --> <value>medSpringGreen</value> -<!-- Medium Turquoise Preset Color --> + <!-- Medium Turquoise Preset Color --> <value>medTurquoise</value> -<!-- Medium Violet Red Preset Color --> + <!-- Medium Violet Red Preset Color --> <value>medVioletRed</value> -<!-- Midnight Blue Preset Color --> + <!-- Midnight Blue Preset Color --> <value>midnightBlue</value> -<!-- Mint Cream Preset Color --> + <!-- Mint Cream Preset Color --> <value>mintCream</value> -<!-- Misty Rose Preset Color --> + <!-- Misty Rose Preset Color --> <value>mistyRose</value> -<!-- Moccasin Preset Color --> + <!-- Moccasin Preset Color --> <value>moccasin</value> -<!-- Navajo White Preset Color --> + <!-- Navajo White Preset Color --> <value>navajoWhite</value> -<!-- Navy Preset Color --> + <!-- Navy Preset Color --> <value>navy</value> -<!-- Old Lace Preset Color --> + <!-- Old Lace Preset Color --> <value>oldLace</value> -<!-- Olive Preset Color --> + <!-- Olive Preset Color --> <value>olive</value> -<!-- Olive Drab Preset Color --> + <!-- Olive Drab Preset Color --> <value>oliveDrab</value> -<!-- Orange Preset Color --> + <!-- Orange Preset Color --> <value>orange</value> -<!-- Orange Red Preset Color --> + <!-- Orange Red Preset Color --> <value>orangeRed</value> -<!-- Orchid Preset Color --> + <!-- Orchid Preset Color --> <value>orchid</value> -<!-- Pale Goldenrod Preset Color --> + <!-- Pale Goldenrod Preset Color --> <value>paleGoldenrod</value> -<!-- Pale Green Preset Color --> + <!-- Pale Green Preset Color --> <value>paleGreen</value> -<!-- Pale Turquoise Preset Color --> + <!-- Pale Turquoise Preset Color --> <value>paleTurquoise</value> -<!-- Pale Violet Red Preset Color --> + <!-- Pale Violet Red Preset Color --> <value>paleVioletRed</value> -<!-- Papaya Whip Preset Color --> + <!-- Papaya Whip Preset Color --> <value>papayaWhip</value> -<!-- Peach Puff Preset Color --> + <!-- Peach Puff Preset Color --> <value>peachPuff</value> -<!-- Peru Preset Color --> + <!-- Peru Preset Color --> <value>peru</value> -<!-- Pink Preset Color --> + <!-- Pink Preset Color --> <value>pink</value> -<!-- Plum Preset Color --> + <!-- Plum Preset Color --> <value>plum</value> -<!-- Powder Blue Preset Color --> + <!-- Powder Blue Preset Color --> <value>powderBlue</value> -<!-- Purple Preset Color --> + <!-- Purple Preset Color --> <value>purple</value> -<!-- Red Preset Color --> + <!-- Red Preset Color --> <value>red</value> -<!-- Rosy Brown Preset Color --> + <!-- Rosy Brown Preset Color --> <value>rosyBrown</value> -<!-- Royal Blue Preset Color --> + <!-- Royal Blue Preset Color --> <value>royalBlue</value> -<!-- Saddle Brown Preset Color --> + <!-- Saddle Brown Preset Color --> <value>saddleBrown</value> -<!-- Salmon Preset Color --> + <!-- Salmon Preset Color --> <value>salmon</value> -<!-- Sandy Brown Preset Color --> + <!-- Sandy Brown Preset Color --> <value>sandyBrown</value> -<!-- Sea Green Preset Color --> + <!-- Sea Green Preset Color --> <value>seaGreen</value> -<!-- Sea Shell Preset Color --> + <!-- Sea Shell Preset Color --> <value>seaShell</value> -<!-- Sienna Preset Color --> + <!-- Sienna Preset Color --> <value>sienna</value> -<!-- Silver Preset Color --> + <!-- Silver Preset Color --> <value>silver</value> -<!-- Sky Blue Preset Color --> + <!-- Sky Blue Preset Color --> <value>skyBlue</value> -<!-- Slate Blue Preset Color --> + <!-- Slate Blue Preset Color --> <value>slateBlue</value> -<!-- Slate Gray Preset Color --> + <!-- Slate Gray Preset Color --> <value>slateGray</value> -<!-- Snow Preset Color --> + <!-- Snow Preset Color --> <value>snow</value> -<!-- Spring Green Preset Color --> + <!-- Spring Green Preset Color --> <value>springGreen</value> -<!-- Steel Blue Preset Color --> + <!-- Steel Blue Preset Color --> <value>steelBlue</value> -<!-- Tan Preset Color --> + <!-- Tan Preset Color --> <value>tan</value> -<!-- Teal Preset Color --> + <!-- Teal Preset Color --> <value>teal</value> -<!-- Thistle Preset Color --> + <!-- Thistle Preset Color --> <value>thistle</value> -<!-- Tomato Preset Color --> + <!-- Tomato Preset Color --> <value>tomato</value> -<!-- Turquoise Preset Color --> + <!-- Turquoise Preset Color --> <value>turquoise</value> -<!-- Violet Preset Color --> + <!-- Violet Preset Color --> <value>violet</value> -<!-- Wheat Preset Color --> + <!-- Wheat Preset Color --> <value>wheat</value> -<!-- White Preset Color --> + <!-- White Preset Color --> <value>white</value> -<!-- White Smoke Preset Color --> + <!-- White Smoke Preset Color --> <value>whiteSmoke</value> -<!-- Yellow Preset Color --> + <!-- Yellow Preset Color --> <value>yellow</value> -<!-- Yellow Green Preset Color --> + <!-- Yellow Green Preset Color --> <value>yellowGreen</value> </choice> </list> @@ -4221,23 +4224,23 @@ <list> <xs:documentation>Rectangle Alignments</xs:documentation> <choice> -<!-- Rectangle Alignment Enum ( Top Left ) --> + <!-- Rectangle Alignment Enum ( Top Left ) --> <value>tl</value> -<!-- Rectangle Alignment Enum ( Top ) --> + <!-- Rectangle Alignment Enum ( Top ) --> <value>t</value> -<!-- Rectangle Alignment Enum ( Top Right ) --> + <!-- Rectangle Alignment Enum ( Top Right ) --> <value>tr</value> -<!-- Rectangle Alignment Enum ( Left ) --> + <!-- Rectangle Alignment Enum ( Left ) --> <value>l</value> -<!-- Rectangle Alignment Enum ( Center ) --> + <!-- Rectangle Alignment Enum ( Center ) --> <value>ctr</value> -<!-- Rectangle Alignment Enum ( Right ) --> + <!-- Rectangle Alignment Enum ( Right ) --> <value>r</value> -<!-- Rectangle Alignment Enum ( Bottom Left ) --> + <!-- Rectangle Alignment Enum ( Bottom Left ) --> <value>bl</value> -<!-- Rectangle Alignment Enum ( Bottom ) --> + <!-- Rectangle Alignment Enum ( Bottom ) --> <value>b</value> -<!-- Rectangle Alignment Enum ( Bottom Right ) --> + <!-- Rectangle Alignment Enum ( Bottom Right ) --> <value>br</value> </choice> </list> @@ -4282,27 +4285,27 @@ <list> <xs:documentation>Black and White Mode</xs:documentation> <choice> -<!-- Color --> + <!-- Color --> <value>clr</value> -<!-- Automatic --> + <!-- Automatic --> <value>auto</value> -<!-- Gray --> + <!-- Gray --> <value>gray</value> -<!-- Light Gray --> + <!-- Light Gray --> <value>ltGray</value> -<!-- Inverse Gray --> + <!-- Inverse Gray --> <value>invGray</value> -<!-- Gray and White --> + <!-- Gray and White --> <value>grayWhite</value> -<!-- Black and Gray --> + <!-- Black and Gray --> <value>blackGray</value> -<!-- Black and White --> + <!-- Black and White --> <value>blackWhite</value> -<!-- Black --> + <!-- Black --> <value>black</value> -<!-- White --> + <!-- White --> <value>white</value> -<!-- Hidden --> + <!-- Hidden --> <value>hidden</value> </choice> </list> @@ -4421,7 +4424,27 @@ <resource name="ST_Coordinate32" resource="Integer" generated="yes"/> <resource name="ST_PositiveCoordinate" resource="Integer" generated="yes"/> <resource name="ST_Angle" resource="Integer" generated="yes"/> + <resource name="CT_Angle" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_Angle_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> + <resource name="CT_PositiveFixedAngle" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_PositiveFixedAngle_val" action="setValue"/> + </resource> <resource name="ST_Percentage" resource="Integer" generated="yes"/> + <resource name="CT_Percentage" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_Percentage_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> + <resource name="CT_PositivePercentage" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_PositivePercentage_val" action="setValue"/> + </resource> + <resource name="CT_FixedPercentage" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_FixedPercentage_val" action="setValue"/> + </resource> + <resource name="CT_PositiveFixedPercentage" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_PositiveFixedPercentage_val" action="setValue"/> + </resource> <resource name="CT_Point2D" resource="Properties"> <attribute name="x" tokenid="ooxml:CT_Point2D_x"/> <attribute name="y" tokenid="ooxml:CT_Point2D_y"/> @@ -4695,9 +4718,9 @@ </resource> <resource name="ST_DrawingElementId" resource="Integer" generated="yes"/> </namespace> - <namespace name="dml-documentProperties" file="dml-documentProperties.rng"> + <namespace name="dml-documentProperties" file="dml-documentProperties.rng" todo="ignore"> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-baseTypes.rng"/> <include href="dml-shapeGeometry.rng"/> <define name="AG_Locking"> @@ -5107,8 +5130,8 @@ <namespace name="dml-graphicalObject" file="dml-graphicalObject.rng"> <start name="graphic"/> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> -<!-- start = graphic --> + <!-- ISO RELAX NG Schema --> + <!-- start = graphic --> <define name="CT_GraphicalObjectData"> <zeroOrMore> <ref name="pic"/> @@ -5146,387 +5169,387 @@ <element name="graphic" tokenid="ooxml:graphic_graphic"/> </resource> </namespace> - <namespace name="dml-shapeGeometry" file="dml-shapeGeometry.rng"> + <namespace name="dml-shapeGeometry" file="dml-shapeGeometry.rng" todo="ignore"> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-baseTypes.rng"/> <define name="ST_ShapeType"> <list> <xs:documentation>Preset Shape Types</xs:documentation> <choice> -<!-- Line Shape --> + <!-- Line Shape --> <value>line</value> -<!-- Line Inverse Shape --> + <!-- Line Inverse Shape --> <value>lineInv</value> -<!-- Triangle Shape --> + <!-- Triangle Shape --> <value>triangle</value> -<!-- Right Triangle Shape --> + <!-- Right Triangle Shape --> <value>rtTriangle</value> -<!-- Rectangle Shape --> + <!-- Rectangle Shape --> <value>rect</value> -<!-- Diamond Shape --> + <!-- Diamond Shape --> <value>diamond</value> -<!-- Parallelogram Shape --> + <!-- Parallelogram Shape --> <value>parallelogram</value> -<!-- Trapezoid Shape --> + <!-- Trapezoid Shape --> <value>trapezoid</value> -<!-- Non-Isosceles Trapezoid Shape --> + <!-- Non-Isosceles Trapezoid Shape --> <value>nonIsoscelesTrapezoid</value> -<!-- Pentagon Shape --> + <!-- Pentagon Shape --> <value>pentagon</value> -<!-- Hexagon Shape --> + <!-- Hexagon Shape --> <value>hexagon</value> -<!-- Heptagon Shape --> + <!-- Heptagon Shape --> <value>heptagon</value> -<!-- Octagon Shape --> + <!-- Octagon Shape --> <value>octagon</value> -<!-- Decagon Shape --> + <!-- Decagon Shape --> <value>decagon</value> -<!-- Dodecagon Shape --> + <!-- Dodecagon Shape --> <value>dodecagon</value> -<!-- Four Pointed Star Shape --> + <!-- Four Pointed Star Shape --> <value>star4</value> -<!-- Five Pointed Star Shape --> + <!-- Five Pointed Star Shape --> <value>star5</value> -<!-- Six Pointed Star Shape --> + <!-- Six Pointed Star Shape --> <value>star6</value> -<!-- Seven Pointed Star Shape --> + <!-- Seven Pointed Star Shape --> <value>star7</value> -<!-- Eight Pointed Star Shape --> + <!-- Eight Pointed Star Shape --> <value>star8</value> -<!-- Ten Pointed Star Shape --> + <!-- Ten Pointed Star Shape --> <value>star10</value> -<!-- Twelve Pointed Star Shape --> + <!-- Twelve Pointed Star Shape --> <value>star12</value> -<!-- Sixteen Pointed Star Shape --> + <!-- Sixteen Pointed Star Shape --> <value>star16</value> -<!-- Twenty Four Pointed Star Shape --> + <!-- Twenty Four Pointed Star Shape --> <value>star24</value> -<!-- Thirty Two Pointed Star Shape --> + <!-- Thirty Two Pointed Star Shape --> <value>star32</value> -<!-- Round Corner Rectangle Shape --> + <!-- Round Corner Rectangle Shape --> <value>roundRect</value> -<!-- One Round Corner Rectangle Shape --> + <!-- One Round Corner Rectangle Shape --> <value>round1Rect</value> -<!-- Two Same-side Round Corner Rectangle Shape --> + <!-- Two Same-side Round Corner Rectangle Shape --> <value>round2SameRect</value> -<!-- Two Diagonal Round Corner Rectangle Shape --> + <!-- Two Diagonal Round Corner Rectangle Shape --> <value>round2DiagRect</value> -<!-- One Snip One Round Corner Rectangle Shape --> + <!-- One Snip One Round Corner Rectangle Shape --> <value>snipRoundRect</value> -<!-- One Snip Corner Rectangle Shape --> + <!-- One Snip Corner Rectangle Shape --> <value>snip1Rect</value> -<!-- Two Same-side Snip Corner Rectangle Shape --> + <!-- Two Same-side Snip Corner Rectangle Shape --> <value>snip2SameRect</value> -<!-- Two Diagonal Snip Corner Rectangle Shape --> + <!-- Two Diagonal Snip Corner Rectangle Shape --> <value>snip2DiagRect</value> -<!-- Plaque Shape --> + <!-- Plaque Shape --> <value>plaque</value> -<!-- Ellipse Shape --> + <!-- Ellipse Shape --> <value>ellipse</value> -<!-- Teardrop Shape --> + <!-- Teardrop Shape --> <value>teardrop</value> -<!-- Home Plate Shape --> + <!-- Home Plate Shape --> <value>homePlate</value> -<!-- Chevron Shape --> + <!-- Chevron Shape --> <value>chevron</value> -<!-- Pie Wedge Shape --> + <!-- Pie Wedge Shape --> <value>pieWedge</value> -<!-- Pie Shape --> + <!-- Pie Shape --> <value>pie</value> -<!-- Block Arc Shape --> + <!-- Block Arc Shape --> <value>blockArc</value> -<!-- Donut Shape --> + <!-- Donut Shape --> <value>donut</value> -<!-- No Smoking Shape --> + <!-- No Smoking Shape --> <value>noSmoking</value> -<!-- Right Arrow Shape --> + <!-- Right Arrow Shape --> <value>rightArrow</value> -<!-- Left Arrow Shape --> + <!-- Left Arrow Shape --> <value>leftArrow</value> -<!-- Up Arrow Shape --> + <!-- Up Arrow Shape --> <value>upArrow</value> -<!-- Down Arrow Shape --> + <!-- Down Arrow Shape --> <value>downArrow</value> -<!-- Striped Right Arrow Shape --> + <!-- Striped Right Arrow Shape --> <value>stripedRightArrow</value> -<!-- Notched Right Arrow Shape --> + <!-- Notched Right Arrow Shape --> <value>notchedRightArrow</value> -<!-- Bent Up Arrow Shape --> + <!-- Bent Up Arrow Shape --> <value>bentUpArrow</value> -<!-- Left Right Arrow Shape --> + <!-- Left Right Arrow Shape --> <value>leftRightArrow</value> -<!-- Up Down Arrow Shape --> + <!-- Up Down Arrow Shape --> <value>upDownArrow</value> -<!-- Left Up Arrow Shape --> + <!-- Left Up Arrow Shape --> <value>leftUpArrow</value> -<!-- Left Right Up Arrow Shape --> + <!-- Left Right Up Arrow Shape --> <value>leftRightUpArrow</value> -<!-- Quad-Arrow Shape --> + <!-- Quad-Arrow Shape --> <value>quadArrow</value> -<!-- Callout Left Arrow Shape --> + <!-- Callout Left Arrow Shape --> <value>leftArrowCallout</value> -<!-- Callout Right Arrow Shape --> + <!-- Callout Right Arrow Shape --> <value>rightArrowCallout</value> -<!-- Callout Up Arrow Shape --> + <!-- Callout Up Arrow Shape --> <value>upArrowCallout</value> -<!-- Callout Down Arrow Shape --> + <!-- Callout Down Arrow Shape --> <value>downArrowCallout</value> -<!-- Callout Left Right Arrow Shape --> + <!-- Callout Left Right Arrow Shape --> <value>leftRightArrowCallout</value> -<!-- Callout Up Down Arrow Shape --> + <!-- Callout Up Down Arrow Shape --> <value>upDownArrowCallout</value> -<!-- Callout Quad-Arrow Shape --> + <!-- Callout Quad-Arrow Shape --> <value>quadArrowCallout</value> -<!-- Bent Arrow Shape --> + <!-- Bent Arrow Shape --> <value>bentArrow</value> -<!-- U-Turn Arrow Shape --> + <!-- U-Turn Arrow Shape --> <value>uturnArrow</value> -<!-- Circular Arrow Shape --> + <!-- Circular Arrow Shape --> <value>circularArrow</value> -<!-- Left Circular Arrow Shape --> + <!-- Left Circular Arrow Shape --> <value>leftCircularArrow</value> -<!-- Left Right Circular Arrow Shape --> + <!-- Left Right Circular Arrow Shape --> <value>leftRightCircularArrow</value> -<!-- Curved Right Arrow Shape --> + <!-- Curved Right Arrow Shape --> <value>curvedRightArrow</value> -<!-- Curved Left Arrow Shape --> + <!-- Curved Left Arrow Shape --> <value>curvedLeftArrow</value> -<!-- Curved Up Arrow Shape --> + <!-- Curved Up Arrow Shape --> <value>curvedUpArrow</value> -<!-- Curved Down Arrow Shape --> + <!-- Curved Down Arrow Shape --> <value>curvedDownArrow</value> -<!-- Swoosh Arrow Shape --> + <!-- Swoosh Arrow Shape --> <value>swooshArrow</value> -<!-- Cube Shape --> + <!-- Cube Shape --> <value>cube</value> -<!-- Can Shape --> + <!-- Can Shape --> <value>can</value> -<!-- Lightning Bolt Shape --> + <!-- Lightning Bolt Shape --> <value>lightningBolt</value> -<!-- Heart Shape --> + <!-- Heart Shape --> <value>heart</value> -<!-- Sun Shape --> + <!-- Sun Shape --> <value>sun</value> -<!-- Moon Shape --> + <!-- Moon Shape --> <value>moon</value> -<!-- Smiley Face Shape --> + <!-- Smiley Face Shape --> <value>smileyFace</value> -<!-- Irregular Seal 1 Shape --> + <!-- Irregular Seal 1 Shape --> <value>irregularSeal1</value> -<!-- Irregular Seal 2 Shape --> + <!-- Irregular Seal 2 Shape --> <value>irregularSeal2</value> -<!-- Folded Corner Shape --> + <!-- Folded Corner Shape --> <value>foldedCorner</value> -<!-- Bevel Shape --> + <!-- Bevel Shape --> <value>bevel</value> -<!-- Frame Shape --> + <!-- Frame Shape --> <value>frame</value> -<!-- Half Frame Shape --> + <!-- Half Frame Shape --> <value>halfFrame</value> -<!-- Corner Shape --> + <!-- Corner Shape --> <value>corner</value> -<!-- Diagonal Stripe Shape --> + <!-- Diagonal Stripe Shape --> <value>diagStripe</value> -<!-- Chord Shape --> + <!-- Chord Shape --> <value>chord</value> -<!-- Curved Arc Shape --> + <!-- Curved Arc Shape --> <value>arc</value> -<!-- Left Bracket Shape --> + <!-- Left Bracket Shape --> <value>leftBracket</value> -<!-- Right Bracket Shape --> + <!-- Right Bracket Shape --> <value>rightBracket</value> -<!-- Left Brace Shape --> + <!-- Left Brace Shape --> <value>leftBrace</value> -<!-- Right Brace Shape --> + <!-- Right Brace Shape --> <value>rightBrace</value> -<!-- Bracket Pair Shape --> + <!-- Bracket Pair Shape --> <value>bracketPair</value> -<!-- Brace Pair Shape --> + <!-- Brace Pair Shape --> <value>bracePair</value> -<!-- Straight Connector 1 Shape --> + <!-- Straight Connector 1 Shape --> <value>straightConnector1</value> -<!-- Bent Connector 2 Shape --> + <!-- Bent Connector 2 Shape --> <value>bentConnector2</value> -<!-- Bent Connector 3 Shape --> + <!-- Bent Connector 3 Shape --> <value>bentConnector3</value> -<!-- Bent Connector 4 Shape --> + <!-- Bent Connector 4 Shape --> <value>bentConnector4</value> -<!-- Bent Connector 5 Shape --> + <!-- Bent Connector 5 Shape --> <value>bentConnector5</value> -<!-- Curved Connector 2 Shape --> + <!-- Curved Connector 2 Shape --> <value>curvedConnector2</value> -<!-- Curved Connector 3 Shape --> + <!-- Curved Connector 3 Shape --> <value>curvedConnector3</value> -<!-- Curved Connector 4 Shape --> + <!-- Curved Connector 4 Shape --> <value>curvedConnector4</value> -<!-- Curved Connector 5 Shape --> + <!-- Curved Connector 5 Shape --> <value>curvedConnector5</value> -<!-- Callout 1 Shape --> + <!-- Callout 1 Shape --> <value>callout1</value> -<!-- Callout 2 Shape --> + <!-- Callout 2 Shape --> <value>callout2</value> -<!-- Callout 3 Shape --> + <!-- Callout 3 Shape --> <value>callout3</value> -<!-- Callout 1 Shape --> + <!-- Callout 1 Shape --> <value>accentCallout1</value> -<!-- Callout 2 Shape --> + <!-- Callout 2 Shape --> <value>accentCallout2</value> -<!-- Callout 3 Shape --> + <!-- Callout 3 Shape --> <value>accentCallout3</value> -<!-- Callout 1 with Border Shape --> + <!-- Callout 1 with Border Shape --> <value>borderCallout1</value> -<!-- Callout 2 with Border Shape --> + <!-- Callout 2 with Border Shape --> <value>borderCallout2</value> -<!-- Callout 3 with Border Shape --> + <!-- Callout 3 with Border Shape --> <value>borderCallout3</value> -<!-- Callout 1 with Border and Accent Shape --> + <!-- Callout 1 with Border and Accent Shape --> <value>accentBorderCallout1</value> -<!-- Callout 2 with Border and Accent Shape --> + <!-- Callout 2 with Border and Accent Shape --> <value>accentBorderCallout2</value> -<!-- Callout 3 with Border and Accent Shape --> + <!-- Callout 3 with Border and Accent Shape --> <value>accentBorderCallout3</value> -<!-- Callout Wedge Rectangle Shape --> + <!-- Callout Wedge Rectangle Shape --> <value>wedgeRectCallout</value> -<!-- Callout Wedge Round Rectangle Shape --> + <!-- Callout Wedge Round Rectangle Shape --> <value>wedgeRoundRectCallout</value> -<!-- Callout Wedge Ellipse Shape --> + <!-- Callout Wedge Ellipse Shape --> <value>wedgeEllipseCallout</value> -<!-- Callout Cloud Shape --> + <!-- Callout Cloud Shape --> <value>cloudCallout</value> -<!-- Cloud Shape --> + <!-- Cloud Shape --> <value>cloud</value> -<!-- Ribbon Shape --> + <!-- Ribbon Shape --> <value>ribbon</value> -<!-- Ribbon 2 Shape --> + <!-- Ribbon 2 Shape --> <value>ribbon2</value> -<!-- Ellipse Ribbon Shape --> + <!-- Ellipse Ribbon Shape --> <value>ellipseRibbon</value> -<!-- Ellipse Ribbon 2 Shape --> + <!-- Ellipse Ribbon 2 Shape --> <value>ellipseRibbon2</value> -<!-- Left Right Ribbon Shape --> + <!-- Left Right Ribbon Shape --> <value>leftRightRibbon</value> -<!-- Vertical Scroll Shape --> + <!-- Vertical Scroll Shape --> <value>verticalScroll</value> -<!-- Horizontal Scroll Shape --> + <!-- Horizontal Scroll Shape --> <value>horizontalScroll</value> -<!-- Wave Shape --> + <!-- Wave Shape --> <value>wave</value> -<!-- Double Wave Shape --> + <!-- Double Wave Shape --> <value>doubleWave</value> -<!-- Plus Shape --> + <!-- Plus Shape --> <value>plus</value> -<!-- Process Flow Shape --> + <!-- Process Flow Shape --> <value>flowChartProcess</value> -<!-- Decision Flow Shape --> + <!-- Decision Flow Shape --> <value>flowChartDecision</value> -<!-- Input Output Flow Shape --> + <!-- Input Output Flow Shape --> <value>flowChartInputOutput</value> -<!-- Predefined Process Flow Shape --> + <!-- Predefined Process Flow Shape --> <value>flowChartPredefinedProcess</value> -<!-- Internal Storage Flow Shape --> + <!-- Internal Storage Flow Shape --> <value>flowChartInternalStorage</value> -<!-- Document Flow Shape --> + <!-- Document Flow Shape --> <value>flowChartDocument</value> -<!-- Multi-Document Flow Shape --> + <!-- Multi-Document Flow Shape --> <value>flowChartMultidocument</value> -<!-- Terminator Flow Shape --> + <!-- Terminator Flow Shape --> <value>flowChartTerminator</value> -<!-- Preparation Flow Shape --> + <!-- Preparation Flow Shape --> <value>flowChartPreparation</value> -<!-- Manual Input Flow Shape --> + <!-- Manual Input Flow Shape --> <value>flowChartManualInput</value> -<!-- Manual Operation Flow Shape --> + <!-- Manual Operation Flow Shape --> <value>flowChartManualOperation</value> -<!-- Connector Flow Shape --> + <!-- Connector Flow Shape --> <value>flowChartConnector</value> -<!-- Punched Card Flow Shape --> + <!-- Punched Card Flow Shape --> <value>flowChartPunchedCard</value> -<!-- Punched Tape Flow Shape --> + <!-- Punched Tape Flow Shape --> <value>flowChartPunchedTape</value> -<!-- Summing Junction Flow Shape --> + <!-- Summing Junction Flow Shape --> <value>flowChartSummingJunction</value> -<!-- Or Flow Shape --> + <!-- Or Flow Shape --> <value>flowChartOr</value> -<!-- Collate Flow Shape --> + <!-- Collate Flow Shape --> <value>flowChartCollate</value> -<!-- Sort Flow Shape --> + <!-- Sort Flow Shape --> <value>flowChartSort</value> -<!-- Extract Flow Shape --> + <!-- Extract Flow Shape --> <value>flowChartExtract</value> -<!-- Merge Flow Shape --> + <!-- Merge Flow Shape --> <value>flowChartMerge</value> -<!-- Offline Storage Flow Shape --> + <!-- Offline Storage Flow Shape --> <value>flowChartOfflineStorage</value> -<!-- Online Storage Flow Shape --> + <!-- Online Storage Flow Shape --> <value>flowChartOnlineStorage</value> -<!-- Magnetic Tape Flow Shape --> + <!-- Magnetic Tape Flow Shape --> <value>flowChartMagneticTape</value> -<!-- Magnetic Disk Flow Shape --> + <!-- Magnetic Disk Flow Shape --> <value>flowChartMagneticDisk</value> -<!-- Magnetic Drum Flow Shape --> + <!-- Magnetic Drum Flow Shape --> <value>flowChartMagneticDrum</value> -<!-- Display Flow Shape --> + <!-- Display Flow Shape --> <value>flowChartDisplay</value> -<!-- Delay Flow Shape --> + <!-- Delay Flow Shape --> <value>flowChartDelay</value> -<!-- Alternate Process Flow Shape --> + <!-- Alternate Process Flow Shape --> <value>flowChartAlternateProcess</value> -<!-- Off-Page Connector Flow Shape --> + <!-- Off-Page Connector Flow Shape --> <value>flowChartOffpageConnector</value> -<!-- Blank Button Shape --> + <!-- Blank Button Shape --> <value>actionButtonBlank</value> -<!-- Home Button Shape --> + <!-- Home Button Shape --> <value>actionButtonHome</value> -<!-- Help Button Shape --> + <!-- Help Button Shape --> <value>actionButtonHelp</value> -<!-- Information Button Shape --> + <!-- Information Button Shape --> <value>actionButtonInformation</value> -<!-- Forward or Next Button Shape --> + <!-- Forward or Next Button Shape --> <value>actionButtonForwardNext</value> -<!-- Back or Previous Button Shape --> + <!-- Back or Previous Button Shape --> <value>actionButtonBackPrevious</value> -<!-- End Button Shape --> + <!-- End Button Shape --> <value>actionButtonEnd</value> -<!-- Beginning Button Shape --> + <!-- Beginning Button Shape --> <value>actionButtonBeginning</value> -<!-- Return Button Shape --> + <!-- Return Button Shape --> <value>actionButtonReturn</value> -<!-- Document Button Shape --> + <!-- Document Button Shape --> <value>actionButtonDocument</value> -<!-- Sound Button Shape --> + <!-- Sound Button Shape --> <value>actionButtonSound</value> -<!-- Movie Button Shape --> + <!-- Movie Button Shape --> <value>actionButtonMovie</value> -<!-- Gear 6 Shape --> + <!-- Gear 6 Shape --> <value>gear6</value> -<!-- Gear 9 Shape --> + <!-- Gear 9 Shape --> <value>gear9</value> -<!-- Funnel Shape --> + <!-- Funnel Shape --> <value>funnel</value> -<!-- Plus Math Shape --> + <!-- Plus Math Shape --> <value>mathPlus</value> -<!-- Minus Math Shape --> + <!-- Minus Math Shape --> <value>mathMinus</value> -<!-- Multiply Math Shape --> + <!-- Multiply Math Shape --> <value>mathMultiply</value> -<!-- Divide Math Shape --> + <!-- Divide Math Shape --> <value>mathDivide</value> -<!-- Equal Math Shape --> + <!-- Equal Math Shape --> <value>mathEqual</value> -<!-- Not Equal Math Shape --> + <!-- Not Equal Math Shape --> <value>mathNotEqual</value> -<!-- Corner Tabs Shape --> + <!-- Corner Tabs Shape --> <value>cornerTabs</value> -<!-- Square Tabs Shape --> + <!-- Square Tabs Shape --> <value>squareTabs</value> -<!-- Plaque Tabs Shape --> + <!-- Plaque Tabs Shape --> <value>plaqueTabs</value> -<!-- Chart X Shape --> + <!-- Chart X Shape --> <value>chartX</value> -<!-- Chart Star Shape --> + <!-- Chart Star Shape --> <value>chartStar</value> -<!-- Chart Plus Shape --> + <!-- Chart Plus Shape --> <value>chartPlus</value> </choice> </list> @@ -5535,87 +5558,87 @@ <list> <xs:documentation>Preset Text Shape Types</xs:documentation> <choice> -<!-- No Text Shape --> + <!-- No Text Shape --> <value>textNoShape</value> -<!-- Plain Text Shape --> + <!-- Plain Text Shape --> <value>textPlain</value> -<!-- Stop Sign Text Shape --> + <!-- Stop Sign Text Shape --> <value>textStop</value> -<!-- Triangle Text Shape --> + <!-- Triangle Text Shape --> <value>textTriangle</value> -<!-- Inverted Triangle Text Shape --> + <!-- Inverted Triangle Text Shape --> <value>textTriangleInverted</value> -<!-- Chevron Text Shape --> + <!-- Chevron Text Shape --> <value>textChevron</value> -<!-- Inverted Chevron Text Shape --> + <!-- Inverted Chevron Text Shape --> <value>textChevronInverted</value> -<!-- Inside Ring Text Shape --> + <!-- Inside Ring Text Shape --> <value>textRingInside</value> -<!-- Outside Ring Text Shape --> + <!-- Outside Ring Text Shape --> <value>textRingOutside</value> -<!-- Upward Arch Text Shape --> + <!-- Upward Arch Text Shape --> <value>textArchUp</value> -<!-- Downward Arch Text Shape --> + <!-- Downward Arch Text Shape --> <value>textArchDown</value> -<!-- Circle Text Shape --> + <!-- Circle Text Shape --> <value>textCircle</value> -<!-- Button Text Shape --> + <!-- Button Text Shape --> <value>textButton</value> -<!-- Upward Pour Arch Text Shape --> + <!-- Upward Pour Arch Text Shape --> <value>textArchUpPour</value> -<!-- Downward Pour Arch Text Shape --> + <!-- Downward Pour Arch Text Shape --> <value>textArchDownPour</value> -<!-- Circle Pour Text Shape --> + <!-- Circle Pour Text Shape --> <value>textCirclePour</value> -<!-- Button Pour Text Shape --> + <!-- Button Pour Text Shape --> <value>textButtonPour</value> -<!-- Upward Curve Text Shape --> + <!-- Upward Curve Text Shape --> <value>textCurveUp</value> -<!-- Downward Curve Text Shape --> + <!-- Downward Curve Text Shape --> <value>textCurveDown</value> -<!-- Upward Can Text Shape --> + <!-- Upward Can Text Shape --> <value>textCanUp</value> -<!-- Downward Can Text Shape --> + <!-- Downward Can Text Shape --> <value>textCanDown</value> -<!-- Wave 1 Text Shape --> + <!-- Wave 1 Text Shape --> <value>textWave1</value> -<!-- Wave 2 Text Shape --> + <!-- Wave 2 Text Shape --> <value>textWave2</value> -<!-- Double Wave 1 Text Shape --> + <!-- Double Wave 1 Text Shape --> <value>textDoubleWave1</value> -<!-- Wave 4 Text Shape --> + <!-- Wave 4 Text Shape --> <value>textWave4</value> -<!-- Inflate Text Shape --> + <!-- Inflate Text Shape --> <value>textInflate</value> -<!-- Deflate Text Shape --> + <!-- Deflate Text Shape --> <value>textDeflate</value> -<!-- Bottom Inflate Text Shape --> + <!-- Bottom Inflate Text Shape --> <value>textInflateBottom</value> -<!-- Bottom Deflate Text Shape --> + <!-- Bottom Deflate Text Shape --> <value>textDeflateBottom</value> -<!-- Top Inflate Text Shape --> + <!-- Top Inflate Text Shape --> <value>textInflateTop</value> -<!-- Top Deflate Text Shape --> + <!-- Top Deflate Text Shape --> <value>textDeflateTop</value> -<!-- Deflate-Inflate Text Shape --> + <!-- Deflate-Inflate Text Shape --> <value>textDeflateInflate</value> -<!-- Deflate-Inflate-Deflate Text Shape --> + <!-- Deflate-Inflate-Deflate Text Shape --> <value>textDeflateInflateDeflate</value> -<!-- Right Fade Text Shape --> + <!-- Right Fade Text Shape --> <value>textFadeRight</value> -<!-- Left Fade Text Shape --> + <!-- Left Fade Text Shape --> <value>textFadeLeft</value> -<!-- Upward Fade Text Shape --> + <!-- Upward Fade Text Shape --> <value>textFadeUp</value> -<!-- Downward Fade Text Shape --> + <!-- Downward Fade Text Shape --> <value>textFadeDown</value> -<!-- Upward Slant Text Shape --> + <!-- Upward Slant Text Shape --> <value>textSlantUp</value> -<!-- Downward Slant Text Shape --> + <!-- Downward Slant Text Shape --> <value>textSlantDown</value> -<!-- Upward Cascade Text Shape --> + <!-- Upward Cascade Text Shape --> <value>textCascadeUp</value> -<!-- Downward Cascade Text Shape --> + <!-- Downward Cascade Text Shape --> <value>textCascadeDown</value> </choice> </list> @@ -5653,14 +5676,14 @@ <ref name="ST_GeomGuideName"/> </choice> </define> -<!-- Union --> + <!-- Union --> <define name="ST_AdjAngle"> <choice> <ref name="ST_Angle"/> <ref name="ST_GeomGuideName"/> </choice> </define> -<!-- Union --> + <!-- Union --> <define name="CT_AdjPoint2D"> <attribute name="x"> <ref name="ST_AdjCoordinate"/> @@ -5860,17 +5883,17 @@ <list> <xs:documentation>Path Fill Mode</xs:documentation> <choice> -<!-- No Path Fill --> + <!-- No Path Fill --> <value>none</value> -<!-- Normal Path Fill --> + <!-- Normal Path Fill --> <value>norm</value> -<!-- Lighten Path Fill --> + <!-- Lighten Path Fill --> <value>lighten</value> -<!-- Lighten Path Fill Less --> + <!-- Lighten Path Fill Less --> <value>lightenLess</value> -<!-- Darken Path Fill --> + <!-- Darken Path Fill --> <value>darken</value> -<!-- Darken Path Fill Less --> + <!-- Darken Path Fill Less --> <value>darkenLess</value> </choice> </list> @@ -6279,10 +6302,10 @@ <start name="inline"/> <start name="anchor"/> <grammar xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-graphicalObject.rng"/> <include href="dml-documentProperties.rng"/> -<!-- start = inline | anchor --> + <!-- start = inline | anchor --> <define name="CT_EffectExtent"> <attribute name="l"> <ref name="ST_Coordinate"/> @@ -6357,13 +6380,13 @@ <list> <xs:documentation>Text Wrapping Location</xs:documentation> <choice> -<!-- Both Sides --> + <!-- Both Sides --> <value>bothSides</value> -<!-- Left Side Only --> + <!-- Left Side Only --> <value>left</value> -<!-- Right Side Only --> + <!-- Right Side Only --> <value>right</value> -<!-- Largest Side Only --> + <!-- Largest Side Only --> <value>largest</value> </choice> </list> @@ -6521,15 +6544,15 @@ <list> <xs:documentation>Relative Horizontal Alignment Positions</xs:documentation> <choice> -<!-- Left Alignment --> + <!-- Left Alignment --> <value>left</value> -<!-- Right Alignment --> + <!-- Right Alignment --> <value>right</value> -<!-- Center Alignment --> + <!-- Center Alignment --> <value>center</value> -<!-- Inside --> + <!-- Inside --> <value>inside</value> -<!-- Outside --> + <!-- Outside --> <value>outside</value> </choice> </list> @@ -6538,21 +6561,21 @@ <list> <xs:documentation>Horizontal Relative Positioning</xs:documentation> <choice> -<!-- Page Margin --> + <!-- Page Margin --> <value>margin</value> -<!-- Page Edge --> + <!-- Page Edge --> <value>page</value> -<!-- Column --> + <!-- Column --> <value>column</value> -<!-- Character --> + <!-- Character --> <value>character</value> -<!-- Left Margin --> + <!-- Left Margin --> <value>leftMargin</value> -<!-- Right Margin --> + <!-- Right Margin --> <value>rightMargin</value> -<!-- Inside Margin --> + <!-- Inside Margin --> <value>insideMargin</value> -<!-- Outside Margin --> + <!-- Outside Margin --> <value>outsideMargin</value> </choice> </list> @@ -6578,15 +6601,15 @@ <list> <xs:documentation>Vertical Alignment Definition</xs:documentation> <choice> -<!-- Top --> + <!-- Top --> <value>top</value> -<!-- Bottom --> + <!-- Bottom --> <value>bottom</value> -<!-- Center Alignment --> + <!-- Center Alignment --> <value>center</value> -<!-- Inside --> + <!-- Inside --> <value>inside</value> -<!-- Outside --> + <!-- Outside --> <value>outside</value> </choice> </list> @@ -6595,21 +6618,21 @@ <list> <xs:documentation>Vertical Relative Positioning</xs:documentation> <choice> -<!-- Page Margin --> + <!-- Page Margin --> <value>margin</value> -<!-- Page Edge --> + <!-- Page Edge --> <value>page</value> -<!-- Paragraph --> + <!-- Paragraph --> <value>paragraph</value> -<!-- Line --> + <!-- Line --> <value>line</value> -<!-- Top Margin --> + <!-- Top Margin --> <value>topMargin</value> -<!-- Bottom Margin --> + <!-- Bottom Margin --> <value>bottomMargin</value> -<!-- Inside Margin --> + <!-- Inside Margin --> <value>insideMargin</value> -<!-- Outside Margin --> + <!-- Outside Margin --> <value>outsideMargin</value> </choice> </list> @@ -6802,8 +6825,9 @@ <element name="wrapThrough" tokenid="ooxml:EG_WrapType_wrapThrough"/> <element name="wrapTopAndBottom" tokenid="ooxml:EG_WrapType_wrapTopAndBottom"/> </resource> + <resource name="CT_PositionOffset" resource="Value"/> <resource name="ST_PositionOffset" resource="Integer" generated="yes"/> - <resource name="CT_PositionOffset" resource="IntegerValue"/> + <resource name="CT_AlignH" resource="Value"/> <resource name="ST_AlignH" resource="List" generated="yes"> <value name="left" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_left">left</value> <value name="right" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_right">right</value> @@ -6811,7 +6835,6 @@ <value name="inside" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_inside">inside</value> <value name="outside" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_outside">outside</value> </resource> - <resource name="CT_AlignH" resource="ListValue"/> <resource name="ST_RelFromH" resource="List" generated="yes"> <value name="margin" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromH_margin">margin</value> <value name="page" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromH_page">page</value> @@ -6827,7 +6850,7 @@ <element name="posOffset" tokenid="ooxml:CT_PosH_posOffset"/> <attribute name="relativeFrom" tokenid="ooxml:CT_PosH_relativeFrom"/> </resource> - <resource name="CT_AlignV" resource="ListValue"/> + <resource name="CT_AlignV" resource="Value"/> <resource name="ST_AlignV" resource="List" generated="yes"> <value name="top" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignV_top">top</value> <value name="bottom" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignV_bottom">bottom</value> @@ -6881,8 +6904,8 @@ <namespace name="sml-customXmlMappings" file="sml-customXmlMappings-rng"> <start name="schemaLibrary"/> <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/schemaLibrary/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> -<!-- start = schemaLibrary --> + <!-- ISO RELAX NG Schema --> + <!-- start = schemaLibrary --> <define name="CT_Schema"> <attribute name="uri"> <data type="string"> @@ -6922,9 +6945,9 @@ <start name="oMathPara"/> <start name="oMath"/> <grammar xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/officeDocument/2006/math" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" attributeFormDefault="qualified"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="wml.rng"/> -<!-- start = mathPr | oMathPara | oMath --> + <!-- start = mathPr | oMathPara | oMath --> <define name="ST_Integer255"> <data type="integer"> <xs:documentation>Integer value (1 to 255)</xs:documentation> @@ -6991,9 +7014,9 @@ <list> <xs:documentation>On Off</xs:documentation> <choice> -<!-- On --> + <!-- On --> <value>on</value> -<!-- Off --> + <!-- Off --> <value>off</value> </choice> </list> @@ -7019,11 +7042,11 @@ <list> <xs:documentation>Horizontal Alignment</xs:documentation> <choice> -<!-- Left Justification --> + <!-- Left Justification --> <value>left</value> -<!-- Center --> + <!-- Center --> <value>center</value> -<!-- Right --> + <!-- Right --> <value>right</value> </choice> </list> @@ -7038,11 +7061,11 @@ <list> <xs:documentation>Vertical Alignment</xs:documentation> <choice> -<!-- Top --> + <!-- Top --> <value>top</value> -<!-- Center (Function) --> + <!-- Center (Function) --> <value>center</value> -<!-- Bottom Alignment --> + <!-- Bottom Alignment --> <value>bot</value> </choice> </list> @@ -7057,9 +7080,9 @@ <list> <xs:documentation>Shape (Delimiters)</xs:documentation> <choice> -<!-- Centered (Delimiters) --> + <!-- Centered (Delimiters) --> <value>centered</value> -<!-- Match --> + <!-- Match --> <value>match</value> </choice> </list> @@ -7074,13 +7097,13 @@ <list> <xs:documentation>Fraction Type</xs:documentation> <choice> -<!-- Bar Fraction --> + <!-- Bar Fraction --> <value>bar</value> -<!-- Skewed --> + <!-- Skewed --> <value>skw</value> -<!-- Linear Fraction --> + <!-- Linear Fraction --> <value>lin</value> -<!-- No-Bar Fraction (Stack) --> + <!-- No-Bar Fraction (Stack) --> <value>noBar</value> </choice> </list> @@ -7095,9 +7118,9 @@ <list> <xs:documentation>Limit Location</xs:documentation> <choice> -<!-- Under-Over location --> + <!-- Under-Over location --> <value>undOvr</value> -<!-- Subscript-Superscript location --> + <!-- Subscript-Superscript location --> <value>subSup</value> </choice> </list> @@ -7112,9 +7135,9 @@ <list> <xs:documentation>Top-Bottom</xs:documentation> <choice> -<!-- Top --> + <!-- Top --> <value>top</value> -<!-- Bottom Alignment --> + <!-- Bottom Alignment --> <value>bot</value> </choice> </list> @@ -7129,17 +7152,17 @@ <list> <xs:documentation>Script</xs:documentation> <choice> -<!-- Roman --> + <!-- Roman --> <value>roman</value> -<!-- Script --> + <!-- Script --> <value>script</value> -<!-- Fraktur --> + <!-- Fraktur --> <value>fraktur</value> -<!-- double-struck --> + <!-- double-struck --> <value>double-struck</value> -<!-- Sans-Serif --> + <!-- Sans-Serif --> <value>sans-serif</value> -<!-- Monospace --> + <!-- Monospace --> <value>monospace</value> </choice> </list> @@ -7154,13 +7177,13 @@ <list> <xs:documentation>Style</xs:documentation> <choice> -<!-- Plain --> + <!-- Plain --> <value>p</value> -<!-- Bold --> + <!-- Bold --> <value>b</value> -<!-- Italic --> + <!-- Italic --> <value>i</value> -<!-- Bold-Italic --> + <!-- Bold-Italic --> <value>bi</value> </choice> </list> @@ -7989,13 +8012,13 @@ <list> <xs:documentation>Justification</xs:documentation> <choice> -<!-- Left Justification --> + <!-- Left Justification --> <value>left</value> -<!-- Right --> + <!-- Right --> <value>right</value> -<!-- Center (Equation) --> + <!-- Center (Equation) --> <value>center</value> -<!-- Centered as Group (Equations) --> + <!-- Centered as Group (Equations) --> <value>centerGroup</value> </choice> </list> @@ -8028,11 +8051,11 @@ <list> <xs:documentation>Break Binary Operators</xs:documentation> <choice> -<!-- Before --> + <!-- Before --> <value>before</value> -<!-- After --> + <!-- After --> <value>after</value> -<!-- Repeat --> + <!-- Repeat --> <value>repeat</value> </choice> </list> @@ -8047,11 +8070,11 @@ <list> <xs:documentation>Break on Binary Subtraction</xs:documentation> <choice> -<!-- Minus Minus --> + <!-- Minus Minus --> <value>--</value> -<!-- Minus Plus --> + <!-- Minus Plus --> <value>-+</value> -<!-- Plus Minus --> + <!-- Plus Minus --> <value>+-</value> </choice> </list> @@ -8178,44 +8201,89 @@ </define> </grammar> <resource name="ST_Integer255" resource="Integer" generated="yes"/> + <resource name="CT_Integer255" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_Integer255_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_Integer2" resource="Integer" generated="yes"/> + <resource name="CT_Integer2" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_Integer2_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_SpacingRule" resource="Integer" generated="yes"/> + <resource name="CT_SpacingRule" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_SpacingRule_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_UnSignedInteger" resource="Integer" generated="yes"/> + <resource name="CT_UnSignedInteger" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_UnSignedInteger_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_Char" resource="String" generated="yes"/> + <resource name="CT_Char" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_Char_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_OnOff" resource="List" generated="yes"> <value name="on" tokenid="ooxml:Value_math_ST_OnOff_on">on</value> <value name="off" tokenid="ooxml:Value_math_ST_OnOff_off">off</value> </resource> - <resource name="CT_OnOff" resource="BooleanValue"/> + <resource name="CT_OnOff" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_OnOff_val" action="setValue"/> + <action name="start" action="setDefaultBooleanValue"/> + </resource> <resource name="ST_String" resource="String" generated="yes"/> + <resource name="CT_String" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_String_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_XAlign" resource="List" generated="yes"> <value name="left" tokenid="ooxml:Value_math_ST_XAlign_left">left</value> <value name="center" tokenid="ooxml:Value_math_ST_XAlign_center">center</value> <value name="right" tokenid="ooxml:Value_math_ST_XAlign_right">right</value> </resource> + <resource name="CT_XAlign" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_XAlign_val" action="setValue"/> + </resource> <resource name="ST_YAlign" resource="List" generated="yes"> <value name="top" tokenid="ooxml:Value_math_ST_YAlign_top">top</value> <value name="center" tokenid="ooxml:Value_math_ST_YAlign_center">center</value> <value name="bot" tokenid="ooxml:Value_math_ST_YAlign_bot">bot</value> </resource> + <resource name="CT_YAlign" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_YAlign_val" action="setValue"/> + </resource> <resource name="ST_Shp" resource="List" generated="yes"> <value name="centered" tokenid="ooxml:Value_math_ST_Shp_centered">centered</value> <value name="match" tokenid="ooxml:Value_math_ST_Shp_match">match</value> </resource> + <resource name="CT_Shp" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_Shp_val" action="setValue"/> + </resource> <resource name="ST_FType" resource="List" generated="yes"> <value name="bar" tokenid="ooxml:Value_math_ST_FType_bar">bar</value> <value name="skw" tokenid="ooxml:Value_math_ST_FType_skw">skw</value> <value name="lin" tokenid="ooxml:Value_math_ST_FType_lin">lin</value> <value name="noBar" tokenid="ooxml:Value_math_ST_FType_noBar">noBar</value> </resource> + <resource name="CT_FType" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_FType_val" action="setValue"/> + </resource> <resource name="ST_LimLoc" resource="List" generated="yes"> <value name="undOvr" tokenid="ooxml:Value_math_ST_LimLoc_undOvr">undOvr</value> <value name="subSup" tokenid="ooxml:Value_math_ST_LimLoc_subSup">subSup</value> </resource> + <resource name="CT_LimLoc" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_LimLoc_val" action="setValue"/> + </resource> <resource name="ST_TopBot" resource="List" generated="yes"> <value name="top" tokenid="ooxml:Value_math_ST_TopBot_top">top</value> <value name="bot" tokenid="ooxml:Value_math_ST_TopBot_bot">bot</value> </resource> + <resource name="CT_TopBot" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_TopBot_val" action="setValue"/> + </resource> <resource name="ST_Script" resource="List" generated="yes"> <value name="roman" tokenid="ooxml:Value_math_ST_Script_roman">roman</value> <value name="script" tokenid="ooxml:Value_math_ST_Script_script">script</value> @@ -8224,34 +8292,52 @@ <value name="sansmserif" tokenid="ooxml:Value_math_ST_Script_sansmserif">sans-serif</value> <value name="monospace" tokenid="ooxml:Value_math_ST_Script_monospace">monospace</value> </resource> + <resource name="CT_Script" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_Script_val" action="setValue"/> + </resource> <resource name="ST_Style" resource="List"> <value tokenid="ooxml:Value_ST_Style_b">b</value> <value tokenid="ooxml:Value_ST_Style_bi">bi</value> <value tokenid="ooxml:Value_ST_Style_i">i</value> <value tokenid="ooxml:Value_ST_Style_p">p</value> </resource> - <resource name="CT_Style" resource="ListValue"/> + <resource name="CT_Style" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_Style_val" action="setValue"/> + </resource> <resource name="ST_Jc" resource="List" generated="yes"> <value name="left" tokenid="ooxml:Value_math_ST_Jc_left">left</value> <value name="right" tokenid="ooxml:Value_math_ST_Jc_right">right</value> <value name="center" tokenid="ooxml:Value_math_ST_Jc_center">center</value> <value name="centerGroup" tokenid="ooxml:Value_math_ST_Jc_centerGroup">centerGroup</value> </resource> + <resource name="CT_OMathJc" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_OMathJc_val" action="setValue"/> + </resource> <resource name="ST_TwipsMeasure" resource="Integer" generated="yes"/> + <resource name="CT_TwipsMeasure" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_TwipsMeasure_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_BreakBin" resource="List" generated="yes"> <value name="before" tokenid="ooxml:Value_math_ST_BreakBin_before">before</value> <value name="after" tokenid="ooxml:Value_math_ST_BreakBin_after">after</value> <value name="repeat" tokenid="ooxml:Value_math_ST_BreakBin_repeat">repeat</value> </resource> + <resource name="CT_BreakBin" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_BreakBin_val" action="setValue"/> + </resource> <resource name="ST_BreakBinSub" resource="List" generated="yes"> <value name="mm" tokenid="ooxml:Value_math_ST_BreakBinSub_mm">--</value> <value name="mp" tokenid="ooxml:Value_math_ST_BreakBinSub_mp">-+</value> <value name="pm" tokenid="ooxml:Value_math_ST_BreakBinSub_pm">+-</value> </resource> + <resource name="CT_BreakBinSub" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_BreakBinSub_val" action="setValue"/> + </resource> </namespace> <namespace name="shared-relationshipReference" file="shared-relationshipReference.rng"> <grammar xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://schemas.openxmlformats.org/officeDocument/2006/relationships"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <define name="ST_RelationshipId"> <data type="string"> <xs:documentation>Explicit Relationship ID</xs:documentation> @@ -8302,10 +8388,10 @@ <namespace name="dml-chartDrawing" file="dml-chartDrawing.rng"> <start name="pic"/> <grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/drawingml/2006/picture"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="dml-shapeProperties.rng"/> <include href="dml-documentProperties.rng"/> -<!-- start = pic --> + <!-- start = pic --> <define name="CT_PictureNonVisual"> <element name="cNvPr"> <ref name="CT_NonVisualDrawingProps"/> @@ -8344,7 +8430,7 @@ <element name="pic" tokenid="ooxml:pic_pic"/> </resource> </namespace> - <namespace name="vml-main" file="vml-main.rng"> + <namespace name="vml-main" file="vml-main.rng" todo="ignore"> <start name="shape"/> <start name="shapetype"/> <start name="group"/> @@ -8366,15 +8452,15 @@ <start name="polyline"/> <start name="rect"/> <start name="roundrect"/> - <grammar xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wvml="urn:schemas-microsoft-com:office:word" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" ns="urn:schemas-microsoft-com:vml" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <grammar xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wvml="urn:schemas-microsoft-com:office:word" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="urn:schemas-microsoft-com:vml" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- ISO RELAX NG Schema --> <include href="vml-officeDrawing.rng"/> -<!-- External schema: http://schemas.openxmlformats.org/wordprocessingml/2006/main --> + <!-- External schema: http://schemas.openxmlformats.org/wordprocessingml/2006/main --> <include href="vml-wordprocessingDrawing.rng"/> -<!-- External schema: http://schemas.openxmlformats.org/officeDocument/2006/relationships --> + <!-- External schema: http://schemas.openxmlformats.org/officeDocument/2006/relationships --> <include href="vml-spreadsheetDrawing.rng"/> <include href="vml-presentationDrawing.rng"/> -<!-- start = shape | shapetype | group | background | fill | formulas | handles | imagedata | path | textbox | shadow | stroke | textpath | arc | curve | image | line | oval | polyline | rect | roundrect --> + <!-- start = shape | shapetype | group | background | fill | formulas | handles | imagedata | path | textbox | shadow | stroke | textpath | arc | curve | image | line | oval | polyline | rect | roundrect --> <define name="AG_Id"> <optional> <attribute name="id"> @@ -9739,11 +9825,11 @@ <list> <xs:documentation>VML Extension Handling Behaviors</xs:documentation> <choice> -<!-- Not renderable --> + <!-- Not renderable --> <value>view</value> -<!-- Editable --> + <!-- Editable --> <value>edit</value> -<!-- Renderable --> + <!-- Renderable --> <value>backwardCompatible</value> </choice> </list> @@ -9752,13 +9838,13 @@ <list> <xs:documentation>Boolean Value</xs:documentation> <choice> -<!-- True --> + <!-- True --> <value>t</value> -<!-- False --> + <!-- False --> <value>f</value> -<!-- True --> + <!-- True --> <value>true</value> -<!-- False --> + <!-- False --> <value>false</value> </choice> </list> @@ -9772,17 +9858,17 @@ <list> <xs:documentation>Shape Fill Type</xs:documentation> <choice> -<!-- Solid Fill --> + <!-- Solid Fill --> <value>solid</value> -<!-- Linear Gradient --> + <!-- Linear Gradient --> <value>gradient</value> -<!-- Radial Gradient --> + <!-- Radial Gradient --> <value>gradientRadial</value> -<!-- Tiled Image --> + <!-- Tiled Image --> <value>tile</value> -<!-- Image Pattern --> + <!-- Image Pattern --> <value>pattern</value> -<!-- Stretch Image to Fit --> + <!-- Stretch Image to Fit --> <value>frame</value> </choice> </list> @@ -9791,15 +9877,15 @@ <list> <xs:documentation>Gradient Fill Computation Type</xs:documentation> <choice> -<!-- No Gradient Fill --> + <!-- No Gradient Fill --> <value>none</value> -<!-- Linear Fill --> + <!-- Linear Fill --> <value>linear</value> -<!-- Sigma Fill --> + <!-- Sigma Fill --> <value>sigma</value> -<!-- Application Default Fill --> + <!-- Application Default Fill --> <value>any</value> -<!-- Linear Sigma Fill --> + <!-- Linear Sigma Fill --> <value>linear sigma</value> </choice> </list> @@ -9808,13 +9894,13 @@ <list> <xs:documentation>Shadow Type</xs:documentation> <choice> -<!-- Single Shadow --> + <!-- Single Shadow --> <value>single</value> -<!-- Double Shadow --> + <!-- Double Shadow --> <value>double</value> -<!-- Embossed Shadow --> + <!-- Embossed Shadow --> <value>emboss</value> -<!-- Perspective Shadow --> + <!-- Perspective Shadow --> <value>perspective</value> </choice> </list> @@ -9823,15 +9909,15 @@ <list> <xs:documentation>Stroke Line Style</xs:documentation> <choice> -<!-- Single Line --> + <!-- Single Line --> <value>single</value> -<!-- Two Thin Lines --> + <!-- Two Thin Lines --> <value>thinThin</value> -<!-- Thin Line Outside Thick Line --> + <!-- Thin Line Outside Thick Line --> <value>thinThick</value> -<!-- Thick Line Outside Thin Line --> + <!-- Thick Line Outside Thin Line --> <value>thickThin</value> -<!-- Thck Line Between Thin Lines --> + <!-- Thck Line Between Thin Lines --> <value>thickBetweenThin</value> </choice> </list> @@ -9840,11 +9926,11 @@ <list> <xs:documentation>Line Join Type</xs:documentation> <choice> -<!-- Round Joint --> + <!-- Round Joint --> <value>round</value> -<!-- Bevel Joint --> + <!-- Bevel Joint --> <value>bevel</value> -<!-- Miter Joint --> + <!-- Miter Joint --> <value>miter</value> </choice> </list> @@ -9853,11 +9939,11 @@ <list> <xs:documentation>Stroke End Cap Type</xs:documentation> <choice> -<!-- Flat End --> + <!-- Flat End --> <value>flat</value> -<!-- Square End --> + <!-- Square End --> <value>square</value> -<!-- Round End --> + <!-- Round End --> <value>round</value> </choice> </list> @@ -9866,11 +9952,11 @@ <list> <xs:documentation>Stroke Arrowhead Length</xs:documentation> <choice> -<!-- Short Arrowhead --> + <!-- Short Arrowhead --> <value>short</value> -<!-- Medium Arrowhead --> + <!-- Medium Arrowhead --> <value>medium</value> -<!-- Long Arrowhead --> + <!-- Long Arrowhead --> <value>long</value> </choice> </list> @@ -9879,11 +9965,11 @@ <list> <xs:documentation>Stroke Arrowhead Width</xs:documentation> <choice> -<!-- Narrow Arrowhead --> + <!-- Narrow Arrowhead --> <value>narrow</value> -<!-- Medium Arrowhead --> + <!-- Medium Arrowhead --> <value>medium</value> -<!-- Wide Arrowhead --> + <!-- Wide Arrowhead --> <value>wide</value> </choice> </list> @@ -9892,17 +9978,17 @@ <list> <xs:documentation>Stroke Arrowhead Type</xs:documentation> <choice> -<!-- No Arrowhead --> + <!-- No Arrowhead --> <value>none</value> -<!-- Block Arrowhead --> + <!-- Block Arrowhead --> <value>block</value> -<!-- Classic Arrowhead --> + <!-- Classic Arrowhead --> <value>classic</value> -<!-- Oval Arrowhead --> + <!-- Oval Arrowhead --> <value>oval</value> -<!-- Diamond Arrowhead --> + <!-- Diamond Arrowhead --> <value>diamond</value> -<!-- Open Arrowhead --> + <!-- Open Arrowhead --> <value>open</value> </choice> </list> @@ -9911,11 +9997,11 @@ <list> <xs:documentation>Image Scaling Behavior</xs:documentation> <choice> -<!-- Ignore Aspect Ratio --> + <!-- Ignore Aspect Ratio --> <value>ignore</value> -<!-- At Most --> + <!-- At Most --> <value>atMost</value> -<!-- At Least --> + <!-- At Least --> <value>atLeast</value> </choice> </list> @@ -9924,15 +10010,15 @@ <list> <xs:documentation>Boolean Value with Blank [False] State</xs:documentation> <choice> -<!-- Logical True --> + <!-- Logical True --> <value>t</value> -<!-- Logical False --> + <!-- Logical False --> <value>f</value> -<!-- Logical True --> + <!-- Logical True --> <value>true</value> -<!-- Logical False --> + <!-- Logical False --> <value>false</value> -<!-- Blank – Logical False --> + <!-- Blank – Logical False --> <value/> </choice> </list> @@ -9941,19 +10027,19 @@ <list> <xs:documentation>Shape Grouping Types</xs:documentation> <choice> -<!-- Shape Canvas --> + <!-- Shape Canvas --> <value>canvas</value> -<!-- Organization Chart Diagram --> + <!-- Organization Chart Diagram --> <value>orgchart</value> -<!-- Radial Diagram --> + <!-- Radial Diagram --> <value>radial</value> -<!-- Cycle Diagram --> + <!-- Cycle Diagram --> <value>cycle</value> -<!-- Pyramid Diagram --> + <!-- Pyramid Diagram --> <value>stacked</value> -<!-- Venn Diagram --> + <!-- Venn Diagram --> <value>venn</value> -<!-- Bullseye Diagram --> + <!-- Bullseye Diagram --> <value>bullseye</value> </choice> </list> @@ -10082,11 +10168,11 @@ <start name="column"/> <start name="clippath"/> <start name="fill"/> - <grammar xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns:v="urn:schemas-microsoft-com:vml" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" ns="urn:schemas-microsoft-com:office:office" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> + <grammar xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns:v="urn:schemas-microsoft-com:vml" xmlns="http://relaxng.org/ns/structure/1.0" ns="urn:schemas-microsoft-com:office:office" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- ISO RELAX NG Schema --> <include href="vml-main.rng"/> -<!-- External schema: http://schemas.openxmlformats.org/officeDocument/2006/relationships --> -<!-- start = shapedefaults | shapelayout | signatureline | ink | diagram | skew | extrusion | callout | lock | OLEObject | complex | left | top | right | bottom | column | clippath | fill --> + <!-- External schema: http://schemas.openxmlformats.org/officeDocument/2006/relationships --> + <!-- start = shapedefaults | shapelayout | signatureline | ink | diagram | skew | extrusion | callout | lock | OLEObject | complex | left | top | right | bottom | column | clippath | fill --> <define name="bwmode"> <attribute name="bwmode"/> </define> @@ -11497,13 +11583,13 @@ <list> <xs:documentation>Rule Type</xs:documentation> <choice> -<!-- Arc Rule --> + <!-- Arc Rule --> <value>arc</value> -<!-- Callout Rule --> + <!-- Callout Rule --> <value>callout</value> -<!-- Connector Rule --> + <!-- Connector Rule --> <value>connector</value> -<!-- Alignment Rule --> + <!-- Alignment Rule --> <value>align</value> </choice> </list> @@ -11512,17 +11598,17 @@ <list> <xs:documentation>Alignment Type</xs:documentation> <choice> -<!-- Top Alignment --> + <!-- Top Alignment --> <value>top</value> -<!-- Middle Alignment --> + <!-- Middle Alignment --> <value>middle</value> -<!-- Bottom Alignment --> + <!-- Bottom Alignment --> <value>bottom</value> -<!-- Left Alignment --> + <!-- Left Alignment --> <value>left</value> -<!-- Center Alignment --> + <!-- Center Alignment --> <value>center</value> -<!-- Right Alignment --> + <!-- Right Alignment --> <value>right</value> </choice> </list> @@ -11531,29 +11617,29 @@ <list> <xs:documentation>Black And White Modes</xs:documentation> <choice> -<!-- Color --> + <!-- Color --> <value>color</value> -<!-- Automatic --> + <!-- Automatic --> <value>auto</value> -<!-- Grayscale --> + <!-- Grayscale --> <value>grayScale</value> -<!-- Light grayscale --> + <!-- Light grayscale --> <value>lightGrayscale</value> -<!-- Inverse Grayscale --> + <!-- Inverse Grayscale --> <value>inverseGray</value> -<!-- Gray Outlines --> + <!-- Gray Outlines --> <value>grayOutline</value> -<!-- Black And White --> + <!-- Black And White --> <value>highContrast</value> -<!-- Black --> + <!-- Black --> <value>black</value> -<!-- White --> + <!-- White --> <value>white</value> -<!-- Hide Object When Displayed in Black and White --> + <!-- Hide Object When Displayed in Black and White --> <value>hide</value> -<!-- Do Not Show --> + <!-- Do Not Show --> <value>undrawn</value> -<!-- Black Text And Lines --> + <!-- Black Text And Lines --> <value>blackTextAndLines</value> </choice> </list> @@ -11562,17 +11648,17 @@ <list> <xs:documentation>Screen Sizes Type</xs:documentation> <choice> -<!-- 544x376 pixels --> + <!-- 544x376 pixels --> <value>544,376</value> -<!-- 640x480 pixels --> + <!-- 640x480 pixels --> <value>640,480</value> -<!-- 720x512 pixels --> + <!-- 720x512 pixels --> <value>720,512</value> -<!-- 800x600 pixels --> + <!-- 800x600 pixels --> <value>800,600</value> -<!-- 1024x768 pixels --> + <!-- 1024x768 pixels --> <value>1024,768</value> -<!-- 1152x862 pixels --> + <!-- 1152x862 pixels --> <value>1152,862</value> </choice> </list> @@ -11581,9 +11667,9 @@ <list> <xs:documentation>Inset Margin Type</xs:documentation> <choice> -<!-- Automatic Margins --> + <!-- Automatic Margins --> <value>auto</value> -<!-- Custom Margins --> + <!-- Custom Margins --> <value>custom</value> </choice> </list> @@ -11592,9 +11678,9 @@ <list> <xs:documentation>Extrusion Color Types</xs:documentation> <choice> -<!-- Use Shape Fill Color --> + <!-- Use Shape Fill Color --> <value>auto</value> -<!-- Use Custom Color --> + <!-- Use Custom Color --> <value>custom</value> </choice> </list> @@ -11608,9 +11694,9 @@ <list> <xs:documentation>Extrusion Type</xs:documentation> <choice> -<!-- Perspective Projection --> + <!-- Perspective Projection --> <value>perspective</value> -<!-- Parallel Projection --> + <!-- Parallel Projection --> <value>parallel</value> </choice> </list> @@ -11619,11 +11705,11 @@ <list> <xs:documentation>Extrusion Rendering Types</xs:documentation> <choice> -<!-- Solid --> + <!-- Solid --> <value>solid</value> -<!-- Wireframe --> + <!-- Wireframe --> <value>wireFrame</value> -<!-- Bounding Cube --> + <!-- Bounding Cube --> <value>boundingCube</value> </choice> </list> @@ -11632,11 +11718,11 @@ <list> <xs:documentation>Extrusion Planes</xs:documentation> <choice> -<!-- XY Plane --> + <!-- XY Plane --> <value>XY</value> -<!-- ZX Plane --> + <!-- ZX Plane --> <value>ZX</value> -<!-- YZ Plane --> + <!-- YZ Plane --> <value>YZ</value> </choice> </list> @@ -11645,17 +11731,17 @@ <list> <xs:documentation>Callout Angles</xs:documentation> <choice> -<!-- Any Angle --> + <!-- Any Angle --> <value>any</value> -<!-- 30 degrees --> + <!-- 30 degrees --> <value>30</value> -<!-- 45 degrees --> + <!-- 45 degrees --> <value>45</value> -<!-- 60 degrees --> + <!-- 60 degrees --> <value>60</value> -<!-- 90 degrees --> + <!-- 90 degrees --> <value>90</value> -<!-- Automatic Angle --> + <!-- Automatic Angle --> <value>auto</value> </choice> </list> @@ -11669,13 +11755,13 @@ <list> <xs:documentation>Callout Placement</xs:documentation> <choice> -<!-- Top placement --> + <!-- Top placement --> <value>top</value> -<!-- Center placement --> + <!-- Center placement --> <value>center</value> -<!-- Bottom placement --> + <!-- Bottom placement --> <value>bottom</value> -<!-- User-defined placement --> + <!-- User-defined placement --> <value>user</value> </choice> </list> @@ -11684,13 +11770,13 @@ <list> <xs:documentation>Connector Type</xs:documentation> <choice> -<!-- No Connector --> + <!-- No Connector --> <value>none</value> -<!-- Straight Connector --> + <!-- Straight Connector --> <value>straight</value> -<!-- Elbow Connector --> + <!-- Elbow Connector --> <value>elbow</value> -<!-- Curved Connector --> + <!-- Curved Connector --> <value>curved</value> </choice> </list> @@ -11699,11 +11785,11 @@ <list> <xs:documentation>Alignment Type</xs:documentation> <choice> -<!-- Left Alignment --> + <!-- Left Alignment --> <value>left</value> -<!-- Right Alignment --> + <!-- Right Alignment --> <value>right</value> -<!-- Center Alignment --> + <!-- Center Alignment --> <value>center</value> </choice> </list> @@ -11712,13 +11798,13 @@ <list> <xs:documentation>Connection Locations Type</xs:documentation> <choice> -<!-- No --> + <!-- No --> <value>none</value> -<!-- Four Connections --> + <!-- Four Connections --> <value>rect</value> -<!-- Edit Point Connections --> + <!-- Edit Point Connections --> <value>segments</value> -<!-- Custom Connections --> + <!-- Custom Connections --> <value>custom</value> </choice> </list> @@ -11727,11 +11813,11 @@ <list> <xs:documentation>Embedded Object Alternate Image Request Types</xs:documentation> <choice> -<!-- Other Image --> + <!-- Other Image --> <value>Picture</value> -<!-- Bitmap Image --> + <!-- Bitmap Image --> <value>Bitmap</value> -<!-- Enhanced Metafile Image --> + <!-- Enhanced Metafile Image --> <value>EnhancedMetaFile</value> </choice> </list> @@ -11740,9 +11826,9 @@ <list> <xs:documentation>OLE Connection Type</xs:documentation> <choice> -<!-- Embedded Object --> + <!-- Embedded Object --> <value>Embed</value> -<!-- Linked Object --> + <!-- Linked Object --> <value>Link</value> </choice> </list> @@ -11751,9 +11837,9 @@ <list> <xs:documentation>OLE Object Representations</xs:documentation> <choice> -<!-- Snapshot --> + <!-- Snapshot --> <value>Content</value> -<!-- Icon --> + <!-- Icon --> <value>Icon</value> </choice> </list> @@ -11762,9 +11848,9 @@ <list> <xs:documentation>OLE Update Method Type</xs:documentation> <choice> -<!-- Server Application Update --> + <!-- Server Application Update --> <value>Always</value> -<!-- User Update --> + <!-- User Update --> <value>OnCall</value> </choice> </list> @@ -11784,13 +11870,13 @@ <list> <xs:documentation>Boolean Value</xs:documentation> <choice> -<!-- True --> + <!-- True --> <value>t</value> -<!-- False --> + <!-- False --> <value>f</value> -<!-- True --> + <!-- True --> <value>true</value> -<!-- False --> + <!-- False --> <value>false</value> </choice> </list> @@ -11799,15 +11885,15 @@ <list> <xs:documentation>Boolean Value with Blank [False] State</xs:documentation> <choice> -<!-- Blank – Logical False --> + <!-- Blank – Logical False --> <value/> -<!-- Logical True --> + <!-- Logical True --> <value>t</value> -<!-- Logical False --> + <!-- Logical False --> <value>f</value> -<!-- Logical True --> + <!-- Logical True --> <value>true</value> -<!-- Logical False --> + <!-- Logical False --> <value>false</value> </choice> </list> @@ -11816,23 +11902,23 @@ <list> <xs:documentation>Shape Fill Type</xs:documentation> <choice> -<!-- Centered Radial Gradient --> + <!-- Centered Radial Gradient --> <value>gradientCenter</value> -<!-- Solid Fill --> + <!-- Solid Fill --> <value>solid</value> -<!-- Image Pattern --> + <!-- Image Pattern --> <value>pattern</value> -<!-- Tiled Image --> + <!-- Tiled Image --> <value>tile</value> -<!-- Stretch Image to Fit --> + <!-- Stretch Image to Fit --> <value>frame</value> -<!-- Unscaled Gradient --> + <!-- Unscaled Gradient --> <value>gradientUnscaled</value> -<!-- Radial Gradient --> + <!-- Radial Gradient --> <value>gradientRadial</value> -<!-- Linear Gradient --> + <!-- Linear Gradient --> <value>gradient</value> -<!-- Use Background Fill --> + <!-- Use Background Fill --> <value>background</value> </choice> </list> @@ -12010,9 +12096,9 @@ <start name="borderbottom"/> <start name="wrap"/> <start name="anchorlock"/> - <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" ns="urn:schemas-microsoft-com:office:word" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> -<!-- ISO RELAX NG Schema --> -<!-- start = bordertop | borderleft | borderright | borderbottom | wrap | anchorlock --> + <grammar xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="urn:schemas-microsoft-com:office:word" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- ISO RELAX NG Schema --> + <!-- start = bordertop | borderleft | borderright | borderbottom | wrap | anchorlock --> <define name="bordertop"> <element name="bordertop"> <ref name="CT_Border"/> @@ -12098,59 +12184,59 @@ <list> <xs:documentation>Border Type</xs:documentation> <choice> -<!-- No Border --> + <!-- No Border --> <value>none</value> -<!-- Single Line Border --> + <!-- Single Line Border --> <value>single</value> -<!-- Thick Line Border --> + <!-- Thick Line Border --> <value>thick</value> -<!-- Double Line Border --> + <!-- Double Line Border --> <value>double</value> -<!-- Hairline Border --> + <!-- Hairline Border --> <value>hairline</value> -<!-- Dotted Border --> + <!-- Dotted Border --> <value>dot</value> -<!-- pecifies a line border consisting of a dashed line around the parent object. --> + <!-- pecifies a line border consisting of a dashed line around the parent object. --> <value>dash</value> -<!-- Dot Dash Border --> + <!-- Dot Dash Border --> <value>dotDash</value> -<!-- Dash Dot Dot Border --> + <!-- Dash Dot Dot Border --> <value>dashDotDot</value> -<!-- Triple Line Border --> + <!-- Triple Line Border --> <value>triple</value> -<!-- Thin Thick Small Gap Border --> + <!-- Thin Thick Small Gap Border --> <value>thinThickSmall</value> -<!-- Small thick-thin lines border --> + <!-- Small thick-thin lines border --> <value>thickThinSmall</value> -<!-- Small thin-thick-thin Lines Border --> + <!-- Small thin-thick-thin Lines Border --> <value>thickBetweenThinSmall</value> -<!-- Thin Thick Line Border --> + <!-- Thin Thick Line Border --> <value>thinThick</value> -<!-- Thick Thin Line Border --> + <!-- Thick Thin Line Border --> <value>thickThin</value> -<!-- Thin-thick-thin Border --> + <!-- Thin-thick-thin Border --> <value>thickBetweenThin</value> -<!-- Thin Thick Large Gap Border --> + <!-- Thin Thick Large Gap Border --> <value>thinThickLarge</value> -<!-- Thick Thin Large Gap Border --> + <!-- Thick Thin Large Gap Border --> <value>thickThinLarge</value> -<!-- Large thin-thick-thin Border --> + <!-- Large thin-thick-thin Border --> <value>thickBetweenThinLarge</value> -<!-- Wavy Border --> + <!-- Wavy Border --> <value>wave</value> -<!-- Double Wavy Lines Border --> + <!-- Double Wavy Lines Border --> <value>doubleWave</value> -<!-- Small Dash Border --> + <!-- Small Dash Border --> <value>dashedSmall</value> -<!-- Stroked Dash Dot Border --> + <!-- Stroked Dash Dot Border --> <value>dashDotStroked</value> -<!-- 3D Embossed Border --> + <!-- 3D Embossed Border --> <value>threeDEmboss</value> -<!-- 3D Engraved Border --> + <!-- 3D Engraved Border --> <value>threeDEngrave</value> -<!-- Outset Border --> + <!-- Outset Border --> <value>HTMLOutset</value> -<!-- Inset Border --> + <!-- Inset Border --> <value>HTMLInset</value> </choice> </list> @@ -12159,13 +12245,13 @@ <list> <xs:documentation>Border Shadow Type</xs:documentation> <choice> -<!-- True --> + <!-- True --> <value>t</value> -<!-- True --> + <!-- True --> <value>true</value> -<!-- False --> + <!-- False --> <value>f</value> -<!-- False --> + <!-- False --> <value>false</value> </choice> </list> @@ -12174,15 +12260,15 @@ <list> <xs:documentation>Text Wrapping Type</xs:documentation> <choice> -<!-- Top and bottom wrapping --> + <!-- Top and bottom wrapping --> <value>topAndBottom</value> -<!-- Square wrapping --> + <!-- Square wrapping --> <value>square</value> -<!-- No wrapping --> + <!-- No wrapping --> <value>none</value> -<!-- Tight wrapping --> + <!-- Tight wrapping --> <value>tight</value> -<!-- Through wrapping --> + <!-- Through wrapping --> <value>through</value> </choice> </list> @@ -12191,13 +12277,13 @@ <list> <xs:documentation>Text Wrapping Side</xs:documentation> <choice> -<!-- Both sides --> + <!-- Both sides --> <value>both</value> -<!-- Left side --> + <!-- Left side --> <value>left</value> -<!-- Right side --> + <!-- Right side --> <value>right</value> -<!-- Largest side --> + <!-- Largest side --> <value>largest</value> </choice> </list> @@ -12206,13 +12292,13 @@ <list> <xs:documentation>Horizontal Anchor Type</xs:documentation> <choice> -<!-- Margin --> + <!-- Margin --> <value>margin</value> -<!-- Page --> + <!-- Page --> <value>page</value> -<!-- Text --> + <!-- Text --> <value>text</value> -<!-- Character --> + <!-- Character --> <value>char</value> </choice> </list> @@ -12221,13 +12307,13 @@ <list> <xs:documentation>Vertical Anchor Type</xs:documentation> <choice> -<!-- Margin --> + <!-- Margin --> <value>margin</value> -<!-- Page --> + <!-- Page --> <value>page</value> -<!-- Text --> + <!-- Text --> <value>text</value> -<!-- Line --> + <!-- Line --> <value>line</value> </choice> </list> @@ -12319,12 +12405,12 @@ <start name="document"/> <start name="glossaryDocument"/> <grammar xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:rel="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2006/xpath-functions" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://schemas.openxmlformats.org/wordprocessingml/2006/main" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" attributeFormDefault="qualified"> -<!-- ISO RELAX NG Schema --> + <!-- ISO RELAX NG Schema --> <include href="shared-customXmlSchemaProperties.rng"/> <include href="shared-math.rng"/> <include href="dml-wordprocessingDrawing.rng"/> <include href="shared-relationshipReference.rng"/> -<!-- start = recipients | txbxContent | comments | footnotes | endnotes | hdr | ftr | settings | webSettings | fonts | numbering | styles | document | glossaryDocument --> + <!-- start = recipients | txbxContent | comments | footnotes | endnotes | hdr | ftr | settings | webSettings | fonts | numbering | styles | document | glossaryDocument --> <define name="CT_Empty"> <empty/> </define> @@ -12332,17 +12418,17 @@ <list> <xs:documentation>On/Off Value</xs:documentation> <choice> -<!-- True --> + <!-- True --> <value>true</value> -<!-- False --> + <!-- False --> <value>false</value> -<!-- True --> + <!-- True --> <value>on</value> -<!-- False --> + <!-- False --> <value>off</value> -<!-- False --> + <!-- False --> <value>0</value> -<!-- True --> + <!-- True --> <value>1</value> </choice> </list> @@ -12515,39 +12601,39 @@ <list> <xs:documentation>Text Highlight Colors</xs:documentation> <choice> -<!-- Black Highlighting Color --> + <!-- Black Highlighting Color --> <value>black</value> -<!-- Blue Highlighting Color --> + <!-- Blue Highlighting Color --> <value>blue</value> -<!-- Cyan Highlighting Color --> + <!-- Cyan Highlighting Color --> <value>cyan</value> -<!-- Green Highlighting Color --> + <!-- Green Highlighting Color --> <value>green</value> -<!-- Magenta Highlighting Color --> + <!-- Magenta Highlighting Color --> <value>magenta</value> -<!-- Red Highlighting Color --> + <!-- Red Highlighting Color --> <value>red</value> -<!-- Yellow Highlighting Color --> + <!-- Yellow Highlighting Color --> <value>yellow</value> -<!-- White Highlighting Color --> + <!-- White Highlighting Color --> <value>white</value> -<!-- Dark Blue Highlighting Color --> + <!-- Dark Blue Highlighting Color --> <value>darkBlue</value> -<!-- Dark Cyan Highlighting Color --> + <!-- Dark Cyan Highlighting Color --> <value>darkCyan</value> -<!-- Dark Green Highlighting Color --> + <!-- Dark Green Highlighting Color --> <value>darkGreen</value> -<!-- Dark Magenta Highlighting Color --> + <!-- Dark Magenta Highlighting Color --> <value>darkMagenta</value> -<!-- Dark Red Highlighting Color --> + <!-- Dark Red Highlighting Color --> <value>darkRed</value> -<!-- Dark Yellow Highlighting Color --> + <!-- Dark Yellow Highlighting Color --> <value>darkYellow</value> -<!-- Dark Gray Highlighting Color --> + <!-- Dark Gray Highlighting Color --> <value>darkGray</value> -<!-- Light Gray Highlighting Color --> + <!-- Light Gray Highlighting Color --> <value>lightGray</value> -<!-- No Text Highlighting --> + <!-- No Text Highlighting --> <value>none</value> </choice> </list> @@ -12560,8 +12646,8 @@ </define> <define name="ST_HexColorAuto"> <list> - <xs:documentation>‘Automatic’ Color Value</xs:documentation> -<!-- Automatically Determined Color --> + <xs:documentation>‘Automatic’ Color Value</xs:documentation> + <!-- Automatically Determined Color --> <value>auto</value> </list> </define> @@ -12577,7 +12663,7 @@ <ref name="ST_HexColorRGB"/> </choice> </define> -<!-- Union --> + <!-- Union --> <define name="CT_Color"> <attribute name="val"> <ref name="ST_HexColor"/> @@ -12614,7 +12700,7 @@ <ref name="ST_String"/> </choice> </define> -<!-- Union --> + <!-- Union --> <define name="CT_Lang"> <attribute name="val"> <ref name="ST_Lang"/> @@ -12637,41 +12723,41 @@ <list> <xs:documentation>Underline Patterns</xs:documentation> <choice> -<!-- Single Underline --> + <!-- Single Underline --> <value>single</value> -<!-- Underline Non-Space Characters Only --> + <!-- Underline Non-Space Characters Only --> <value>words</value> -<!-- Double Underline --> + <!-- Double Underline --> <value>double</value> -<!-- Thick Underline --> + <!-- Thick Underline --> <value>thick</value> -<!-- Dotted Underline --> + <!-- Dotted Underline --> <value>dotted</value> -<!-- Thick Dotted Underline --> + <!-- Thick Dotted Underline --> <value>dottedHeavy</value> -<!-- Dashed Underline --> + <!-- Dashed Underline --> <value>dash</value> -<!-- Thick Dashed Underline --> + <!-- Thick Dashed Underline --> <value>dashedHeavy</value> -<!-- Long Dashed Underline --> + <!-- Long Dashed Underline --> <value>dashLong</value> -<!-- Thick Long Dashed Underline --> + <!-- Thick Long Dashed Underline --> <value>dashLongHeavy</value> -<!-- Dash-Dot Underline --> + <!-- Dash-Dot Underline --> <value>dotDash</value> -<!-- Thick Dash-Dot Underline --> + <!-- Thick Dash-Dot Underline --> <value>dashDotHeavy</value> -<!-- Dash-Dot-Dot Underline --> + <!-- Dash-Dot-Dot Underline --> <value>dotDotDash</value> -<!-- Thick Dash-Dot-Dot Underline --> + <!-- Thick Dash-Dot-Dot Underline --> <value>dashDotDotHeavy</value> -<!-- Wave Underline --> + <!-- Wave Underline --> <value>wave</value> -<!-- Heavy Wave Underline --> + <!-- Heavy Wave Underline --> <value>wavyHeavy</value> -<!-- Double Wave Underline --> + <!-- Double Wave Underline --> <value>wavyDouble</value> -<!-- No Underline --> + <!-- No Underline --> <value>none</value> </choice> </list> @@ -12708,19 +12794,19 @@ <list> <xs:documentation>Animated Text Effects</xs:documentation> <choice> -<!-- Blinking Background Animation --> + <!-- Blinking Background Animation --> <value>blinkBackground</value> -<!-- Colored Lights Animation --> + <!-- Colored Lights Animation --> <value>lights</value> -<!-- Black Dashed Line Animation --> + <!-- Black Dashed Line Animation --> <value>antsBlack</value> -<!-- Marching Red Ants --> + <!-- Marching Red Ants --> <value>antsRed</value> -<!-- Shimmer Animation --> + <!-- Shimmer Animation --> <value>shimmer</value> -<!-- Sparkling Lights Animation --> + <!-- Sparkling Lights Animation --> <value>sparkle</value> -<!-- No Animation --> + <!-- No Animation --> <value>none</value> </choice> </list> @@ -12735,387 +12821,387 @@ <list> <xs:documentation>Border Styles</xs:documentation> <choice> -<!-- No Border --> + <!-- No Border --> <value>nil</value> -<!-- No Border --> + <!-- No Border --> <value>none</value> -<!-- Single Line Border --> + <!-- Single Line Border --> <value>single</value> -<!-- Single Line Border --> + <!-- Single Line Border --> <value>thick</value> -<!-- Double Line Border --> + <!-- Double Line Border --> <value>double</value> -<!-- Dotted Line Border --> + <!-- Dotted Line Border --> <value>dotted</value> -<!-- Dashed Line Border --> + <!-- Dashed Line Border --> <value>dashed</value> -<!-- Dot Dash Line Border --> + <!-- Dot Dash Line Border --> <value>dotDash</value> -<!-- Dot Dot Dash Line Border --> + <!-- Dot Dot Dash Line Border --> <value>dotDotDash</value> -<!-- Triple Line Border --> + <!-- Triple Line Border --> <value>triple</value> -<!-- Thin, Thick Line Border --> + <!-- Thin, Thick Line Border --> <value>thinThickSmallGap</value> -<!-- Thick, Thin Line Border --> + <!-- Thick, Thin Line Border --> <value>thickThinSmallGap</value> -<!-- Thin, Thick, Thin Line Border --> + <!-- Thin, Thick, Thin Line Border --> <value>thinThickThinSmallGap</value> -<!-- Thin, Thick Line Border --> + <!-- Thin, Thick Line Border --> <value>thinThickMediumGap</value> -<!-- Thick, Thin Line Border --> + <!-- Thick, Thin Line Border --> <value>thickThinMediumGap</value> -<!-- Thin, Thick, Thin Line Border --> + <!-- Thin, Thick, Thin Line Border --> <value>thinThickThinMediumGap</value> -<!-- Thin, Thick Line Border --> + <!-- Thin, Thick Line Border --> <value>thinThickLargeGap</value> -<!-- Thick, Thin Line Border --> + <!-- Thick, Thin Line Border --> <value>thickThinLargeGap</value> -<!-- Thin, Thick, Thin Line Border --> + <!-- Thin, Thick, Thin Line Border --> <value>thinThickThinLargeGap</value> -<!-- Wavy Line Border --> + <!-- Wavy Line Border --> <value>wave</value> -<!-- Double Wave Line Border --> + <!-- Double Wave Line Border --> <value>doubleWave</value> -<!-- Dashed Line Border --> + <!-- Dashed Line Border --> <value>dashSmallGap</value> -<!-- Dash Dot Strokes Line Border --> + <!-- Dash Dot Strokes Line Border --> <value>dashDotStroked</value> -<!-- 3D Embossed Line Border --> + <!-- 3D Embossed Line Border --> <value>threeDEmboss</value> -<!-- 3D Engraved Line Border --> + <!-- 3D Engraved Line Border --> <value>threeDEngrave</value> -<!-- Outset Line Border --> + <!-- Outset Line Border --> <value>outset</value> -<!-- Inset Line Border --> + <!-- Inset Line Border --> <value>inset</value> -<!-- Apples Art Border --> + <!-- Apples Art Border --> <value>apples</value> -<!-- Arched Scallops Art Border --> + <!-- Arched Scallops Art Border --> <value>archedScallops</value> -<!-- Baby Pacifier Art Border --> + <!-- Baby Pacifier Art Border --> <value>babyPacifier</value> -<!-- Baby Rattle Art Border --> + <!-- Baby Rattle Art Border --> <value>babyRattle</value> -<!-- Three Color Balloons Art Border --> + <!-- Three Color Balloons Art Border --> <value>balloons3Colors</value> -<!-- Hot Air Balloons Art Border --> + <!-- Hot Air Balloons Art Border --> <value>balloonsHotAir</value> -<!-- Black Dash Art Border --> + <!-- Black Dash Art Border --> <value>basicBlackDashes</value> -<!-- Black Dot Art Border --> + <!-- Black Dot Art Border --> <value>basicBlackDots</value> -<!-- Black Square Art Border --> + <!-- Black Square Art Border --> <value>basicBlackSquares</value> -<!-- Thin Line Art Border --> + <!-- Thin Line Art Border --> <value>basicThinLines</value> -<!-- White Dash Art Border --> + <!-- White Dash Art Border --> <value>basicWhiteDashes</value> -<!-- White Dot Art Border --> + <!-- White Dot Art Border --> <value>basicWhiteDots</value> -<!-- White Square Art Border --> + <!-- White Square Art Border --> <value>basicWhiteSquares</value> -<!-- Wide Inline Art Border --> + <!-- Wide Inline Art Border --> <value>basicWideInline</value> -<!-- Wide Midline Art Border --> + <!-- Wide Midline Art Border --> <value>basicWideMidline</value> -<!-- Wide Outline Art Border --> + <!-- Wide Outline Art Border --> <value>basicWideOutline</value> -<!-- Bats Art Border --> + <!-- Bats Art Border --> <value>bats</value> -<!-- Birds Art Border --> + <!-- Birds Art Border --> <value>birds</value> -<!-- Birds Flying Art Border --> + <!-- Birds Flying Art Border --> <value>birdsFlight</value> -<!-- Cabin Art Border --> + <!-- Cabin Art Border --> <value>cabins</value> -<!-- Cake Art Border --> + <!-- Cake Art Border --> <value>cakeSlice</value> -<!-- Candy Corn Art Border --> + <!-- Candy Corn Art Border --> <value>candyCorn</value> -<!-- Knot Work Art Border --> + <!-- Knot Work Art Border --> <value>celticKnotwork</value> -<!-- Certificate Banner Art Border --> + <!-- Certificate Banner Art Border --> <value>certificateBanner</value> -<!-- Chain Link Art Border --> + <!-- Chain Link Art Border --> <value>chainLink</value> -<!-- Champagne Bottle Art Border --> + <!-- Champagne Bottle Art Border --> <value>champagneBottle</value> -<!-- Black and White Bar Art Border --> + <!-- Black and White Bar Art Border --> <value>checkedBarBlack</value> -<!-- Color Checked Bar Art Border --> + <!-- Color Checked Bar Art Border --> <value>checkedBarColor</value> -<!-- Checkerboard Art Border --> + <!-- Checkerboard Art Border --> <value>checkered</value> -<!-- Christmas Tree Art Border --> + <!-- Christmas Tree Art Border --> <value>christmasTree</value> -<!-- Circles And Lines Art Border --> + <!-- Circles And Lines Art Border --> <value>circlesLines</value> -<!-- Circles and Rectangles Art Border --> + <!-- Circles and Rectangles Art Border --> <value>circlesRectangles</value> -<!-- Wave Art Border --> + <!-- Wave Art Border --> <value>classicalWave</value> -<!-- Clocks Art Border --> + <!-- Clocks Art Border --> <value>clocks</value> -<!-- Compass Art Border --> + <!-- Compass Art Border --> <value>compass</value> -<!-- Confetti Art Border --> + <!-- Confetti Art Border --> <value>confetti</value> -<!-- Confetti Art Border --> + <!-- Confetti Art Border --> <value>confettiGrays</value> -<!-- Confetti Art Border --> + <!-- Confetti Art Border --> <value>confettiOutline</value> -<!-- Confetti Streamers Art Border --> + <!-- Confetti Streamers Art Border --> <value>confettiStreamers</value> -<!-- Confetti Art Border --> + <!-- Confetti Art Border --> <value>confettiWhite</value> -<!-- Corner Triangle Art Border --> + <!-- Corner Triangle Art Border --> <value>cornerTriangles</value> -<!-- Dashed Line Art Border --> + <!-- Dashed Line Art Border --> <value>couponCutoutDashes</value> -<!-- Dotted Line Art Border --> + <!-- Dotted Line Art Border --> <value>couponCutoutDots</value> -<!-- Maze Art Border --> + <!-- Maze Art Border --> <value>crazyMaze</value> -<!-- Butterfly Art Border --> + <!-- Butterfly Art Border --> <value>creaturesButterfly</value> -<!-- Fish Art Border --> + <!-- Fish Art Border --> <value>creaturesFish</value> -<!-- Insects Art Border --> + <!-- Insects Art Border --> <value>creaturesInsects</value> -<!-- Ladybug Art Border --> + <!-- Ladybug Art Border --> <value>creaturesLadyBug</value> -<!-- Cross-stitch Art Border --> + <!-- Cross-stitch Art Border --> <value>crossStitch</value> -<!-- Cupid Art Border --> + <!-- Cupid Art Border --> <value>cup</value> -<!-- Archway Art Border --> + <!-- Archway Art Border --> <value>decoArch</value> -<!-- Color Archway Art Border --> + <!-- Color Archway Art Border --> <value>decoArchColor</value> -<!-- Blocks Art Border --> + <!-- Blocks Art Border --> <value>decoBlocks</value> -<!-- Gray Diamond Art Border --> + <!-- Gray Diamond Art Border --> <value>diamondsGray</value> -<!-- Double D Art Border --> + <!-- Double D Art Border --> <value>doubleD</value> -<!-- Diamond Art Border --> + <!-- Diamond Art Border --> <value>doubleDiamonds</value> -<!-- Earth Art Border --> + <!-- Earth Art Border --> <value>earth1</value> -<!-- Earth Art Border --> + <!-- Earth Art Border --> <value>earth2</value> -<!-- Shadowed Square Art Border --> + <!-- Shadowed Square Art Border --> <value>eclipsingSquares1</value> -<!-- Shadowed Square Art Border --> + <!-- Shadowed Square Art Border --> <value>eclipsingSquares2</value> -<!-- Painted Egg Art Border --> + <!-- Painted Egg Art Border --> <value>eggsBlack</value> -<!-- Fans Art Border --> + <!-- Fans Art Border --> <value>fans</value> -<!-- Film Reel Art Border --> + <!-- Film Reel Art Border --> <value>film</value> -<!-- Firecracker Art Border --> + <!-- Firecracker Art Border --> <value>firecrackers</value> -<!-- Flowers Art Border --> + <!-- Flowers Art Border --> <value>flowersBlockPrint</value> -<!-- Daisy Art Border --> + <!-- Daisy Art Border --> <value>flowersDaisies</value> -<!-- Flowers Art Border --> + <!-- Flowers Art Border --> <value>flowersModern1</value> -<!-- Flowers Art Border --> + <!-- Flowers Art Border --> <value>flowersModern2</value> -<!-- Pansy Art Border --> + <!-- Pansy Art Border --> <value>flowersPansy</value> -<!-- Red Rose Art Border --> + <!-- Red Rose Art Border --> <value>flowersRedRose</value> -<!-- Roses Art Border --> + <!-- Roses Art Border --> <value>flowersRoses</value> -<!-- Flowers in a Teacup Art Border --> + <!-- Flowers in a Teacup Art Border --> <value>flowersTeacup</value> -<!-- Small Flower Art Border --> + <!-- Small Flower Art Border --> <value>flowersTiny</value> -<!-- Gems Art Border --> + <!-- Gems Art Border --> <value>gems</value> -<!-- Gingerbread Man Art Border --> + <!-- Gingerbread Man Art Border --> <value>gingerbreadMan</value> -<!-- Triangle Gradient Art Border --> + <!-- Triangle Gradient Art Border --> <value>gradient</value> -<!-- Handmade Art Border --> + <!-- Handmade Art Border --> <value>handmade1</value> -<!-- Handmade Art Border --> + <!-- Handmade Art Border --> <value>handmade2</value> -<!-- Heart-Shaped Balloon Art Border --> + <!-- Heart-Shaped Balloon Art Border --> <value>heartBalloon</value> -<!-- Gray Heart Art Border --> + <!-- Gray Heart Art Border --> <value>heartGray</value> -<!-- Hearts Art Border --> + <!-- Hearts Art Border --> <value>hearts</value> -<!-- Pattern Art Border --> + <!-- Pattern Art Border --> <value>heebieJeebies</value> -<!-- Holly Art Border --> + <!-- Holly Art Border --> <value>holly</value> -<!-- House Art Border --> + <!-- House Art Border --> <value>houseFunky</value> -<!-- Circular Art Border --> + <!-- Circular Art Border --> <value>hypnotic</value> -<!-- Ice Cream Cone Art Border --> + <!-- Ice Cream Cone Art Border --> <value>iceCreamCones</value> -<!-- Light Bulb Art Border --> + <!-- Light Bulb Art Border --> <value>lightBulb</value> -<!-- Lightning Art Border --> + <!-- Lightning Art Border --> <value>lightning1</value> -<!-- Lightning Art Border --> + <!-- Lightning Art Border --> <value>lightning2</value> -<!-- Map Pins Art Border --> + <!-- Map Pins Art Border --> <value>mapPins</value> -<!-- Maple Leaf Art Border --> + <!-- Maple Leaf Art Border --> <value>mapleLeaf</value> -<!-- Muffin Art Border --> + <!-- Muffin Art Border --> <value>mapleMuffins</value> -<!-- Marquee Art Border --> + <!-- Marquee Art Border --> <value>marquee</value> -<!-- Marquee Art Border --> + <!-- Marquee Art Border --> <value>marqueeToothed</value> -<!-- Moon Art Border --> + <!-- Moon Art Border --> <value>moons</value> -<!-- Mosaic Art Border --> + <!-- Mosaic Art Border --> <value>mosaic</value> -<!-- Musical Note Art Border --> + <!-- Musical Note Art Border --> <value>musicNotes</value> -<!-- Patterned Art Border --> + <!-- Patterned Art Border --> <value>northwest</value> -<!-- Oval Art Border --> + <!-- Oval Art Border --> <value>ovals</value> -<!-- Package Art Border --> + <!-- Package Art Border --> <value>packages</value> -<!-- Black Palm Tree Art Border --> + <!-- Black Palm Tree Art Border --> <value>palmsBlack</value> -<!-- Color Palm Tree Art Border --> + <!-- Color Palm Tree Art Border --> <value>palmsColor</value> -<!-- Paper Clip Art Border --> + <!-- Paper Clip Art Border --> <value>paperClips</value> -<!-- Papyrus Art Border --> + <!-- Papyrus Art Border --> <value>papyrus</value> -<!-- Party Favor Art Border --> + <!-- Party Favor Art Border --> <value>partyFavor</value> -<!-- Party Glass Art Border --> + <!-- Party Glass Art Border --> <value>partyGlass</value> -<!-- Pencils Art Border --> + <!-- Pencils Art Border --> <value>pencils</value> -<!-- Character Art Border --> + <!-- Character Art Border --> <value>people</value> -<!-- Waving Character Border --> + <!-- Waving Character Border --> <value>peopleWaving</value> -<!-- Character With Hat Art Border --> + <!-- Character With Hat Art Border --> <value>peopleHats</value> -<!-- Poinsettia Art Border --> + <!-- Poinsettia Art Border --> <value>poinsettias</value> -<!-- Postage Stamp Art Border --> + <!-- Postage Stamp Art Border --> <value>postageStamp</value> -<!-- Pumpkin Art Border --> + <!-- Pumpkin Art Border --> <value>pumpkin1</value> -<!-- Push Pin Art Border --> + <!-- Push Pin Art Border --> <value>pushPinNote2</value> -<!-- Push Pin Art Border --> + <!-- Push Pin Art Border --> <value>pushPinNote1</value> -<!-- Pyramid Art Border --> + <!-- Pyramid Art Border --> <value>pyramids</value> -<!-- Pyramid Art Border --> + <!-- Pyramid Art Border --> <value>pyramidsAbove</value> -<!-- Quadrants Art Border --> + <!-- Quadrants Art Border --> <value>quadrants</value> -<!-- Rings Art Border --> + <!-- Rings Art Border --> <value>rings</value> -<!-- Safari Art Border --> + <!-- Safari Art Border --> <value>safari</value> -<!-- Saw tooth Art Border --> + <!-- Saw tooth Art Border --> <value>sawtooth</value> -<!-- Gray Saw tooth Art Border --> + <!-- Gray Saw tooth Art Border --> <value>sawtoothGray</value> -<!-- Scared Cat Art Border --> + <!-- Scared Cat Art Border --> <value>scaredCat</value> -<!-- Umbrella Art Border --> + <!-- Umbrella Art Border --> <value>seattle</value> -<!-- Shadowed Squares Art Border --> + <!-- Shadowed Squares Art Border --> <value>shadowedSquares</value> -<!-- Shark Tooth Art Border --> + <!-- Shark Tooth Art Border --> <value>sharksTeeth</value> -<!-- Bird Tracks Art Border --> + <!-- Bird Tracks Art Border --> <value>shorebirdTracks</value> -<!-- Rocket Art Border --> + <!-- Rocket Art Border --> <value>skyrocket</value> -<!-- Snowflake Art Border --> + <!-- Snowflake Art Border --> <value>snowflakeFancy</value> -<!-- Snowflake Art Border --> + <!-- Snowflake Art Border --> <value>snowflakes</value> -<!-- Sombrero Art Border --> + <!-- Sombrero Art Border --> <value>sombrero</value> -<!-- Southwest-themed Art Border --> + <!-- Southwest-themed Art Border --> <value>southwest</value> -<!-- Stars Art Border --> + <!-- Stars Art Border --> <value>stars</value> -<!-- Stars On Top Art Border --> + <!-- Stars On Top Art Border --> <value>starsTop</value> -<!-- 3-D Stars Art Border --> + <!-- 3-D Stars Art Border --> <value>stars3d</value> -<!-- Stars Art Border --> + <!-- Stars Art Border --> <value>starsBlack</value> -<!-- Stars With Shadows Art Border --> + <!-- Stars With Shadows Art Border --> <value>starsShadowed</value> -<!-- Sun Art Border --> + <!-- Sun Art Border --> <value>sun</value> -<!-- Whirligig Art Border --> + <!-- Whirligig Art Border --> <value>swirligig</value> -<!-- Torn Paper Art Border --> + <!-- Torn Paper Art Border --> <value>tornPaper</value> -<!-- Black Torn Paper Art Border --> + <!-- Black Torn Paper Art Border --> <value>tornPaperBlack</value> -<!-- Tree Art Border --> + <!-- Tree Art Border --> <value>trees</value> -<!-- Triangle Art Border --> + <!-- Triangle Art Border --> <value>triangleParty</value> -<!-- Triangles Art Border --> + <!-- Triangles Art Border --> <value>triangles</value> -<!-- Tribal Art Border One --> + <!-- Tribal Art Border One --> <value>tribal1</value> -<!-- Tribal Art Border Two --> + <!-- Tribal Art Border Two --> <value>tribal2</value> -<!-- Tribal Art Border Three --> + <!-- Tribal Art Border Three --> <value>tribal3</value> -<!-- Tribal Art Border Four --> + <!-- Tribal Art Border Four --> <value>tribal4</value> -<!-- Tribal Art Border Five --> + <!-- Tribal Art Border Five --> <value>tribal5</value> -<!-- Tribal Art Border Six --> + <!-- Tribal Art Border Six --> <value>tribal6</value> -<!-- Twisted Lines Art Border --> + <!-- Twisted Lines Art Border --> <value>twistedLines1</value> -<!-- Twisted Lines Art Border --> + <!-- Twisted Lines Art Border --> <value>twistedLines2</value> -<!-- Vine Art Border --> + <!-- Vine Art Border --> <value>vine</value> -<!-- Wavy Line Art Border --> + <!-- Wavy Line Art Border --> <value>waveline</value> -<!-- Weaving Angles Art Border --> + <!-- Weaving Angles Art Border --> <value>weavingAngles</value> -<!-- Weaving Braid Art Border --> + <!-- Weaving Braid Art Border --> <value>weavingBraid</value> -<!-- Weaving Ribbon Art Border --> + <!-- Weaving Ribbon Art Border --> <value>weavingRibbon</value> -<!-- Weaving Strips Art Border --> + <!-- Weaving Strips Art Border --> <value>weavingStrips</value> -<!-- White Flowers Art Border --> + <!-- White Flowers Art Border --> <value>whiteFlowers</value> -<!-- Woodwork Art Border --> + <!-- Woodwork Art Border --> <value>woodwork</value> -<!-- Crisscross Art Border --> + <!-- Crisscross Art Border --> <value>xIllusions</value> -<!-- Triangle Art Border --> + <!-- Triangle Art Border --> <value>zanyTriangles</value> -<!-- Zigzag Art Border --> + <!-- Zigzag Art Border --> <value>zigZag</value> -<!-- Zigzag stitch --> + <!-- Zigzag stitch --> <value>zigZagStitch</value> </choice> </list> @@ -13178,81 +13264,81 @@ <list> <xs:documentation>Shading Patterns</xs:documentation> <choice> -<!-- No Pattern --> + <!-- No Pattern --> <value>nil</value> -<!-- No Pattern --> + <!-- No Pattern --> <value>clear</value> -<!-- 100% Fill Pattern --> + <!-- 100% Fill Pattern --> <value>solid</value> -<!-- Horizontal Stripe Pattern --> + <!-- Horizontal Stripe Pattern --> <value>horzStripe</value> -<!-- Vertical Stripe Pattern --> + <!-- Vertical Stripe Pattern --> <value>vertStripe</value> -<!-- Reverse Diagonal Stripe Pattern --> + <!-- Reverse Diagonal Stripe Pattern --> <value>reverseDiagStripe</value> -<!-- Diagonal Stripe Pattern --> + <!-- Diagonal Stripe Pattern --> <value>diagStripe</value> -<!-- Horizontal Cross Pattern --> + <!-- Horizontal Cross Pattern --> <value>horzCross</value> -<!-- Diagonal Cross Pattern --> + <!-- Diagonal Cross Pattern --> <value>diagCross</value> -<!-- Thin Horizontal Stripe Pattern --> + <!-- Thin Horizontal Stripe Pattern --> <value>thinHorzStripe</value> -<!-- Thin Vertical Stripe Pattern --> + <!-- Thin Vertical Stripe Pattern --> <value>thinVertStripe</value> -<!-- Thin Reverse Diagonal Stripe Pattern --> + <!-- Thin Reverse Diagonal Stripe Pattern --> <value>thinReverseDiagStripe</value> -<!-- Thin Diagonal Stripe Pattern --> + <!-- Thin Diagonal Stripe Pattern --> <value>thinDiagStripe</value> -<!-- Thin Horizontal Cross Pattern --> + <!-- Thin Horizontal Cross Pattern --> <value>thinHorzCross</value> -<!-- Thin Diagonal Cross Pattern --> + <!-- Thin Diagonal Cross Pattern --> <value>thinDiagCross</value> -<!-- 5% Fill Pattern --> + <!-- 5% Fill Pattern --> <value>pct5</value> -<!-- 10% Fill Pattern --> + <!-- 10% Fill Pattern --> <value>pct10</value> -<!-- 12.5% Fill Pattern --> + <!-- 12.5% Fill Pattern --> <value>pct12</value> -<!-- 15% Fill Pattern --> + <!-- 15% Fill Pattern --> <value>pct15</value> -<!-- 20% Fill Pattern --> + <!-- 20% Fill Pattern --> <value>pct20</value> -<!-- 25% Fill Pattern --> + <!-- 25% Fill Pattern --> <value>pct25</value> -<!-- 30% Fill Pattern --> + <!-- 30% Fill Pattern --> <value>pct30</value> -<!-- 35% Fill Pattern --> + <!-- 35% Fill Pattern --> <value>pct35</value> -<!-- 37.5% Fill Pattern --> + <!-- 37.5% Fill Pattern --> <value>pct37</value> -<!-- 40% Fill Pattern --> + <!-- 40% Fill Pattern --> <value>pct40</value> -<!-- 45% Fill Pattern --> + <!-- 45% Fill Pattern --> <value>pct45</value> -<!-- 50% Fill Pattern --> + <!-- 50% Fill Pattern --> <value>pct50</value> -<!-- 55% Fill Pattern --> + <!-- 55% Fill Pattern --> <value>pct55</value> -<!-- 60% Fill Pattern --> + <!-- 60% Fill Pattern --> <value>pct60</value> -<!-- 62.5% Fill Pattern --> + <!-- 62.5% Fill Pattern --> <value>pct62</value> -<!-- 65% Fill Pattern --> + <!-- 65% Fill Pattern --> <value>pct65</value> -<!-- 70% Fill Pattern --> + <!-- 70% Fill Pattern --> <value>pct70</value> -<!-- 75% Fill Pattern --> + <!-- 75% Fill Pattern --> <value>pct75</value> -<!-- 80% Fill Pattern --> + <!-- 80% Fill Pattern --> <value>pct80</value> -<!-- 85% Fill Pattern --> + <!-- 85% Fill Pattern --> <value>pct85</value> -<!-- 87.5% Fill Pattern --> + <!-- 87.5% Fill Pattern --> <value>pct87</value> -<!-- 90% Fill Pattern --> + <!-- 90% Fill Pattern --> <value>pct90</value> -<!-- 95% Fill Pattern --> + <!-- 95% Fill Pattern --> <value>pct95</value> </choice> </list> @@ -13315,11 +13401,11 @@ <list> <xs:documentation>Vertical Positioning Location</xs:documentation> <choice> -<!-- Regular Vertical Positioning --> + <!-- Regular Vertical Positioning --> <value>baseline</value> -<!-- Superscript --> + <!-- Superscript --> <value>superscript</value> -<!-- Subscript --> + <!-- Subscript --> <value>subscript</value> </choice> </list> @@ -13346,15 +13432,15 @@ <list> <xs:documentation>Emphasis Mark Type</xs:documentation> <choice> -<!-- No Emphasis Mark --> + <!-- No Emphasis Mark --> <value>none</value> -<!-- Dot Emphasis Mark Above Characters --> + <!-- Dot Emphasis Mark Above Characters --> <value>dot</value> -<!-- Comma Emphasis Mark Above Characters --> + <!-- Comma Emphasis Mark Above Characters --> <value>comma</value> -<!-- Circle Emphasis Mark Above Characters --> + <!-- Circle Emphasis Mark Above Characters --> <value>circle</value> -<!-- Dot Emphasis Mark Below Characters --> + <!-- Dot Emphasis Mark Below Characters --> <value>underDot</value> </choice> </list> @@ -13389,15 +13475,15 @@ <list> <xs:documentation>Two Lines in One Enclosing Character Type</xs:documentation> <choice> -<!-- No Enclosing Brackets --> + <!-- No Enclosing Brackets --> <value>none</value> -<!-- Round Brackets --> + <!-- Round Brackets --> <value>round</value> -<!-- Square Brackets --> + <!-- Square Brackets --> <value>square</value> -<!-- Angle Brackets --> + <!-- Angle Brackets --> <value>angle</value> -<!-- Curly Brackets --> + <!-- Curly Brackets --> <value>curly</value> </choice> </list> @@ -13438,15 +13524,15 @@ <list> <xs:documentation>Horizontal Alignment Location</xs:documentation> <choice> -<!-- Left Aligned Horizontally --> + <!-- Left Aligned Horizontally --> <value>left</value> -<!-- Centered Horizontally --> + <!-- Centered Horizontally --> <value>center</value> -<!-- Right Aligned Horizontally --> + <!-- Right Aligned Horizontally --> <value>right</value> -<!-- Inside --> + <!-- Inside --> <value>inside</value> -<!-- Outside --> + <!-- Outside --> <value>outside</value> </choice> </list> @@ -13455,17 +13541,17 @@ <list> <xs:documentation>Vertical Alignment Location</xs:documentation> <choice> -<!-- In line With Text --> + <!-- In line With Text --> <value>inline</value> -<!-- Top --> + <!-- Top --> <value>top</value> -<!-- Centered Vertically --> + <!-- Centered Vertically --> <value>center</value> -<!-- Bottom --> + <!-- Bottom --> <value>bottom</value> -<!-- Inside Anchor Extents --> + <!-- Inside Anchor Extents --> <value>inside</value> -<!-- Outside Anchor Extents --> + <!-- Outside Anchor Extents --> <value>outside</value> </choice> </list> @@ -13474,11 +13560,11 @@ <list> <xs:documentation>Height Rule</xs:documentation> <choice> -<!-- Determine Height Based On Contents --> + <!-- Determine Height Based On Contents --> <value>auto</value> -<!-- Exact Height --> + <!-- Exact Height --> <value>exact</value> -<!-- Minimum Height --> + <!-- Minimum Height --> <value>atLeast</value> </choice> </list> @@ -13487,17 +13573,17 @@ <list> <xs:documentation>Text Wrapping around Text Frame Type</xs:documentation> <choice> -<!-- Default Text Wrapping Around Frame --> + <!-- Default Text Wrapping Around Frame --> <value>auto</value> -<!-- No Text Wrapping Beside Frame --> + <!-- No Text Wrapping Beside Frame --> <value>notBeside</value> -<!-- Allow Text Wrapping Around Frame --> + <!-- Allow Text Wrapping Around Frame --> <value>around</value> -<!-- Tight Text Wrapping Around Frame --> + <!-- Tight Text Wrapping Around Frame --> <value>tight</value> -<!-- Through Text Wrapping Around Frame --> + <!-- Through Text Wrapping Around Frame --> <value>through</value> -<!-- No Text Wrapping Around Frame --> + <!-- No Text Wrapping Around Frame --> <value>none</value> </choice> </list> @@ -13506,11 +13592,11 @@ <list> <xs:documentation>Vertical Anchor Location</xs:documentation> <choice> -<!-- Relative To Vertical Text Extents --> + <!-- Relative To Vertical Text Extents --> <value>text</value> -<!-- Relative To Margin --> + <!-- Relative To Margin --> <value>margin</value> -<!-- Relative To Page --> + <!-- Relative To Page --> <value>page</value> </choice> </list> @@ -13519,11 +13605,11 @@ <list> <xs:documentation>Horizontal Anchor Location</xs:documentation> <choice> -<!-- Relative to Text Extents --> + <!-- Relative to Text Extents --> <value>text</value> -<!-- Relative To Margin --> + <!-- Relative To Margin --> <value>margin</value> -<!-- Relative to Page --> + <!-- Relative to Page --> <value>page</value> </choice> </list> @@ -13532,11 +13618,11 @@ <list> <xs:documentation>Text Frame Drop Cap Location</xs:documentation> <choice> -<!-- Not Drop Cap --> + <!-- Not Drop Cap --> <value>none</value> -<!-- Drop Cap Inside Margin --> + <!-- Drop Cap Inside Margin --> <value>drop</value> -<!-- Drop Cap Outside Margin --> + <!-- Drop Cap Outside Margin --> <value>margin</value> </choice> </list> @@ -13637,19 +13723,19 @@ <list> <xs:documentation>Custom Tab Stop Type</xs:documentation> <choice> -<!-- No Tab Stop --> + <!-- No Tab Stop --> <value>clear</value> -<!-- Left Tab --> + <!-- Left Tab --> <value>left</value> -<!-- Centered Tab --> + <!-- Centered Tab --> <value>center</value> -<!-- Right Tab --> + <!-- Right Tab --> <value>right</value> -<!-- Decimal Tab --> + <!-- Decimal Tab --> <value>decimal</value> -<!-- Bar Tab --> + <!-- Bar Tab --> <value>bar</value> -<!-- List Tab --> + <!-- List Tab --> <value>num</value> </choice> </list> @@ -13658,17 +13744,17 @@ <list> <xs:documentation>Custom Tab Stop Leader Character</xs:documentation> <choice> -<!-- No tab stop leader --> + <!-- No tab stop leader --> <value>none</value> -<!-- Dotted leader line --> + <!-- Dotted leader line --> <value>dot</value> -<!-- Dashed tab stop leader line --> + <!-- Dashed tab stop leader line --> <value>hyphen</value> -<!-- Solid leader line --> + <!-- Solid leader line --> <value>underscore</value> -<!-- Heavy solid leader line --> + <!-- Heavy solid leader line --> <value>heavy</value> -<!-- Middle dot leader line --> + <!-- Middle dot leader line --> <value>middleDot</value> </choice> </list> @@ -13693,11 +13779,11 @@ <list> <xs:documentation>Line Spacing Rule</xs:documentation> <choice> -<!-- Automatically Determined Line Height --> + <!-- Automatically Determined Line Height --> <value>auto</value> -<!-- Exact Line Height --> + <!-- Exact Line Height --> <value>exact</value> -<!-- Minimum Line Height --> + <!-- Minimum Line Height --> <value>atLeast</value> </choice> </list> @@ -13806,25 +13892,25 @@ <list> <xs:documentation>Horizontal Alignment Type</xs:documentation> <choice> -<!-- Align Left --> + <!-- Align Left --> <value>left</value> -<!-- Align Center --> + <!-- Align Center --> <value>center</value> -<!-- Align Right --> + <!-- Align Right --> <value>right</value> -<!-- Justified --> + <!-- Justified --> <value>both</value> -<!-- Medium Kashida Length --> + <!-- Medium Kashida Length --> <value>mediumKashida</value> -<!-- Distribute All Characters Equally --> + <!-- Distribute All Characters Equally --> <value>distribute</value> -<!-- Align to List Tab --> + <!-- Align to List Tab --> <value>numTab</value> -<!-- Widest Kashida Length --> + <!-- Widest Kashida Length --> <value>highKashida</value> -<!-- Low Kashida Length --> + <!-- Low Kashida Length --> <value>lowKashida</value> -<!-- Thai Language Justification --> + <!-- Thai Language Justification --> <value>thaiDistribute</value> </choice> </list> @@ -13839,17 +13925,17 @@ <list> <xs:documentation>Document View Values</xs:documentation> <choice> -<!-- Default View --> + <!-- Default View --> <value>none</value> -<!-- Print Layout View --> + <!-- Print Layout View --> <value>print</value> -<!-- Outline View --> + <!-- Outline View --> <value>outline</value> -<!-- Master Document View --> + <!-- Master Document View --> <value>masterPages</value> -<!-- Draft View --> + <!-- Draft View --> <value>normal</value> -<!-- Web Page View --> + <!-- Web Page View --> <value>web</value> </choice> </list> @@ -13864,13 +13950,13 @@ <list> <xs:documentation>Magnification Preset Values</xs:documentation> <choice> -<!-- No Preset Magnification --> + <!-- No Preset Magnification --> <value>none</value> -<!-- Display One Full Page --> + <!-- Display One Full Page --> <value>fullPage</value> -<!-- Display Page Width --> + <!-- Display Page Width --> <value>bestFit</value> -<!-- Display Text Width --> + <!-- Display Text Width --> <value>textFit</value> </choice> </list> @@ -13919,9 +14005,9 @@ <list> <xs:documentation>Proofing State Values</xs:documentation> <choice> -<!-- Check Completed --> + <!-- Check Completed --> <value>clean</value> -<!-- Check Not Completed --> + <!-- Check Not Completed --> <value>dirty</value> </choice> </list> @@ -13944,11 +14030,11 @@ <list> <xs:documentation>Document Classification Values</xs:documentation> <choice> -<!-- Default Document --> + <!-- Default Document --> <value>notSpecified</value> -<!-- Letter --> + <!-- Letter --> <value>letter</value> -<!-- E-Mail Message --> + <!-- E-Mail Message --> <value>eMail</value> </choice> </list> @@ -13963,15 +14049,15 @@ <list> <xs:documentation>Document Protection Types</xs:documentation> <choice> -<!-- No Editing Restrictions --> + <!-- No Editing Restrictions --> <value>none</value> -<!-- Allow No Editing --> + <!-- Allow No Editing --> <value>readOnly</value> -<!-- Allow Editing of Comments --> + <!-- Allow Editing of Comments --> <value>comments</value> -<!-- Allow Editing With Revision Tracking --> + <!-- Allow Editing With Revision Tracking --> <value>trackedChanges</value> -<!-- Allow Editing of Form Fields --> + <!-- Allow Editing of Form Fields --> <value>forms</value> </choice> </list> @@ -13980,9 +14066,9 @@ <list> <xs:documentation>Cryptographic Provider Types</xs:documentation> <choice> -<!-- AES Provider --> + <!-- AES Provider --> <value>rsaAES</value> -<!-- Any Provider --> + <!-- Any Provider --> <value>rsaFull</value> </choice> </list> @@ -13990,14 +14076,14 @@ <define name="ST_AlgClass"> <list> <xs:documentation>Cryptographic Algorithm Classes</xs:documentation> -<!-- Hashing --> + <!-- Hashing --> <value>hash</value> </list> </define> <define name="ST_AlgType"> <list> <xs:documentation>Cryptographic Algorithm Types</xs:documentation> -<!-- Any Type --> + <!-- Any Type --> <value>typeAny</value> </list> </define> @@ -14078,17 +14164,17 @@ <list> <xs:documentation>Source Document Types</xs:documentation> <choice> -<!-- Catalog Source Document --> + <!-- Catalog Source Document --> <value>catalog</value> -<!-- Envelope Source Document --> + <!-- Envelope Source Document --> <value>envelopes</value> -<!-- Mailing Label Source Document --> + <!-- Mailing Label Source Document --> <value>mailingLabels</value> -<!-- Form Letter Source Document --> + <!-- Form Letter Source Document --> <value>formLetters</value> -<!-- E-Mail Source Document --> + <!-- E-Mail Source Document --> <value>email</value> -<!-- Fax Source Document --> + <!-- Fax Source Document --> <value>fax</value> </choice> </list> @@ -14103,17 +14189,17 @@ <list> <xs:documentation>Mail Merge Data Source Type Values</xs:documentation> <choice> -<!-- Text File Data Source --> + <!-- Text File Data Source --> <value>textFile</value> -<!-- Database Data Source --> + <!-- Database Data Source --> <value>database</value> -<!-- Spreadsheet Data Source --> + <!-- Spreadsheet Data Source --> <value>spreadsheet</value> -<!-- Query Data Source --> + <!-- Query Data Source --> <value>query</value> -<!-- Open Database Connectivity Data Source --> + <!-- Open Database Connectivity Data Source --> <value>odbc</value> -<!-- Office Data Source Object Data Source --> + <!-- Office Data Source Object Data Source --> <value>native</value> </choice> </list> @@ -14128,13 +14214,13 @@ <list> <xs:documentation>Merged Document Destination Types</xs:documentation> <choice> -<!-- Send Merged Documents to New Documents --> + <!-- Send Merged Documents to New Documents --> <value>newDocument</value> -<!-- Send Merged Documents to Printer --> + <!-- Send Merged Documents to Printer --> <value>printer</value> -<!-- Send Merged Documents as E-mail Messages --> + <!-- Send Merged Documents as E-mail Messages --> <value>email</value> -<!-- Send Merged Documents as Faxes --> + <!-- Send Merged Documents as Faxes --> <value>fax</value> </choice> </list> @@ -14149,9 +14235,9 @@ <list> <xs:documentation>Merge Field Mapping Types</xs:documentation> <choice> -<!-- Field Not Mapped --> + <!-- Field Not Mapped --> <value>null</value> -<!-- Field Mapping to Data Source Column --> + <!-- Field Mapping to Data Source Column --> <value>dbColumn</value> </choice> </list> @@ -14208,17 +14294,17 @@ <list> <xs:documentation>Text Flow Direction</xs:documentation> <choice> -<!-- Left to Right, Top to Bottom --> + <!-- Left to Right, Top to Bottom --> <value>lrTb</value> -<!-- Top to Bottom, Right to Left --> + <!-- Top to Bottom, Right to Left --> <value>tbRl</value> -<!-- Bottom to Top, Left to Right --> + <!-- Bottom to Top, Left to Right --> <value>btLr</value> -<!-- Left to Right, Top to Bottom Rotated --> + <!-- Left to Right, Top to Bottom Rotated --> <value>lrTbV</value> -<!-- Top to Bottom, Right to Left Rotated --> + <!-- Top to Bottom, Right to Left Rotated --> <value>tbRlV</value> -<!-- Top to Bottom, Left to Right Rotated --> + <!-- Top to Bottom, Left to Right Rotated --> <value>tbLrV</value> </choice> </list> @@ -14233,15 +14319,15 @@ <list> <xs:documentation>Vertical Text Alignment Types</xs:documentation> <choice> -<!-- Align Text at Top --> + <!-- Align Text at Top --> <value>top</value> -<!-- Align Text at Center --> + <!-- Align Text at Center --> <value>center</value> -<!-- Align Text at Baseline --> + <!-- Align Text at Baseline --> <value>baseline</value> -<!-- Align Text at Bottom --> + <!-- Align Text at Bottom --> <value>bottom</value> -<!-- Automatically Determine Alignment --> + <!-- Automatically Determine Alignment --> <value>auto</value> </choice> </list> @@ -14256,9 +14342,9 @@ <list> <xs:documentation>Location of Custom XML Markup Displacing an Annotation</xs:documentation> <choice> -<!-- Displaced by Next Custom XML Markup Tag --> + <!-- Displaced by Next Custom XML Markup Tag --> <value>next</value> -<!-- Displaced by Previous Custom XML Markup Tag --> + <!-- Displaced by Previous Custom XML Markup Tag --> <value>prev</value> </choice> </list> @@ -14267,9 +14353,9 @@ <list> <xs:documentation>Table Cell Vertical Merge Revision Type</xs:documentation> <choice> -<!-- Vertically Merged Cell --> + <!-- Vertically Merged Cell --> <value>cont</value> -<!-- Vertically Split Cell --> + <!-- Vertically Split Cell --> <value>rest</value> </choice> </list> @@ -14592,15 +14678,15 @@ <list> <xs:documentation>Lines To Tight Wrap Within Text Box</xs:documentation> <choice> -<!-- Do Not Tight Wrap --> + <!-- Do Not Tight Wrap --> <value>none</value> -<!-- Tight Wrap All Lines --> + <!-- Tight Wrap All Lines --> <value>allLines</value> -<!-- Tight Wrap First and Last Lines --> + <!-- Tight Wrap First and Last Lines --> <value>firstAndLastLine</value> -<!-- Tight Wrap First Line --> + <!-- Tight Wrap First Line --> <value>firstLineOnly</value> -<!-- Tight Wrap Last Line --> + <!-- Tight Wrap Last Line --> <value>lastLineOnly</value> </choice> </list> @@ -14934,11 +15020,11 @@ <list> <xs:documentation>Complex Field Character Type</xs:documentation> <choice> -<!-- Start Character --> + <!-- Start Character --> <value>begin</value> -<!-- Separator Character --> + <!-- Separator Character --> <value>separate</value> -<!-- End Character --> + <!-- End Character --> <value>end</value> </choice> </list> @@ -14947,9 +15033,9 @@ <list> <xs:documentation>Help or Status Text Type</xs:documentation> <choice> -<!-- Literal Text --> + <!-- Literal Text --> <value>text</value> -<!-- Glossary Document Entry --> + <!-- Glossary Document Entry --> <value>autoText</value> </choice> </list> @@ -14976,17 +15062,17 @@ <list> <xs:documentation>Text Box Form Field Type Values</xs:documentation> <choice> -<!-- Text Box --> + <!-- Text Box --> <value>regular</value> -<!-- Number --> + <!-- Number --> <value>number</value> -<!-- Date --> + <!-- Date --> <value>date</value> -<!-- Current Time Display --> + <!-- Current Time Display --> <value>currentTime</value> -<!-- Current Date Display --> + <!-- Current Date Display --> <value>currentDate</value> -<!-- Field Calculation --> + <!-- Field Calculation --> <value>calculated</value> </choice> </list> @@ -15201,15 +15287,15 @@ <list> <xs:documentation>Section Type</xs:documentation> <choice> -<!-- Next Page Section Break --> + <!-- Next Page Section Break --> <value>nextPage</value> -<!-- Column Section Break --> + <!-- Column Section Break --> <value>nextColumn</value> -<!-- Continuous Section Break --> + <!-- Continuous Section Break --> <value>continuous</value> -<!-- Even Page Section Break --> + <!-- Even Page Section Break --> <value>evenPage</value> -<!-- Odd Page Section Break --> + <!-- Odd Page Section Break --> <value>oddPage</value> </choice> </list> @@ -15234,125 +15320,125 @@ <list> <xs:documentation>Numbering Format</xs:documentation> <choice> -<!-- Decimal Numbers --> + <!-- Decimal Numbers --> <value>decimal</value> -<!-- Uppercase Roman Numerals --> + <!-- Uppercase Roman Numerals --> <value>upperRoman</value> -<!-- Lowercase Roman Numerals --> + <!-- Lowercase Roman Numerals --> <value>lowerRoman</value> -<!-- Uppercase Latin Alphabet --> + <!-- Uppercase Latin Alphabet --> <value>upperLetter</value> -<!-- Lowercase Latin Alphabet --> + <!-- Lowercase Latin Alphabet --> <value>lowerLetter</value> -<!-- Ordinal --> + <!-- Ordinal --> <value>ordinal</value> -<!-- Cardinal Text --> + <!-- Cardinal Text --> <value>cardinalText</value> -<!-- Ordinal Text --> + <!-- Ordinal Text --> <value>ordinalText</value> -<!-- Hexadecimal Numbering --> + <!-- Hexadecimal Numbering --> <value>hex</value> -<!-- Chicago Manual of Style --> + <!-- Chicago Manual of Style --> <value>chicago</value> -<!-- Ideographs --> + <!-- Ideographs --> <value>ideographDigital</value> -<!-- Japanese Counting System --> + <!-- Japanese Counting System --> <value>japaneseCounting</value> -<!-- AIUEO Order Hiragana --> + <!-- AIUEO Order Hiragana --> <value>aiueo</value> -<!-- Iroha Ordered Katakana --> + <!-- Iroha Ordered Katakana --> <value>iroha</value> -<!-- Double Byte Arabic Numerals --> + <!-- Double Byte Arabic Numerals --> <value>decimalFullWidth</value> -<!-- Single Byte Arabic Numerals --> + <!-- Single Byte Arabic Numerals --> <value>decimalHalfWidth</value> -<!-- Japanese Legal Numbering --> + <!-- Japanese Legal Numbering --> <value>japaneseLegal</value> -<!-- Japanese Digital Ten Thousand Counting System --> + <!-- Japanese Digital Ten Thousand Counting System --> <value>japaneseDigitalTenThousand</value> -<!-- Decimal Numbers Enclosed in a Circle --> + <!-- Decimal Numbers Enclosed in a Circle --> <value>decimalEnclosedCircle</value> -<!-- Double Byte Arabic Numerals Alternate --> + <!-- Double Byte Arabic Numerals Alternate --> <value>decimalFullWidth2</value> -<!-- Full-Width AIUEO Order Hiragana --> + <!-- Full-Width AIUEO Order Hiragana --> <value>aiueoFullWidth</value> -<!-- Full-Width Iroha Ordered Katakana --> + <!-- Full-Width Iroha Ordered Katakana --> <value>irohaFullWidth</value> -<!-- Initial Zero Arabic Numerals --> + <!-- Initial Zero Arabic Numerals --> <value>decimalZero</value> -<!-- Bullet --> + <!-- Bullet --> <value>bullet</value> -<!-- Korean Ganada Numbering --> + <!-- Korean Ganada Numbering --> <value>ganada</value> -<!-- Korean Chosung Numbering --> + <!-- Korean Chosung Numbering --> <value>chosung</value> -<!-- Decimal Numbers Followed by a Period --> + <!-- Decimal Numbers Followed by a Period --> <value>decimalEnclosedFullstop</value> -<!-- Decimal Numbers Enclosed in Parenthesis --> + <!-- Decimal Numbers Enclosed in Parenthesis --> <value>decimalEnclosedParen</value> -<!-- Decimal Numbers Enclosed in a Circle --> + <!-- Decimal Numbers Enclosed in a Circle --> <value>decimalEnclosedCircleChinese</value> -<!-- Ideographs Enclosed in a Circle --> + <!-- Ideographs Enclosed in a Circle --> <value>ideographEnclosedCircle</value> -<!-- Traditional Ideograph Format --> + <!-- Traditional Ideograph Format --> <value>ideographTraditional</value> -<!-- Zodiac Ideograph Format --> + <!-- Zodiac Ideograph Format --> <value>ideographZodiac</value> -<!-- Traditional Zodiac Ideograph Format --> + <!-- Traditional Zodiac Ideograph Format --> <value>ideographZodiacTraditional</value> -<!-- Taiwanese Counting System --> + <!-- Taiwanese Counting System --> <value>taiwaneseCounting</value> -<!-- Traditional Legal Ideograph Format --> + <!-- Traditional Legal Ideograph Format --> <value>ideographLegalTraditional</value> -<!-- Taiwanese Counting Thousand System --> + <!-- Taiwanese Counting Thousand System --> <value>taiwaneseCountingThousand</value> -<!-- Taiwanese Digital Counting System --> + <!-- Taiwanese Digital Counting System --> <value>taiwaneseDigital</value> -<!-- Chinese Counting System --> + <!-- Chinese Counting System --> <value>chineseCounting</value> -<!-- Chinese Legal Simplified Format --> + <!-- Chinese Legal Simplified Format --> <value>chineseLegalSimplified</value> -<!-- Chinese Counting Thousand System --> + <!-- Chinese Counting Thousand System --> <value>chineseCountingThousand</value> -<!-- Korean Digital Counting System --> + <!-- Korean Digital Counting System --> <value>koreanDigital</value> -<!-- Korean Counting System --> + <!-- Korean Counting System --> <value>koreanCounting</value> -<!-- Korean Legal Numbering --> + <!-- Korean Legal Numbering --> <value>koreanLegal</value> -<!-- Korean Digital Counting System Alternate --> + <!-- Korean Digital Counting System Alternate --> <value>koreanDigital2</value> -<!-- Vietnamese Numerals --> + <!-- Vietnamese Numerals --> <value>vietnameseCounting</value> -<!-- Lowercase Russian Alphabet --> + <!-- Lowercase Russian Alphabet --> <value>russianLower</value> -<!-- Uppercase Russian Alphabet --> + <!-- Uppercase Russian Alphabet --> <value>russianUpper</value> -<!-- No Numbering --> + <!-- No Numbering --> <value>none</value> -<!-- Number With Dashes --> + <!-- Number With Dashes --> <value>numberInDash</value> -<!-- Hebrew Numerals --> + <!-- Hebrew Numerals --> <value>hebrew1</value> -<!-- Hebrew Alphabet --> + <!-- Hebrew Alphabet --> <value>hebrew2</value> -<!-- Arabic Alphabet --> + <!-- Arabic Alphabet --> <value>arabicAlpha</value> -<!-- Arabic Abjad Numerals --> + <!-- Arabic Abjad Numerals --> <value>arabicAbjad</value> -<!-- Hindi Vowels --> + <!-- Hindi Vowels --> <value>hindiVowels</value> -<!-- Hindi Consonants --> + <!-- Hindi Consonants --> <value>hindiConsonants</value> -<!-- Hindi Numbers --> + <!-- Hindi Numbers --> <value>hindiNumbers</value> -<!-- Hindi Counting System --> + <!-- Hindi Counting System --> <value>hindiCounting</value> -<!-- Thai Letters --> + <!-- Thai Letters --> <value>thaiLetters</value> -<!-- Thai Numerals --> + <!-- Thai Numerals --> <value>thaiNumbers</value> -<!-- Thai Counting System --> + <!-- Thai Counting System --> <value>thaiCounting</value> </choice> </list> @@ -15361,9 +15447,9 @@ <list> <xs:documentation>Page Orientation</xs:documentation> <choice> -<!-- Portrait Mode --> + <!-- Portrait Mode --> <value>portrait</value> -<!-- Landscape Mode --> + <!-- Landscape Mode --> <value>landscape</value> </choice> </list> @@ -15426,9 +15512,9 @@ <list> <xs:documentation>Page Border Z-Order</xs:documentation> <choice> -<!-- Page Border Ahead of Text --> + <!-- Page Border Ahead of Text --> <value>front</value> -<!-- Page Border Behind Text --> + <!-- Page Border Behind Text --> <value>back</value> </choice> </list> @@ -15437,11 +15523,11 @@ <list> <xs:documentation>Page Border Display Options</xs:documentation> <choice> -<!-- Display Page Border on All Pages --> + <!-- Display Page Border on All Pages --> <value>allPages</value> -<!-- Display Page Border on First Page --> + <!-- Display Page Border on First Page --> <value>firstPage</value> -<!-- Display Page Border on All Pages Except First --> + <!-- Display Page Border on All Pages Except First --> <value>notFirstPage</value> </choice> </list> @@ -15450,9 +15536,9 @@ <list> <xs:documentation>Page Border Positioning Base</xs:documentation> <choice> -<!-- Page Border Is Positioned Relative to Page Edges --> + <!-- Page Border Is Positioned Relative to Page Edges --> <value>page</value> -<!-- Page Border Is Positioned Relative to Text Extents --> + <!-- Page Border Is Positioned Relative to Text Extents --> <value>text</value> </choice> </list> @@ -15503,15 +15589,15 @@ <list> <xs:documentation>Chapter Separator Types</xs:documentation> <choice> -<!-- Hyphen Chapter Separator --> + <!-- Hyphen Chapter Separator --> <value>hyphen</value> -<!-- Period Chapter Separator --> + <!-- Period Chapter Separator --> <value>period</value> -<!-- Colon Chapter Separator --> + <!-- Colon Chapter Separator --> <value>colon</value> -<!-- Em Dash Chapter Separator --> + <!-- Em Dash Chapter Separator --> <value>emDash</value> -<!-- En Dash Chapter Separator --> + <!-- En Dash Chapter Separator --> <value>enDash</value> </choice> </list> @@ -15520,11 +15606,11 @@ <list> <xs:documentation>Line Numbering Restart Position</xs:documentation> <choice> -<!-- Restart Line Numbering on Each Page --> + <!-- Restart Line Numbering on Each Page --> <value>newPage</value> -<!-- Restart Line Numbering for Each Section --> + <!-- Restart Line Numbering for Each Section --> <value>newSection</value> -<!-- Continue Line Numbering From Previous Section --> + <!-- Continue Line Numbering From Previous Section --> <value>continuous</value> </choice> </list> @@ -15630,13 +15716,13 @@ <list> <xs:documentation>Vertical Alignment Type</xs:documentation> <choice> -<!-- Align Top --> + <!-- Align Top --> <value>top</value> -<!-- Align Center --> + <!-- Align Center --> <value>center</value> -<!-- Vertical Justification --> + <!-- Vertical Justification --> <value>both</value> -<!-- Align Bottom --> + <!-- Align Bottom --> <value>bottom</value> </choice> </list> @@ -15651,13 +15737,13 @@ <list> <xs:documentation>Document Grid Types</xs:documentation> <choice> -<!-- No Document Grid --> + <!-- No Document Grid --> <value>default</value> -<!-- Line Grid Only --> + <!-- Line Grid Only --> <value>lines</value> -<!-- Line and Character Grid --> + <!-- Line and Character Grid --> <value>linesAndChars</value> -<!-- Character Grid Only --> + <!-- Character Grid Only --> <value>snapToChars</value> </choice> </list> @@ -15680,11 +15766,11 @@ <list> <xs:documentation>Header or Footer Type</xs:documentation> <choice> -<!-- Even Numbered Pages Only --> + <!-- Even Numbered Pages Only --> <value>even</value> -<!-- Default Header or Footer --> + <!-- Default Header or Footer --> <value>default</value> -<!-- First Page Only --> + <!-- First Page Only --> <value>first</value> </choice> </list> @@ -15693,19 +15779,18 @@ <list> <xs:documentation>Footnote or Endnote Type</xs:documentation> <choice> -<!-- Normal Footnote/Endnote --> + <!-- Normal Footnote/Endnote --> <value>normal</value> -<!-- Separator --> + <!-- Separator --> <value>separator</value> -<!-- Continuation Separator --> + <!-- Continuation Separator --> <value>continuationSeparator</value> -<!-- Continuation Notice Separator --> + <!-- Continuation Notice Separator --> <value>continuationNotice</value> </choice> </list> </define> <define name="CT_HdrFtrRef"> - <ref name="CT_Rel"/> <attribute name="type"> <ref name="ST_HdrFtr"/> <xs:documentation>Header or Footer Type</xs:documentation> @@ -15876,11 +15961,11 @@ <list> <xs:documentation>Break Types</xs:documentation> <choice> -<!-- Page Break --> + <!-- Page Break --> <value>page</value> -<!-- Column Break --> + <!-- Column Break --> <value>column</value> -<!-- Line Break --> + <!-- Line Break --> <value>textWrapping</value> </choice> </list> @@ -15889,13 +15974,13 @@ <list> <xs:documentation>Line Break Text Wrapping Restart Location</xs:documentation> <choice> -<!-- Restart On Next Line --> + <!-- Restart On Next Line --> <value>none</value> -<!-- Restart In Next Text Region When In Leftmost Position --> + <!-- Restart In Next Text Region When In Leftmost Position --> <value>left</value> -<!-- Restart In Next Text Region When In Rightmost Position --> + <!-- Restart In Next Text Region When In Rightmost Position --> <value>right</value> -<!-- Restart On Next Full Line --> + <!-- Restart On Next Full Line --> <value>all</value> </choice> </list> @@ -15918,11 +16003,11 @@ <list> <xs:documentation>Absolute Position Tab Alignment</xs:documentation> <choice> -<!-- Left --> + <!-- Left --> <value>left</value> -<!-- Center --> + <!-- Center --> <value>center</value> -<!-- Right --> + <!-- Right --> <value>right</value> </choice> </list> @@ -15931,9 +16016,9 @@ <list> <xs:documentation>Absolute Position Tab Positioning Base</xs:documentation> <choice> -<!-- Relative To Text Margins --> + <!-- Relative To Text Margins --> <value>margin</value> -<!-- Relative To Indents --> + <!-- Relative To Indents --> <value>indent</value> </choice> </list> @@ -15942,15 +16027,15 @@ <list> <xs:documentation>Absolute Position Tab Leader Character</xs:documentation> <choice> -<!-- No Leader Character --> + <!-- No Leader Character --> <value>none</value> -<!-- Dot Leader Character --> + <!-- Dot Leader Character --> <value>dot</value> -<!-- Hyphen Leader Character --> + <!-- Hyphen Leader Character --> <value>hyphen</value> -<!-- Underscore Leader Character --> + <!-- Underscore Leader Character --> <value>underscore</value> -<!-- Centered Dot Leader Character --> + <!-- Centered Dot Leader Character --> <value>middleDot</value> </choice> </list> @@ -15983,13 +16068,13 @@ <list> <xs:documentation>Proofing Error Type</xs:documentation> <choice> -<!-- Start of Region Marked as Spelling Error --> + <!-- Start of Region Marked as Spelling Error --> <value>spellStart</value> -<!-- End of Region Marked as Spelling Error --> + <!-- End of Region Marked as Spelling Error --> <value>spellEnd</value> -<!-- Start of Region Marked as Grammatical Error --> + <!-- Start of Region Marked as Grammatical Error --> <value>gramStart</value> -<!-- End of Region Marked as Grammatical Error --> + <!-- End of Region Marked as Grammatical Error --> <value>gramEnd</value> </choice> </list> @@ -16004,19 +16089,19 @@ <list> <xs:documentation>Range Permision Editing Group</xs:documentation> <choice> -<!-- No Users Have Editing Permissions --> + <!-- No Users Have Editing Permissions --> <value>none</value> -<!-- All Users Have Editing Permissions --> + <!-- All Users Have Editing Permissions --> <value>everyone</value> -<!-- Administrator Group --> + <!-- Administrator Group --> <value>administrators</value> -<!-- Contributors Group --> + <!-- Contributors Group --> <value>contributors</value> -<!-- Editors Group --> + <!-- Editors Group --> <value>editors</value> -<!-- Owners Group --> + <!-- Owners Group --> <value>owners</value> -<!-- Current Group --> + <!-- Current Group --> <value>current</value> </choice> </list> @@ -16248,11 +16333,11 @@ <list> <xs:documentation>Font Type Hint</xs:documentation> <choice> -<!-- High ANSI Font --> + <!-- High ANSI Font --> <value>default</value> -<!-- East Asian Font --> + <!-- East Asian Font --> <value>eastAsia</value> -<!-- Complex Script Font --> + <!-- Complex Script Font --> <value>cs</value> </choice> </list> @@ -16261,21 +16346,21 @@ <list> <xs:documentation>Theme Font</xs:documentation> <choice> -<!-- Major East Asian Theme Font --> + <!-- Major East Asian Theme Font --> <value>majorEastAsia</value> -<!-- Major Complex Script Theme Font --> + <!-- Major Complex Script Theme Font --> <value>majorBidi</value> -<!-- Major ASCII Theme Font --> + <!-- Major ASCII Theme Font --> <value>majorAscii</value> -<!-- Major High ANSI Theme Font --> + <!-- Major High ANSI Theme Font --> <value>majorHAnsi</value> -<!-- Minor East Asian Theme Font --> + <!-- Minor East Asian Theme Font --> <value>minorEastAsia</value> -<!-- Minor Complex Script Theme Font --> + <!-- Minor Complex Script Theme Font --> <value>minorBidi</value> -<!-- Minor ASCII Theme Font --> + <!-- Minor ASCII Theme Font --> <value>minorAscii</value> -<!-- Minor High ANSI Theme Font --> + <!-- Minor High ANSI Theme Font --> <value>minorHAnsi</value> </choice> </list> @@ -16622,17 +16707,17 @@ <list> <xs:documentation>Phonetic Guide Text Alignment</xs:documentation> <choice> -<!-- Center --> + <!-- Center --> <value>center</value> -<!-- Distribute All Characters --> + <!-- Distribute All Characters --> <value>distributeLetter</value> -<!-- Distribute all Characters w/ Additional Space On Either Side --> + <!-- Distribute all Characters w/ Additional Space On Either Side --> <value>distributeSpace</value> -<!-- Left Aligned --> + <!-- Left Aligned --> <value>left</value> -<!-- Right Aligned --> + <!-- Right Aligned --> <value>right</value> -<!-- Vertically Aligned to Right of Base Text --> + <!-- Vertically Aligned to Right of Base Text --> <value>rightVertical</value> </choice> </list> @@ -16695,13 +16780,13 @@ <list> <xs:documentation>Locking Types</xs:documentation> <choice> -<!-- SDT Cannot Be Deleted --> + <!-- SDT Cannot Be Deleted --> <value>sdtLocked</value> -<!-- Contents Cannot Be Edited At Runtime --> + <!-- Contents Cannot Be Edited At Runtime --> <value>contentLocked</value> -<!-- No Locking --> + <!-- No Locking --> <value>unlocked</value> -<!-- Contents Cannot Be Edited At Runtime And SDT Cannot Be Deleted --> + <!-- Contents Cannot Be Edited At Runtime And SDT Cannot Be Deleted --> <value>sdtContentLocked</value> </choice> </list> @@ -16726,11 +16811,11 @@ <list> <xs:documentation>Date Storage Format Types</xs:documentation> <choice> -<!-- Same As Display --> + <!-- Same As Display --> <value>text</value> -<!-- XML Schema Date Format --> + <!-- XML Schema Date Format --> <value>date</value> -<!-- XML Schema DateTime Format --> + <!-- XML Schema DateTime Format --> <value>dateTime</value> </choice> </list> @@ -16745,25 +16830,25 @@ <list> <xs:documentation>Calendar Types</xs:documentation> <choice> -<!-- Gregorian --> + <!-- Gregorian --> <value>gregorian</value> -<!-- Hijri --> + <!-- Hijri --> <value>hijri</value> -<!-- Hebrew --> + <!-- Hebrew --> <value>hebrew</value> -<!-- Taiwan --> + <!-- Taiwan --> <value>taiwan</value> -<!-- Japanese Emperor Era --> + <!-- Japanese Emperor Era --> <value>japan</value> -<!-- Thai --> + <!-- Thai --> <value>thai</value> -<!-- Korean Tangun Era --> + <!-- Korean Tangun Era --> <value>korea</value> -<!-- Saka Era --> + <!-- Saka Era --> <value>saka</value> -<!-- Gregorian transliterated English --> + <!-- Gregorian transliterated English --> <value>gregorianXlitEnglish</value> -<!-- Gregorian transliterated French --> + <!-- Gregorian transliterated French --> <value>gregorianXlitFrench</value> </choice> </list> @@ -17325,13 +17410,13 @@ <list> <xs:documentation>Table Width Units</xs:documentation> <choice> -<!-- No Width --> + <!-- No Width --> <value>nil</value> -<!-- Width in Fiftieths of a Percent --> + <!-- Width in Fiftieths of a Percent --> <value>pct</value> -<!-- Width in Twentieths of a Point --> + <!-- Width in Twentieths of a Point --> <value>dxa</value> -<!-- Automatically Determined Width --> + <!-- Automatically Determined Width --> <value>auto</value> </choice> </list> @@ -17358,7 +17443,7 @@ </define> <define name="CT_TblGridCol"> <attribute name="w"> - <text/> + <ref name="ST_TwipsMeasure"/> <xs:documentation>Grid Column Width</xs:documentation> </attribute> </define> @@ -17445,9 +17530,9 @@ <list> <xs:documentation>Merged Cell Type</xs:documentation> <choice> -<!-- Continue Merged Region --> + <!-- Continue Merged Region --> <value>continue</value> -<!-- Start/Restart Merged Region --> + <!-- Start/Restart Merged Region --> <value>restart</value> </choice> </list> @@ -17691,9 +17776,9 @@ <list> <xs:documentation>Table Layout Type</xs:documentation> <choice> -<!-- Fixed Width Table Layout --> + <!-- Fixed Width Table Layout --> <value>fixed</value> -<!-- AutoFit Table Layout --> + <!-- AutoFit Table Layout --> <value>autofit</value> </choice> </list> @@ -17708,9 +17793,9 @@ <list> <xs:documentation>Table Overlap Setting</xs:documentation> <choice> -<!-- Floating Table Cannot Overlap --> + <!-- Floating Table Cannot Overlap --> <value>never</value> -<!-- Floating Table Can Overlap --> + <!-- Floating Table Can Overlap --> <value>overlap</value> </choice> </list> @@ -17975,13 +18060,13 @@ <list> <xs:documentation>Footnote Positioning Location</xs:documentation> <choice> -<!-- Footnotes Positioned at Page Bottom --> + <!-- Footnotes Positioned at Page Bottom --> <value>pageBottom</value> -<!-- Footnotes Positioned Beneath Text --> + <!-- Footnotes Positioned Beneath Text --> <value>beneathText</value> -<!-- Footnotes Positioned At End of Section --> + <!-- Footnotes Positioned At End of Section --> <value>sectEnd</value> -<!-- Footnotes Positioned At End of Document --> + <!-- Footnotes Positioned At End of Document --> <value>docEnd</value> </choice> </list> @@ -17996,9 +18081,9 @@ <list> <xs:documentation>Endnote Positioning Location</xs:documentation> <choice> -<!-- Endnotes Positioned at End of Section --> + <!-- Endnotes Positioned at End of Section --> <value>sectEnd</value> -<!-- Endnotes Positioned at End of Document --> + <!-- Endnotes Positioned at End of Document --> <value>docEnd</value> </choice> </list> @@ -18019,11 +18104,11 @@ <list> <xs:documentation>Footnote/Endnote Numbering Restart Locations</xs:documentation> <choice> -<!-- Continue Numbering From Previous Section --> + <!-- Continue Numbering From Previous Section --> <value>continuous</value> -<!-- Restart Numbering For Each Section --> + <!-- Restart Numbering For Each Section --> <value>eachSect</value> -<!-- Restart Numbering On Each Page --> + <!-- Restart Numbering On Each Page --> <value>eachPage</value> </choice> </list> @@ -18191,23 +18276,23 @@ <list> <xs:documentation>Mail Merge ODSO Data Source Types</xs:documentation> <choice> -<!-- Database Data Source --> + <!-- Database Data Source --> <value>database</value> -<!-- Address Book Data Source --> + <!-- Address Book Data Source --> <value>addressBook</value> -<!-- Alternate Document Format Data Source --> + <!-- Alternate Document Format Data Source --> <value>document1</value> -<!-- Alternate Document Format Data Source Two --> + <!-- Alternate Document Format Data Source Two --> <value>document2</value> -<!-- Text File Data Source --> + <!-- Text File Data Source --> <value>text</value> -<!-- E-Mail Program Data Source --> + <!-- E-Mail Program Data Source --> <value>email</value> -<!-- Native Data Souce --> + <!-- Native Data Souce --> <value>native</value> -<!-- Legacy Document Format Data Source --> + <!-- Legacy Document Format Data Source --> <value>legacy</value> -<!-- Aggregate Data Source --> + <!-- Aggregate Data Source --> <value>master</value> </choice> </list> @@ -18342,27 +18427,27 @@ <list> <xs:documentation>Target Screen Sizes for Generated Web Pages</xs:documentation> <choice> -<!-- Optimize for 544x376 --> + <!-- Optimize for 544x376 --> <value>544x376</value> -<!-- Optimize for 640x480 --> + <!-- Optimize for 640x480 --> <value>640x480</value> -<!-- Optimize for 720x512 --> + <!-- Optimize for 720x512 --> <value>720x512</value> -<!-- Optimize for 800x600 --> + <!-- Optimize for 800x600 --> <value>800x600</value> -<!-- Optimize for 1024x768 --> + <!-- Optimize for 1024x768 --> <value>1024x768</value> -<!-- Optimize for 1152x882 --> + <!-- Optimize for 1152x882 --> <value>1152x882</value> -<!-- Optimize for 1152x900 --> + <!-- Optimize for 1152x900 --> <value>1152x900</value> -<!-- Optimize for 1280x1024 --> + <!-- Optimize for 1280x1024 --> <value>1280x1024</value> -<!-- Optimize for 1600x1200 --> + <!-- Optimize for 1600x1200 --> <value>1600x1200</value> -<!-- Optimize for 1800x1440 --> + <!-- Optimize for 1800x1440 --> <value>1800x1440</value> -<!-- Optimize for 1920x1200 --> + <!-- Optimize for 1920x1200 --> <value>1920x1200</value> </choice> </list> @@ -18733,11 +18818,11 @@ <list> <xs:documentation>Character-Level Whitespace Compression Settings</xs:documentation> <choice> -<!-- Do Not Compress Whitespace --> + <!-- Do Not Compress Whitespace --> <value>doNotCompress</value> -<!-- Compress Whitespace From Punctuation Characters --> + <!-- Compress Whitespace From Punctuation Characters --> <value>compressPunctuation</value> -<!-- Compress Whitespace From Both Japanese Kana And Punctuation Characters --> + <!-- Compress Whitespace From Both Japanese Kana And Punctuation Characters --> <value>compressPunctuationAndJapaneseKana</value> </choice> </list> @@ -18791,29 +18876,29 @@ <list> <xs:documentation>Theme Color Reference</xs:documentation> <choice> -<!-- Dark 1 Theme Color Reference --> + <!-- Dark 1 Theme Color Reference --> <value>dark1</value> -<!-- Light 1 Theme Color Reference --> + <!-- Light 1 Theme Color Reference --> <value>light1</value> -<!-- Dark 2 Theme Color Reference --> + <!-- Dark 2 Theme Color Reference --> <value>dark2</value> -<!-- Light 2 Theme Color Reference --> + <!-- Light 2 Theme Color Reference --> <value>light2</value> -<!-- Accent 1 Theme Color Reference --> + <!-- Accent 1 Theme Color Reference --> <value>accent1</value> -<!-- Accent 2 Theme Color Reference --> + <!-- Accent 2 Theme Color Reference --> <value>accent2</value> -<!-- Accent 3 Theme Color Reference --> + <!-- Accent 3 Theme Color Reference --> <value>accent3</value> -<!-- Accent4 Theme Color Reference --> + <!-- Accent4 Theme Color Reference --> <value>accent4</value> -<!-- Accent5 Theme Color Reference --> + <!-- Accent5 Theme Color Reference --> <value>accent5</value> -<!-- Accent 6 Theme Color Reference --> + <!-- Accent 6 Theme Color Reference --> <value>accent6</value> -<!-- Hyperlink Theme Color Reference --> + <!-- Hyperlink Theme Color Reference --> <value>hyperlink</value> -<!-- Followed Hyperlink Theme Color Reference --> + <!-- Followed Hyperlink Theme Color Reference --> <value>followedHyperlink</value> </choice> </list> @@ -19459,11 +19544,11 @@ <list> <xs:documentation>Frame Scrollbar Visibility</xs:documentation> <choice> -<!-- Always Show Scrollbar --> + <!-- Always Show Scrollbar --> <value>on</value> -<!-- Never Show Scrollbar --> + <!-- Never Show Scrollbar --> <value>off</value> -<!-- Automatically Show Scrollbar As Needed --> + <!-- Automatically Show Scrollbar As Needed --> <value>auto</value> </choice> </list> @@ -19520,11 +19605,11 @@ <list> <xs:documentation>Frameset Layout Order</xs:documentation> <choice> -<!-- Stack Frames Vertically --> + <!-- Stack Frames Vertically --> <value>rows</value> -<!-- Stack Frames Horizontally --> + <!-- Stack Frames Horizontally --> <value>cols</value> -<!-- Do Not Stack Frames --> + <!-- Do Not Stack Frames --> <value>none</value> </choice> </list> @@ -19601,11 +19686,11 @@ <list> <xs:documentation>Content Between Numbering Symbol and Paragraph Text</xs:documentation> <choice> -<!-- Tab Between Numbering and Text --> + <!-- Tab Between Numbering and Text --> <value>tab</value> -<!-- Space Between Numbering and Text --> + <!-- Space Between Numbering and Text --> <value>space</value> -<!-- Nothing Between Numbering and Text --> + <!-- Nothing Between Numbering and Text --> <value>nothing</value> </choice> </list> @@ -19734,11 +19819,11 @@ <list> <xs:documentation>Numbering Definition Type</xs:documentation> <choice> -<!-- Single Level Numbering Definition --> + <!-- Single Level Numbering Definition --> <value>singleLevel</value> -<!-- Multilevel Numbering Definition --> + <!-- Multilevel Numbering Definition --> <value>multilevel</value> -<!-- Hybrid Multilevel Numbering Definition --> + <!-- Hybrid Multilevel Numbering Definition --> <value>hybridMultilevel</value> </choice> </list> @@ -19852,31 +19937,31 @@ <list> <xs:documentation>Conditional Table Style Formatting Types</xs:documentation> <choice> -<!-- Whole table formatting --> + <!-- Whole table formatting --> <value>wholeTable</value> -<!-- First Row Conditional Formatting --> + <!-- First Row Conditional Formatting --> <value>firstRow</value> -<!-- Last table row formatting --> + <!-- Last table row formatting --> <value>lastRow</value> -<!-- First Column Conditional Formatting --> + <!-- First Column Conditional Formatting --> <value>firstCol</value> -<!-- Last table column formatting --> + <!-- Last table column formatting --> <value>lastCol</value> -<!-- Banded Column Conditional Formatting --> + <!-- Banded Column Conditional Formatting --> <value>band1Vert</value> -<!-- Even Column Stripe Conditional Formatting --> + <!-- Even Column Stripe Conditional Formatting --> <value>band2Vert</value> -<!-- Banded Row Conditional Formatting --> + <!-- Banded Row Conditional Formatting --> <value>band1Horz</value> -<!-- Even Row Stripe Conditional Formatting --> + <!-- Even Row Stripe Conditional Formatting --> <value>band2Horz</value> -<!-- Top right table cell formatting --> + <!-- Top right table cell formatting --> <value>neCell</value> -<!-- Top left table cell formatting --> + <!-- Top left table cell formatting --> <value>nwCell</value> -<!-- Bottom right table cell formatting --> + <!-- Bottom right table cell formatting --> <value>seCell</value> -<!-- Bottom left table cell formatting --> + <!-- Bottom left table cell formatting --> <value>swCell</value> </choice> </list> @@ -19927,13 +20012,13 @@ <list> <xs:documentation>Style Types</xs:documentation> <choice> -<!-- Paragraph Style --> + <!-- Paragraph Style --> <value>paragraph</value> -<!-- Character Style --> + <!-- Character Style --> <value>character</value> -<!-- Table Style --> + <!-- Table Style --> <value>table</value> -<!-- Numbering Style --> + <!-- Numbering Style --> <value>numbering</value> </choice> </list> @@ -20166,17 +20251,17 @@ <list> <xs:documentation>Font Family Value</xs:documentation> <choice> -<!-- Novelty Font --> + <!-- Novelty Font --> <value>decorative</value> -<!-- Monospace Font --> + <!-- Monospace Font --> <value>modern</value> -<!-- Proportional Font With Serifs --> + <!-- Proportional Font With Serifs --> <value>roman</value> -<!-- Script Font --> + <!-- Script Font --> <value>script</value> -<!-- Proportional Font Without Serifs --> + <!-- Proportional Font Without Serifs --> <value>swiss</value> -<!-- No Font Family --> + <!-- No Font Family --> <value>auto</value> </choice> </list> @@ -20191,11 +20276,11 @@ <list> <xs:documentation>Font Pitch Value</xs:documentation> <choice> -<!-- Fixed Width --> + <!-- Fixed Width --> <value>fixed</value> -<!-- Proportional Width --> + <!-- Proportional Width --> <value>variable</value> -<!-- Default --> + <!-- Default --> <value>default</value> </choice> </list> @@ -20540,39 +20625,39 @@ <list> <xs:documentation>Theme Color</xs:documentation> <choice> -<!-- Dark 1 Theme Color --> + <!-- Dark 1 Theme Color --> <value>dark1</value> -<!-- Light 1 Theme Color --> + <!-- Light 1 Theme Color --> <value>light1</value> -<!-- Dark 2 Theme Color --> + <!-- Dark 2 Theme Color --> <value>dark2</value> -<!-- Light 2 Theme Color --> + <!-- Light 2 Theme Color --> <value>light2</value> -<!-- Accent 1 Theme Color --> + <!-- Accent 1 Theme Color --> <value>accent1</value> -<!-- Accent 2 Theme Color --> + <!-- Accent 2 Theme Color --> <value>accent2</value> -<!-- Accent 3 Theme Color --> + <!-- Accent 3 Theme Color --> <value>accent3</value> -<!-- Accent 4 Theme Color --> + <!-- Accent 4 Theme Color --> <value>accent4</value> -<!-- Accent 5 Theme Color --> + <!-- Accent 5 Theme Color --> <value>accent5</value> -<!-- Accent 6 Theme Color --> + <!-- Accent 6 Theme Color --> <value>accent6</value> -<!-- Hyperlink Theme Color --> + <!-- Hyperlink Theme Color --> <value>hyperlink</value> -<!-- Followed Hyperlink Theme Color --> + <!-- Followed Hyperlink Theme Color --> <value>followedHyperlink</value> -<!-- No Theme Color --> + <!-- No Theme Color --> <value>none</value> -<!-- Background 1 Theme Color --> + <!-- Background 1 Theme Color --> <value>background1</value> -<!-- Text 1 Theme Color --> + <!-- Text 1 Theme Color --> <value>text1</value> -<!-- Background 2 Theme Color --> + <!-- Background 2 Theme Color --> <value>background2</value> -<!-- Text 2 Theme Color --> + <!-- Text 2 Theme Color --> <value>text2</value> </choice> </list> @@ -20581,11 +20666,11 @@ <list> <xs:documentation>Insertion Behavior Types</xs:documentation> <choice> -<!-- Insert Content At Specified Location --> + <!-- Insert Content At Specified Location --> <value>content</value> -<!-- Ensure Entry Is In New Paragraph --> + <!-- Ensure Entry Is In New Paragraph --> <value>p</value> -<!-- Ensure Entry Is On New Page --> + <!-- Ensure Entry Is On New Page --> <value>pg</value> </choice> </list> @@ -20607,19 +20692,19 @@ <list> <xs:documentation>Entry Types</xs:documentation> <choice> -<!-- No Type --> + <!-- No Type --> <value>none</value> -<!-- Normal --> + <!-- Normal --> <value>normal</value> -<!-- Automatically Replace Name With Content --> + <!-- Automatically Replace Name With Content --> <value>autoExp</value> -<!-- AutoText User Interface Entry --> + <!-- AutoText User Interface Entry --> <value>toolbar</value> -<!-- AutoCorrect Entry --> + <!-- AutoCorrect Entry --> <value>speller</value> -<!-- Form Field Help Text --> + <!-- Form Field Help Text --> <value>formFld</value> -<!-- Structured Document Tag Placeholder Text --> + <!-- Structured Document Tag Placeholder Text --> <value>bbPlcHdr</value> </choice> </list> @@ -20647,81 +20732,81 @@ <list> <xs:documentation>Entry Gallery Types</xs:documentation> <choice> -<!-- Structured Document Tag Placeholder Text Gallery --> + <!-- Structured Document Tag Placeholder Text Gallery --> <value>placeholder</value> -<!-- All Galleries --> + <!-- All Galleries --> <value>any</value> -<!-- No Gallery Classification --> + <!-- No Gallery Classification --> <value>default</value> -<!-- Document Parts Gallery --> + <!-- Document Parts Gallery --> <value>docParts</value> -<!-- Cover Page Gallery --> + <!-- Cover Page Gallery --> <value>coverPg</value> -<!-- Equations Gallery --> + <!-- Equations Gallery --> <value>eq</value> -<!-- Footers Gallery --> + <!-- Footers Gallery --> <value>ftrs</value> -<!-- Headers Gallery --> + <!-- Headers Gallery --> <value>hdrs</value> -<!-- Page Numbers Gallery --> + <!-- Page Numbers Gallery --> <value>pgNum</value> -<!-- Table Gallery --> + <!-- Table Gallery --> <value>tbls</value> -<!-- Watermark Gallery --> + <!-- Watermark Gallery --> <value>watermarks</value> -<!-- AutoText Gallery --> + <!-- AutoText Gallery --> <value>autoTxt</value> -<!-- Text Box Gallery --> + <!-- Text Box Gallery --> <value>txtBox</value> -<!-- Page Numbers At Top Gallery --> + <!-- Page Numbers At Top Gallery --> <value>pgNumT</value> -<!-- Page Numbers At Bottom Gallery --> + <!-- Page Numbers At Bottom Gallery --> <value>pgNumB</value> -<!-- Page Numbers At Margins Gallery --> + <!-- Page Numbers At Margins Gallery --> <value>pgNumMargins</value> -<!-- Table of Contents Gallery --> + <!-- Table of Contents Gallery --> <value>tblOfContents</value> -<!-- Bibliography Gallery --> + <!-- Bibliography Gallery --> <value>bib</value> -<!-- Custom Quick Parts Gallery --> + <!-- Custom Quick Parts Gallery --> <value>custQuickParts</value> -<!-- Custom Cover Page Gallery --> + <!-- Custom Cover Page Gallery --> <value>custCoverPg</value> -<!-- Custom Equation Gallery --> + <!-- Custom Equation Gallery --> <value>custEq</value> -<!-- Custom Footer Gallery --> + <!-- Custom Footer Gallery --> <value>custFtrs</value> -<!-- Custom Header Gallery --> + <!-- Custom Header Gallery --> <value>custHdrs</value> -<!-- Custom Page Number Gallery --> + <!-- Custom Page Number Gallery --> <value>custPgNum</value> -<!-- Custom Table Gallery --> + <!-- Custom Table Gallery --> <value>custTbls</value> -<!-- Custom Watermark Gallery --> + <!-- Custom Watermark Gallery --> <value>custWatermarks</value> -<!-- Custom AutoText Gallery --> + <!-- Custom AutoText Gallery --> <value>custAutoTxt</value> -<!-- Custom Text Box Gallery --> + <!-- Custom Text Box Gallery --> <value>custTxtBox</value> -<!-- Custom Page Number At Top Gallery --> + <!-- Custom Page Number At Top Gallery --> <value>custPgNumT</value> -<!-- Custom Page Number At Bottom Gallery --> + <!-- Custom Page Number At Bottom Gallery --> <value>custPgNumB</value> -<!-- Custom Page Number At Margins Gallery --> + <!-- Custom Page Number At Margins Gallery --> <value>custPgNumMargins</value> -<!-- Custom Table of Contents Gallery --> + <!-- Custom Table of Contents Gallery --> <value>custTblOfContents</value> -<!-- Custom Bibliography Gallery --> + <!-- Custom Bibliography Gallery --> <value>custBib</value> -<!-- Custom 1 Gallery --> + <!-- Custom 1 Gallery --> <value>custom1</value> -<!-- Custom 2 Gallery --> + <!-- Custom 2 Gallery --> <value>custom2</value> -<!-- Custom 3 Gallery --> + <!-- Custom 3 Gallery --> <value>custom3</value> -<!-- Custom 4 Gallery --> + <!-- Custom 4 Gallery --> <value>custom4</value> -<!-- Custom 5 Gallery --> + <!-- Custom 5 Gallery --> <value>custom5</value> </choice> </list> @@ -20827,13 +20912,13 @@ <list> <xs:documentation>Automatic Caption Positioning Values</xs:documentation> <choice> -<!-- Position Caption Above Object --> + <!-- Position Caption Above Object --> <value>above</value> -<!-- Position Caption Below Object --> + <!-- Position Caption Below Object --> <value>below</value> -<!-- Position Caption Left Of Object --> + <!-- Position Caption Left Of Object --> <value>left</value> -<!-- Position Caption Right Of Object --> + <!-- Position Caption Right Of Object --> <value>right</value> </choice> </list> @@ -20963,35 +21048,74 @@ <action name="end" tokenid="ooxml:EG_RunInnerContent_cr" action="cr"/> </resource> <resource name="ST_OnOff" resource="Boolean"/> - <resource name="CT_OnOff" resource="BooleanValue"/> + <resource name="CT_OnOff" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_OnOff_val" action="setValue"/> + <action name="start" action="setDefaultBooleanValue"/> + </resource> <resource name="ST_LongHexNumber" resource="Hex"/> - <resource name="CT_LongHexNumber" resource="HexValue"/> + <resource name="CT_LongHexNumber" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_LongHexNumber_val" action="setValue"/> + <action name="start" action="setDefaultHexValue"/> + </resource> <resource name="ST_ShortHexNumber" resource="Hex"/> - <resource name="CT_ShortHexNumber" resource="IntegerValue"/> + <resource name="CT_ShortHexNumber" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_ShortHexNumber_val" action="setValue"/> + <action name="start" action="setDefaultHexValue"/> + </resource> <resource name="ST_UcharHexNumber" resource="Hex"/> - <resource name="CT_UcharHexNumber" resource="HexValue"/> + <resource name="CT_UcharHexNumber" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_UcharHexNumber_val" action="setValue"/> + <action name="start" action="setDefaultHexValue"/> + </resource> <resource name="ST_DecimalNumber" resource="Integer"/> - <resource name="CT_DecimalNumber" resource="IntegerValue"/> + <resource name="CT_DecimalNumber" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_DecimalNumber_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_UnsignedDecimalNumber" resource="Integer" generated="yes"/> <resource name="ST_TwipsMeasure" resource="Integer"/> - <resource name="CT_TwipsMeasure" resource="IntegerValue"/> + <resource name="CT_TwipsMeasure" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_TwipsMeasure_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_SignedTwipsMeasure" resource="Integer"/> - <resource name="CT_SignedTwipsMeasure" resource="IntegerValue"/> + <resource name="CT_SignedTwipsMeasure" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_SignedTwipsMeasure_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_PixelsMeasure" resource="Integer" generated="yes"/> - <resource name="CT_PixelsMeasure" resource="IntegerValue"/> + <resource name="CT_PixelsMeasure" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_PixelsMeasure_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_HpsMeasure" resource="Integer"/> - <resource name="CT_HpsMeasure" resource="IntegerValue"/> + <resource name="CT_HpsMeasure" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_HpsMeasure_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_SignedHpsMeasure" resource="Integer"/> - <resource name="CT_SignedHpsMeasure" resource="IntegerValue"/> + <resource name="CT_SignedHpsMeasure" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_SignedHpsMeasure_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_DateTime" resource="String" generated="yes"/> <resource name="ST_MacroName" resource="String" generated="yes"/> - <resource name="CT_MacroName" resource="StringValue" generated="yes"/> + <resource name="CT_MacroName" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_MacroName_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_EighthPointMeasure" resource="Integer"/> <resource name="ST_PointMeasure" resource="Integer"/> <resource name="ST_String" resource="String"/> - <resource name="CT_String" resource="StringValue"/> + <resource name="CT_String" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_String_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_TextScale" resource="Integer"/> - <resource name="CT_TextScale" resource="IntegerValue"/> + <resource name="CT_TextScale" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_TextScale_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="ST_HighlightColor" resource="List"> <value tokenid="1">black</value> <value tokenid="2">blue</value> @@ -21011,8 +21135,8 @@ <value tokenid="16">lightGray</value> <value tokenid="0">none</value> </resource> - <resource name="CT_Highlight" resource="ListValue"> - <attribute name="val" tokenid="ooxml:CT_Highlight_val"/> + <resource name="CT_Highlight" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_Highlight_val" action="setValue"/> </resource> <resource name="ST_HexColorAuto" resource="List"> <value tokenid="ooxml:Value_ST_HexColorAuto_auto">auto</value> @@ -21027,12 +21151,14 @@ </resource> <resource name="ST_LangCode" resource="Hex" generated="yes"/> <resource name="ST_Lang" resource="String"/> - <resource name="CT_Lang" resource="StringValue"> - <attribute name="val" tokenid="ooxml:CT_Lang_val"/> + <resource name="CT_Lang" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_Lang_val" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> </resource> <resource name="ST_Guid" resource="String"/> - <resource name="CT_Guid" resource="StringValue"> - <attribute name="val" tokenid="ooxml:CT_Guid_val"/> + <resource name="CT_Guid" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_Guid_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> </resource> <resource name="ST_Underline" resource="List"> <value tokenid="1">single</value> @@ -21070,8 +21196,8 @@ <value tokenid="5">antsRed</value> <value tokenid="6">shimmer</value> </resource> - <resource name="CT_TextEffect" resource="ListValue"> - <attribute name="val" tokenid="ooxml:CT_TextEffect_val"/> + <resource name="CT_TextEffect" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_TextEffect_val" action="setValue"/> </resource> <resource name="ST_Border" resource="List"> <value tokenid="255">nil</value> @@ -21333,8 +21459,14 @@ <value name="superscript" tokenid="ooxml:Value_wordprocessingml_ST_VerticalAlignRun_superscript">superscript</value> <value name="subscript" tokenid="ooxml:Value_wordprocessingml_ST_VerticalAlignRun_subscript">subscript</value> </resource> - <resource name="CT_VerticalAlignRun" resource="StringValue" generated="yes"/> - <resource name="CT_FitText" resource="StringValue" generated="yes"/> + <resource name="CT_VerticalAlignRun" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_VerticalAlignRun_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> + <resource name="CT_FitText" resource="Properties"> + <attribute name="val" tokenid="ooxml:CT_FitText_val"/> + <attribute name="id" tokenid="ooxml:CT_FitText_id"/> + </resource> <resource name="ST_Em" resource="List"> <value tokenid="0">none</value> <value tokenid="1">dot</value> @@ -21342,8 +21474,8 @@ <value tokenid="3">circle</value> <value tokenid="4">underDot</value> </resource> - <resource name="CT_Em" resource="ListValue"> - <attribute name="val" tokenid="ooxml:CT_Em_val"/> + <resource name="CT_Em" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_Em_val" action="setValue"/> </resource> <resource name="CT_Language" resource="Properties"> <attribute name="val" tokenid="ooxml:CT_Language_val"/> @@ -21484,8 +21616,8 @@ <value tokenid="ooxml:Value_ST_Jc_lowKashida">lowKashida</value> <value tokenid="ooxml:Value_ST_Jc_thaiDistribute">thaiDistribute</value> </resource> - <resource name="CT_Jc" resource="ListValue"> - <attribute name="val" tokenid="ooxml:CT_Jc_val"/> + <resource name="CT_Jc" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_Jc_val" action="setValue"/> </resource> <resource name="ST_View" resource="List" generated="yes"> <value name="none" tokenid="ooxml:Value_wordprocessingml_ST_View_none">none</value> @@ -21576,7 +21708,10 @@ <value name="email" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDocType_email">email</value> <value name="fax" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDocType_fax">fax</value> </resource> - <resource name="CT_MailMergeDocType" resource="StringValue" generated="yes"/> + <resource name="CT_MailMergeDocType" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_MailMergeDocType_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_MailMergeDataType" resource="List" generated="yes"> <value name="textFile" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDataType_textFile">textFile</value> <value name="database" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDataType_database">database</value> @@ -21585,19 +21720,28 @@ <value name="odbc" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDataType_odbc">odbc</value> <value name="native" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDataType_native">native</value> </resource> - <resource name="CT_MailMergeDataType" resource="StringValue" generated="yes"/> + <resource name="CT_MailMergeDataType" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_MailMergeDataType_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_MailMergeDest" resource="List" generated="yes"> <value name="newDocument" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDest_newDocument">newDocument</value> <value name="printer" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDest_printer">printer</value> <value name="email" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDest_email">email</value> <value name="fax" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeDest_fax">fax</value> </resource> - <resource name="CT_MailMergeDest" resource="StringValue" generated="yes"/> + <resource name="CT_MailMergeDest" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_MailMergeDest_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_MailMergeOdsoFMDFieldType" resource="List" generated="yes"> <value name="null" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeOdsoFMDFieldType_null">null</value> <value name="dbColumn" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeOdsoFMDFieldType_dbColumn">dbColumn</value> </resource> - <resource name="CT_MailMergeOdsoFMDFieldType" resource="StringValue" generated="yes"/> + <resource name="CT_MailMergeOdsoFMDFieldType" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_MailMergeOdsoFMDFieldType_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="CT_TrackChangesView" resource="Properties"> <attribute name="markup" tokenid="ooxml:CT_TrackChangesView_markup"/> <attribute name="comments" tokenid="ooxml:CT_TrackChangesView_comments"/> @@ -21617,7 +21761,9 @@ <value tokenid="ooxml:Value_ST_TextDirection_tbRlV">tbRlV</value> <value tokenid="ooxml:Value_ST_TextDirection_tbLrV">tbLrV</value> </resource> - <resource name="CT_TextDirection" resource="ListValue"/> + <resource name="CT_TextDirection" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_TextDirection_val" action="setValue"/> + </resource> <resource name="ST_TextAlignment" resource="List" generated="yes"> <value name="top" tokenid="ooxml:Value_wordprocessingml_ST_TextAlignment_top">top</value> <value name="center" tokenid="ooxml:Value_wordprocessingml_ST_TextAlignment_center">center</value> @@ -21625,6 +21771,9 @@ <value name="bottom" tokenid="ooxml:Value_wordprocessingml_ST_TextAlignment_bottom">bottom</value> <value name="auto" tokenid="ooxml:Value_wordprocessingml_ST_TextAlignment_auto">auto</value> </resource> + <resource name="CT_TextAlignment" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_TextAlignment_val" action="setValue"/> + </resource> <resource name="ST_DisplacedByCustomXml" resource="List" generated="yes"> <value name="next" tokenid="ooxml:Value_wordprocessingml_ST_DisplacedByCustomXml_next">next</value> <value name="prev" tokenid="ooxml:Value_wordprocessingml_ST_DisplacedByCustomXml_prev">prev</value> @@ -21640,11 +21789,6 @@ <attribute name="author" tokenid="ooxml:CT_TrackChange_author"/> <attribute name="date" tokenid="ooxml:CT_TrackChange_date"/> </resource> - <resource name="CT_ParaTrackChange" resource="Properties"> - <action name="start" action="tokenproperty"/> - <action name="start" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:paratrackchange"/> - <action name="start" action="clearProps"/> - </resource> <resource name="CT_CellMergeTrackChange" resource="Properties"> <attribute name="vMerge" tokenid="ooxml:CT_CellMergeTrackChange_vMerge"/> <attribute name="vMergeOrig" tokenid="ooxml:CT_CellMergeTrackChange_vMergeOrig"/> @@ -21737,7 +21881,10 @@ <value name="firstLineOnly" tokenid="ooxml:Value_wordprocessingml_ST_TextboxTightWrap_firstLineOnly">firstLineOnly</value> <value name="lastLineOnly" tokenid="ooxml:Value_wordprocessingml_ST_TextboxTightWrap_lastLineOnly">lastLineOnly</value> </resource> - <resource name="CT_TextboxTightWrap" resource="StringValue" generated="yes"/> + <resource name="CT_TextboxTightWrap" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_TextboxTightWrap_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="CT_PPrBase" resource="Properties"> <kind name="paragraph"/> <element name="pStyle" tokenid="ooxml:CT_PPrBase_pStyle"/> @@ -21842,8 +21989,14 @@ <value name="currentDate" tokenid="ooxml:Value_wordprocessingml_ST_FFTextType_currentDate">currentDate</value> <value name="calculated" tokenid="ooxml:Value_wordprocessingml_ST_FFTextType_calculated">calculated</value> </resource> - <resource name="CT_FFTextType" resource="StringValue" generated="yes"/> - <resource name="CT_FFName" resource="StringValue" generated="yes"/> + <resource name="CT_FFTextType" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_FFTextType_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> + <resource name="CT_FFName" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_FFName_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="CT_FldChar" resource="Stream"> <element name="fldData" tokenid="ooxml:CT_FldChar_fldData"/> <element name="ffData" tokenid="ooxml:CT_FldChar_ffData"/> @@ -21873,8 +22026,26 @@ <action name="start" action="fieldsep"/> <action name="end" action="fieldend"/> </resource> - <resource name="CT_FFHelpText" resource="StringValue" generated="yes"/> - <resource name="CT_FFStatusText" resource="StringValue" generated="yes"/> + <resource name="CT_FFData" resource="Properties"> + <element name="name" tokenid="ooxml:CT_FFData_name"/> + <element name="enabled" tokenid="ooxml:CT_FFData_enabled"/> + <element name="calcOnExit" tokenid="ooxml:CT_FFData_calcOnExit"/> + <element name="entryMacro" tokenid="ooxml:CT_FFData_entryMacro"/> + <element name="exitMacro" tokenid="ooxml:CT_FFData_exitMacro"/> + <element name="helpText" tokenid="ooxml:CT_FFData_helpText"/> + <element name="statusText" tokenid="ooxml:CT_FFData_statusText"/> + <element name="checkBox" tokenid="ooxml:CT_FFData_checkBox"/> + <element name="ddList" tokenid="ooxml:CT_FFData_ddList"/> + <element name="textInput" tokenid="ooxml:CT_FFData_textInput"/> + </resource> + <resource name="CT_FFHelpText" resource="Properties"> + <attribute name="type" tokenid="ooxml:CT_FFHelpText_type"/> + <attribute name="val" tokenid="ooxml:CT_FFHelpText_val"/> + </resource> + <resource name="CT_FFStatusText" resource="Properties"> + <attribute name="type" tokenid="ooxml:CT_FFStatusText_type"/> + <attribute name="val" tokenid="ooxml:CT_FFStatusText_val"/> + </resource> <resource name="ST_SectionMark" resource="List"> <value tokenid="0">continuous</value> <value tokenid="1">nextColumn</value> @@ -21882,7 +22053,9 @@ <value tokenid="3">evenPage</value> <value tokenid="4">oddPage</value> </resource> - <resource name="CT_SectType" resource="ListValue"/> + <resource name="CT_SectType" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_SectType_val" action="setValue"/> + </resource> <resource name="ST_NumberFormat" resource="List"> <value tokenid="ooxml:Value_ST_NumberFormat_decimal">decimal</value> <value tokenid="ooxml:Value_ST_NumberFormat_upperRoman">upperRoman</value> @@ -22027,7 +22200,9 @@ <value tokenid="2">both</value> <value tokenid="3">bottom</value> </resource> - <resource name="CT_VerticalJc" resource="ListValue"/> + <resource name="CT_VerticalJc" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_VerticalJc_val" action="setValue"/> + </resource> <resource name="ST_DocGrid" resource="List" generated="yes"> <value name="default" tokenid="ooxml:Value_wordprocessingml_ST_DocGrid_default">default</value> <value name="lines" tokenid="ooxml:Value_wordprocessingml_ST_DocGrid_lines">lines</value> @@ -22282,6 +22457,11 @@ <element name="del" tokenid="ooxml:CT_ParaRPr_del"/> <element name="rPrChange" tokenid="ooxml:CT_ParaRPr_rPrChange"/> </resource> + <resource name="CT_ParaTrackChange" resource="Properties"> + <action name="start" action="tokenproperty"/> + <action name="start" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:paratrackchange"/> + <action name="start" action="clearProps"/> + </resource> <resource name="ST_RubyAlign" resource="List" generated="yes"> <value name="center" tokenid="ooxml:Value_wordprocessingml_ST_RubyAlign_center">center</value> <value name="distributeLetter" tokenid="ooxml:Value_wordprocessingml_ST_RubyAlign_distributeLetter">distributeLetter</value> @@ -22290,20 +22470,29 @@ <value name="right" tokenid="ooxml:Value_wordprocessingml_ST_RubyAlign_right">right</value> <value name="rightVertical" tokenid="ooxml:Value_wordprocessingml_ST_RubyAlign_rightVertical">rightVertical</value> </resource> - <resource name="CT_RubyAlign" resource="StringValue" generated="yes"/> + <resource name="CT_RubyAlign" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_RubyAlign_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_Lock" resource="List" generated="yes"> <value name="sdtLocked" tokenid="ooxml:Value_wordprocessingml_ST_Lock_sdtLocked">sdtLocked</value> <value name="contentLocked" tokenid="ooxml:Value_wordprocessingml_ST_Lock_contentLocked">contentLocked</value> <value name="unlocked" tokenid="ooxml:Value_wordprocessingml_ST_Lock_unlocked">unlocked</value> <value name="sdtContentLocked" tokenid="ooxml:Value_wordprocessingml_ST_Lock_sdtContentLocked">sdtContentLocked</value> </resource> - <resource name="CT_Lock" resource="StringValue" generated="yes"/> + <resource name="CT_Lock" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_Lock_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_SdtDateMappingType" resource="List" generated="yes"> <value name="text" tokenid="ooxml:Value_wordprocessingml_ST_SdtDateMappingType_text">text</value> <value name="date" tokenid="ooxml:Value_wordprocessingml_ST_SdtDateMappingType_date">date</value> <value name="dateTime" tokenid="ooxml:Value_wordprocessingml_ST_SdtDateMappingType_dateTime">dateTime</value> </resource> - <resource name="CT_SdtDateMappingType" resource="StringValue" generated="yes"/> + <resource name="CT_SdtDateMappingType" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_SdtDateMappingType_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_CalendarType" resource="List" generated="yes"> <value name="gregorian" tokenid="ooxml:Value_wordprocessingml_ST_CalendarType_gregorian">gregorian</value> <value name="hijri" tokenid="ooxml:Value_wordprocessingml_ST_CalendarType_hijri">hijri</value> @@ -22316,9 +22505,16 @@ <value name="gregorianXlitEnglish" tokenid="ooxml:Value_wordprocessingml_ST_CalendarType_gregorianXlitEnglish">gregorianXlitEnglish</value> <value name="gregorianXlitFrench" tokenid="ooxml:Value_wordprocessingml_ST_CalendarType_gregorianXlitFrench">gregorianXlitFrench</value> </resource> - <resource name="CT_CalendarType" resource="StringValue" generated="yes"/> + <resource name="CT_CalendarType" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_CalendarType_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="CT_SdtContentRun" resource="Properties"/> - <resource name="CT_Attr" resource="StringValue" generated="yes"/> + <resource name="CT_Attr" resource="Properties"> + <attribute name="uri" tokenid="ooxml:CT_Attr_uri"/> + <attribute name="name" tokenid="ooxml:CT_Attr_name"/> + <attribute name="val" tokenid="ooxml:CT_Attr_val"/> + </resource> <resource name="CT_CustomXmlRun" resource="Properties"> <element name="customXmlPr" tokenid="ooxml:CT_CustomXmlRun_customXmlPr"/> <attribute name="uri" tokenid="ooxml:CT_CustomXmlRun_uri"/> @@ -22355,13 +22551,16 @@ <attribute name="w" tokenid="ooxml:CT_TblWidth_w"/> <attribute name="type" tokenid="ooxml:CT_TblWidth_type"/> </resource> - <resource name="CT_TblGridCol" resource="IntegerValue"/> + <resource name="CT_TblGridCol" resource="Value"> + <attribute name="w" tokenid="ooxml:CT_TblGridCol_w" action="setValue"/> + <action name="start" action="setDefaultIntegerValue"/> + </resource> <resource name="CT_TblGridBase" resource="Properties"> <element name="gridCol" tokenid="ooxml:CT_TblGridBase_gridCol"/> </resource> <resource name="CT_TblGrid" resource="Properties"> <element name="tblGridChange" tokenid="ooxml:CT_TblGrid_tblGridChange"/> - <action name="end" action="propagateCharacterProperties"/> + <action name="end" action="propagateTableProperties"/> <action name="end" action="clearProps"/> </resource> <resource name="CT_TcBorders" resource="Properties"> @@ -22387,11 +22586,11 @@ <value tokenid="ooxml:Value_ST_Merge_restart">restart</value> <default tokenid="ooxml:Value_ST_Merge_continue"/> </resource> - <resource name="CT_VMerge" resource="ListValue"> - <default tokenid="ooxml:Value_ST_Merge_continue"/> + <resource name="CT_VMerge" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_VMerge_val" action="setValue"/> </resource> - <resource name="CT_HMerge" resource="ListValue"> - <default tokenid="ooxml:Value_ST_Merge_continue"/> + <resource name="CT_HMerge" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_HMerge_val" action="setValue"/> </resource> <resource name="CT_TcPrBase" resource="Properties"> <kind name="table"/> @@ -22411,17 +22610,21 @@ </resource> <resource name="CT_TcPr" resource="Properties"> <element name="tcPrChange" tokenid="ooxml:CT_TcPr_tcPrChange"/> - <action name="end" action="propagateCharacterProperties"/> + <action name="end" action="propagateCellProperties"/> <action name="end" action="clearProps"/> </resource> <resource name="CT_TcPrInner" resource="Properties"/> <resource name="CT_Tc" resource="TextTableCell"> <action name="start" action="startCell"/> <action name="end" action="endCell"/> + <action name="end" action="sendCellProperties"/> <action name="end" action="endParagraphGroup"/> </resource> <resource name="ST_Cnf" resource="String" generated="yes"/> - <resource name="CT_Cnf" resource="StringValue" generated="yes"/> + <resource name="CT_Cnf" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_Cnf_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="CT_TrPrBase" resource="Properties"> <kind name="table"/> <element name="cnfStyle" tokenid="ooxml:CT_TrPrBase_cnfStyle"/> @@ -22442,9 +22645,15 @@ <element name="ins" tokenid="ooxml:CT_TrPr_ins"/> <element name="del" tokenid="ooxml:CT_TrPr_del"/> <element name="trPrChange" tokenid="ooxml:CT_TrPr_trPrChange"/> - <action name="end" action="propagateTableProperties"/> + <action name="end" action="propagateRowProperties"/> + <action name="end" action="clearProps"/> + </resource> + <resource name="CT_Row" resource="TextTableRow"> + <action name="start" action="startRow"/> + <action name="end" action="sendRowProperties"/> + <action name="end" action="sendTableProperties"/> + <action name="end" action="endRow"/> </resource> - <resource name="CT_Row" resource="TextTableRow"/> <resource name="ST_TblLayoutType" resource="List" generated="yes"> <value name="fixed" tokenid="ooxml:Value_wordprocessingml_ST_TblLayoutType_fixed">fixed</value> <value name="autofit" tokenid="ooxml:Value_wordprocessingml_ST_TblLayoutType_autofit">autofit</value> @@ -22453,7 +22662,9 @@ <value tokenid="ooxml:Value_ST_TblOverlap_never">never</value> <value tokenid="ooxml:Value_ST_TblOverlap_overlap">overlap</value> </resource> - <resource name="CT_TblOverlap" resource="ListValue"/> + <resource name="CT_TblOverlap" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_TblOverlap_val" action="setValue"/> + </resource> <resource name="CT_TblCellMar" resource="Properties"> <element name="top" tokenid="ooxml:CT_TblCellMar_top"/> <element name="left" tokenid="ooxml:CT_TblCellMar_left"/> @@ -22490,7 +22701,7 @@ <resource name="CT_TblPr" resource="Properties"> <kind name="table"/> <element name="tblPrChange" tokenid="ooxml:CT_TblPr_tblPrChange"/> - <action name="end" action="propagateCharacterProperties"/> + <action name="end" action="propagateTableProperties"/> <action name="end" action="clearProps"/> </resource> <resource name="CT_Tbl" resource="TextTable"/> @@ -22500,34 +22711,37 @@ <value tokenid="ooxml:Value_ST_FtnPos_sectEnd">sectEnd</value> <value tokenid="ooxml:Value_ST_FtnPos_docEnd">docEnd</value> </resource> - <resource name="CT_FtnPos" resource="ListValue"> - <attribute name="val" tokenid="ooxml:CT_FtnPos_val"/> + <resource name="CT_FtnPos" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_FtnPos_val" action="setValue"/> </resource> <resource name="ST_EdnPos" resource="List"> <value tokenid="ooxml:Value_ST_EdnPos_sectEnd">sectEnd</value> <value tokenid="ooxml:Value_ST_EdnPos_docEnd">docEnd</value> </resource> - <resource name="CT_EdnPos" resource="ListValue"> - <attribute name="val" tokenid="ooxml:CT_EdnPos_val"/> + <resource name="CT_EdnPos" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_EdnPos_val" action="setValue"/> </resource> - <resource name="CT_NumFmt" resource="ListValue"> - <attribute name="val" tokenid="ooxml:CT_NumFmt_val"/> + <resource name="CT_NumFmt" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_NumFmt_val" action="setValue"/> </resource> <resource name="ST_RestartNumber" resource="List"> <value tokenid="ooxml:Value_ST_RestartNumber_continuous">continuous</value> <value tokenid="ooxml:Value_ST_RestartNumber_eachSect">eachSect</value> <value tokenid="ooxml:Value_ST_RestartNumber_eachPage">eachPage</value> </resource> - <resource name="CT_NumRestart" resource="ListValue"> - <attribute name="val" tokenid="ooxml:CT_NumRestart_val"/> + <resource name="CT_NumRestart" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_NumRestart_val" action="setValue"/> </resource> <resource name="CT_FtnEdnRef" resource="Properties"> <attribute name="customMarkFollows" tokenid="ooxml:CT_FtnEdnRef_customMarkFollows"/> <attribute name="id" tokenid="ooxml:CT_FtnEdnRef_id" action="setXNoteId"/> <action name="end" action="handleXNotes"/> </resource> + <resource name="CT_FtnEdnSepRef" resource="Properties"> + <attribute name="id" tokenid="ooxml:CT_FtnEdnSepRef_id"/> + </resource> <resource name="CT_FtnEdn" resource="XNote"> - <attribute name="type" tokenid="ooxml:CT_FtnEdn_type" action="checkXNoteType"/> + <attribute name="type" tokenid="ooxml:CT_FtnEdn_type"/> <attribute name="id" tokenid="ooxml:CT_FtnEdn_id" action="checkId"/> <action name="start" action="propagateCharacterProperties"/> <action name="end" action="endSectionGroup"/> @@ -22564,7 +22778,10 @@ <value name="legacy" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeSourceType_legacy">legacy</value> <value name="master" tokenid="ooxml:Value_wordprocessingml_ST_MailMergeSourceType_master">master</value> </resource> - <resource name="CT_MailMergeSourceType" resource="StringValue" generated="yes"/> + <resource name="CT_MailMergeSourceType" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_MailMergeSourceType_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="CT_MailMerge" resource="Properties"> <element name="mainDocumentType" tokenid="ooxml:CT_MailMerge_mainDocumentType"/> <element name="linkToQuery" tokenid="ooxml:CT_MailMerge_linkToQuery"/> @@ -22596,7 +22813,10 @@ <value name="1800x1440" tokenid="ooxml:Value_wordprocessingml_ST_TargetScreenSz_1800x1440">1800x1440</value> <value name="1920x1200" tokenid="ooxml:Value_wordprocessingml_ST_TargetScreenSz_1920x1200">1920x1200</value> </resource> - <resource name="CT_TargetScreenSz" resource="StringValue" generated="yes"/> + <resource name="CT_TargetScreenSz" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_TargetScreenSz_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="CT_Compat" resource="Properties"> <element name="useSingleBorderforContiguousCells" tokenid="ooxml:CT_Compat_useSingleBorderforContiguousCells"/> <element name="wpJustification" tokenid="ooxml:CT_Compat_wpJustification"/> @@ -22664,7 +22884,10 @@ <element name="useAnsiKerningPairs" tokenid="ooxml:CT_Compat_useAnsiKerningPairs"/> <element name="cachedColBalance" tokenid="ooxml:CT_Compat_cachedColBalance"/> </resource> - <resource name="CT_DocVar" resource="StringValue" generated="yes"/> + <resource name="CT_DocVar" resource="Properties"> + <attribute name="name" tokenid="ooxml:CT_DocVar_name"/> + <attribute name="val" tokenid="ooxml:CT_DocVar_val"/> + </resource> <resource name="CT_DocRsids" resource="Properties"> <element name="rsidRoot" tokenid="ooxml:CT_DocRsids_rsidRoot"/> <element name="rsid" tokenid="ooxml:CT_DocRsids_rsid"/> @@ -22674,7 +22897,10 @@ <value name="compressPunctuation" tokenid="ooxml:Value_wordprocessingml_ST_CharacterSpacing_compressPunctuation">compressPunctuation</value> <value name="compressPunctuationAndJapaneseKana" tokenid="ooxml:Value_wordprocessingml_ST_CharacterSpacing_compressPunctuationAndJapaneseKana">compressPunctuationAndJapaneseKana</value> </resource> - <resource name="CT_CharacterSpacing" resource="StringValue" generated="yes"/> + <resource name="CT_CharacterSpacing" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_CharacterSpacing_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="CT_SaveThroughXslt" resource="Properties"> <attribute name="r:id" tokenid="ooxml:CT_SaveThroughXslt_r_id"/> <attribute name="solutionID" tokenid="ooxml:CT_SaveThroughXslt_solutionID"/> @@ -22816,19 +23042,28 @@ <value name="off" tokenid="ooxml:Value_wordprocessingml_ST_FrameScrollbar_off">off</value> <value name="auto" tokenid="ooxml:Value_wordprocessingml_ST_FrameScrollbar_auto">auto</value> </resource> - <resource name="CT_FrameScrollbar" resource="StringValue" generated="yes"/> + <resource name="CT_FrameScrollbar" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_FrameScrollbar_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_FrameLayout" resource="List" generated="yes"> <value name="rows" tokenid="ooxml:Value_wordprocessingml_ST_FrameLayout_rows">rows</value> <value name="cols" tokenid="ooxml:Value_wordprocessingml_ST_FrameLayout_cols">cols</value> <value name="none" tokenid="ooxml:Value_wordprocessingml_ST_FrameLayout_none">none</value> </resource> - <resource name="CT_FrameLayout" resource="StringValue" generated="yes"/> + <resource name="CT_FrameLayout" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_FrameLayout_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_LevelSuffix" resource="List" generated="yes"> <value name="tab" tokenid="ooxml:Value_wordprocessingml_ST_LevelSuffix_tab">tab</value> <value name="space" tokenid="ooxml:Value_wordprocessingml_ST_LevelSuffix_space">space</value> <value name="nothing" tokenid="ooxml:Value_wordprocessingml_ST_LevelSuffix_nothing">nothing</value> </resource> - <resource name="CT_LevelSuffix" resource="StringValue" generated="yes"/> + <resource name="CT_LevelSuffix" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_LevelSuffix_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="CT_LevelText" resource="Properties"> <attribute name="val" tokenid="ooxml:CT_LevelText_val"/> <attribute name="null" tokenid="ooxml:CT_LevelText_null"/> @@ -22848,7 +23083,7 @@ <element name="suff" tokenid="ooxml:CT_Lvl_suff"/> <element name="lvlText" tokenid="ooxml:CT_Lvl_lvlText"/> <element name="lvlPicBulletId" tokenid="ooxml:CT_Lvl_lvlPicBulletId"/> - <element name="legacy" tokenid="rtf:FWORD6"/> + <element name="legacy" tokenid="rtf:FCONVERTED"/> <element name="lvlJc" tokenid="ooxml:CT_Lvl_lvlJc"/> <element name="pPr" tokenid="ooxml:CT_Lvl_pPr"/> <element name="rPr" tokenid="ooxml:CT_Lvl_rPr"/> @@ -22861,7 +23096,9 @@ <value tokenid="ooxml:Value_ST_MultiLevelType_multilevel">multilevel</value> <value tokenid="ooxml:Value_ST_MultiLevelType_hybridMultilevel">hybridMultilevel</value> </resource> - <resource name="CT_MultiLevelType" resource="ListValue"/> + <resource name="CT_MultiLevelType" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_MultiLevelType_val" action="setValue"/> + </resource> <resource name="CT_AbstractNum" resource="Properties"> <kind name="paragraph"/> <element name="nsid" tokenid="rtf:LSID"/> @@ -22907,12 +23144,6 @@ <value tokenid="12">seCell</value> <value tokenid="13">swCell</value> </resource> - <resource name="ST_StyleType" resource="List"> - <value tokenid="1">paragraph</value> - <value tokenid="2">character</value> - <value tokenid="3">table</value> - <value tokenid="4">numbering</value> - </resource> <resource name="CT_Style_tblStylePr" resource="Properties"> <element name="pPr" tokenid="ooxml:CT_PPrBase"/> <element name="rPr" tokenid="ooxml:EG_RPrBase"/> @@ -22921,6 +23152,12 @@ <element name="tcPr" tokenid="ooxml:CT_TcPrBase"/> <attribute name="type" tokenid="ooxml:CT_TblStyleOverrideType"/> </resource> + <resource name="ST_StyleType" resource="List"> + <value tokenid="1">paragraph</value> + <value tokenid="2">character</value> + <value tokenid="3">table</value> + <value tokenid="4">numbering</value> + </resource> <resource name="CT_Style" resource="Properties"> <element name="name" tokenid="ooxml:CT_Style_name"/> <element name="aliases" tokenid="ooxml:CT_Style_aliases"/> @@ -22951,7 +23188,10 @@ </resource> <resource name="CT_Styles" resource="Table" tokenid="rtf:STYLESHEET"/> <resource name="ST_Panose" resource="Hex"/> - <resource name="CT_Panose" resource="HexValue"/> + <resource name="CT_Panose" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_Panose_val" action="setValue"/> + <action name="start" action="setDefaultHexValue"/> + </resource> <resource name="ST_FontFamily" resource="List"> <value tokenid="ooxml:Value_ST_FontFamily_decorative">decorative</value> <value tokenid="ooxml:Value_ST_FontFamily_modern">modern</value> @@ -22960,13 +23200,17 @@ <value tokenid="ooxml:Value_ST_FontFamily_swiss">swiss</value> <value tokenid="ooxml:Value_ST_FontFamily_auto">auto</value> </resource> - <resource name="CT_FontFamily" resource="ListValue"/> + <resource name="CT_FontFamily" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_FontFamily_val" action="setValue"/> + </resource> <resource name="ST_Pitch" resource="List"> <value tokenid="ooxml:Value_ST_Pitch_fixed">fixed</value> <value tokenid="ooxml:Value_ST_Pitch_variable">variable</value> <value tokenid="ooxml:Value_ST_Pitch_default">default</value> </resource> - <resource name="CT_Pitch" resource="ListValue"/> + <resource name="CT_Pitch" resource="Value"> + <attribute name="val" tokenid="ooxml:CT_Pitch_val" action="setValue"/> + </resource> <resource name="CT_FontSig" resource="Properties"> <attribute name="usb0" tokenid="ooxml:CT_FontSig_usb0"/> <attribute name="usb1" tokenid="ooxml:CT_FontSig_usb1"/> @@ -23008,7 +23252,7 @@ </resource> <resource name="CT_Body" resource="Stream"> <action name="start" action="startSectionGroup"/> -<!-- + <!-- <action name="start" action="footnoteSeparator"/> <action name="start" action="footnoteCont"/> <action name="start" action="endnoteSeparator"/> @@ -23033,31 +23277,14 @@ <attribute name="strokecolor" tokenid="ooxml:CT_ShapeDefaults_strokecolor"/> <attribute name="allowincell" tokenid="ooxml:CT_ShapeDefaults_allowincell"/> </resource> - <resource name="CT_ShapeDefaults" resource="Properties"> - <element name="" tokenid="ooxml:CT_ShapeDefaults_"/> - </resource> - <resource name="CT_ShapeDefaults" resource="Properties"> - <element name="v:fill" tokenid="ooxml:CT_ShapeDefaults_v_fill"/> - <element name="v:stroke" tokenid="ooxml:CT_ShapeDefaults_v_stroke"/> - <element name="v:textbox" tokenid="ooxml:CT_ShapeDefaults_v_textbox"/> - <element name="v:shadow" tokenid="ooxml:CT_ShapeDefaults_v_shadow"/> - <element name="colormru" tokenid="ooxml:CT_ShapeDefaults_colormru"/> - <element name="colormenu" tokenid="ooxml:CT_ShapeDefaults_colormenu"/> - <attribute name="spidmax" tokenid="ooxml:CT_ShapeDefaults_spidmax"/> - <attribute name="style" tokenid="ooxml:CT_ShapeDefaults_style"/> - <attribute name="fill" tokenid="ooxml:CT_ShapeDefaults_fill"/> - <attribute name="fillcolor" tokenid="ooxml:CT_ShapeDefaults_fillcolor"/> - <attribute name="stroke" tokenid="ooxml:CT_ShapeDefaults_stroke"/> - <attribute name="strokecolor" tokenid="ooxml:CT_ShapeDefaults_strokecolor"/> - <attribute name="allowincell" tokenid="ooxml:CT_ShapeDefaults_allowincell"/> - </resource> - <resource name="CT_ShapeDefaults" resource="Properties"> - <element name="" tokenid="ooxml:CT_ShapeDefaults_"/> - </resource> <resource name="CT_Comments" resource="Stream"> <action name="start" action="startSectionGroup"/> <action name="end" action="endSectionGroup"/> </resource> + <resource name="CT_Footnotes" resource="Stream"/> + <resource name="footnotes" resource="Stream"/> + <resource name="CT_Endnotes" resource="Stream"/> + <resource name="endnotes" resource="Stream"/> <resource name="CT_SmartTagType" resource="Properties"> <attribute name="namespaceuri" tokenid="ooxml:CT_SmartTagType_namespaceuri"/> <attribute name="name" tokenid="ooxml:CT_SmartTagType_name"/> @@ -23087,7 +23314,10 @@ <value name="p" tokenid="ooxml:Value_wordprocessingml_ST_DocPartBehavior_p">p</value> <value name="pg" tokenid="ooxml:Value_wordprocessingml_ST_DocPartBehavior_pg">pg</value> </resource> - <resource name="CT_DocPartBehavior" resource="StringValue" generated="yes"/> + <resource name="CT_DocPartBehavior" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_DocPartBehavior_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_DocPartType" resource="List" generated="yes"> <value name="none" tokenid="ooxml:Value_wordprocessingml_ST_DocPartType_none">none</value> <value name="normal" tokenid="ooxml:Value_wordprocessingml_ST_DocPartType_normal">normal</value> @@ -23097,7 +23327,10 @@ <value name="formFld" tokenid="ooxml:Value_wordprocessingml_ST_DocPartType_formFld">formFld</value> <value name="bbPlcHdr" tokenid="ooxml:Value_wordprocessingml_ST_DocPartType_bbPlcHdr">bbPlcHdr</value> </resource> - <resource name="CT_DocPartType" resource="StringValue" generated="yes"/> + <resource name="CT_DocPartType" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_DocPartType_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> <resource name="ST_DocPartGallery" resource="List" generated="yes"> <value name="placeholder" tokenid="ooxml:Value_wordprocessingml_ST_DocPartGallery_placeholder">placeholder</value> <value name="any" tokenid="ooxml:Value_wordprocessingml_ST_DocPartGallery_any">any</value> @@ -23138,12 +23371,26 @@ <value name="custom4" tokenid="ooxml:Value_wordprocessingml_ST_DocPartGallery_custom4">custom4</value> <value name="custom5" tokenid="ooxml:Value_wordprocessingml_ST_DocPartGallery_custom5">custom5</value> </resource> - <resource name="CT_DocPartGallery" resource="StringValue" generated="yes"/> - <resource name="CT_DocPartName" resource="StringValue" generated="yes"/> + <resource name="CT_DocPartGallery" resource="Value" generated="yes"> + <attribute name="val" tokenid="ooxml:CT_DocPartGallery_val" action="setValue"/> + <action name="start" action="setDefaultStringValue"/> + </resource> + <resource name="CT_DocPartName" resource="Properties"> + <attribute name="val" tokenid="ooxml:CT_DocPartName_val"/> + <attribute name="decorated" tokenid="ooxml:CT_DocPartName_decorated"/> + </resource> <resource name="settings" resource="Stream"> <element name="settings" tokenid="ooxml:settings_settings"/> </resource> - <resource name="numbering" resource="Stream"/> + <resource name="fonts" resource="Stream"> + <element name="fonts" tokenid="rtf:FONTTABLE"/> + </resource> + <resource name="numbering" resource="Stream"> + <element name="numbering" tokenid="ooxml:NUMBERING"/> + </resource> + <resource name="styles" resource="Stream"> + <element name="styles" tokenid="rtf:STYLESHEET"/> + </resource> <resource name="ST_CaptionPos" resource="List" generated="yes"> <value name="above" tokenid="ooxml:Value_wordprocessingml_ST_CaptionPos_above">above</value> <value name="below" tokenid="ooxml:Value_wordprocessingml_ST_CaptionPos_below">below</value> diff --git a/writerfilter/source/ooxml/modelcleanup.xsl b/writerfilter/source/ooxml/modelcleanup.xsl index 364d41a6bc9c..d7a9aec40100 100644 --- a/writerfilter/source/ooxml/modelcleanup.xsl +++ b/writerfilter/source/ooxml/modelcleanup.xsl @@ -34,7 +34,7 @@ xmlns:xalan="http://xml.apache.org/xalan" exclude-result-prefixes = "xalan" xml:indent="true"> - <xsl:output method="xml" /> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no"/> <xsl:key name="resources" @@ -85,6 +85,116 @@ </xsl:element> </xsl:template> + <xsl:template name="typeofdefine"> + <xsl:for-each select="rng:data"> + <xsl:choose> + <xsl:when test="@type='base64Binary'"> + <xsl:text>String</xsl:text> + </xsl:when> + <xsl:when test="@type='boolean'"> + <xsl:text>Boolean</xsl:text> + </xsl:when> + <xsl:when test="@type='byte'"> + <xsl:text>Integer</xsl:text> + </xsl:when> + <xsl:when test="@type='dateTime'"> + <xsl:text>String</xsl:text> + </xsl:when> + <xsl:when test="@type='decimal'"> + <xsl:text>Integer</xsl:text> + </xsl:when> + <xsl:when test="@type='float'"> + <xsl:text>Float</xsl:text> + </xsl:when> + <xsl:when test="@type='hexBinary'"> + <xsl:text>Hex</xsl:text> + </xsl:when> + <xsl:when test="@type='int'"> + <xsl:text>Integer</xsl:text> + </xsl:when> + <xsl:when test="@type='integer'"> + <xsl:text>Integer</xsl:text> + </xsl:when> + <xsl:when test="@type='positiveInteger'"> + <xsl:text>Integer</xsl:text> + </xsl:when> + <xsl:when test="@type='string'"> + <xsl:text>String</xsl:text> + </xsl:when> + <xsl:when test="@type='token'"> + <xsl:text>Integer</xsl:text> + </xsl:when> + <xsl:when test="@type='unsignedInt'"> + <xsl:text>Integer</xsl:text> + </xsl:when> + <xsl:when test="@type='unsignedLong'"> + <xsl:text>Integer</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>Unknown</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:template> + + <xsl:template name="typeofattribute"> + <xsl:for-each select="rng:ref"> + <xsl:variable name="name" select="@name"/> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:call-template name="typeofdefine"/> + </xsl:for-each> + </xsl:for-each> + </xsl:template> + + <xsl:template name="generatevalueresource"> + <xsl:variable name="name" select="@name"/> + <resource> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:attribute name="resource">Value</xsl:attribute> + <xsl:attribute name="generated">yes</xsl:attribute> + <xsl:for-each select=".//rng:attribute"> + <xsl:variable name="type"> + <xsl:choose> + <xsl:when test="rng:ref[@name='ST_OnOff']"> + <xsl:text>Boolean</xsl:text> + </xsl:when> + <xsl:when test="rng:text"> + <xsl:text>String</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="typeofattribute"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <attribute> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:attribute name="tokenid"> + <xsl:text>ooxml:</xsl:text> + <xsl:value-of select="$name"/> + <xsl:text>_</xsl:text> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:attribute name="action"> + <xsl:text>setValue</xsl:text> + </xsl:attribute> + </attribute> + <xsl:if test="string-length($type) > 0"> + <action name="start"> + <xsl:attribute name="action"> + <xsl:text>setDefault</xsl:text> + <xsl:value-of select="$type"/> + <xsl:text>Value</xsl:text> + </xsl:attribute> + </action> + </xsl:if> + </xsl:for-each> + </resource> + </xsl:template> + <xsl:template match="namespace"> <xsl:variable name="nsid" select="generate-id(.)"/> <xsl:element name="namespace"> @@ -97,10 +207,8 @@ <xsl:copy-of select="$resources"/> <xsl:if test="count($resources) = 0"> <xsl:if test="substring(@name, 1, 3) = 'CT_'"> - <xsl:if test="./rng:attribute[@name='val']/rng:text"> - <xsl:call-template name="generateresource"> - <xsl:with-param name="resource">StringValue</xsl:with-param> - </xsl:call-template> + <xsl:if test="./rng:attribute[@name='val']"> + <xsl:call-template name="generatevalueresource"/> </xsl:if> </xsl:if> <xsl:if test="substring(@name, 1, 3) = 'ST_'"> diff --git a/writerfilter/source/ooxml/modelpreprocess.xsl b/writerfilter/source/ooxml/modelpreprocess.xsl index 2a78f8e748a6..0b898e63f933 100644 --- a/writerfilter/source/ooxml/modelpreprocess.xsl +++ b/writerfilter/source/ooxml/modelpreprocess.xsl @@ -60,8 +60,6 @@ xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> <xsl:output method="xml" /> - <!--<xsl:include href="resourcestools.xsl"/>--> - <xsl:key name="namespace-aliases" match="//namespace-alias" use="@name"/> <xsl:template match="/"> @@ -100,7 +98,7 @@ <xsl:value-of select="ancestor::namespace/rng:grammar/@ns"/> </xsl:template> - <xsl:template match="rng:element[@name] | rng:attribute[@name] | element | attribute"> + <xsl:template match="rng:element[@name|./rng:anyName] | rng:attribute[@name] | element | attribute"> <xsl:variable name="prefix"> <xsl:choose> <xsl:when test="contains(@name, ':')"> @@ -110,7 +108,7 @@ </xsl:call-template> </xsl:when> <xsl:when test="name(.)='attribute'"> - <xsl:if test="ancestor::rng:grammar/@attributeFormDefault='qualified'"> + <xsl:if test="ancestor::namespace/rng:grammar/@attributeFormDefault='qualified'"> <xsl:call-template name="prefixforgrammar"/> </xsl:if> </xsl:when> @@ -140,6 +138,9 @@ <xsl:when test="contains(@name, ':')"> <xsl:value-of select="substring-after(@name, ':')"/> </xsl:when> + <xsl:when test="./rng:anyName"> + <xsl:text>FAST_TOKENS_END</xsl:text> + </xsl:when> <xsl:otherwise> <xsl:value-of select="@name"/> </xsl:otherwise> diff --git a/writerfilter/source/ooxml/namespaceids.xsl b/writerfilter/source/ooxml/namespaceids.xsl index 318155c47fdc..45828761da0c 100644 --- a/writerfilter/source/ooxml/namespaceids.xsl +++ b/writerfilter/source/ooxml/namespaceids.xsl @@ -58,7 +58,18 @@ <xsl:output method="text" /> <xsl:param name="prefix"/> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> + +<xsl:template name="namespaceids"> + <xsl:for-each select="//namespace-alias"> + <xsl:text> +const sal_uInt32 </xsl:text> +<xsl:call-template name="namespaceid"/> +<xsl:text> = </xsl:text> +<xsl:value-of select="@id"/> +<xsl:text> << 16;</xsl:text> + </xsl:for-each> +</xsl:template> <xsl:template match="/"> <out xml:space="preserve"> diff --git a/writerfilter/source/ooxml/nostatus.xsl b/writerfilter/source/ooxml/nostatus.xsl new file mode 100644 index 000000000000..e2e113c6a602 --- /dev/null +++ b/writerfilter/source/ooxml/nostatus.xsl @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:output method="text"/> + +<xsl:template match="/"> + <xsl:for-each select="/stage3"> + <xsl:for-each select="attribute|element"> + <xsl:for-each select="file[nostatus]"> + <xsl:value-of select="@name"/> + <xsl:text>:</xsl:text> + <xsl:value-of select="@line"/> + <xsl:text>
</xsl:text> + </xsl:for-each> + </xsl:for-each> + </xsl:for-each> +</xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/qnametostr.xsl b/writerfilter/source/ooxml/qnametostr.xsl index 888eb36325e8..1c0a706df56d 100644 --- a/writerfilter/source/ooxml/qnametostr.xsl +++ b/writerfilter/source/ooxml/qnametostr.xsl @@ -63,7 +63,66 @@ xml:space="default"> <xsl:output method="text" /> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> + + <!-- + Generates mapping from tokenids to strings. (DEBUG) + --> + <xsl:template name="qnametostr"> + <xsl:text> +void QNameToString::init_ooxml() +{ + /* ooxml */ + </xsl:text> + <xsl:for-each select="//@tokenid"> + <xsl:if test="generate-id(.) = generate-id(key('tokenids', .)[1]) and contains(., 'ooxml:')"> + <xsl:text> + mMap[</xsl:text> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id" select="."/> + </xsl:call-template> + <xsl:text>] = "</xsl:text> + <xsl:value-of select="."/> + <xsl:text>";</xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> +} + </xsl:text> + </xsl:template> + + <xsl:template name="ooxmlidstoxml"> + <xsl:text> +void ooxmlsprmidsToXML(::std::ostream & out) +{</xsl:text> + <xsl:for-each select="//@tokenid"> + <xsl:if test="contains(., 'ooxml:') and generate-id(.) = generate-id(key('tokenids', .)[1]) and ancestor::element"> + <xsl:text> + out << "<theid name=\"</xsl:text> + <xsl:value-of select="."/> + <xsl:text>\"></xsl:text> + <xsl:value-of select="90000 + position()"/> + <xsl:text></theid>" << endl; </xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> +}</xsl:text> + <xsl:text> +void ooxmlidsToXML(::std::ostream & out) +{</xsl:text> + <xsl:for-each select="//@tokenid"> + <xsl:if test="contains(., 'ooxml:') and generate-id(.) = generate-id(key('tokenids', .)[1]) and ancestor::attribute"> + <xsl:text> + out << "<theid name=\"</xsl:text> + <xsl:value-of select="."/> + <xsl:text>\"></xsl:text> + <xsl:value-of select="90000 + position()"/> + <xsl:text></theid>" << endl; </xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text> +}</xsl:text> + </xsl:template> <xsl:template match="/"> <xsl:call-template name="qnametostr"/> diff --git a/writerfilter/source/ooxml/resourceids.xsl b/writerfilter/source/ooxml/resourceids.xsl index 33eea88691ac..23ee6ffaad60 100644 --- a/writerfilter/source/ooxml/resourceids.xsl +++ b/writerfilter/source/ooxml/resourceids.xsl @@ -64,7 +64,27 @@ xml:space="default"> <xsl:output method="text" /> - <xsl:include href="resourcestools.xsl"/> + <xsl:include href="factorytools.xsl"/> + + <!-- + Generates contant definitions for tokenids. + --> + <xsl:template name="defineooxmlids"> + <xsl:text> +namespace NS_ooxml +{</xsl:text> +<xsl:for-each select="//@tokenid|//@sendtokenid"> + <xsl:if test="contains(., 'ooxml:') and generate-id(.) = generate-id(key('tokenids', .)[1])"> + <xsl:text> + const Id LN_</xsl:text> + <xsl:value-of select="substring-after(., 'ooxml:')"/> + <xsl:text> = </xsl:text> + <xsl:value-of select="90000 + position()"/> + <xsl:text>;</xsl:text> + </xsl:if> +</xsl:for-each> +} + </xsl:template> <xsl:template match="/"> <out> diff --git a/writerfilter/source/ooxml/resourcestools.xsl b/writerfilter/source/ooxml/resourcestools.xsl deleted file mode 100644 index f7039aca5321..000000000000 --- a/writerfilter/source/ooxml/resourcestools.xsl +++ /dev/null @@ -1,2338 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:xalan="http://xml.apache.org/xalan" - xmlns:UML = 'org.omg.xmi.namespace.UML' - exclude-result-prefixes = "xalan" - xml:space="default"> - <xsl:output method="text" /> - - <xsl:key name="same-attribute" - match="rng:attribute" use="@name" /> - - <xsl:key name="same-element" - match="rng:element" use="@name" /> - - <xsl:key name="defines-with-name" - match="rng:define" use="@name" /> - - <xsl:key name="same-element-enum" - match="rng:element" use="@enumname"/> - - <xsl:key name="same-attribute-enum" - match="rng:attribute" use="@enumname"/> - - <xsl:key name="same-element-or-attribute-enum" - match="rng:attribute|rng:element" use="@enumname"/> - - <xsl:key name="context-resource" - match="resource" use="@name"/> - - <xsl:key name="defines-with-application" - match="rng:define" use="ancestor::rng:grammar/@application"/> - - <xsl:key name="namespace-aliases" match="//namespace-alias" use="@name"/> - - <!-- Tiny template helping devs to debug --> - <xsl:template name="dbg_path"> - <xsl:text>/*</xsl:text> - <xsl:for-each select="ancestor::*"> - <xsl:value-of select="name(.)"/> - <xsl:text>/</xsl:text> - </xsl:for-each> - <xsl:value-of select="name(.)"/> - <xsl:text>[@name=</xsl:text> - <xsl:value-of select="@name"/> - <xsl:text>]</xsl:text> - <xsl:text>*/</xsl:text> - </xsl:template> - - <xsl:template name="licenseheader"> - <xsl:text> -/* - - THIS FILE IS GENERATED AUTOMATICALLY! DO NOT EDIT! - -*/ -
</xsl:text> - </xsl:template> - - <xsl:template name="hasrefs"> - <xsl:choose> - <xsl:when test=".//rng:ref[not(ancestor::rng:element or ancestor::rng:attribute)]"> - <xsl:text>1</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>0</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Returns <define> for the current <ref>. - - The current node must be a <ref>! - --> - <xsl:template name="defineforref"> - <xsl:variable name="mygrammarid" select="generate-id(ancestor::rng:grammar)"/> - <xsl:value-of select="key('defines-with-name', @name)[generate-id(ancestor::rng:grammar) = $mygrammarid]"/> - </xsl:template> - - <!-- - Create name with prefix. - - The result is <prefix>:<name>. - - Exception: If <name> contains a ':' the prefix is ignored. - - @param prefix the prefix - @param name the name - --> - <xsl:template name="prefixname"> - <xsl:param name="prefix"/> - <xsl:param name="name"/> - <xsl:choose> - <xsl:when test="contains($name, ':')"> - <xsl:value-of select="$name"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$prefix"/> - <xsl:text>:</xsl:text> - <xsl:value-of select="$name"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="fastnamespace"> - <xsl:if test="string-length(@prefix) > 0"> - <xsl:text>NS_</xsl:text> - <xsl:value-of select="@prefix"/> - </xsl:if> - </xsl:template> - - <xsl:template name="fastlocalname"> - <xsl:text>OOXML_</xsl:text> - <xsl:value-of select="@localname"/> - </xsl:template> - - <!-- - Create entries in enum definition for fast tokens. - - For each occurrence of rng:element an entry - - OOXML_<name> - - is generated, but only if the element is the first named <name>. - --> - <xsl:template name="enumfasttokens"> - <xsl:param name="prefix"/> - <xsl:for-each select=".//rng:element|.//rng:attribute"> - <xsl:if test="generate-id(.) = generate-id(key('same-token-name', @localname)[1])"> - <xsl:call-template name="fastlocalname"/> - <xsl:text>, 
 </xsl:text> - </xsl:if> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fasttokens"> - <xsl:text> -typedef sal_Int32 Token_t; - </xsl:text> - <xsl:for-each select="/model/fasttoken"> - <xsl:text> -const Token_t OOXML_</xsl:text> -<xsl:value-of select="translate(., '-', '_')"/> -<xsl:text> = </xsl:text> -<xsl:value-of select="position() - 1"/> -<xsl:text>;</xsl:text> - </xsl:for-each> - <xsl:text> -const Token_t OOXML_FAST_TOKENS_END =</xsl:text> -<xsl:value-of select="count(/model/fasttoken)"/> -<xsl:text>;
</xsl:text> - </xsl:template> - - <!-- - Returns prefix for the rng:grammar of the current node. - --> - <xsl:template name="prefixforgrammar"> - <xsl:variable name="ns" select="ancestor::rng:grammar/@ns"/> - <xsl:variable name="nsalias"><xsl:value-of select="key('namespace-aliases', $ns)/@alias"/></xsl:variable> - <!--<xsl:variable name="nsalias">test</xsl:variable>--> - <xsl:choose> - <xsl:when test="string-length($nsalias) > 0"> - <xsl:value-of select="$nsalias"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="translate(substring-after($ns, 'http://'), '/.', '__')"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Returns prefix for the rng:grammar of the matching nodes. - --> - <xsl:template match="*" mode="grammar-prefix"> - <xsl:call-template name="prefixforgrammar"/> - </xsl:template> - - <!-- - Generates name for fast context class for this <define> - --> - <xsl:template name="fastcontextname"> - <xsl:variable name="do"> - <xsl:call-template name="classfordefine"/> - </xsl:variable> - <xsl:if test="$do = '1'"> - <xsl:variable name="definename"> - <xsl:call-template name="searchdefinenamespace"> - <xsl:with-param name="name" select="@name"/> - </xsl:call-template> - </xsl:variable> - <xsl:for-each select="/model/namespace[@name=substring-before($definename, ':')]"> - <xsl:text>OOXMLFastContextHandler_</xsl:text> - <xsl:value-of select="@namespacealias"/> - <xsl:text>_</xsl:text> - <xsl:value-of select="substring-after($definename, ':')"/> - </xsl:for-each> - </xsl:if> - </xsl:template> - - <!-- - Returns the value of the @resource attribute of the <resource> - node according to the current <define>. - --> - <xsl:template name="contextresource"> - <xsl:variable name="mynsid" select="generate-id(ancestor::namespace)"/> - <xsl:choose> - <xsl:when test="count(key('context-resource', @name)) = 1"> - <xsl:value-of select="key('context-resource', @name)/@resource"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="key('context-resource', @name)[generate-id(ancestor::namespace)=$mynsid]/@resource"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Returns a value name. - - The resulting value name is - - OOXMLValue_$prefix_$name - - @prefix the prefix - @name the name - --> - <xsl:template name="valuename"> - <xsl:param name="prefix"/> - <xsl:param name="name"/> - <xsl:text>OOXMLValue_</xsl:text> - <xsl:value-of select="$prefix"/> - <xsl:text>_</xsl:text> - <xsl:value-of select="$name"/> - </xsl:template> - - <!-- - Returns the value name for the current <define>. - --> - <xsl:template name="valuenamefordefine"> - <xsl:call-template name="valuename"> - <xsl:with-param name="prefix" select="key('namespace-aliases', ancestor::namespace/rng:grammar/@ns)/@alias"/> - <xsl:with-param name="name" select="translate(@name, '-', '_')"/> - </xsl:call-template> - </xsl:template> - - <!-- - Returns the name of the parent class of the class for the - current <define>. - - Precondition: The class for the current <define> is derived - indirectly from OOXMLValue. - - --> - <xsl:template name="valueparent"> - <xsl:variable name="resource"> - <xsl:call-template name="contextresource"/> - </xsl:variable> - <xsl:text>OOXML</xsl:text> - <xsl:value-of select="$resource"/> - <xsl:text>Value</xsl:text> - </xsl:template> - - <!-- - Generates declaration for a value class. - - Precondition: <resource> for current <define> indicates that the - class is derived directly or indirectly from OOXMLValue. - --> - <xsl:template name="valuedecl"> - <xsl:variable name="classname"> - <xsl:call-template name="valuenamefordefine"/> - </xsl:variable> - <xsl:variable name="resource"> - <xsl:call-template name="contextresource"/> - </xsl:variable> - <xsl:text> -class </xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text> : public </xsl:text> - <xsl:call-template name="valueparent"/> - <xsl:text> -{ -public: - </xsl:text> - <xsl:choose> - <xsl:when test="$resource='List'"> - <xsl:value-of select="$classname"/> - <xsl:text>(</xsl:text> - <xsl:text>const rtl::OUString & rValue</xsl:text> - <xsl:text>);</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$classname"/> - <xsl:text>(const rtl::OUString & rValue) : </xsl:text> - <xsl:call-template name="valueparent"/> - <xsl:text>(rValue) {}</xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:text> - virtual ~</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text>() {} -}; -</xsl:text> - </xsl:template> - - <!-- - Checks if a class derived from OOXMLContex shall be defined for - the current <define>. - - @retval 1 the class shall be defined. - @retval 0 otherwise - --> - <xsl:template name="classfordefine"> - <!-- - <xsl:variable name="name" select="@name"/> - <xsl:choose> - <xsl:when test="(starts-with(@name, 'CT_') or starts-with(@name, 'EG_') or starts-with(@name, 'AG_'))">1</xsl:when> - <xsl:when test="ancestor::namespace//start[@name=$name]">1</xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - --> - <xsl:value-of select="@classfordefine"/> - </xsl:template> - - <!-- - Checks if a class derived from OOXMLValue shall be defined for - the current <define>. - - @retval 1 the class shall be defined - @retval 0 otherwise - --> - <xsl:template name="valuefordefine"> - <xsl:choose> - <xsl:when test="starts-with(@name, 'ST_')">1</xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="valuedecls"> - <xsl:for-each select=".//rng:grammar/rng:define"> - <xsl:variable name="dovalue"> - <xsl:call-template name="valuefordefine"/> - </xsl:variable> - <xsl:if test="$dovalue = '1'"> - <xsl:call-template name="valuedecl"/> - </xsl:if> - </xsl:for-each> - </xsl:template> - - <!-- - Generate switch body for createFastChildContext - --> - <xsl:template name="switchbodycreatechildcontext"> - <xsl:for-each select=".//rng:element[@name]"> - <xsl:call-template name="caselabelfasttoken"/> - <xsl:variable name="createstatement"> - <xsl:call-template name="fastelementcreatestatement"/> - </xsl:variable> - <xsl:if test="string-length($createstatement) > 0"> - <xsl:text> - xContextHandler.set(</xsl:text> - <xsl:value-of select="$createstatement"/> - <xsl:text>); - </xsl:text> - </xsl:if> - <xsl:text> - break; - </xsl:text> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastelementcreatefromrefstatement"> - <xsl:variable name="definename"> - <xsl:call-template name="searchdefinenamespace"> - <xsl:with-param name="name" select="@name"/> - </xsl:call-template> - </xsl:variable> - <xsl:for-each select="/model/namespace[@name=substring-before($definename, ':')]"> - <xsl:for-each select="./rng:grammar/rng:define[@name=substring-after($definename, ':')]"> - <xsl:variable name="do"> - <xsl:call-template name="classfordefine"/> - </xsl:variable> - <xsl:if test="$do = '1'"> - <xsl:text>OOXMLFastHelper <</xsl:text> - <xsl:call-template name="fastcontextname"/> - <xsl:text>>::createAndSetParentRef(this, Element, Attribs)</xsl:text> - </xsl:if> - </xsl:for-each> - </xsl:for-each> - </xsl:template> - - <xsl:template name="switchbodycreatechildcontextrefs"> - <xsl:for-each select=".//rng:ref[not (ancestor::rng:element or ancestor::rng:attribute)]"> - <xsl:variable name="createstatement"> - <xsl:call-template name="fastelementcreatefromrefstatement"/> - </xsl:variable> - <xsl:if test="string-length($createstatement) > 0"> - <xsl:text> - if (! xContextHandler.is() || dynamic_cast<OOXMLFastContextHandler *>(xContextHandler.get())->isFallback()) - { - xContextHandler.set(</xsl:text> - <xsl:value-of select="$createstatement"/> - <xsl:text>); - } - </xsl:text> - </xsl:if> - </xsl:for-each> - <xsl:for-each select=".//rng:element[rng:anyName]"> - <xsl:variable name="createstatement"> - <xsl:call-template name="fastelementcreatestatement"/> - </xsl:variable> - <xsl:if test="string-length($createstatement) > 0"> - <xsl:text> - if (! xContextHandler.is() || dynamic_cast<OOXMLFastContextHandler *>(xContextHandler.get())->isFallback()) - { - xContextHandler.set(</xsl:text> - <xsl:value-of select="$createstatement"/> - <xsl:text>); - } - </xsl:text> - </xsl:if> - </xsl:for-each> - </xsl:template> - - <!-- - Generates definition of method createFastChildContext for current <define> - --> - <xsl:template name="createfastchildcontext"> - <xsl:variable name="resource"> - <xsl:call-template name="contextresource"/> - </xsl:variable> - <xsl:if test="not($resource='Shape')"> - <xsl:variable name="switchbody"> - <xsl:call-template name="switchbodycreatechildcontext"/> - </xsl:variable> - <xsl:variable name="switchbodyrefs"> - <xsl:call-template name="switchbodycreatechildcontextrefs"/> - </xsl:variable> - <xsl:if test="string-length($switchbody) > 0 or string-length($switchbodyrefs) > 0"> - <xsl:text> -uno::Reference < xml::sax::XFastContextHandler > -</xsl:text> -<xsl:call-template name="fastcontextname"/> -<xsl:text>::lcl_createFastChildContext -(::sal_Int32 Element, - const uno::Reference < xml::sax::XFastAttributeList > &</xsl:text> -<xsl:if test="contains($switchbody, 'Attribs') or contains($switchbodyrefs, 'Attribs')"> - <xsl:text> Attribs</xsl:text> -</xsl:if> -<xsl:text>) - throw (uno::RuntimeException, xml::sax::SAXException) -{ - uno::Reference < xml::sax::XFastContextHandler > xContextHandler; -</xsl:text> -<xsl:if test="string-length($switchbody) > 0"> - <xsl:text> - switch (Element) - { - </xsl:text> - <xsl:value-of select="$switchbody"/> - <xsl:text> - default: - break; - } - </xsl:text> -</xsl:if> -<xsl:if test="string-length($switchbodyrefs) > 0"> - <xsl:value-of select="$switchbodyrefs"/> -</xsl:if> -<xsl:text> - - return xContextHandler; -} -</xsl:text> - </xsl:if> - </xsl:if> - </xsl:template> - - <xsl:template name="idforattr"> - <xsl:variable name="name" select="@name"/> - <xsl:for-each select="ancestor::rng:define"> - <xsl:variable name="definename" select="@name"/> - <xsl:for-each select="ancestor::namespace/resource[@name=$definename]"> - <xsl:for-each select="./attribute[@name=$name]"> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - </xsl:for-each> - </xsl:for-each> - </xsl:for-each> - </xsl:template> - - <xsl:template name="idforelement"> - <xsl:variable name="name" select="@name"/> - <xsl:for-each select="ancestor::rng:define"> - <xsl:variable name="definename" select="@name"/> - <xsl:for-each select="ancestor::namespace/resource[@name=$definename]"> - <xsl:for-each select="./element[@name=$name]"> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - </xsl:for-each> - </xsl:for-each> - </xsl:for-each> - </xsl:template> - - <!-- - Processes token id given in <resource> elements. - - The result is the identifier for the tokenid. - --> - <xsl:template name="processtokenid"> - <xsl:choose> - <xsl:when test="contains(@tokenid, ':')"> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="@tokenid"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="getidcaseimpl"> - <xsl:for-each select="attribute|element"> - <xsl:text> - </xsl:text> - <xsl:call-template name="caselabelfasttoken"/> - <xsl:text> - nResult = </xsl:text> - <xsl:call-template name="processtokenid"/> - <xsl:text>; - break;</xsl:text> - </xsl:for-each> - </xsl:template> - - <xsl:template name="attributeproptype"> - <xsl:variable name="mynsid" select="generate-id(ancestor::namespace)"/> - <xsl:variable name="name" select="@name"/> - <xsl:variable name="resource" select="key('context-resource', @name)[generate-id(ancestor::namespace)=$mynsid]"/> - <xsl:choose> - <xsl:when test="$resource/element[@name=$name]"> - <xsl:text>OOXMLPropertyImpl::SPRM</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>OOXMLPropertyImpl::ATTRIBUTE</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Check if a default is defined for a define. - - Returns if the <resource> for the current <define> has a - <default> child. - - @retval 0 there is no default - @retval 1 there is a default - --> - <xsl:template name="contexthasdefault"> - <xsl:variable name="name" select="@name"/> - <xsl:choose> - <xsl:when test="ancestor::namespace/resource[@name=$name]//default">1</xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Chooses the action for the current <action> element. - --> - <xsl:template name="chooseaction"> - <xsl:if test="@tokenid"> - <xsl:text> - if (sal::static_int_cast<Id>(getId()) == </xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - <xsl:text>) - {</xsl:text> - </xsl:if> - <xsl:for-each select="./cond"> - <xsl:text> - { - OOXMLPropertySetEntryToInteger aHandler(</xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - <xsl:text>); - getPropertySetAttrs()->resolve(aHandler); - - if (sal::static_int_cast<Id>(aHandler.getValue()) == </xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@value"/> - </xsl:call-template> - <xsl:text>) - {</xsl:text> - </xsl:for-each> - <xsl:choose> - <xsl:when test="@action='sendTableDepth'"> - <xsl:text> - sendTableDepth();</xsl:text> - </xsl:when> - <xsl:when test="@action='startCell'"> - <xsl:text> - startCell();</xsl:text> - </xsl:when> - <xsl:when test="@action='startParagraphGroup'"> - <xsl:text> - startParagraphGroup();</xsl:text> - </xsl:when> - <xsl:when test="@action='startCharacterGroup'"> - <xsl:text> - startCharacterGroup();</xsl:text> - </xsl:when> - <xsl:when test="@action='startSectionGroup'"> - <xsl:text> - startSectionGroup();</xsl:text> - </xsl:when> - <xsl:when test="@action='fieldstart'"> - <xsl:text> - startField();</xsl:text> - </xsl:when> - <xsl:when test="@action='fieldsep'"> - <xsl:text> - fieldSeparator();</xsl:text> - </xsl:when> - <xsl:when test="@action='fieldend'"> - <xsl:text> - endField();</xsl:text> - </xsl:when> - <xsl:when test="@action='ftnednref'"> - <xsl:text> - ftnednref();</xsl:text> - </xsl:when> - <xsl:when test="@action='ftnednsep'"> - <xsl:text> - ftnednsep();</xsl:text> - </xsl:when> - <xsl:when test="@action='ftnedncont'"> - <xsl:text> - ftnedncont();</xsl:text> - </xsl:when> - <xsl:when test="@action='pgNum'"> - <xsl:text> - pgNum();</xsl:text> - </xsl:when> - <xsl:when test="@action='tab'"> - <xsl:text> - tab();</xsl:text> - </xsl:when> - <xsl:when test="@action='cr'"> - <xsl:text> - cr();</xsl:text> - </xsl:when> - <xsl:when test="@action='noBreakHyphen'"> - <xsl:text> - noBreakHyphen();</xsl:text> - </xsl:when> - <xsl:when test="@action='softHyphen'"> - <xsl:text> - softHyphen();</xsl:text> - </xsl:when> - <xsl:when test="@action='endOfParagraph'"> - <xsl:text> - endOfParagraph();</xsl:text> - </xsl:when> - <xsl:when test="@action='handleLastParagraphInSection'"> - <xsl:text> - handleLastParagraphInSection();</xsl:text> - </xsl:when> - <xsl:when test="@action='setLastParagraphInSection'"> - <xsl:text> - setLastParagraphInSection();</xsl:text> - </xsl:when> - <xsl:when test="@action='endCell'"> - <xsl:text> - endCell();</xsl:text> - </xsl:when> - <xsl:when test="@action='endParagraphGroup'"> - <xsl:text> - endParagraphGroup();</xsl:text> - </xsl:when> - <xsl:when test="@action='endCharacterGroup'"> - <xsl:text> - endCharacterGroup();</xsl:text> - </xsl:when> - <xsl:when test="@action='endSectionGroup'"> - <xsl:text> - endSectionGroup();</xsl:text> - </xsl:when> - <xsl:when test="@action='handleXNotes'"> - handleXNotes();</xsl:when> - <xsl:when test="@action='handleHdrFtr'"> - handleHdrFtr();</xsl:when> - <xsl:when test="@action='handleComment'"> - handleComment();</xsl:when> - <xsl:when test="@action='handlePicture'"> - handlePicture();</xsl:when> - <xsl:when test="@action='handleHyperlink'"> - handleHyperlink();</xsl:when> - <xsl:when test="@action='handleBreak'"> - handleBreak();</xsl:when> - <xsl:when test="@action='handleOLE'"> - handleOLE();</xsl:when> - <xsl:when test="@action='printproperty'"> - <xsl:text> - sendProperty(</xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@sendtokenid"/> - </xsl:call-template> - <xsl:text>);</xsl:text> - </xsl:when> - <xsl:when test="@action='propagateCharacterProperties'"> - propagateCharacterProperties(); - </xsl:when> - <xsl:when test="@action='propagateCharacterPropertiesAsSet'"> - <xsl:text> - propagateCharacterPropertiesAsSet(</xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@sendtokenid"/> - </xsl:call-template> - <xsl:text>);</xsl:text> - </xsl:when> - <xsl:when test="@action='propagateTableProperties'"> - propagateTableProperties(); - </xsl:when> - <xsl:when test="@action='sendPropertiesWithId'"> - <xsl:text> - sendPropertiesWithId(</xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@sendtokenid"/> - </xsl:call-template> - <xsl:text>);</xsl:text> - </xsl:when> - <xsl:when test="@action='clearProps'"> - clearProps(); - </xsl:when> - <xsl:when test="@action='text'"> - text(sText); - </xsl:when> - <xsl:when test="@action='setHandle'"> - setHandle(); - </xsl:when> - - <xsl:when test="@action='footnoteSeparator'"> - footnoteSeparator(); - </xsl:when> - <xsl:when test="@action='footnoteCont'"> - footnoteCont(); - </xsl:when> - <xsl:when test="@action='endnoteSeparator'"> - endnoteSeparator(); - </xsl:when> - <xsl:when test="@action='endnoteCont'"> - endnoteCont(); - </xsl:when> - <xsl:when test="@action='newProperty'"> - <xsl:text> - OOXMLFastHelper<OOXMLIntegerValue>::newProperty(this, </xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - <xsl:text>, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("</xsl:text> - <xsl:value-of select="@value"/> - <xsl:text>")));</xsl:text> - </xsl:when> - <xsl:when test="@action='mark'"> - <xsl:text> - OOXMLFastHelper<OOXMLIntegerValue>::mark(this, </xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@sendtokenid"/> - </xsl:call-template> - <xsl:text>, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("</xsl:text> - <xsl:value-of select="@value"/> - <xsl:text>")));</xsl:text> - </xsl:when> - <xsl:when test="@action='tokenproperty'"> - <xsl:text> - OOXMLFastHelper<OOXMLIntegerValue>::newProperty(this, </xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id">ooxml:token</xsl:with-param> - </xsl:call-template> - <xsl:text>, getToken());</xsl:text> - </xsl:when> - </xsl:choose> - <xsl:for-each select="./cond"> - <xsl:text> - } - }</xsl:text> - </xsl:for-each> - <xsl:if test="@tokenid"> - <xsl:text> - }</xsl:text> - </xsl:if> - </xsl:template> - - <!-- - Generates the definitions of the methods of the fast context class - for the current <define>. - --> - <xsl:template name="fastcontextimpls"> - <xsl:param name="ns"/> - <xsl:for-each select=".//namespace[@name=$ns]"> - <xsl:text> -</xsl:text> - <xsl:for-each select="./rng:grammar/rng:define"> - <xsl:variable name="do"> - <xsl:call-template name="classfordefine"/> - </xsl:variable> - <xsl:if test="$do = '1'"> - <xsl:variable name="classname"> - <xsl:call-template name="fastcontextname"/> - </xsl:variable> - <xsl:text> -/* - class: </xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text> -*/ -</xsl:text> -<xsl:call-template name="fastcontextconstructor"/> -<xsl:call-template name="fastcontextdestructor"/> -<xsl:call-template name="faststartaction"/> -<xsl:call-template name="fastendaction"/> -<xsl:call-template name="createfastchildcontext"/> -<xsl:call-template name="fastattribute"/> -<xsl:call-template name="fastcharacters"/> -<xsl:call-template name="propagatesproperties"/> - </xsl:if> - </xsl:for-each> - </xsl:for-each> - </xsl:template> - - <xsl:key name="value-with-content" match="//rng:value" - use="text()"/> - - <!-- - Generates name for a value string. - - Value strings are possible values for attributes in OOXML. - - @param string the string as present in the according <rng:value> - --> - <xsl:template name="valuestringname"> - <xsl:param name="string"/> - <xsl:text>OOXMLValueString_</xsl:text> - <xsl:value-of select="translate($string, '-+ ,', 'mp__')"/> - </xsl:template> - - <!-- - Generates constant definitions for attribute values. - --> - <xsl:template name="valueconstants"> - <xsl:text> -rtl::OUString </xsl:text> -<xsl:call-template name="valuestringname"> - <xsl:with-param name="string"></xsl:with-param> -</xsl:call-template> -<xsl:text>(RTL_CONSTASCII_USTRINGPARAM(""));</xsl:text> -<xsl:for-each select="//rng:value[generate-id(key('value-with-content', text())[1]) = generate-id(.)]"> - <xsl:text> -rtl::OUString </xsl:text> -<xsl:call-template name="valuestringname"> - <xsl:with-param name="string" select="."/> -</xsl:call-template> -<xsl:text>(RTL_CONSTASCII_USTRINGPARAM("</xsl:text> -<xsl:value-of select="."/> -<xsl:text>"));</xsl:text> -</xsl:for-each> - </xsl:template> - - <!-- - Generates constant declarations for attribute values. - --> - <xsl:template name="valueconstantdecls"> - <xsl:text> -extern rtl::OUString - </xsl:text> - <xsl:call-template name="valuestringname"> - <xsl:with-param name="string"></xsl:with-param> - </xsl:call-template> - <xsl:text>;</xsl:text> - <xsl:for-each select="//rng:value[generate-id(key('value-with-content', text())[1]) = generate-id(.)]"> - <xsl:text> -extern rtl::OUString </xsl:text> - <xsl:call-template name="valuestringname"> - <xsl:with-param name="string" select="."/> - </xsl:call-template> - <xsl:text>;</xsl:text> - </xsl:for-each> - </xsl:template> - - <!-- - Generates definition of constructor for attribute value class - for current <define>. - --> - <xsl:template name="valueconstructorimpl"> - <xsl:variable name="name" select="@name"/> - <xsl:variable name="resource"> - <xsl:call-template name="contextresource"/> - </xsl:variable> - <xsl:choose> - <xsl:when test="$resource = 'List'"> - <xsl:variable name="classname"> - <xsl:call-template name="valuenamefordefine"/> - </xsl:variable> - <xsl:text>
</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text>::</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text>(const rtl::OUString & </xsl:text> - <xsl:choose> - <xsl:when test="count(ancestor::namespace/resource[@name=$name]/value) > 0"> - <xsl:text>rValue</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>/* rValue */</xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:text>) -: OOXMLListValue() -{</xsl:text> - <xsl:for-each select="ancestor::namespace/resource[@name=$name]"> - <xsl:for-each select="./default"> - <xsl:text> - mnValue = </xsl:text> - <xsl:choose> - <xsl:when test="@tokenid"> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="."/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>;</xsl:text> - </xsl:for-each> - <xsl:for-each select="./value"> - <xsl:text> - if (rValue.compareTo(</xsl:text> - <xsl:call-template name="valuestringname"> - <xsl:with-param name="string" select="text()"/> - </xsl:call-template> - <xsl:text>) == 0) - { - mnValue = </xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - <xsl:text>; - return; - }</xsl:text> - </xsl:for-each> - </xsl:for-each> - <xsl:text> -} -</xsl:text> - </xsl:when> - </xsl:choose> - </xsl:template> - - <!-- - Generates definition of destructor of attribute value class for - current <define>. - --> - <xsl:template name="valuedestructorimpl"> - <xsl:variable name="classname"> - <xsl:call-template name="valuenamefordefine"/> - </xsl:variable> - <xsl:text>
</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text>::~</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text>() -{ -} - </xsl:text> - </xsl:template> - - <!-- - Generates definitions for attribute value class for current - <define>. - --> - <xsl:template name="valueimpls"> - <xsl:for-each select=".//rng:grammar/rng:define"> - <xsl:variable name="do"> - <xsl:call-template name="valuefordefine"/> - </xsl:variable> - <xsl:if test="$do = 1"> - <xsl:variable name="classname"> - <xsl:call-template name="valuenamefordefine"/> - </xsl:variable> - <xsl:text> -/* - class: </xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text> -*/ - </xsl:text> - <xsl:call-template name="valueconstructorimpl"/> - </xsl:if> - </xsl:for-each> - </xsl:template> - - <xsl:key name="tokenids" match="@tokenid|@sendtokenid" use="."/> - - <!-- - Generates contant definitions for tokenids. - --> - <xsl:template name="defineooxmlids"> - <xsl:text> -namespace NS_ooxml -{</xsl:text> -<xsl:for-each select="//@tokenid|//@sendtokenid"> - <xsl:if test="contains(., 'ooxml:') and generate-id(.) = generate-id(key('tokenids', .)[1])"> - <xsl:text> - const Id LN_</xsl:text> - <xsl:value-of select="substring-after(., 'ooxml:')"/> - <xsl:text> = </xsl:text> - <xsl:value-of select="90000 + position()"/> - <xsl:text>;</xsl:text> - </xsl:if> -</xsl:for-each> -} - </xsl:template> - - <xsl:template name="ooxmlidstoxml"> - <xsl:text> -void ooxmlsprmidsToXML(::std::ostream & out) -{</xsl:text> - <xsl:for-each select="//@tokenid"> - <xsl:if test="contains(., 'ooxml:') and generate-id(.) = generate-id(key('tokenids', .)[1]) and ancestor::element"> - <xsl:text> - out << "<theid name=\"</xsl:text> - <xsl:value-of select="."/> - <xsl:text>\"></xsl:text> - <xsl:value-of select="90000 + position()"/> - <xsl:text></theid>" << endl; </xsl:text> - </xsl:if> - </xsl:for-each> - <xsl:text> -}</xsl:text> - <xsl:text> -void ooxmlidsToXML(::std::ostream & out) -{</xsl:text> - <xsl:for-each select="//@tokenid"> - <xsl:if test="contains(., 'ooxml:') and generate-id(.) = generate-id(key('tokenids', .)[1]) and ancestor::attribute"> - <xsl:text> - out << "<theid name=\"</xsl:text> - <xsl:value-of select="."/> - <xsl:text>\"></xsl:text> - <xsl:value-of select="90000 + position()"/> - <xsl:text></theid>" << endl; </xsl:text> - </xsl:if> - </xsl:for-each> - <xsl:text> -}</xsl:text> - </xsl:template> - - <!-- - Generates mapping from tokenids to strings. (DEBUG) - --> - <xsl:template name="qnametostr"> - <xsl:text> -void QNameToString::init_ooxml() -{ - /* ooxml */ - </xsl:text> - <xsl:for-each select="//@tokenid"> - <xsl:if test="generate-id(.) = generate-id(key('tokenids', .)[1]) and contains(., 'ooxml:')"> - <xsl:text> - mMap[</xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="."/> - </xsl:call-template> - <xsl:text>] = "</xsl:text> - <xsl:value-of select="."/> - <xsl:text>";</xsl:text> - </xsl:if> - </xsl:for-each> - <xsl:text> -} - </xsl:text> - </xsl:template> - - <xsl:template name="qnametostrfunc"> - <xsl:text> -string qnameToString(sal_uInt32 nToken) -{ - string sResult; - - switch (nToken) - {</xsl:text> - <xsl:for-each select="//resource"> - <xsl:variable name="name" select="@name"/> - <xsl:for-each select="attribute|element"> - <xsl:if test="contains(@tokenid, 'ooxml:')"> - <xsl:text> - case </xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - <xsl:text>: - sResult = "</xsl:text> - <xsl:value-of select="@token"/> - <xsl:text>"; - break;</xsl:text> - </xsl:if> - </xsl:for-each> - </xsl:for-each> - <xsl:text> - default: - ; - } - - return sResult; -}</xsl:text> - </xsl:template> - - <xsl:key name="resources-with-kind" match="resource[.//kind]" - use=".//kind/@name"/> - - <xsl:key name="sprms-with-code" match="element" use="@tokenid"/> - - <!-- - Generates case labels for mapping from token ids to a single kind - of sprm. - - @param kind the sprm kind for which to generate the case labels - --> - <xsl:template name="sprmkindcase"> - <xsl:param name="kind"/> - <xsl:for-each select="key('resources-with-kind', $kind)/element"> - <xsl:if test="generate-id(.) = generate-id(key('sprms-with-code', @tokenid))"> - <xsl:text> - case </xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - <xsl:text>: //</xsl:text> - <xsl:value-of select="ancestor::resource/@name"/> - <xsl:text>, </xsl:text> - <xsl:value-of select="@name"/> - </xsl:if> - </xsl:for-each> - </xsl:template> - - <!-- - Generates SprmKind. - --> - <xsl:template name="sprmkind"> - <xsl:text> -Sprm::Kind SprmKind(sal_uInt32 nSprmCode) -{ - Sprm::Kind nResult = Sprm::UNKNOWN; - - switch (nSprmCode) - {</xsl:text> - <xsl:call-template name="sprmkindcase"> - <xsl:with-param name="kind">paragraph</xsl:with-param> - </xsl:call-template> - <xsl:text> - nResult = Sprm::PARAGRAPH; - break;</xsl:text> - <xsl:call-template name="sprmkindcase"> - <xsl:with-param name="kind">character</xsl:with-param> - </xsl:call-template> - <xsl:text> - nResult = Sprm::CHARACTER; - break;</xsl:text> - <xsl:call-template name="sprmkindcase"> - <xsl:with-param name="kind">table</xsl:with-param> - </xsl:call-template> - <xsl:text> - nResult = Sprm::TABLE; - break;</xsl:text> - <xsl:text> - default: - break; - } - - return nResult; -}</xsl:text> - </xsl:template> - - <!-- - Generates qname for id. - - @param id the id to generate qname for - - If id is of format <prefix>:<localname> the result is - - NS_<prefix>::LN_<localname> - - If id does not contain ":" the result is just id. - --> - <xsl:template name='idtoqname'> - <xsl:param name='id'/> - <xsl:choose> - <xsl:when test="contains($id, ':')"> - <xsl:text>NS_</xsl:text> - <xsl:value-of select='substring-before($id, ":")'/> - <xsl:text>::LN_</xsl:text> - <xsl:value-of select='substring-after($id, ":")'/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$id"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:key name="same-token-name" match="rng:element|rng:attribute" use="@localname"/> - - <!-- - Generates input for gperf to genreate hash map for OOXMLFastTokenHandler - --> - <xsl:template name="gperfinputfasttokenhandler"> - <xsl:text> -%{ -#include "OOXMLFastTokens.hxx" - -namespace writerfilter { namespace ooxml { namespace tokenmap { -%} -struct token { const char * name; Token_t nToken; }; -%%</xsl:text> - <xsl:for-each select=".//rng:element|.//rng:attribute"> - <xsl:if test="generate-id(.) = generate-id(key('same-token-name', @localname)[1])"> - <xsl:text>
</xsl:text> - <xsl:value-of select="@localname"/> - <xsl:text>, </xsl:text> - <xsl:call-template name="fastlocalname"/> - </xsl:if> - </xsl:for-each> - <xsl:text> -%%
</xsl:text> -}}}
</xsl:template> - -<xsl:template name="namespaceid"> - <xsl:text>NS_</xsl:text> - <xsl:value-of select="@alias"/> -</xsl:template> - -<xsl:template name="namespaceids"> - <xsl:for-each select="//namespace-alias"> - <xsl:text> -const sal_uInt32 </xsl:text> -<xsl:call-template name="namespaceid"/> -<xsl:text> = </xsl:text> -<xsl:value-of select="@id"/> -<xsl:text> << 16;</xsl:text> - </xsl:for-each> -</xsl:template> - -<xsl:template name="fasttoken"> - <xsl:variable name="ns"> - <xsl:call-template name="fastnamespace"/> - </xsl:variable> - <xsl:if test="string-length($ns) > 0"> - <xsl:value-of select="$ns"/> - <xsl:text>|</xsl:text> - </xsl:if> - <xsl:call-template name="fastlocalname"/> -</xsl:template> - -<xsl:template name="fasttokenwithattr"> - <xsl:if test="local-name(.)='attribute'"> - <xsl:text>F_Attribute|</xsl:text> - </xsl:if> - <xsl:call-template name="fasttoken"/> -</xsl:template> - -<xsl:template name="caselabelfasttoken"> - <xsl:text>case </xsl:text> - <xsl:call-template name="fasttokenwithattr"/> - <xsl:text>:</xsl:text> -</xsl:template> - -<xsl:key name="elementsattrsbynamespace" - match="rng:element[@name]|rng:attribute[@name]" use="ancestor::rng:grammar/@ns"/> - -<xsl:template name="fasttokentoid"> - <xsl:text> -namespace tokenmap { -struct token { const char * name; Token_t nToken; }; -class Perfect_Hash -{ -private: - static inline unsigned int hash (const char *str, unsigned int len); -public: - static struct token *in_word_set (const char *str, unsigned int len); -}; -} - -string fastTokenToId(sal_uInt32 nToken) -{ - </xsl:text> - <xsl:text> - string sResult; - - switch (nToken & 0xffff0000) - {</xsl:text> - <xsl:for-each select="//namespace-alias"> - <xsl:text> - case NS_</xsl:text> - <xsl:value-of select="@alias"/> - <xsl:text>: - sResult += "</xsl:text> - <xsl:value-of select="@alias"/> - <xsl:text>:"; - break;</xsl:text> - </xsl:for-each> - <xsl:text> - } - - switch (nToken & 0xffff) - {</xsl:text> - <xsl:for-each select=".//rng:element[@localname]|.//rng:attribute[@localname]"> - <xsl:variable name="localname" select="@localname"/> - <xsl:if test="generate-id(.) = generate-id(key('same-token-name', $localname)[1])"> - <xsl:text> - case </xsl:text> - <xsl:call-template name="fastlocalname"/> - <xsl:text>: - sResult += "</xsl:text> - <xsl:value-of select="$localname"/> - <xsl:text>"; - break;</xsl:text> - </xsl:if> - </xsl:for-each> -<xsl:text> - } - - return sResult; -} - </xsl:text> -</xsl:template> - -<xsl:template name="getfastparser"> -<xsl:text> -uno::Reference < xml::sax::XFastParser > OOXMLStreamImpl::getFastParser() -{ - if (! mxFastParser.is()) - { - uno::Reference < lang::XMultiComponentFactory > xFactory = - uno::Reference < lang::XMultiComponentFactory > - (mxContext->getServiceManager()); - - mxFastParser.set(xFactory->createInstanceWithContext - ( ::rtl::OUString::createFromAscii - ( "com.sun.star.xml.sax.FastParser" ), - mxContext ), uno::UNO_QUERY_THROW); -</xsl:text> -<xsl:for-each select="//namespace-alias"> - <xsl:text> - mxFastParser->registerNamespace(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("</xsl:text> - <xsl:value-of select="@name"/> - <xsl:text>")), </xsl:text> - <xsl:call-template name="namespaceid"/> - <xsl:text>);</xsl:text> -</xsl:for-each> -<xsl:text> - } - - return mxFastParser; -} -</xsl:text> -</xsl:template> - -<xsl:template name="searchdefinenamespace"> - <xsl:param name="name"/> - <xsl:variable name="tmp"> - <xsl:for-each select="ancestor::namespace"> - <xsl:call-template name="searchdefinenamespacerec"> - <xsl:with-param name="name" select="$name"/> - </xsl:call-template> - </xsl:for-each> - </xsl:variable> - <xsl:choose> - <xsl:when test="string-length($tmp) > 0"> - <xsl:value-of select="$tmp"/> - </xsl:when> - <xsl:otherwise> - <xsl:for-each select="key('defines-with-name', $name)[1]"> - <xsl:value-of select="ancestor::namespace/@name"/> - <xsl:text>:</xsl:text> - <xsl:value-of select="@name"/> - </xsl:for-each> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="searchdefinenamespacerec"> - <xsl:param name="name"/> - <xsl:variable name="nsname" select="@name"/> - <xsl:variable name="nsid" select="generate-id(.)"/> - <xsl:variable name="tmp"> - <xsl:for-each select="key('defines-with-name', $name)"> - <xsl:if test="generate-id(ancestor::namespace)=$nsid"> - <xsl:value-of select="$nsname"/> - <xsl:text>:</xsl:text> - <xsl:value-of select="$name"/> - </xsl:if> - </xsl:for-each> - </xsl:variable> - <xsl:choose> - <xsl:when test="string-length($tmp) > 0"> - <xsl:value-of select="$tmp"/> - </xsl:when> - <xsl:otherwise> - <xsl:for-each select="./rng:include"> - <xsl:for-each select="/model/namespace[@file=@href]"> - <xsl:call-template name="searchdefinenamespacerec"> - <xsl:with-param name="name" select="$name"/> - </xsl:call-template> - </xsl:for-each> - </xsl:for-each> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - - <xsl:template name="fastattributescheckattr"> - <xsl:text>if (Attribs->hasAttribute(</xsl:text> - <xsl:call-template name="fastlocalname"/> - <xsl:text>))</xsl:text> - </xsl:template> - - <xsl:template name="fastattributescheckattrwithns"> - <xsl:text>if (Attribs->hasAttribute(</xsl:text> - <xsl:call-template name="fasttoken"/> - <xsl:text>))</xsl:text> - </xsl:template> - - <xsl:template name="fastcontextnameforattribute"> - <xsl:choose> - <xsl:when test="./rng:ref"> - <xsl:for-each select="./rng:ref"> - <xsl:call-template name="valuenameforref"/> - </xsl:for-each> - </xsl:when> - <xsl:when test="./rng:data/@type = 'boolean'"> - <xsl:text>OOXMLBooleanValue</xsl:text> - </xsl:when> - <xsl:when test="./rng:data/@type = 'unsignedInt'"> - <xsl:text>OOXMLIntegerValue</xsl:text> - </xsl:when> - <xsl:when test="./rng:text or ./rng:data/@type = 'string' or ./rng:data/@type = 'token'"> - <xsl:text>OOXMLStringValue</xsl:text> - </xsl:when> - </xsl:choose> - </xsl:template> - - <xsl:template name="fastattributesproperties"> - <xsl:variable name="definename" select="@name"/> - <xsl:for-each select=".//rng:attribute"> - <xsl:variable name="attrname" select="@name"/> - <xsl:variable name="contextname"> - <xsl:call-template name="fastcontextnameforattribute"/> - </xsl:variable> - <xsl:variable name="attrid"> - <xsl:call-template name="idforattr"/> - </xsl:variable> - <xsl:if test="string-length($contextname) > 0 and string-length($attrid) > 0"> - <xsl:text> - </xsl:text> - <xsl:call-template name="fastattributescheckattrwithns"/> - <xsl:text> - { - ::rtl::OUString aValue(Attribs->getValue(</xsl:text> - <xsl:call-template name="fasttoken"/> - <xsl:text>)); - OOXMLFastHelper < </xsl:text> - <xsl:value-of select="$contextname"/> - <xsl:text> >::newProperty(this, </xsl:text> - <xsl:value-of select="$attrid"/> - <xsl:text>, aValue);</xsl:text> - <xsl:for-each select="ancestor::namespace/resource[@name=$definename]"> - <xsl:for-each select="./attribute[@name=$attrname]"> - <xsl:choose> - <xsl:when test="@action='checkId'"> - <xsl:text> - checkId(aValue);</xsl:text> - </xsl:when> - <xsl:when test="@action='checkXNoteType'"> - </xsl:when> - <xsl:when test="@action='setXNoteId'"> - <xsl:text> - setXNoteId(aValue);</xsl:text> - </xsl:when> - </xsl:choose> - </xsl:for-each> - </xsl:for-each> - <xsl:text> - }</xsl:text> - </xsl:if> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastcharactersstringvalue"> - <xsl:text> - - msValue = sText;</xsl:text> - </xsl:template> - - <xsl:template name="fastattributesstringvalue"> - <xsl:for-each select=".//rng:attribute"> - <xsl:text> - </xsl:text> - <xsl:call-template name="fastattributescheckattrwithns"/> - <xsl:text> - msValue = Attribs->getValue(</xsl:text> - <xsl:call-template name="fasttoken"/> - <xsl:text>);</xsl:text> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastcharactersintvalue"> - <xsl:text> - - mnValue = sText.toInt32();</xsl:text> - </xsl:template> - - <xsl:template name="fastattributesintvalue"> - <xsl:for-each select=".//rng:attribute"> - <xsl:text> - </xsl:text> - <xsl:call-template name="fastattributescheckattrwithns"/> - <xsl:text> - mnValue = Attribs->getValue(</xsl:text> - <xsl:call-template name="fasttoken"/> - <xsl:text>).toInt32();</xsl:text> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastcharactershexvalue"> - <xsl:text> - - mnValue = sText.toInt32(16);</xsl:text> - </xsl:template> - - <xsl:template name="fastattributeshexvalue"> - <xsl:for-each select=".//rng:attribute"> - <xsl:text> - </xsl:text> - <xsl:call-template name="fastattributescheckattrwithns"/> - <xsl:text> - mnValue = Attribs->getValue(</xsl:text> - <xsl:call-template name="fasttoken"/> - <xsl:text>).toInt32(16);</xsl:text> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastcharactersboolvalue"> - <xsl:text> - - setValue( sText );</xsl:text> - </xsl:template> - - <xsl:template name="fastattributesboolvalue"> - <xsl:for-each select=".//rng:attribute"> - <xsl:text> - </xsl:text> - <xsl:call-template name="fastattributescheckattrwithns"/> - <xsl:text> - setValue(Attribs->getValue(</xsl:text> - <xsl:call-template name="fasttoken"/> - <xsl:text>));</xsl:text> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastcharacterslistvalue"> - <xsl:variable name="bodywithns"> - <xsl:for-each select="rng:ref"> - <xsl:variable name="refname" select="@name"/> - <xsl:variable name="refns"> - <xsl:call-template name="searchdefinenamespace"> - <xsl:with-param name="name" select="@name"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="valname"> - <xsl:for-each select="/model/namespace[@name=substring-before($refns, ':')]"> - <xsl:for-each select="./rng:grammar/rng:define[@name=substring-after($refns, ':')]"> - <xsl:call-template name="valuenamefordefine"/> - </xsl:for-each> - </xsl:for-each> - </xsl:variable> - <xsl:text> - mpValue = OOXMLValue::Pointer_t (new </xsl:text> - <xsl:value-of select="$valname"/> - <xsl:text>( sText ) );</xsl:text> - </xsl:for-each> - </xsl:variable> - <xsl:if test="string-length($bodywithns) > 0"> - <xsl:text> - </xsl:text> - <xsl:value-of select="$bodywithns"/> - </xsl:if> - </xsl:template> - - <xsl:template name="fastattributeslistvalue"> - <xsl:for-each select=".//rng:attribute"> - <xsl:variable name="myfasttoken"> - <xsl:call-template name="fastlocalname"/> - </xsl:variable> - <xsl:variable name="myfasttokenwithns"> - <xsl:call-template name="fasttoken"/> - </xsl:variable> - <xsl:variable name="bodywithns"> - <xsl:for-each select="rng:ref"> - <xsl:variable name="refname" select="@name"/> - <xsl:variable name="refns"> - <xsl:call-template name="searchdefinenamespace"> - <xsl:with-param name="name" select="@name"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="valname"> - <xsl:for-each select="/model/namespace[@name=substring-before($refns, ':')]"> - <xsl:for-each select="./rng:grammar/rng:define[@name=substring-after($refns, ':')]"> - <xsl:call-template name="valuenamefordefine"/> - </xsl:for-each> - </xsl:for-each> - </xsl:variable> - <xsl:text> - mpValue = OOXMLValue::Pointer_t (new </xsl:text> - <xsl:value-of select="$valname"/> - <xsl:text>(Attribs->getValue(</xsl:text> - <xsl:value-of select="$myfasttokenwithns"/> - <xsl:text>)));</xsl:text> - </xsl:for-each> - </xsl:variable> - <xsl:if test="string-length($bodywithns) > 0"> - <xsl:text> - </xsl:text> - <xsl:call-template name="fastattributescheckattrwithns"/> - <xsl:value-of select="$bodywithns"/> - </xsl:if> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastattributebody"> - <xsl:variable name="resource"> - <xsl:call-template name="contextresource"/> - </xsl:variable> - <xsl:choose> - <xsl:when test="$resource = 'Properties' or $resource = 'Stream' or $resource='XNote' or $resource='Shape'" > - <xsl:call-template name="fastattributesproperties"/> - </xsl:when> - <xsl:when test="$resource = 'StringValue'"> - <xsl:call-template name="fastattributesstringvalue"/> - </xsl:when> - <xsl:when test="$resource = 'IntegerValue'"> - <xsl:call-template name="fastattributesintvalue"/> - </xsl:when> - <xsl:when test="$resource = 'HexValue'"> - <xsl:call-template name="fastattributeshexvalue"/> - </xsl:when> - <xsl:when test="$resource = 'BooleanValue'"> - <xsl:call-template name="fastattributesboolvalue"/> - </xsl:when> - <xsl:when test="$resource = 'ListValue'"> - <xsl:call-template name="fastattributeslistvalue"/> - </xsl:when> - </xsl:choose> - </xsl:template> - - <xsl:template name="valuenameforref"> - <xsl:variable name="definename"> - <xsl:call-template name="searchdefinenamespace"> - <xsl:with-param name="name" select="@name"/> - </xsl:call-template> - </xsl:variable> - <xsl:for-each select="/model/namespace[@name=substring-before($definename, ':')]"> - <xsl:for-each select="./rng:grammar/rng:define[@name=substring-after($definename, ':')]"> - <xsl:call-template name="valuenamefordefine"/> - </xsl:for-each> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastcontextnameforref"> - <xsl:variable name="definename"> - <xsl:call-template name="searchdefinenamespace"> - <xsl:with-param name="name" select="@name"/> - </xsl:call-template> - </xsl:variable> - <!-- - <xsl:text>/* </xsl:text> - <xsl:value-of select="@name"/> - <xsl:text>, </xsl:text> - <xsl:value-of select="$definename"/> - <xsl:text> */</xsl:text> - --> - <xsl:for-each select="/model/namespace[@name=substring-before($definename, ':')]"> - <xsl:for-each select="./rng:grammar/rng:define[@name=substring-after($definename, ':')]"> - <xsl:call-template name="fastcontextname"/> - </xsl:for-each> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastattributebodyrefs"> - <xsl:for-each select=".//rng:ref[not(ancestor::rng:element or ancestor::rng:attribute)]"> - <xsl:variable name="contextname"> - <xsl:call-template name="fastcontextnameforref"/> - </xsl:variable> - <xsl:if test="string-length($contextname) > 0"> - <xsl:text> - OOXMLFastHelper <</xsl:text> - <xsl:value-of select="$contextname"/> - <xsl:text>>::attributes(this, Attribs);</xsl:text> - </xsl:if> - </xsl:for-each> - </xsl:template> - - <!-- - Generates definition of method attributes for current <define> - --> - <xsl:template name="fastattribute"> - <xsl:variable name="resource"> - <xsl:call-template name="contextresource"/> - </xsl:variable> - <!--<xsl:if test="not($resource='Shape')"> --> - <xsl:variable name="body"> - <xsl:call-template name="fastattributebody"/> - </xsl:variable> - <xsl:variable name="bodyrefs"> - <xsl:call-template name="fastattributebodyrefs"/> - </xsl:variable> - <xsl:if test="string-length($body) > 0 or string-length($bodyrefs) > 0"> - <xsl:text> -void </xsl:text> -<xsl:call-template name="fastcontextname"/> -<xsl:text>::attributes -(const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException) -{ -#ifdef DEBUG_DUMP_ATTRIBUTES - dumpAttribs(Attribs); -#endif -</xsl:text> -<xsl:value-of select="$body"/> -<xsl:value-of select="$bodyrefs"/> -<xsl:text> -} -</xsl:text> - </xsl:if> - <!-- </xsl:if> --> - </xsl:template> - - <xsl:template name="fastelementcreatestatement"> - <xsl:for-each select=".//rng:ref"> - <xsl:choose> - <xsl:when test="@name='BUILT_IN_ANY_TYPE'"> - <xsl:text>createFromStart(Element, Attribs)</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:variable name="classname"> - <xsl:call-template name="fastcontextname"/> - </xsl:variable> - <xsl:if test="string-length($classname) > 0"> - <xsl:text>OOXMLFastHelper <</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text>>::createAndSetParent(this, Element, </xsl:text> - <xsl:for-each select="ancestor::rng:element"> - <xsl:variable name="id"> - <xsl:call-template name="idforelement"/> - </xsl:variable> - <xsl:choose> - <xsl:when test="string-length($id) > 0"> - <xsl:value-of select="$id"/> - </xsl:when> - <xsl:otherwise> - <xsl:text>0</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - <xsl:text>)</xsl:text> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </xsl:template> - - <!-- - Generates name for parent class of fast context. - --> - <xsl:template name="fastresourceclass"> - <xsl:text>OOXMLFastContextHandler</xsl:text> - <xsl:call-template name="contextresource"/> - </xsl:template> - - <!-- - Generates the declaration of the fast context for the current <define> - --> - <xsl:template name="fastcontextdecl"> - <xsl:variable name="classname"> - <xsl:call-template name="fastcontextname"/> - </xsl:variable> - <xsl:text> -class WRITERFILTER_DLLPRIVATE </xsl:text> -<xsl:value-of select="$classname"/> -<xsl:text>: public </xsl:text> -<xsl:call-template name="fastresourceclass"/> -<xsl:text> -{ -public: - explicit </xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text> - (OOXMLFastContextHandler * context); - virtual ~</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text>(); - </xsl:text> - <xsl:variable name="createchildcontextbody"> - <xsl:call-template name="createfastchildcontext"/> - </xsl:variable> - <xsl:if test="string-length($createchildcontextbody) > 0"> - virtual uno::Reference < xml::sax::XFastContextHandler > - lcl_createFastChildContext - (::sal_Int32 Element, - const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException); - </xsl:if> - <xsl:variable name="fastattributebody"> - <xsl:call-template name="fastattribute"/> - </xsl:variable> - <xsl:if test="string-length($fastattributebody) > 0"> - virtual void attributes - (const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException); - </xsl:if> - <xsl:variable name="faststartactionbody"> - <xsl:call-template name="faststartaction"/> - </xsl:variable> - <xsl:if test="string-length($faststartactionbody)"> - virtual void lcl_startAction(Token_t nElement); - </xsl:if> - <xsl:variable name="fastendactionbody"> - <xsl:call-template name="fastendaction"/> - </xsl:variable> - <xsl:if test="string-length($fastendactionbody)"> - virtual void lcl_endAction(Token_t nElement); - </xsl:if> - <xsl:variable name="fastcharactersbody"> - <xsl:call-template name="fastcharacters"/> - </xsl:variable> - <xsl:if test="string-length($fastcharactersbody)"> - virtual void lcl_characters(const ::rtl::OUString & aChars) - throw (uno::RuntimeException, xml::sax::SAXException); - </xsl:if> - <xsl:text> - virtual string getType() const { return "</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text>"; }</xsl:text> - <xsl:variable name="propagatespropsbody"> - <xsl:call-template name="propagatesproperties"/> - </xsl:variable> - <xsl:if test="string-length($propagatespropsbody)"> - <xsl:text> - virtual bool propagatesProperties() const;</xsl:text> - </xsl:if> - <xsl:text> -}; - </xsl:text> - </xsl:template> - - <xsl:template name="fastcontextdecls"> - <xsl:param name="namespace"/> - <xsl:for-each select="/model/namespace[@name=$namespace]"> - <xsl:for-each select="./rng:grammar/rng:define"> - <xsl:variable name="do"> - <xsl:call-template name="classfordefine"/> - </xsl:variable> - <xsl:text> -/* - </xsl:text> - <xsl:value-of select="ancestor::namespace/@name"/> - <xsl:text>:</xsl:text> - <xsl:value-of select="@name"/> - <xsl:text> -*/</xsl:text> -<xsl:if test="$do = '1'"> - <xsl:call-template name="fastcontextdecl"/> -</xsl:if> - </xsl:for-each> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastcontextconstructor"> - <xsl:variable name="classname"> - <xsl:call-template name="fastcontextname"/> - </xsl:variable> - <xsl:value-of select="$classname"/> - <xsl:text>::</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text> -(OOXMLFastContextHandler * pContext) -: </xsl:text> -<xsl:call-template name="fastresourceclass"/> -<xsl:text>(pContext) -{} -</xsl:text> - </xsl:template> - - <xsl:template name="fastcontextdestructor"> - <xsl:variable name="classname"> - <xsl:call-template name="fastcontextname"/> - </xsl:variable> - <xsl:value-of select="$classname"/> - <xsl:text>::~</xsl:text> - <xsl:value-of select="$classname"/> - <xsl:text> -() -{} -</xsl:text> - </xsl:template> - - <xsl:template name="faststartactionbodysetid"> - <xsl:if test="@resource = 'Table' or @resource='PropertyTable'"> - <xsl:text> - setId(</xsl:text> - <xsl:call-template name="idtoqname"> - <xsl:with-param name="id" select="@tokenid"/> - </xsl:call-template> - <xsl:text>);</xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="faststartactionbodychooseaction"> - <xsl:for-each select="./action[@name='start']"> - <xsl:call-template name="chooseaction"/> - </xsl:for-each> - </xsl:template> - - <xsl:template name="faststartactionbody"> - <xsl:variable name="name" select="@name"/> - <xsl:for-each select="ancestor::namespace/resource[@name = $name]"> - <xsl:call-template name="faststartactionbodysetid"/> - <xsl:call-template name="faststartactionbodychooseaction"/> - </xsl:for-each> - </xsl:template> - - <xsl:template name="faststartaction"> - <xsl:variable name="body"> - <xsl:call-template name="faststartactionbody"/> - </xsl:variable> - <xsl:variable name="name" select="@name"/> - <xsl:if test="string-length($body) > 0"> - <xsl:variable name="classname"> - <xsl:call-template name="fastcontextname"/> - </xsl:variable> - <xsl:text> -void </xsl:text> -<xsl:value-of select="$classname"/> -<xsl:text>::lcl_startAction(Token_t</xsl:text> -<xsl:for-each select="ancestor::namespace/resource[@name=$name]"> - <xsl:if test="./element/action[@name='start']"> - <xsl_text> nElement</xsl_text> - </xsl:if> -</xsl:for-each> -<xsl:text>) -{</xsl:text> -<xsl:value-of select="$body"/> -<xsl:text> -} -</xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="fastendactionbody"> - <xsl:variable name="name" select="@name"/> - <xsl:for-each select="ancestor::namespace/resource[@name = $name]"> - <xsl:for-each select="./action[@name='end']"> - <xsl:call-template name="chooseaction"/> - </xsl:for-each> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastendaction"> - <xsl:variable name="body"> - <xsl:call-template name="fastendactionbody"/> - </xsl:variable> - <xsl:variable name="name" select="@name"/> - <xsl:if test="string-length($body) > 0"> - <xsl:variable name="classname"> - <xsl:call-template name="fastcontextname"/> - </xsl:variable> - <xsl:text> -void </xsl:text> -<xsl:value-of select="$classname"/> -<xsl:text>::lcl_endAction(Token_t</xsl:text> -<xsl:for-each select="ancestor::namespace/resource[@name=$name]"> - <xsl:if test="./element/action[@name='end']"> - <xsl_text> nElement</xsl_text> - </xsl:if> -</xsl:for-each> -<xsl:text>) -{</xsl:text> -<xsl:value-of select="$body"/> -<xsl:text> -} -</xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="fastcharactersbody"> - <xsl:variable name="name" select="@name"/> - <!-- ST values as text --> - <xsl:variable name="resource"> - <xsl:call-template name="contextresource"/> - </xsl:variable> - <xsl:choose> - <xsl:when test="$resource = 'StringValue'"> - <xsl:call-template name="fastcharactersstringvalue"/> - </xsl:when> - <xsl:when test="$resource = 'IntegerValue'"> - <xsl:call-template name="fastcharactersintvalue"/> - </xsl:when> - <xsl:when test="$resource = 'HexValue'"> - <xsl:call-template name="fastcharactershexvalue"/> - </xsl:when> - <xsl:when test="$resource = 'BooleanValue'"> - <xsl:call-template name="fastcharactersboolvalue"/> - </xsl:when> - <xsl:when test="$resource = 'ListValue'"> - <xsl:call-template name="fastcharacterslistvalue"/> - </xsl:when> - </xsl:choose> - - <!-- characters action --> - <xsl:for-each select="ancestor::namespace/resource[@name = $name]//action[@name='characters']"> - <xsl:call-template name="chooseaction"/> - </xsl:for-each> - </xsl:template> - - <xsl:template name="fastcharacters"> - <xsl:variable name="body"> - <xsl:call-template name="fastcharactersbody"/> - </xsl:variable> - <xsl:if test="string-length($body) > 0"> - <xsl:variable name="classname"> - <xsl:call-template name="fastcontextname"/> - </xsl:variable> - <xsl:text> -void </xsl:text> -<xsl:value-of select="$classname"/> -<xsl:text>::lcl_characters(const ::rtl::OUString & sText) - throw (uno::RuntimeException, xml::sax::SAXException) -{</xsl:text> -<xsl:value-of select="$body"/> -<xsl:text> -} -</xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="propagatespropertiesbody"> - <xsl:variable name="name" select="@name"/> - <xsl:for-each select="ancestor::namespace/resource[@name=$name]"> - <xsl:for-each select=".//action"> - <xsl:choose> - <xsl:when test="@name='propagateCharacterProperties'"> - <xsl:text> - return true;</xsl:text> - </xsl:when> - <xsl:when test="@name='propagateTableProperties'"> - <xsl:text> - return true;</xsl:text> - </xsl:when> - </xsl:choose> - </xsl:for-each> - </xsl:for-each> - </xsl:template> - - <xsl:template name="propagatesproperties"> - <xsl:variable name="body"> - <xsl:call-template name="propagatespropertiesbody"/> - </xsl:variable> - <xsl:if test="string-length($body) > 0"> - <xsl:variable name="classname"> - <xsl:call-template name="fastcontextname"/> - </xsl:variable> - <xsl:text> -bool </xsl:text> -<xsl:value-of select="$classname"/> -<xsl:text>::propagatesProperties() const -{</xsl:text> - <xsl:value-of select="$body"/> - <xsl:text> -} - </xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="fastcontextcreatefromstart"> - <xsl:text> -uno::Reference < xml::sax::XFastContextHandler > -OOXMLFastContextHandler::createFromStart -(::sal_Int32 Element, - const uno::Reference < xml::sax::XFastAttributeList > & Attribs) -{ -#ifdef DEBUG_CREATE - debug_logger->startElement("createfromstart"); - debug_logger->attribute("element", fastTokenToId(Element)); -#endif - uno::Reference < xml::sax::XFastContextHandler > xResult;</xsl:text> - - <xsl:for-each select="//namespace/start"> - <xsl:variable name="name" select="@name"/> - <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> - <xsl:text> - if (! xResult.is() || dynamic_cast<OOXMLFastContextHandler *>(xResult.get())->isFallback()) - { - xResult = OOXMLFastHelper < </xsl:text> - <xsl:call-template name="fastcontextname"/> - <xsl:text> >::createAndSetParentRef(this, Element, Attribs); - }</xsl:text> - </xsl:for-each> - </xsl:for-each> - <xsl:text> - -#ifdef DEBUG_CREATE - debug_logger->endElement("createfromstart"); -#endif - - return xResult; -} - </xsl:text> - </xsl:template> - - <xsl:key name="attribs-qnames" match="rng:attribute" use="@qname"/> - - <xsl:template name="dumpattribs"> - <xsl:text> -void dumpAttrib(const char * sToken, sal_uInt32 nToken, - const uno::Reference < xml::sax::XFastAttributeList - > & Attribs) -{ - try - { - if (Attribs->hasAttribute(nToken)) - { - debug_logger->startElement("attrib"); - debug_logger->attribute("id", sToken); - debug_logger->chars(Attribs->getValue(nToken)); - debug_logger->endElement("attrib"); - } - } - catch (...) - { - debug_logger->startElement("error"); - debug_logger->chars(sToken); - debug_logger->endElement("error"); - } -} - -void dumpAttribs -(const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - throw (uno::RuntimeException, xml::sax::SAXException) -{ - debug_logger->startElement("attribs"); - </xsl:text> - <xsl:for-each select="//rng:attribute[@name]"> - <xsl:if test="generate-id(.) = generate-id(key('attribs-qnames', @qname)[1] -)"> - <xsl:text> - dumpAttrib("</xsl:text> - <xsl:call-template name="fastlocalname"/> - <xsl:text>", </xsl:text> - <xsl:call-template name="fastlocalname"/> - <xsl:text>, Attribs);</xsl:text> - <xsl:text> - dumpAttrib("</xsl:text> - <xsl:call-template name="fasttoken"/> - <xsl:text>", </xsl:text> - <xsl:call-template name="fasttoken"/> - <xsl:text>, Attribs);</xsl:text> - </xsl:if> - </xsl:for-each> - <xsl:text> - debug_logger->endElement("attribs"); -}</xsl:text> - </xsl:template> - -<xsl:template name="createfastchildcontextname"> - <xsl:text>createFastContextHandler_</xsl:text> - <xsl:value-of select="@name"/> -</xsl:template> - -<xsl:template name="caselabeldefine"> - <xsl:text>case CLASS_</xsl:text> - <xsl:value-of select="translate(ancestor::namespace/@name, '-', '_')"/> - <xsl:text>_</xsl:text> - <xsl:value-of select="@name"/> - <xsl:text>:</xsl:text> -</xsl:template> - -<xsl:template name="createfastchildcontextswitchbodyref"> - <xsl:variable name="definename"> - <xsl:call-template name="searchdefinenamespace"> - <xsl:with-param name="name" select="@name"/> - </xsl:call-template> - </xsl:variable> - <xsl:for-each select="/model/namespace[@name=substring-before($definename, ':')]"> - <xsl:for-each select="./rng:grammar/rng:define[@name=substring-after($definename, ':')]"> - <xsl:call-template name="createfastchildcontextswitchbody"/> - </xsl:for-each> - </xsl:for-each> -</xsl:template> - -<xsl:template name="createfastchildcontextswitchbody"> - <xsl:for-each select=".//rng:element"> - <xsl:text> - </xsl:text> - <xsl:call-template name="caselabelfasttoken"/> - <xsl:text> - xResult.set(</xsl:text> - <xsl:call-template name="fastelementcreatestatement"/> - <xsl:text>); - break;</xsl:text> - </xsl:for-each> - <xsl:for-each - select=".//rng:ref[not(ancestor::rng:element or ancestor::rng:attribute)]"> - <xsl:call-template name="createfastchildcontextswitchbodyref"/> - </xsl:for-each> -</xsl:template> - -<xsl:template name="createfastchildcontextswitch"> - <xsl:variable name="body"> - <xsl:call-template name="createfastchildcontextswitchbody"/> - </xsl:variable> - <xsl:if test="string-length($body) > 0"> - <xsl:text> - switch(Element) - {</xsl:text> - <xsl:value-of select="$body"/> - <xsl:text> - default: - ; - }</xsl:text> - </xsl:if> -</xsl:template> - -<xsl:template name="createfastchildcontextlookup"> - <xsl:text> -uno::Reference<XFastContextHandler> </xsl:text> -<xsl:call-template name="createfastchildcontextname"/> -<xsl:text>(Id parent, Token_t Element) -{ - uno::Reference<XFastContextHandler> xResult; - switch (parent) - {</xsl:text> -<xsl:for-each select="./rng:grammar/rng:define"> - <xsl:variable name="do"> - <xsl:call-template name="classfordefine"/> - </xsl:variable> - <xsl:if test="$do='1'"> - <xsl:variable name="casebody"> - <xsl:call-template name="createfastchildcontextswitch"/> - </xsl:variable> - <xsl:if test="string-length($casebody) > 0"> - <xsl:text> - </xsl:text> - <xsl:call-template name="caselabeldefine"/> - <xsl:value-of select="$casebody"/> - <xsl:text> - break;</xsl:text> - </xsl:if> - </xsl:if> -</xsl:for-each> -<xsl:text> - default: - ; - } - - return xResult; -} -</xsl:text> -</xsl:template> - -</xsl:stylesheet> diff --git a/writerfilter/source/ooxml/status.sh b/writerfilter/source/ooxml/status.sh new file mode 100755 index 000000000000..e06382b13aa1 --- /dev/null +++ b/writerfilter/source/ooxml/status.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +SEARCHIN=$SRC_ROOT/writerfilter/source/dmapper + +( +echo '<?xml version="1.0"?>' +echo "<stage1>" + +xsltproc analyzemodel.xsl model.xml | tail -n +2 + +mdfind -onlyin $SEARCHIN "case NS_" | +xargs -J % grep -A 1 -n "case NS_" % | +grep "cxx" | +grep -v "//.*case NS_" | +sed 's#'$SEARCHIN'##' | +sed 's#\(^[^:]*\):\([0-9]*\):#<qname file="\1" line="\2"#' | +sed 's#[/* ]*case \(NS_.*\):.*# qname="\1"/>#' | +sed 's#.*WRITERFILTERSTATUS: done: \([0-9]*\), planned: \([0-9.]*\), spent: \([0-9.]*\).*#<status done="\1" planned="\2" spent="\3"/>#' | +grep -v "WRITERFILTERSTATUS:" | +sed 's#^.*-[0-9][0-9]*-.*$#<nostatus/>#' | +grep -v "^--" + +echo "</stage1>" +) | +xsltproc analyzestage2.xsl - | +xsltproc analyzestage3.xsl - diff --git a/writerfilter/source/ooxml/todo.xsl b/writerfilter/source/ooxml/todo.xsl new file mode 100644 index 000000000000..80431ea90487 --- /dev/null +++ b/writerfilter/source/ooxml/todo.xsl @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:rng="http://relaxng.org/ns/structure/1.0"> + +<xsl:output method="xml" indent="yes"/> + +<xsl:template match="/"> + <todo> + <xsl:for-each select="/stage3"> + <xsl:for-each select="attribute|element"> + <xsl:choose> + <xsl:when test="@qname and @resource='Properties' and not(file)"> + <xsl:copy-of select="."/> + </xsl:when> + <xsl:when test="@qname and file/status[number(@done) < 100 and number(@planned) > 0]"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:copy-of select="file[status[number(@done) < 100 and number(@planned) > 0]]"/> + </xsl:copy> + </xsl:when> + </xsl:choose> + </xsl:for-each> + </xsl:for-each> + </todo> +</xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/ooxml/valuesimpl.xsl b/writerfilter/source/ooxml/valuesimpl.xsl deleted file mode 100644 index 64be68700ad5..000000000000 --- a/writerfilter/source/ooxml/valuesimpl.xsl +++ /dev/null @@ -1,85 +0,0 @@ -<!-- -/************************************************************************* - * - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - - Copyright 2000, 2010 Oracle and/or its affiliates. - - OpenOffice.org - a multi-platform office productivity suite - - 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. - - ************************************************************************/ - ---> -<xsl:stylesheet - version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" - xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" - xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" - xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" - xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" - xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" - xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" - xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" - xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" - xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" - xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" - xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" - xmlns:ooo="http://openoffice.org/2004/office" - xmlns:ooow="http://openoffice.org/2004/writer" - xmlns:oooc="http://openoffice.org/2004/calc" - xmlns:dom="http://www.w3.org/2001/xml-events" - xmlns:xforms="http://www.w3.org/2002/xforms" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" - xmlns:UML = 'org.omg.xmi.namespace.UML' xml:space="default"> - <xsl:output method="text" /> - <xsl:param name="prefix"/> - - <xsl:include href="resourcestools.xsl"/> - - <xsl:template match="/"> - <out xml:space="preserve"> - <xsl:call-template name="licenseheader"/> - <xsl:text> -#include <iostream> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include "OOXMLvalues.hxx" -#include "OOXMLPropertySetImpl.hxx" - -namespace writerfilter { -namespace ooxml { -using namespace ::std; - </xsl:text> - <xsl:call-template name="valueconstants"/> - <xsl:call-template name="valueimpls"/> - <xsl:text> -}}
</xsl:text></out></xsl:template> - -</xsl:stylesheet>
\ No newline at end of file diff --git a/writerfilter/source/resourcemodel/Protocol.cxx b/writerfilter/source/resourcemodel/Protocol.cxx new file mode 100644 index 000000000000..7ae3c06f2675 --- /dev/null +++ b/writerfilter/source/resourcemodel/Protocol.cxx @@ -0,0 +1,216 @@ +/************************************************************************* + * + * 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: WW8ResourceModel.hxx,v $ + * $Revision: 1.4 $ + * + * 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. + * + ************************************************************************/ + +#include <stdio.h> +#include <rtl/ustrbuf.hxx> +#include <resourcemodel/Protocol.hxx> +#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/QNameToString.hxx> +namespace writerfilter +{ + +/* + StreamProtocol +*/ + +StreamProtocol::StreamProtocol(Stream * pStream, + TagLogger::Pointer_t pTagLogger) + : m_pStream(pStream), m_pTagLogger(pTagLogger) +{ +} + +StreamProtocol::~StreamProtocol() +{ +} + +void StreamProtocol::startSectionGroup() +{ + m_pTagLogger->element("protocol-startSectionGroup"); + m_pStream->startSectionGroup(); +} + +void StreamProtocol::endSectionGroup() +{ + m_pTagLogger->element("protocol-endSectionGroup"); + m_pStream->endSectionGroup(); +} + +void StreamProtocol::startParagraphGroup() +{ + m_pTagLogger->element("protocol-startParagraphGroup"); + m_pStream->startParagraphGroup(); +} + +void StreamProtocol::endParagraphGroup() +{ + m_pTagLogger->element("protocol-endParagraphGroup"); + m_pStream->endParagraphGroup(); +} + +void StreamProtocol::startCharacterGroup() +{ + m_pTagLogger->element("protocol-startCharacterGroup"); + m_pStream->startCharacterGroup(); +} + +void StreamProtocol::endCharacterGroup() +{ + m_pTagLogger->element("protocol-endCharacterGroup"); + m_pStream->endCharacterGroup(); +} + +void StreamProtocol::text(const sal_uInt8 * data, size_t len) +{ + ::rtl::OUString sText((const sal_Char*) data, len, + RTL_TEXTENCODING_MS_1252); + m_pTagLogger->startElement("protocol-text"); + m_pTagLogger->chars(sText); + m_pTagLogger->endElement("protocol-text"); + + m_pStream->text(data, len); +} + +void StreamProtocol::utext(const sal_uInt8 * data, size_t len) +{ + ::rtl::OUString sText; + ::rtl::OUStringBuffer aBuffer = ::rtl::OUStringBuffer(len); + aBuffer.append( (const sal_Unicode *) data, len); + sText = aBuffer.makeStringAndClear(); + + m_pTagLogger->startElement("protocol-utext"); + m_pTagLogger->chars(sText); + m_pTagLogger->endElement("protocol-utext"); + + m_pStream->utext(data, len); +} + +void StreamProtocol::props(writerfilter::Reference<Properties>::Pointer_t ref) +{ + m_pTagLogger->startElement("protocol-props"); + m_pStream->props(ref); + m_pTagLogger->endElement("protocol-props"); +} + +void StreamProtocol::table(Id name, + writerfilter::Reference<Table>::Pointer_t ref) +{ + m_pTagLogger->startElement("protocol-table"); + m_pTagLogger->attribute("name", (*QNameToString::Instance())(name)); + m_pStream->table(name, ref); + m_pTagLogger->endElement("protocol-table"); +} + +void StreamProtocol::substream(Id name, + writerfilter::Reference<Stream>::Pointer_t ref) +{ + m_pTagLogger->startElement("protocol-substream"); + m_pTagLogger->attribute("name", (*QNameToString::Instance())(name)); + + m_pStream->substream(name, ref); + m_pTagLogger->endElement("protocol-substream"); +} + +void StreamProtocol::info(const string & rInfo) +{ + m_pStream->info(rInfo); +} + +void StreamProtocol::startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ) +{ + m_pTagLogger->element("protocol-startShape"); + + m_pStream->startShape(xShape); +} + +void StreamProtocol::endShape() +{ + m_pTagLogger->element("protocol-endShape"); + + m_pStream->endShape(); +} + +/* + PropertiesProtocol +*/ + +PropertiesProtocol::PropertiesProtocol(Properties * pProperties, + TagLogger::Pointer_t pTagLogger) +: m_pProperties(pProperties), m_pTagLogger(pTagLogger) +{ +} + +PropertiesProtocol::~PropertiesProtocol() +{ +} + +void PropertiesProtocol::attribute(Id name, Value & val) +{ + m_pTagLogger->startElement("protocol-attribute"); + m_pTagLogger->attribute("name", (*QNameToString::Instance())(name)); + m_pTagLogger->attribute("value", val.toString()); + m_pProperties->attribute(name, val); + m_pTagLogger->endElement("protocol-attribute"); +} + +void PropertiesProtocol::sprm(Sprm & _sprm) +{ + m_pTagLogger->startElement("protocol-sprm"); + static char sBuffer[256]; + snprintf(sBuffer, sizeof(sBuffer), "%04" SAL_PRIxUINT32, _sprm.getId()); + m_pTagLogger->attribute("id", sBuffer); + m_pTagLogger->attribute("name", _sprm.getName()); + m_pTagLogger->chars(_sprm.toString()); + m_pProperties->sprm(_sprm); + m_pTagLogger->endElement("protocol-sprm"); +} + +/* + TableProtocol + */ + +TableProtocol::TableProtocol(Table * pTable, TagLogger::Pointer_t pTagLogger) +: m_pTable(pTable), m_pTagLogger(pTagLogger) +{ +} + +TableProtocol::~TableProtocol() +{ +} + +void TableProtocol::entry(int pos, + writerfilter::Reference<Properties>::Pointer_t ref) +{ + m_pTagLogger->startElement("protocol-entry"); + m_pTagLogger->attribute("pos", pos); + m_pTable->entry(pos, ref); + m_pTagLogger->endElement("protocol-entry"); +} + +} diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index a4baf718a5d7..1d9b23623e56 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -42,6 +42,20 @@ namespace writerfilter mAttrs.push_back(aAttr); } + void XMLTag::addAttr(string sName, const ::rtl::OUString & sValue) + { + addAttr(sName, + OUStringToOString + (sValue, RTL_TEXTENCODING_ASCII_US).getStr()); + } + + void XMLTag::addAttr(string sName, sal_uInt32 nValue) + { + char buffer[256]; + snprintf(buffer, sizeof(buffer), "%" SAL_PRIdINT32, nValue); + addAttr(sName, buffer); + } + void XMLTag::addTag(XMLTag::Pointer_t pTag) { if (pTag != XMLTag::Pointer_t()) @@ -188,6 +202,7 @@ namespace writerfilter { XMLTag::Pointer_t pTag(new XMLTag("root")); mTags.push(pTag); + mpRoot = pTag; } void TagLogger::element(const string & name) @@ -210,7 +225,12 @@ namespace writerfilter void TagLogger::attribute(const string & name, const ::rtl::OUString & value) { - attribute(name, OUStringToOString(value, RTL_TEXTENCODING_ASCII_US).getStr()); + currentTag()->addAttr(name, value); + } + + void TagLogger::attribute(const string & name, sal_uInt32 value) + { + currentTag()->addAttr(name, value); } void TagLogger::addTag(XMLTag::Pointer_t pTag) @@ -230,19 +250,18 @@ namespace writerfilter void TagLogger::endElement(const string & name) { - string nameRemoved; - bool found = false; - do - { - nameRemoved = currentTag()->getTag(); + string nameRemoved = currentTag()->getTag(); + + if (name == nameRemoved) mTags.pop(); + else { + XMLTag::Pointer_t pTag(new XMLTag("end.mismatch")); + pTag->addAttr("name", name); + pTag->addAttr("top", nameRemoved); - if (name == nameRemoved) - found = true; - else - found = false; // for debugging + currentTag()->addTag(pTag); } - while (! found && ! mTags.empty()); + } void TagLogger::endDocument() @@ -252,7 +271,7 @@ namespace writerfilter ostream & TagLogger::output(ostream & o) const { - return currentTag()->output(o); + return mpRoot->output(o); } void TagLogger::dump(const char * name) @@ -270,7 +289,7 @@ namespace writerfilter fileName += "/writerfilter."; fileName += name; - fileName += ".tmp"; + fileName += ".xml"; ofstream dumpStream(fileName.c_str()); aIt->second->output(dumpStream); diff --git a/writerfilter/source/resourcemodel/makefile.mk b/writerfilter/source/resourcemodel/makefile.mk index 52f89cf2dc7f..f3869f30611b 100644 --- a/writerfilter/source/resourcemodel/makefile.mk +++ b/writerfilter/source/resourcemodel/makefile.mk @@ -54,7 +54,8 @@ SLOFILES= \ $(SLO)$/resourcemodel.obj \ $(SLO)$/util.obj \ $(SLO)$/TagLogger.obj \ - $(SLO)$/WW8Analyzer.obj + $(SLO)$/WW8Analyzer.obj \ + $(SLO)$/Protocol.obj # linux 64 bit: compiler (gcc 4.2.3) fails with 'out of memory' .IF "$(OUTPATH)"=="unxlngx6" @@ -101,10 +102,11 @@ OOXMLHXXOUTDIRCREATED=$(OOXMLHXXOUTDIR)$/created OOXMLMODEL=..$/ooxml$/model.xml OOXMLPREPROCESSXSL=..$/ooxml$/modelpreprocess.xsl +OOXMLPREPROCESSXSLCOPIED=$(MISC)$/modelpreprocess.xsl OOXMLQNAMETOSTRXSL=..$/ooxml$/qnametostr.xsl OOXMLANALYZERXSL=..$/ooxml$/analyzer.xsl OOXMLRESOURCEIDSXSL=..$/ooxml$/resourceids.xsl -OOXMLRESOURCESTOOLSXSL=..$/ooxml$/resourcestools.xsl +OOXMLFACTORYTOOLSXSL=..$/ooxml$/factorytools.xsl DOCTOKMODEL=..$/doctok$/resources.xmi DOCTOKQNAMETOSTRXSL=..$/doctok$/qnametostr.xsl DOCTOKANALYZERXSL=..$/doctok$/analyzer.xsl @@ -113,6 +115,8 @@ DOCTOKRESOURCEIDSXSL=..$/doctok$/resourceids.xsl DOCTOKSPRMIDSXSL=..$/doctok$/sprmids.xsl DOCTOKRESOURCETOOLS=..$/doctok$/resourcetools.xsl +NSPROCESS=namespace_preprocess.pl + MODELPROCESSED=$(MISC)$/model_preprocessed.xml QNAMETOSTRCXX=$(RESOURCEMODELCXXOUTDIR)$/qnametostr.cxx @@ -124,6 +128,9 @@ DOCTOKRESOURCEIDSHXX=$(DOCTOKHXXOUTDIR)$/resourceids.hxx SPRMIDSHXX=$(DOCTOKHXXOUTDIR)$/sprmids.hxx OOXMLRESOURCEIDSHXX=$(OOXMLHXXOUTDIR)$/resourceids.hxx +NSXSL=$(MISC)$/namespacesmap.xsl +NAMESPACESTXT=$(SOLARVER)$/$(INPATH)$/inc$(UPDMINOREXT)$/oox$/namespaces.txt + GENERATEDHEADERS=$(DOCTOKRESOURCEIDSHXX) $(OOXMLRESOURCEIDSHXX) $(SPRMIDSHXX) GENERATEDFILES= \ $(GENERATEDHEADERS) \ @@ -135,18 +142,19 @@ GENERATEDFILES= \ $(SPRMCODETOSTRTMP) $(OOXMLQNAMETOSTRTMP): $(OOXMLQNAMETOSTRXSL) $(MODELPROCESSED) - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLQNAMETOSTRXSL:s!\!/!) $(MODELPROCESSED) > $@ + @echo "Making: " $(@:f) + $(XSLTPROC) $(OOXMLQNAMETOSTRXSL:s!\!/!) $(MODELPROCESSED) > $@ $(DOCTOKQNAMETOSTRTMP): $(DOCTOKQNAMETOSTRXSL) $(DOCTOKMODEL) - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $(DOCTOKQNAMETOSTRXSL:s!\!/!) $(DOCTOKMODEL) > $@ + @echo "Making: " $(@:f) + $(XSLTPROC) $(DOCTOKQNAMETOSTRXSL:s!\!/!) $(DOCTOKMODEL) > $@ -$(QNAMETOSTRCXX): $(OOXMLQNAMETOSTRTMP) $(DOCTOKQNAMETOSTRTMP) qnametostrheader qnametostrfooter $(OOXMLRESOURCESTOOLSXSL) $(DOCTOKRESOURCETOOLS) +$(QNAMETOSTRCXX): $(OOXMLQNAMETOSTRTMP) $(DOCTOKQNAMETOSTRTMP) qnametostrheader qnametostrfooter $(OOXMLFACTORYTOOLSXSL) $(DOCTOKRESOURCETOOLS) @$(TYPE) qnametostrheader $(OOXMLQNAMETOSTRTMP) $(DOCTOKQNAMETOSTRTMP) qnametostrfooter > $@ + $(SPRMCODETOSTRTMP): $(DOCTOKSPRMCODETOSTRXSL) $(DOCTOKMODEL) - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $(DOCTOKSPRMCODETOSTRXSL:s!\!/!) $(DOCTOKMODEL) > $@ + @echo "Making: " $(@:f) + $(XSLTPROC) $(DOCTOKSPRMCODETOSTRXSL:s!\!/!) $(DOCTOKMODEL) > $@ $(SPRMCODETOSTRCXX): sprmcodetostrheader $(SPRMCODETOSTRTMP) sprmcodetostrfooter @$(TYPE) $< > $@ @@ -160,30 +168,36 @@ $(DOCTOKHXXOUTDIRCREATED): @$(MKDIRHIER) $(DOCTOKHXXOUTDIR) @$(TOUCH) $@ -$(DOCTOKRESOURCEIDSHXX): $(DOCTOKHXXOUTDIRCREATED) $(DOCTOKRESOURCETOOLS) $(DOCTOKRESOURCEIDSXSL) - @echo "Making: " $(@:f) +$(DOCTOKRESOURCEIDSHXX): $(DOCTOKHXXOUTDIRCREATED) $(DOCTOKRESOURCETOOLS) $(DOCTOKRESOURCEIDSXSL) $(DOCTOKMODEL) + @echo "Making: " $(@:f) $(COMMAND_ECHO)$(XSLTPROC) $(DOCTOKRESOURCEIDSXSL:s!\!/!) $(DOCTOKMODEL) > $@ $(OOXMLHXXOUTDIRCREATED): @$(MKDIRHIER) $(OOXMLHXXOUTDIR) @$(TOUCH) $@ -$(MODELPROCESSED): $(OOXMLMODEL) $(OOXMLRESOURCESTOOLSXSL) $(OOXMLPREPROCESSXSL) - @echo "Making: " $(@:f) - $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLPREPROCESSXSL:s!\!/!) $(OOXMLMODEL) > $@ +$(OOXMLPREPROCESSXSLCOPIED): $(OOXMLPREPROCESSXSL) + @$(COPY) $(OOXMLPREPROCESSXSL) $@ + +$(NSXSL) : $(OOXMLMODEL) $(NAMESPACESTXT) $(NSPROCESS) + @$(PERL) $(NSPROCESS) $(NAMESPACESTXT) > $@ -$(OOXMLRESOURCEIDSHXX): $(OOXMLHXXOUTDIRCREATED) $(OOXMLRESOURCESTOOLSXSL) $(OOXMLRESOURCEIDSXSL) $(MODELPROCESSED) +$(MODELPROCESSED): $(NSXSL) $(OOXMLPREPROCESSXSLCOPIED) $(OOXMLMODEL) @echo "Making: " $(@:f) + $(COMMAND_ECHO)$(XSLTPROC) $(NSXSL) $(OOXMLMODEL) > $@ + +$(OOXMLRESOURCEIDSHXX): $(OOXMLHXXOUTDIRCREATED) $(OOXMLFACTORYTOOLSXSL) $(OOXMLRESOURCEIDSXSL) $(MODELPROCESSED) + @echo "Making: " $(@:f) $(COMMAND_ECHO)$(XSLTPROC) $(OOXMLRESOURCEIDSXSL:s!\!/!) $(MODELPROCESSED) > $@ $(SPRMIDSHXX): $(DOCTOKHXXOUTDIRCREATED) $(DOCTOKSPRMIDSXSL) $(DOCTOKMODEL) - @echo "Making: " $(@:f) + @echo "Making: " $(@:f) $(COMMAND_ECHO)$(XSLTPROC) $(DOCTOKSPRMIDSXSL:s!\!/!) $(DOCTOKMODEL) > $@ .PHONY: genclean genmake gendirs genclean: - @rm -f $(GENERATEDFILES) + rm -f $(GENERATEDFILES) genmake: $(GENERATEDFILES) diff --git a/writerfilter/source/ooxml/namespace_preprocess.pl b/writerfilter/source/resourcemodel/namespace_preprocess.pl index 22c172329f61..22c172329f61 100644 --- a/writerfilter/source/ooxml/namespace_preprocess.pl +++ b/writerfilter/source/resourcemodel/namespace_preprocess.pl diff --git a/writerfilter/source/resourcemodel/setdebugflags b/writerfilter/source/resourcemodel/setdebugflags new file mode 100755 index 000000000000..dafa563d7a7d --- /dev/null +++ b/writerfilter/source/resourcemodel/setdebugflags @@ -0,0 +1,3 @@ +#!/bin/tcsh + +setenv ENFCLAGS "-DDEBUG_ELEMENT -DDEBUG_ATTRIBUTES -DDEBUG_PROPERTIES -DDEBUG_CONTEXT_STACK -DDEBUG_CREATE -DDEBUG_DOMAINMAPPER" diff --git a/writerfilter/source/resourcemodel/util.cxx b/writerfilter/source/resourcemodel/util.cxx index b7966f6957ea..47d325654d5b 100644 --- a/writerfilter/source/resourcemodel/util.cxx +++ b/writerfilter/source/resourcemodel/util.cxx @@ -37,6 +37,7 @@ #include <com/sun/star/text/TextContentAnchorType.hpp> #include <resourcemodel/WW8ResourceModel.hxx> #include <resourcemodel/TagLogger.hxx> +#include <resourcemodel/util.hxx> namespace writerfilter { @@ -397,4 +398,27 @@ string propertysetToString(uno::Reference<beans::XPropertySet> const & xPropSet) return result; } + string toString(uno::Reference< text::XTextRange > textRange) + { + string result; + + if (textRange.get()) + { + rtl::OUString aOUStr = textRange->getString(); + rtl::OString aOStr(aOUStr.getStr(), aOUStr.getLength(), RTL_TEXTENCODING_ASCII_US ); + + result = aOStr.getStr(); + } + else + { + result="(nil)"; + } + + return result; + } + + string toString(const string & rString) + { + return rString; + } } diff --git a/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.cxx b/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.cxx index 8fa44b224aa5..7a3f80ea22d9 100644 --- a/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.cxx +++ b/writerfilter/unocomponent/debugservices/ooxml/OOXMLTestService.cxx @@ -64,6 +64,7 @@ #include <com/sun/star/text/XTextDocument.hpp> #include <com/sun/star/drawing/XDrawPageSupplier.hpp> #include <ooxml/OOXMLDocument.hxx> +#include <resourcemodel/TagLogger.hxx> #include <ctype.h> @@ -91,6 +92,12 @@ sal_Int32 SAL_CALL ScannerTestService::run( const uno::Sequence< rtl::OUString > uno::Reference<lang::XMultiComponentFactory> xFactory(xContext->getServiceManager(), uno::UNO_QUERY_THROW ); if (::ucbhelper::ContentBroker::initialize(xServiceFactory, aUcbInitSequence)) { +#ifdef DEBUG_ELEMENT + writerfilter::TagLogger::Pointer_t debugLogger + (writerfilter::TagLogger::getInstance("DEBUG")); + debugLogger->startDocument(); +#endif + rtl::OUString arg=aArguments[0]; ::comphelper::setProcessServiceFactory(xServiceFactory); @@ -136,6 +143,11 @@ sal_Int32 SAL_CALL ScannerTestService::run( const uno::Sequence< rtl::OUString > Stream::Pointer_t pStream = createStreamHandler(); pDocument->resolve(*pStream); +#ifdef DEBUG_ELEMENT + writerfilter::TagLogger::dump("DEBUG"); + debugLogger->endDocument(); +#endif + ::ucbhelper::ContentBroker::deinitialize(); } else diff --git a/writerfilter/util/exports.map b/writerfilter/util/exports.map deleted file mode 100644 index be4802aef7ab..000000000000 --- a/writerfilter/util/exports.map +++ /dev/null @@ -1,9 +0,0 @@ -WFT_1_0 { - global: - component_getImplementationEnvironment; - component_writeInfo; - component_getFactory; - local: - *; -}; - diff --git a/writerfilter/util/makefile.mk b/writerfilter/util/makefile.mk index c9736f4167d7..f5981222743c 100644 --- a/writerfilter/util/makefile.mk +++ b/writerfilter/util/makefile.mk @@ -66,7 +66,7 @@ SHL1STDLIBS=\ SHL1DEPN= SHL1IMPLIB= i$(SHL1TARGET) SHL1DEF= $(MISC)$/$(SHL1TARGET).def -SHL1VERSIONMAP=exports.map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map DEF1NAME=$(SHL1TARGET) diff --git a/writerperfect/source/wpdimp/WordPerfectImportFilter.cxx b/writerperfect/source/wpdimp/WordPerfectImportFilter.cxx index a6cdba08616c..d4ee07e87c6d 100644 --- a/writerperfect/source/wpdimp/WordPerfectImportFilter.cxx +++ b/writerperfect/source/wpdimp/WordPerfectImportFilter.cxx @@ -46,9 +46,6 @@ #ifndef _ATTRLIST_HPP_ #include <xmloff/attrlist.hxx> #endif -#ifndef _XMLKYWD_HPP -#include <xmloff/xmlkywd.hxx> -#endif #include <ucbhelper/content.hxx> #include "filter/FilterInternal.hxx" diff --git a/writerperfect/util/makefile.mk b/writerperfect/util/makefile.mk index 4da935247054..dca29e005287 100644 --- a/writerperfect/util/makefile.mk +++ b/writerperfect/util/makefile.mk @@ -39,7 +39,7 @@ SHL1STDLIBS+= \ SHL1TARGET = wpft$(DLLPOSTFIX) SHL1IMPLIB = i$(SHL1TARGET) SHL1LIBS = $(LIB1TARGET) -SHL1VERSIONMAP=wpft.map +SHL1VERSIONMAP=$(SOLARENV)/src/component.map DEF1NAME=$(SHL1TARGET) .INCLUDE : target.mk diff --git a/writerperfect/util/wpft.map b/writerperfect/util/wpft.map deleted file mode 100644 index 7152f7ebd013..000000000000 --- a/writerperfect/util/wpft.map +++ /dev/null @@ -1,8 +0,0 @@ -WPFT_1_0 { - global: - component_getImplementationEnvironment; - component_writeInfo; - component_getFactory; - local: - *; -}; |