From f20e02cdc790700e5b0ad08a3faa690d53044411 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 18 Feb 2010 11:48:08 +0100 Subject: writerfilter08: corrected status annotation --- .../source/dmapper/DomainMapperTableManager.cxx | 38 ++++++++++++---------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index 0db6b68fb069..7f112a18db36 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -102,14 +102,14 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) sal_Int32 nIntValue = ((pValue.get() != NULL) ? pValue->getInt() : 0); switch ( nSprmId ) { - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case 0xf661: //sprmTTRLeft left table indent - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ case 0xf614: // sprmTTPreferredWidth - preferred table width - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_TblPrBase_tblW: //90722; - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_TblPrBase_tblInd: //90725 + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { //contains unit and value writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); @@ -135,9 +135,9 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) } } break; - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case 0x3404:// sprmTTableHeader case NS_ooxml::LN_CT_TrPrBase_tblHeader: //90704 + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ // if nIntValue == 1 then the row is a repeated header line // to prevent later rows from increasing the repeating m_nHeaderRepeat is set to NULL when repeating stops if( nIntValue > 0 && m_nHeaderRepeat >= 0 ) @@ -150,8 +150,8 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) else m_nHeaderRepeat = -1; break; - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case 0xd608: // TDefTable + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if( pProperties.get()) @@ -181,8 +181,8 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) } } break; - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case 0xD605: // sprmTTableBorders + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if( pProperties.get()) @@ -196,14 +196,14 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) } } break; - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ case 0xd632 : //sprmTNewSpacing - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ + /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ case 0xd634 : //sprmTNewSpacing + /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ //TODO: sprms contain default (TNew) and actual border spacing of cells - not resolvable yet break; - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ case 0xd613: //sprmTGridLineProps + /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ // TODO: needs a handler /*contains: GridLineProps"> @@ -219,8 +219,8 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) */ break; - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ case 0x740a : //sprmTTlp + /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ //TODO: Table look specifier break; case 0x6816 : //unknown @@ -230,10 +230,11 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) case 0x7479 : //unknown case 0xf617 : //unknown case 0xf618 : //unknown + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ bRet = false; break; - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_TblPrBase_tblStyle: //table style name + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { m_sTableStyleName = pValue->getString(); TablePropertyMapPtr pPropMap( new TablePropertyMap ); @@ -241,14 +242,14 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) insertTableProps(pPropMap); } break; - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_TblGridBase_gridCol: + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { getCurrentGrid()->push_back( ConversionHelper::convertTwipToMM100( nIntValue ) ); } break; - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_TcPrBase_vMerge : //vertical merge + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { // values can be: LN_Value_ST_Merge_restart, LN_Value_ST_Merge_continue, in reality the second one is a 0 TablePropertyMapPtr pMergeProps( new TablePropertyMap ); @@ -256,8 +257,8 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) cellProps( pMergeProps); } break; - /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_TcPrBase_gridSpan: //number of grid positions spanned by this cell + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { #if DEBUG_DOMAINMAPPER dmapper_logger->startElement("tablemanager.GridSpan"); @@ -267,13 +268,14 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) m_nGridSpan = nIntValue; } break; - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_TblPrBase_tblLook: + /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; //todo: table look specifier - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_TcPrBase_tcW: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ break; //fixed column width is not supported case NS_ooxml::LN_CT_TrPrBase_cnfStyle: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { TablePropertyMapPtr pProps( new TablePropertyMap ); pProps->Insert( PROP_CNF_STYLE, true, uno::makeAny( pValue->getString( ) ) ); @@ -281,9 +283,11 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) } break; case NS_ooxml::LN_CT_PPrBase_cnfStyle: + /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ // TODO cnfStyle on a paragraph break; case NS_ooxml::LN_CT_TcPrBase_cnfStyle: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { TablePropertyMapPtr pProps( new TablePropertyMap ); pProps->Insert( PROP_CNF_STYLE, true, uno::makeAny( pValue->getString( ) ) ); -- cgit From 7da75419c4d79f0dd3a9c2c17f4e8a18b24183c1 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 18 Feb 2010 11:52:35 +0100 Subject: writerfilter08: use find instead of mdfind, 'WRITERSTATUS:<nl>' means: Done --- writerfilter/source/ooxml/status.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/writerfilter/source/ooxml/status.sh b/writerfilter/source/ooxml/status.sh index e06382b13aa1..c36ad0d65a37 100755 --- a/writerfilter/source/ooxml/status.sh +++ b/writerfilter/source/ooxml/status.sh @@ -8,15 +8,13 @@ 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" | +find $SEARCHIN -name "*.cxx" -exec grep -nH -A 1 "case NS_" {} \; | 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#.*WRITERFILTERSTATUS:.*#<status done="100"/>#' | sed 's#^.*-[0-9][0-9]*-.*$#<nostatus/>#' | grep -v "^--" -- cgit From 53fe5520209e594cdd7257417524c18d7cc722ce Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 18 Feb 2010 16:33:47 +0100 Subject: writerfilter08: added file name to TagLogger --- writerfilter/inc/resourcemodel/TagLogger.hxx | 3 +++ writerfilter/source/filter/ImportFilter.cxx | 19 ++++++++++++------- writerfilter/source/resourcemodel/TagLogger.cxx | 19 ++++++++++++++++++- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/writerfilter/inc/resourcemodel/TagLogger.hxx b/writerfilter/inc/resourcemodel/TagLogger.hxx index da2b38de8dd1..858ecdba3a37 100644 --- a/writerfilter/inc/resourcemodel/TagLogger.hxx +++ b/writerfilter/inc/resourcemodel/TagLogger.hxx @@ -96,6 +96,7 @@ namespace writerfilter stack<XMLTag::Pointer_t> mTags; XMLTag::Pointer_t currentTag() const; XMLTag::Pointer_t mpRoot; + string mFileName; TagLogger(); @@ -104,6 +105,8 @@ namespace writerfilter static Pointer_t getInstance(const char * name); + void setFileName(const string & rName); + void startDocument(); void element(const string & name); void startElement(const string & name); diff --git a/writerfilter/source/filter/ImportFilter.cxx b/writerfilter/source/filter/ImportFilter.cxx index 3fd758f5fd75..4ff837d00fe8 100644 --- a/writerfilter/source/filter/ImportFilter.cxx +++ b/writerfilter/source/filter/ImportFilter.cxx @@ -90,13 +90,18 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes } #ifdef DEBUG_ELEMENT - writerfilter::TagLogger::Pointer_t debugLogger - (writerfilter::TagLogger::getInstance("DEBUG")); - debugLogger->startDocument(); - - writerfilter::TagLogger::Pointer_t dmapperLogger - (writerfilter::TagLogger::getInstance("DOMAINMAPPER")); - dmapperLogger->startDocument(); + OUString sURL = aMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_URL(), OUString() ); + ::std::string sURLc = OUStringToOString(sURL, RTL_TEXTENCODING_ASCII_US).getStr(); + + writerfilter::TagLogger::Pointer_t debugLogger + (writerfilter::TagLogger::getInstance("DEBUG")); + debugLogger->setFileName(sURLc); + debugLogger->startDocument(); + + writerfilter::TagLogger::Pointer_t dmapperLogger + (writerfilter::TagLogger::getInstance("DOMAINMAPPER")); + dmapperLogger->setFileName(sURLc); + dmapperLogger->startDocument(); #endif writerfilter::dmapper::SourceDocumentType eType = diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index 6063a6e2f9df..b5fe9f311db0 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -165,6 +165,7 @@ namespace writerfilter static TagLoggerHashMap_t * tagLoggers = NULL; TagLogger::TagLogger() + : mFileName("writerfilter") { } @@ -172,6 +173,11 @@ namespace writerfilter { } + void TagLogger::setFileName(const string & rName) + { + mFileName = rName; + } + TagLogger::Pointer_t TagLogger::getInstance(const char * name) { if (tagLoggers == NULL) @@ -290,7 +296,18 @@ namespace writerfilter else fileName += "/tmp"; - fileName += "/writerfilter."; + string sPrefix = aIt->second->mFileName; + size_t nLastSlash = sPrefix.find_last_of('/'); + size_t nLastBackslash = sPrefix.find_last_of('\\'); + size_t nCutPos = nLastSlash; + if (nLastBackslash < nCutPos) + nCutPos = nLastBackslash; + if (nCutPos < sPrefix.size()) + sPrefix = sPrefix.substr(nCutPos + 1); + + fileName += "/"; + fileName += sPrefix; + fileName +="."; fileName += name; fileName += ".xml"; -- cgit From c39db1e63b4cc4ecc300ad9f497380ec387e0e14 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 22 Feb 2010 16:33:02 +0100 Subject: writerfilter08: First complex test --- writerfilter/qa/complex/ooxml/LoadDocuments.java | 51 ++++++++++++ writerfilter/qa/complex/ooxml/makefile.mk | 90 +++++++++++++++++++++ .../ooxml/testdocuments/Table5CellBorders.docx | Bin 0 -> 10420 bytes .../ooxml/testdocuments/TableDifferentColumns.docx | Bin 0 -> 10440 bytes .../ooxml/testdocuments/TablePreferredWidth.docx | Bin 0 -> 10393 bytes .../ooxml/testdocuments/TableRowProperties.docx | Bin 0 -> 10622 bytes 6 files changed, 141 insertions(+) create mode 100644 writerfilter/qa/complex/ooxml/LoadDocuments.java create mode 100644 writerfilter/qa/complex/ooxml/makefile.mk create mode 100644 writerfilter/qa/complex/ooxml/testdocuments/Table5CellBorders.docx create mode 100644 writerfilter/qa/complex/ooxml/testdocuments/TableDifferentColumns.docx create mode 100644 writerfilter/qa/complex/ooxml/testdocuments/TablePreferredWidth.docx create mode 100644 writerfilter/qa/complex/ooxml/testdocuments/TableRowProperties.docx diff --git a/writerfilter/qa/complex/ooxml/LoadDocuments.java b/writerfilter/qa/complex/ooxml/LoadDocuments.java new file mode 100644 index 000000000000..6f05391b6d21 --- /dev/null +++ b/writerfilter/qa/complex/ooxml/LoadDocuments.java @@ -0,0 +1,51 @@ + +package complex.ooxml; +import com.sun.star.lang.XMultiServiceFactory; +import complexlib.ComplexTestCase; +import java.io.File; +import com.sun.star.text.XTextDocument; + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author hb137859 + */ +public class LoadDocuments extends ComplexTestCase { + private XMultiServiceFactory m_xMSF; + + @Override + public String[] getTestMethodNames() { + return new String [] { + "test1" + }; + } + + public void before() throws Exception { + m_xMSF = (XMultiServiceFactory) param.getMSF(); + } + + public void test1() { + String testDocumentsPath = util.utils.getFullTestDocName(""); + log.println("Test documents in:" + testDocumentsPath); + + File dir = new File(testDocumentsPath); + String [] files = dir.list(); + + if (files != null) { + for (int i = 0; i < files.length; ++i) { + log.println(files[i]); + String url = util.utils.getFullTestURL(files[i]); + log.println(url); + + XTextDocument xDoc = util.WriterTools.loadTextDoc(m_xMSF, url); + util.DesktopTools.closeDoc(xDoc); + } + } else { + failed(); + } + } +} diff --git a/writerfilter/qa/complex/ooxml/makefile.mk b/writerfilter/qa/complex/ooxml/makefile.mk new file mode 100644 index 000000000000..b57a0f5279f5 --- /dev/null +++ b/writerfilter/qa/complex/ooxml/makefile.mk @@ -0,0 +1,90 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.5.198.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. +# +#************************************************************************* + +PRJ = ..$/..$/.. +TARGET = PropertyValues +PRJNAME = $(TARGET) +PACKAGE = complex$/ooxml + +# --- Settings ----------------------------------------------------- +.INCLUDE: settings.mk + + +#----- compile .java files ----------------------------------------- + +JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar +JAVAFILES = LoadDocuments.java +JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class) + +#----- make a jar from compiled files ------------------------------ + +MAXLINELENGTH = 100000 + +JARCLASSDIRS = $(PACKAGE) +JARTARGET = $(TARGET).jar +JARCOMPRESS = TRUE + +# --- Parameters for the test -------------------------------------- + +# start an office if the parameter is set for the makefile +.IF "$(OFFICE)" == "" +CT_APPEXECCOMMAND = +.ELSE +CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;" +.ENDIF + +# test base is java complex +CT_TESTBASE = -TestBase java_complex + +# build package name with "." instead of $/ +CT_PACKAGE = -o $(PACKAGE:s\$/\.\) + +# start the runner application +CT_APP = org.openoffice.Runner + +# --- Targets ------------------------------------------------------ + +.IF "$(depend)" == "" +ALL: ALLTAR +.ELSE +ALL: ALLDEP +.ENDIF + +.INCLUDE : target.mk + +run: \ + LoadDocuments + +RUN: run + +LoadDocuments: + +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) -tdoc $(PWD)$/testdocuments $(CT_PACKAGE).LoadDocuments + diff --git a/writerfilter/qa/complex/ooxml/testdocuments/Table5CellBorders.docx b/writerfilter/qa/complex/ooxml/testdocuments/Table5CellBorders.docx new file mode 100644 index 000000000000..6b278175601b Binary files /dev/null and b/writerfilter/qa/complex/ooxml/testdocuments/Table5CellBorders.docx differ diff --git a/writerfilter/qa/complex/ooxml/testdocuments/TableDifferentColumns.docx b/writerfilter/qa/complex/ooxml/testdocuments/TableDifferentColumns.docx new file mode 100644 index 000000000000..0503327ddecd Binary files /dev/null and b/writerfilter/qa/complex/ooxml/testdocuments/TableDifferentColumns.docx differ diff --git a/writerfilter/qa/complex/ooxml/testdocuments/TablePreferredWidth.docx b/writerfilter/qa/complex/ooxml/testdocuments/TablePreferredWidth.docx new file mode 100644 index 000000000000..719b3888a018 Binary files /dev/null and b/writerfilter/qa/complex/ooxml/testdocuments/TablePreferredWidth.docx differ diff --git a/writerfilter/qa/complex/ooxml/testdocuments/TableRowProperties.docx b/writerfilter/qa/complex/ooxml/testdocuments/TableRowProperties.docx new file mode 100644 index 000000000000..775d63c97b34 Binary files /dev/null and b/writerfilter/qa/complex/ooxml/testdocuments/TableRowProperties.docx differ -- cgit From 881712e2732b3bc41416e136ad54054cfbe6b496 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 24 Feb 2010 16:29:55 +0100 Subject: writerfilter08: updated some status annotations --- writerfilter/source/dmapper/DomainMapper.cxx | 40 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 1dc49f997794..f5d6698c1730 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3737,43 +3737,43 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; case NS_ooxml::LN_CT_PPr_sectPr: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_EG_RPrBase_color: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_EG_RPrBase_rFonts: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_EG_RPrBase_bdr: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_EG_RPrBase_eastAsianLayout: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_EG_RPrBase_u: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_EG_RPrBase_lang: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_PPrBase_spacing: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_PPrBase_ind: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_RPrDefault_rPr: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_PPrDefault_pPr: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_DocDefaults_pPrDefault: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_DocDefaults_rPrDefault: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_Style_pPr: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_Style_rPr: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_PPr_rPr: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_PPrBase_numPr: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ resolveSprmProps(rSprm); break; case NS_ooxml::LN_EG_SectPrContents_footnotePr: - /* WRITERFILTERSTATUS: done: 1ß0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, 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 ); @@ -3995,7 +3995,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } break; case NS_sprm::LN_CFNoProof: //0x875 no grammar and spell checking, unsupported - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; case NS_ooxml::LN_anchor_anchor: // at_character drawing /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ @@ -4155,7 +4155,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp //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 */ + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; case NS_ooxml::LN_CT_Lvl_pStyle: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ -- cgit From 79854554290e70219612c1d69b4943e2598d294e Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 25 Feb 2010 14:09:14 +0100 Subject: writerfilter08: handle CT_DocGrid --- writerfilter/source/dmapper/DomainMapper.cxx | 39 +++++++++++++++++------ writerfilter/source/dmapper/DomainMapper_Impl.cxx | 15 +++++++++ writerfilter/source/dmapper/DomainMapper_Impl.hxx | 2 +- writerfilter/source/ooxml/dummyannotate.xsl | 2 +- writerfilter/source/ooxml/model.xml | 11 +++++-- 5 files changed, 54 insertions(+), 15 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index f5d6698c1730..dd7e2dbaad08 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -201,6 +201,9 @@ void DomainMapper::attribute(Id nName, Value & val) static ::rtl::OUString sLocalBookmarkName; sal_Int32 nIntValue = val.getInt(); rtl::OUString sStringValue = val.getString(); + + SectionPropertyMap * pSectionContext = m_pImpl->GetSectionContext(); + // printf ( "DomainMapper::attribute(0x%.4x, 0x%.4x) [%s]\n", (unsigned int)nName, (unsigned int)nIntValue, ::rtl::OUStringToOString(sStringValue, RTL_TEXTENCODING_DONTKNOW).getStr()); if( nName >= NS_rtf::LN_WIDENT && nName <= NS_rtf::LN_LCBSTTBFUSSR ) m_pImpl->GetFIB().SetData( nName, nIntValue ); @@ -2131,6 +2134,26 @@ void DomainMapper::attribute(Id nName, Value & val) case NS_ooxml::LN_endtrackchange: m_pImpl->RemoveCurrentRedline( ); break; + case NS_ooxml::LN_CT_DocGrid_linePitch: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + { + //see SwWW8ImplReader::SetDocumentGrid + OSL_ENSURE(pSectionContext, "SectionContext unavailable!"); + if(pSectionContext) + { + pSectionContext->SetGridLinePitch( ConversionHelper::convertTwipToMM100( nIntValue ) ); + } + } + break; + case NS_ooxml::LN_CT_DocGrid_charSpace: + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ + { + OSL_ENSURE(pSectionContext, "SectionContext unavailable!"); + if(pSectionContext) + { + pSectionContext->SetDxtCharSpace( nIntValue ); + } + } default: { #if OSL_DEBUG_LEVEL > 0 @@ -2174,14 +2197,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp sal_uInt32 nSprmId = rSprm.getId(); //needed for page properties - SectionPropertyMap* pSectionContext = 0; - //the section context is not availabe before the first call of startSectionGroup() - if( !m_pImpl->IsAnyTableImport() ) - { - PropertyMapPtr pContext = m_pImpl->GetTopContextOfType(CONTEXT_SECTION); - OSL_ENSURE(pContext.get(), "Section context is not in the stack!"); - pSectionContext = dynamic_cast< SectionPropertyMap* >( pContext.get() ); - } + SectionPropertyMap * pSectionContext = m_pImpl->GetSectionContext(); //TODO: In rtl-paragraphs the meaning of left/right are to be exchanged bool bExchangeLeftRight = false; @@ -3507,7 +3523,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; case NS_sprm::LN_SDxtCharSpace: { - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ OSL_ENSURE(pSectionContext, "SectionContext unavailable!"); if(pSectionContext) { @@ -3517,7 +3533,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; // sprmSDxtCharSpace case NS_sprm::LN_SDyaLinePitch: // sprmSDyaLinePitch { - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ //see SwWW8ImplReader::SetDocumentGrid OSL_ENSURE(pSectionContext, "SectionContext unavailable!"); if(pSectionContext) @@ -3900,6 +3916,9 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } } break; + case NS_ooxml::LN_EG_SectPrContents_docGrid: + resolveSprmProps(rSprm); + break; case NS_ooxml::LN_EG_SectPrContents_pgBorders: { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 828246513561..caaf34e465b2 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -3749,4 +3749,19 @@ void DomainMapper_Impl::ApplySettingsTable() } } } + +SectionPropertyMap * DomainMapper_Impl::GetSectionContext() +{ + SectionPropertyMap* pSectionContext = 0; + //the section context is not availabe before the first call of startSectionGroup() + if( !IsAnyTableImport() ) + { + PropertyMapPtr pContext = GetTopContextOfType(CONTEXT_SECTION); + OSL_ENSURE(pContext.get(), "Section context is not in the stack!"); + pSectionContext = dynamic_cast< SectionPropertyMap* >( pContext.get() ); + } + + return pSectionContext; +} + }} diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 7cdd0b5a335a..4fd24cb0eae0 100755 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -539,7 +539,7 @@ public: void ResetParaRedline( ); void ApplySettingsTable(); - + SectionPropertyMap * GetSectionContext(); }; } //namespace dmapper } //namespace writerfilter diff --git a/writerfilter/source/ooxml/dummyannotate.xsl b/writerfilter/source/ooxml/dummyannotate.xsl index 52a960e73a28..02be746c95bf 100644 --- a/writerfilter/source/ooxml/dummyannotate.xsl +++ b/writerfilter/source/ooxml/dummyannotate.xsl @@ -842,7 +842,7 @@ sed "s/wml/</xsl:text> <xsl:template match="/"> <out> - <xsl:apply-templates select="//rng:define[@name='OLEObject']" + <xsl:apply-templates select="//rng:define[@name='CT_DocGrid']" mode='resourcesPropertySetValue'/> </out> </xsl:template> diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index f571a50a9407..8340e4c65ba4 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -15750,15 +15750,15 @@ </define> <define name="CT_DocGrid"> <attribute name="type"> - <text/> + <ref name="ST_DocGrid"/> <xs:documentation>Document Grid Type</xs:documentation> </attribute> <attribute name="linePitch"> - <text/> + <ref name="ST_DecimalNumber"/> <xs:documentation>Document Grid Line Pitch</xs:documentation> </attribute> <attribute name="charSpace"> - <text/> + <ref name="ST_DecimalNumber"/> <xs:documentation>Document Grid Character Pitch</xs:documentation> </attribute> </define> @@ -22209,6 +22209,11 @@ <value name="linesAndChars" tokenid="ooxml:Value_wordprocessingml_ST_DocGrid_linesAndChars">linesAndChars</value> <value name="snapToChars" tokenid="ooxml:Value_wordprocessingml_ST_DocGrid_snapToChars">snapToChars</value> </resource> + <resource name="CT_DocGrid" resource="Properties"> + <attribute name="type" tokenid="ooxml:CT_DocGrid_type"/> + <attribute name="linePitch" tokenid="ooxml:CT_DocGrid_linePitch"/> + <attribute name="charSpace" tokenid="ooxml:CT_DocGrid_charSpace"/> + </resource> <resource name="ST_HdrFtr" resource="List"> <value tokenid="ooxml:Value_ST_HrdFtr_even">even</value> <value tokenid="ooxml:Value_ST_HrdFtr_default">default</value> -- cgit From 0927cc05d86fbeb747396a0e5788d288f4f41baf Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 25 Feb 2010 15:38:32 +0100 Subject: writerfilter08: keep grid 'type' in SectionPropertyMap and evaluate in closeSectionGroup --- writerfilter/source/dmapper/DomainMapper.cxx | 10 ++++++++++ writerfilter/source/dmapper/PropertyMap.cxx | 20 +++++++++++++++++++- writerfilter/source/dmapper/PropertyMap.hxx | 2 ++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index dd7e2dbaad08..3aea75d7549c 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2154,6 +2154,16 @@ void DomainMapper::attribute(Id nName, Value & val) pSectionContext->SetDxtCharSpace( nIntValue ); } } + break; + case NS_ooxml::LN_CT_DocGrid_type: + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ + { + if (pSectionContext != NULL) + { + pSectionContext->SetGridType(nIntValue); + } + } + break; default: { #if OSL_DEBUG_LEVEL > 0 diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 95340eb054a4..86f41ecf5de8 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -42,6 +42,7 @@ #include <com/sun/star/text/WritingMode.hpp> #include <com/sun/star/text/XTextColumns.hpp> #include <com/sun/star/text/XText.hpp> +#include <com/sun/star/text/TextGridMode.hpp> #include "dmapperLoggers.hxx" #include "PropertyMapHelper.hxx" @@ -245,6 +246,7 @@ SectionPropertyMap::SectionPropertyMap(bool bIsFirstSection) : ,m_nDzaGutter( 0 ) ,m_bGutterRTL( false ) ,m_bSFBiDi( false ) + ,m_nGridType(0) ,m_nGridLinePitch( 1 ) ,m_nDxtCharSpace( 0 ) ,m_nLnnMod( 0 ) @@ -275,7 +277,7 @@ SectionPropertyMap::SectionPropertyMap(bool bIsFirstSection) : uno::Any aFalse( ::uno::makeAny( false ) ); Insert( PROP_GRID_DISPLAY, false, aFalse); Insert( PROP_GRID_PRINT, false, aFalse); - + Insert( PROP_GRID_MODE, false, uno::makeAny(text::TextGridMode::NONE)); if( m_bIsFirstSection ) @@ -818,6 +820,22 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl ) nRubyHeight = 0; operator[]( PropertyDefinition( PROP_GRID_RUBY_HEIGHT, false )) = uno::makeAny( nRubyHeight ); + sal_Int16 nGridMode = text::TextGridMode::NONE; + + switch (m_nGridType) + { + case NS_ooxml::LN_Value_wordprocessingml_ST_DocGrid_lines: + nGridMode = text::TextGridMode::LINES; + break; + case NS_ooxml::LN_Value_wordprocessingml_ST_DocGrid_linesAndChars: + nGridMode = text::TextGridMode::LINES_AND_CHARS; + break; + default: + break; + } + + operator[](PropertyDefinition(PROP_GRID_MODE, false)) = uno::makeAny(nGridMode); + _ApplyProperties( xFollowPageStyle ); //todo: creating a "First Page" style depends on HasTitlePage und _fFacingPage_ diff --git a/writerfilter/source/dmapper/PropertyMap.hxx b/writerfilter/source/dmapper/PropertyMap.hxx index 6db501a14eea..a3b9f20bab72 100644 --- a/writerfilter/source/dmapper/PropertyMap.hxx +++ b/writerfilter/source/dmapper/PropertyMap.hxx @@ -196,6 +196,7 @@ class SectionPropertyMap : public PropertyMap bool m_bGutterRTL; bool m_bSFBiDi; + sal_Int32 m_nGridType; sal_Int32 m_nGridLinePitch; sal_Int32 m_nDxtCharSpace; @@ -268,6 +269,7 @@ public: void SetDzaGutter( sal_Int32 nSet ) {m_nDzaGutter = nSet; } void SetSFBiDi( bool bSet ) { m_bSFBiDi = bSet;} + void SetGridType(sal_Int32 nSet) { m_nGridType = nSet; } void SetGridLinePitch( sal_Int32 nSet ) { m_nGridLinePitch = nSet; } void SetDxtCharSpace( sal_Int32 nSet ) { m_nDxtCharSpace = nSet; } -- cgit From 0b5175dec3ad8f382eff4abbc2a8f3c3b20fc3b8 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 25 Feb 2010 18:01:36 +0100 Subject: writerfilter08: handle keepLines (incomplete) --- writerfilter/source/dmapper/DomainMapper.cxx | 5 +++-- writerfilter/source/dmapper/PropertyIds.cxx | 2 +- writerfilter/source/dmapper/PropertyIds.hxx | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 3aea75d7549c..3ec0eceb7135 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2245,8 +2245,9 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; // sprmPFSideBySide case NS_sprm::LN_PFKeep: // sprmPFKeep - /* WRITERFILTERSTATUS: done: 0, planned: 3, spent: 0 */ + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ /* WRITERFILTERSTATUS: comment: */ + rContext->Insert(PROP_PARA_SPLIT, true, uno::makeAny(nIntValue ? false : true)); break; case NS_sprm::LN_PFKeepFollow: // sprmPFKeepFollow /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 1 */ @@ -2602,7 +2603,7 @@ 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 */ + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { uno::Any aVal( uno::makeAny( sal_Int8(nIntValue ? 2 : 0 ))); rContext->Insert( PROP_PARA_WIDOWS, true, aVal ); diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx index 4d39b5495078..07195daa4de3 100644 --- a/writerfilter/source/dmapper/PropertyIds.cxx +++ b/writerfilter/source/dmapper/PropertyIds.cxx @@ -322,7 +322,7 @@ const rtl::OUString& PropertyNameSupplier::GetName( PropertyIds eId ) const case PROP_NUMBERING_STYLE_NAME : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingStyleName")); break; case PROP_LISTTAB_STOP_POSITION : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ListtabStopPosition")); break; case PROP_POSITION_AND_SPACE_MODE : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PositionAndSpaceMode")); break; -// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; + case PROP_PARA_SPLIT: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaSpit")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx index c9d84cafbba7..c74808a0c39b 100644 --- a/writerfilter/source/dmapper/PropertyIds.hxx +++ b/writerfilter/source/dmapper/PropertyIds.hxx @@ -285,6 +285,7 @@ enum PropertyIds /*246*/ ,PROP_NUMBERING_STYLE_NAME /*247*/ ,PROP_LISTTAB_STOP_POSITION /*248*/ ,PROP_POSITION_AND_SPACE_MODE +/*249*/, PROP_PARA_SPLIT }; struct PropertyNameSupplier_Impl; class PropertyNameSupplier -- cgit From 65d9371c0d22af2e0dc0ad9f0c5caff5997840a1 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 26 Feb 2010 17:00:48 +0100 Subject: writerfilter08: corrected name for PROP_PARA_SPLIT --- writerfilter/source/dmapper/PropertyIds.cxx | 2 +- writerfilter/source/dmapper/PropertyIds.hxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx index 07195daa4de3..72d1555bdc39 100644 --- a/writerfilter/source/dmapper/PropertyIds.cxx +++ b/writerfilter/source/dmapper/PropertyIds.cxx @@ -322,7 +322,7 @@ const rtl::OUString& PropertyNameSupplier::GetName( PropertyIds eId ) const case PROP_NUMBERING_STYLE_NAME : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingStyleName")); break; case PROP_LISTTAB_STOP_POSITION : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ListtabStopPosition")); break; case PROP_POSITION_AND_SPACE_MODE : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PositionAndSpaceMode")); break; - case PROP_PARA_SPLIT: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaSpit")); break; + case PROP_PARA_SPLIT: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaSplit")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx index c74808a0c39b..8137dd30e6a1 100644 --- a/writerfilter/source/dmapper/PropertyIds.hxx +++ b/writerfilter/source/dmapper/PropertyIds.hxx @@ -285,7 +285,7 @@ enum PropertyIds /*246*/ ,PROP_NUMBERING_STYLE_NAME /*247*/ ,PROP_LISTTAB_STOP_POSITION /*248*/ ,PROP_POSITION_AND_SPACE_MODE -/*249*/, PROP_PARA_SPLIT +/*249*/ ,PROP_PARA_SPLIT }; struct PropertyNameSupplier_Impl; class PropertyNameSupplier -- cgit From 1a92a19a53c94c63baeeaa651f707651ed58d619 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 1 Mar 2010 15:24:37 +0100 Subject: writerfilter08: PropertySetToTagHandler::sprm: correct representation for id of sprm --- writerfilter/source/resourcemodel/TagLogger.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index b5fe9f311db0..26e0d1288c43 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -356,7 +356,7 @@ namespace writerfilter static char sBuffer[256]; snprintf(sBuffer, sizeof(sBuffer), - "0x%" SAL_PRIxUINT32 "x, %" SAL_PRIxUINT32 "d", rSprm.getId(), + "0x%" SAL_PRIxUINT32 ", %" SAL_PRIuUINT32, rSprm.getId(), rSprm.getId()); pTag->addAttr("id", sBuffer); pTag->addAttr("value", rSprm.getValue()->toString()); -- cgit From 64d5c0c3f17744e813dac8ae80b04d03771e0fab Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 1 Mar 2010 15:25:39 +0100 Subject: writerfilter08: handle <bidi> --- writerfilter/source/dmapper/DomainMapper.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 3ec0eceb7135..49a326898e63 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -72,6 +72,7 @@ #include <com/sun/star/text/TextGridMode.hpp> #include <com/sun/star/text/XDocumentIndexesSupplier.hpp> #include <com/sun/star/text/WritingMode.hpp> +#include <com/sun/star/text/WritingMode2.hpp> #include <com/sun/star/text/XFootnote.hpp> #include <com/sun/star/style/NumberingType.hpp> #include <comphelper/types.hxx> @@ -2660,7 +2661,10 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } break; // sprmPOutLvl case NS_sprm::LN_PFBiDi: - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ + rContext->Insert(PROP_WRITING_MODE, false, uno::makeAny( text::WritingMode2::RL_TB )); + rContext->Insert(PROP_PARA_ADJUST, false, uno::makeAny( style::ParagraphAdjust_RIGHT )); + break; // sprmPFBiDi case NS_sprm::LN_PFNumRMIns: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ -- cgit From 45097a9dfc99f2b9b77038226950659bc6d80c8d Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 2 Mar 2010 11:01:53 +0100 Subject: writerfilter08: handle textDirection on sectPr --- writerfilter/source/dmapper/DomainMapper.cxx | 14 ++++++++++++-- writerfilter/source/ooxml/model.xml | 10 +++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 49a326898e63..6f0e477ea701 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3593,8 +3593,9 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } break; // sprmSClm case NS_sprm::LN_STextFlow: - { + case NS_ooxml::LN_EG_SectPrContents_textDirection: /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ + { /* 0 HoriLR 1 Vert TR 2 Vert TR 3 Vert TT 4 HoriLT only 0 and 1 can be imported correctly */ @@ -3612,7 +3613,16 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; default:; } - rContext->Insert(PROP_WRITING_MODE, false, uno::makeAny( nDirection ) ); + + PropertyMap * pTargetContext = rContext.get(); + + if (pSectionContext != NULL && + nSprmId == NS_ooxml::LN_EG_SectPrContents_textDirection) + { + pTargetContext = pSectionContext; + } + + pTargetContext->Insert(PROP_WRITING_MODE, false, uno::makeAny( nDirection ) ); } break; // sprmSTextFlow case NS_sprm::LN_TJc: // sprmTJc diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index 8340e4c65ba4..dfd397a88516 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -21754,11 +21754,11 @@ <attribute name="val" tokenid="ooxml:CT_Kinsoku_val"/> </resource> <resource name="ST_TextDirection" resource="List"> - <value tokenid="ooxml:Value_ST_TextDirection_lrTb">lrTb</value> - <value tokenid="ooxml:Value_ST_TextDirection_tbRl">tbRl</value> - <value tokenid="ooxml:Value_ST_TextDirection_btLr">btLr</value> - <value tokenid="ooxml:Value_ST_TextDirection_lrTbV">lrTbV</value> - <value tokenid="ooxml:Value_ST_TextDirection_tbRlV">tbRlV</value> + <value tokenid="0">lrTb</value> + <value tokenid="1">tbRl</value> + <value tokenid="3">btLr</value> + <value tokenid="4">lrTbV</value> + <value tokenid="5">tbRlV</value> <value tokenid="ooxml:Value_ST_TextDirection_tbLrV">tbLrV</value> </resource> <resource name="CT_TextDirection" resource="Value"> -- cgit From bb3b79327878c2fd80291d3851b636f900a79f85 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 2 Mar 2010 14:30:04 +0100 Subject: writerfilter08: handle bidi for sections --- writerfilter/source/dmapper/DomainMapper.cxx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 6f0e477ea701..121e5aa7f228 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2666,6 +2666,11 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp rContext->Insert(PROP_PARA_ADJUST, false, uno::makeAny( style::ParagraphAdjust_RIGHT )); break; // sprmPFBiDi + case NS_ooxml::LN_EG_SectPrContents_bidi: + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ + if (pSectionContext != NULL) + pSectionContext->Insert(PROP_WRITING_MODE,false, uno::makeAny( text::WritingMode2::RL_TB)); + break; case NS_sprm::LN_PFNumRMIns: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmPFNumRMIns -- cgit From 292cf65b2db6f089b9972400ea2d34eb66509343 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 2 Mar 2010 14:40:18 +0100 Subject: writerfilter08: vetical alignment on page not supported in ODT --- writerfilter/source/dmapper/DomainMapper.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 121e5aa7f228..a88dcc1acea2 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -4204,6 +4204,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp //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 + case NS_ooxml::LN_EG_SectPrContents_vAlign: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; case NS_ooxml::LN_CT_Lvl_pStyle: -- cgit From a2ce50f90ebf20079b494df88a403fca370ad3f0 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 2 Mar 2010 14:45:44 +0100 Subject: writerfilter08: fitText not supported in ODT --- writerfilter/source/dmapper/DomainMapper.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index a88dcc1acea2..d14966ec240c 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -4205,6 +4205,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; case NS_ooxml::LN_EG_SectPrContents_formProt: //section protection, only form editing is enabled - unsupported case NS_ooxml::LN_EG_SectPrContents_vAlign: + case NS_ooxml::LN_EG_RPrBase_fitText: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; case NS_ooxml::LN_CT_Lvl_pStyle: -- cgit From 3fc15c3965fd2ba838ede12817c351c3c5eee085 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 2 Mar 2010 15:33:04 +0100 Subject: writerfilter08: emphasis already implemented --- writerfilter/source/dmapper/DomainMapper.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index d14966ec240c..183e0a685b27 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2757,7 +2757,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmCPlain case NS_sprm::LN_CKcd: - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ rContext->Insert(PROP_CHAR_EMPHASIS, true, uno::makeAny ( getEmphasisValue (nIntValue))); break; // sprmCKcd case NS_sprm::LN_CFEmboss:// sprmCFEmboss -- cgit From dbded67ff2baa697ca2b2c475f368527515fb173 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 2 Mar 2010 15:50:00 +0100 Subject: writerfilter08: shading not supported on characters in ODT --- writerfilter/source/dmapper/DomainMapper.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 183e0a685b27..87da80a68570 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -4206,6 +4206,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case NS_ooxml::LN_EG_SectPrContents_formProt: //section protection, only form editing is enabled - unsupported case NS_ooxml::LN_EG_SectPrContents_vAlign: case NS_ooxml::LN_EG_RPrBase_fitText: + case NS_ooxml::LN_EG_RPrBase_shd: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; case NS_ooxml::LN_CT_Lvl_pStyle: -- cgit From c2a270a21650a16df00ac5c5f1307e15bda7195e Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 2 Mar 2010 16:38:28 +0100 Subject: writerfilter08: changed some tokenids and effort annotation --- writerfilter/source/dmapper/DomainMapper.cxx | 5 ++--- writerfilter/source/ooxml/model.xml | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 87da80a68570..f169006e81ef 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2729,7 +2729,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmCIdCharType case NS_sprm::LN_CHighlight: - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ + /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ { sal_Int32 nColor = 0; if(true ==( mbIsHighlightSet = getColorFromIndex(nIntValue, nColor))) @@ -3137,7 +3137,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ break; // sprmCBrc case NS_sprm::LN_CShd: - /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; // sprmCShd case NS_sprm::LN_CIdslRMarkDel: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ @@ -4206,7 +4206,6 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case NS_ooxml::LN_EG_SectPrContents_formProt: //section protection, only form editing is enabled - unsupported case NS_ooxml::LN_EG_SectPrContents_vAlign: case NS_ooxml::LN_EG_RPrBase_fitText: - case NS_ooxml::LN_EG_RPrBase_shd: /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ break; case NS_ooxml::LN_CT_Lvl_pStyle: diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index dfd397a88516..af4e24cc361e 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -22439,10 +22439,10 @@ <element name="u" tokenid="ooxml:EG_RPrBase_u"/> <element name="effect" tokenid="sprm:CSfxText"/> <element name="bdr" tokenid="ooxml:EG_RPrBase_bdr"/> - <element name="shd" tokenid="ooxml:EG_RPrBase_shd"/> + <element name="shd" tokenid="sprm:CShd"/> <element name="fitText" tokenid="ooxml:EG_RPrBase_fitText"/> <element name="vertAlign" tokenid="ooxml:EG_RPrBase_vertAlign"/> - <element name="rtl" tokenid="ooxml:EG_RPrBase_rtl"/> + <element name="rtl" tokenid="sprm:CFBiDi"/> <element name="cs" tokenid="sprm:CComplexScript"/> <element name="em" tokenid="sprm:CKcd"/> <element name="lang" tokenid="ooxml:EG_RPrBase_lang"/> -- cgit From 3de7b648e354a9e1f5d531148295d86355a43b42 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 2 Mar 2010 16:42:00 +0100 Subject: writerfilter08: effect on run already handled --- writerfilter/source/dmapper/DomainMapper.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index f169006e81ef..f8611ae5ab35 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3107,7 +3107,7 @@ 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 */ + /* WRITERFILTERSTATUS: done: 100, 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) -- cgit From 58afaf1930aef4406925365354ea87abc9e65cd6 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 3 Mar 2010 15:14:11 +0100 Subject: writerfilter08: factoryimpl_ns.xsl: handle rng:ref first (makes difference for bookmarks) --- writerfilter/source/ooxml/factoryimpl_ns.xsl | 90 ++++++++++++++-------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/writerfilter/source/ooxml/factoryimpl_ns.xsl b/writerfilter/source/ooxml/factoryimpl_ns.xsl index 55d986932aec..69bc3281e3fa 100644 --- a/writerfilter/source/ooxml/factoryimpl_ns.xsl +++ b/writerfilter/source/ooxml/factoryimpl_ns.xsl @@ -150,6 +150,13 @@ for a rng:define --> <xsl:template name="factoryattributetoresourcemapinner"> + <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:for-each select=".//rng:attribute"> <xsl:variable name="mynsid" select="generate-id(ancestor::namespace)"/> <xsl:variable name="resource"> @@ -201,13 +208,6 @@ for a rng:define </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 --> @@ -283,25 +283,6 @@ ListValueMapPointer </xsl:text> <!-- 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"> @@ -329,6 +310,25 @@ ListValueMapPointer </xsl:text> <xsl:value-of select="$block1"/> </xsl:if> </xsl:for-each> + <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:template> <xsl:template name="factorycreateelementmapfromstart"> @@ -610,6 +610,25 @@ string </xsl:text> <xsl:template name="factorytokentoidmapinner"> <xsl:variable name="name" select="@name"/> + <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:variable name="body"> <xsl:for-each select="ancestor::namespace/resource[@name=$name]"> <xsl:for-each select="element[@tokenid]|attribute[@tokenid]"> @@ -630,25 +649,6 @@ string </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"> -- cgit From 77b814e67ce1f3dd07fd2501394587c494d51b23 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 3 Mar 2010 15:15:24 +0100 Subject: writerfilter08: added annotation for EG_RangeMarkupElements --- writerfilter/source/ooxml/model.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index af4e24cc361e..85a58e160f3b 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -21855,6 +21855,24 @@ <action name="start" action="clearProps"/> <action name="end" action="mark" sendtokenid="ooxml:endtrackchange"/> </resource> + <resource name="EG_RangeMarkupElements" resource="Properties"> + <element name="bookmarkStart" tokenid="ooxml:EG_RangeMarkupElements_bookmarkStart"/> + <element name="bookmarkEnd" tokenid="ooxml:EG_RangeMarkupElements_bookmarkEnd"/> + <element name="moveFromRangeStart" tokenid="ooxml:EG_RangeMarkupElements_moveFromRangeStart"/> + <element name="moveFromRangeEnd" tokenid="ooxml:EG_RangeMarkupElements_moveFromRangeEnd"/> + <element name="moveToRangeStart" tokenid="ooxml:EG_RangeMarkupElements_moveToRangeStart"/> + <element name="moveToRangeEnd" tokenid="ooxml:EG_RangeMarkupElements_moveToRangeEnd"/> + <element name="commentRangeStart" tokenid="ooxml:EG_RangeMarkupElements_commentRangeStart"/> + <element name="commentRangeEnd" tokenid="ooxml:EG_RangeMarkupElements_commentRangeEnd"/> + <element name="customXmlInsRangeStart" tokenid="ooxml:EG_RangeMarkupElements_customXmlInsRangeStart"/> + <element name="customXmlInsRangeEnd" tokenid="ooxml:EG_RangeMarkupElements_customXmlInsRangeEnd"/> + <element name="customXmlDelRangeStart" tokenid="ooxml:EG_RangeMarkupElements_customXmlDelRangeStart"/> + <element name="customXmlDelRangeEnd" tokenid="ooxml:EG_RangeMarkupElements_customXmlDelRangeEnd"/> + <element name="customXmlMoveFromRangeStart" tokenid="ooxml:EG_RangeMarkupElements_customXmlMoveFromRangeStart"/> + <element name="customXmlMoveFromRangeEnd" tokenid="ooxml:EG_RangeMarkupElements_customXmlMoveFromRangeEnd"/> + <element name="customXmlMoveToRangeStart" tokenid="ooxml:EG_RangeMarkupElements_customXmlMoveToRangeStart"/> + <element name="customXmlMoveToRangeEnd" tokenid="ooxml:EG_RangeMarkupElements_customXmlMoveToRangeEnd"/> + </resource> <resource name="CT_NumPr" resource="Properties"> <kind name="paragraph"/> <element name="ilvl" tokenid="sprm:PIlvl"/> -- cgit From ada37ba79d4cd2d681895fc1ae6da20b0d0653c1 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 4 Mar 2010 11:01:04 +0100 Subject: writerfilter08: handle hyperlinks into local document --- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 106 +++++++++++++++++++++- writerfilter/source/dmapper/DomainMapper_Impl.hxx | 1 + 2 files changed, 103 insertions(+), 4 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index caaf34e465b2..49f2bb84533f 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -2565,6 +2565,66 @@ void FieldContext::AppendCommand(const ::rtl::OUString& rPart) { m_sCommand += rPart; } + +::std::vector<rtl::OUString> FieldContext::GetCommandParts() const +{ + ::std::vector<rtl::OUString> aResult; + sal_Int32 nIndex = 0; + bool bInString = false; + OUString sPart; + while (nIndex != -1) + { + OUString sToken = GetCommand().getToken(0, ' ', nIndex); + bool bInStringNext = bInString; + + ::std::string sToken2 = OUStringToOString(sToken, RTL_TEXTENCODING_ASCII_US).getStr(); + ::std::clog << "GetCommandParts:" << sToken2 << ::std::endl; + + if (sToken.getLength() == 0) + continue; + + if (sToken.getStr()[0] == '"') + { + bInStringNext = true; + sToken = sToken.copy(1); + } + if (sToken.getStr()[sToken.getLength() - 1] == '"') + { + bInStringNext = false; + sToken = sToken.copy(0, sToken.getLength() - 1); + } + + if (bInString) + { + if (bInStringNext) + { + sPart += OUString(' '); + sPart += sToken; + } + else + { + sPart += sToken; + aResult.push_back(sPart); + } + } + else + { + if (bInStringNext) + { + sPart = sToken; + } + else + { + aResult.push_back(sToken); + } + } + + bInString = bInStringNext; + } + + return aResult; +} + /*-- 29.01.2007 11:33:15--------------------------------------------------- //collect the pieces of the command -----------------------------------------------------------------------*/ @@ -2902,10 +2962,48 @@ void DomainMapper_Impl::CloseFieldCommand() case FIELD_GOTOBUTTON : break; case FIELD_HYPERLINK: { - sal_Int32 nStartQuote = pContext->GetCommand().indexOf( '\"' ); - sal_Int32 nEndQuote = nStartQuote < pContext->GetCommand().getLength() + 1 ? pContext->GetCommand().indexOf( '\"', nStartQuote + 1) : -1; - if( nEndQuote > 0) - pContext->SetHyperlinkURL( pContext->GetCommand().copy(nStartQuote + 1, nEndQuote - nStartQuote - 1) ); + ::std::vector<rtl::OUString> aParts = pContext->GetCommandParts(); + ::std::vector<rtl::OUString>::const_iterator aItEnd = aParts.end(); + ::std::vector<rtl::OUString>::const_iterator aIt = aParts.begin(); + + OUString sURL; + + while (aIt != aItEnd) + { + if (aIt->equalsAscii("\\l")) + { + aIt++; + + if (aIt == aItEnd) + break; + + sURL = OUString('#'); + sURL += *aIt; + } + else if (aIt->equalsAscii("\\m") || + aIt->equalsAscii("\\n")) + { + } + else if (aIt->equalsAscii("\\o") || + aIt->equalsAscii("\\t")) + { + aIt++; + + if (aIt == aItEnd) + break; + } + else + { + sURL = *aIt; + } + + aIt++; + } + + if (sURL.getLength() > 0) + { + pContext->SetHyperlinkURL(sURL); + } } break; case FIELD_IF : break; diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 4fd24cb0eae0..143f17a157f4 100755 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -163,6 +163,7 @@ public: void SetHyperlinkURL( const ::rtl::OUString& rURL ) { m_sHyperlinkURL = rURL; } const ::rtl::OUString& GetHyperlinkURL() { return m_sHyperlinkURL; } + ::std::vector<rtl::OUString> GetCommandParts() const; }; struct TextAppendContext -- cgit From 9200806db9be029d48aa70d2a0371947fb2ce0a8 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 4 Mar 2010 14:46:35 +0100 Subject: writerfilter08: removed debug code --- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 3 --- 1 file changed, 3 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 49f2bb84533f..bf112c6dee10 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -2577,9 +2577,6 @@ void FieldContext::AppendCommand(const ::rtl::OUString& rPart) OUString sToken = GetCommand().getToken(0, ' ', nIndex); bool bInStringNext = bInString; - ::std::string sToken2 = OUStringToOString(sToken, RTL_TEXTENCODING_ASCII_US).getStr(); - ::std::clog << "GetCommandParts:" << sToken2 << ::std::endl; - if (sToken.getLength() == 0) continue; -- cgit From 82f1935fdb078b8beadbe583c05a50a94776a964 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 4 Mar 2010 21:33:59 +0100 Subject: writerfilter08: debug code --- writerfilter/source/dmapper/StyleSheetTable.cxx | 8 +++--- writerfilter/source/dmapper/ThemeTable.cxx | 35 ++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 9cafe6b640a4..4379d5470f6f 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -419,6 +419,7 @@ void StyleSheetTable::attribute(Id Name, Value & val) #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("StyleSheetTable.attribute"); dmapper_logger->attribute("name", (*QNameToString::Instance())(Name)); + dmapper_logger->attribute("value", val.toString()); #endif OSL_ENSURE( m_pImpl->m_pCurrentEntry, "current entry has to be set here"); @@ -536,10 +537,9 @@ void StyleSheetTable::attribute(Id Name, Value & val) break; default: { - //----> debug - int nVal = val.getInt(); - ++nVal; - //<---- debug +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("unhandled"); +#endif } break; } diff --git a/writerfilter/source/dmapper/ThemeTable.cxx b/writerfilter/source/dmapper/ThemeTable.cxx index 216f31826d59..9b892149853d 100755 --- a/writerfilter/source/dmapper/ThemeTable.cxx +++ b/writerfilter/source/dmapper/ThemeTable.cxx @@ -34,6 +34,10 @@ #include <ooxml/resourceids.hxx> #endif #include <stdio.h> +#ifdef DEBUG_DOMAINMAPPER +#include "dmapperLoggers.hxx" +#include <resourcemodel/QNameToString.hxx> +#endif namespace writerfilter { namespace dmapper @@ -62,6 +66,11 @@ ThemeTable::~ThemeTable() void ThemeTable::attribute(Id Name, Value & val) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("ThemeTable.attribute"); + dmapper_logger->attribute("name", (*QNameToString::Instance())(Name)); + dmapper_logger->attribute("value", val.toString()); +#endif // int nIntValue = val.getInt(); ::rtl::OUString sValue = val.getString(); // printf ( "ThemeTable::attribute(0x%.4x, 0x%.4x) [%s]\n", (unsigned int)Name, (unsigned int)nIntValue, ::rtl::OUStringToOString(sValue, RTL_TEXTENCODING_DONTKNOW).getStr()); @@ -75,12 +84,23 @@ void ThemeTable::attribute(Id Name, Value & val) break; default: { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("unhandled"); +#endif } } +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("ThemeTable.attribute"); +#endif } void ThemeTable::sprm(Sprm& rSprm) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("ThemeTable.sprm"); + dmapper_logger->chars(rSprm.toString()); +#endif + sal_uInt32 nSprmId = rSprm.getId(); (void)nSprmId; @@ -129,14 +149,27 @@ void ThemeTable::sprm(Sprm& rSprm) break; default: { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("unhandled"); +#endif } } +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("ThemeTable.sprm"); +#endif } void ThemeTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) { - // printf ( "ThemeTable::entry\n"); +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("ThemeTable.entry"); +#endif + ref->resolve(*this); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("ThemeTable.entry"); +#endif } const ::rtl::OUString ThemeTable::getFontNameForTheme(const Id id) const -- cgit From be73d14c1f743d20942285da44da077b10e43b16 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 5 Mar 2010 13:15:55 +0100 Subject: writerfilter08: handle document default style properties in StyleSheet --- writerfilter/source/dmapper/StyleSheetTable.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 4379d5470f6f..893e221af3d9 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -601,8 +601,6 @@ void StyleSheetTable::sprm(Sprm & rSprm) break; 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 */ @@ -631,6 +629,13 @@ void StyleSheetTable::sprm(Sprm & rSprm) } break; } + case NS_ooxml::LN_CT_DocDefaults_pPrDefault: + case NS_ooxml::LN_CT_DocDefaults_rPrDefault: + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + { + resolveSprmProps(rSprm); + } + break; case NS_ooxml::LN_CT_PPrDefault_pPr: /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_rDMapper.PushStyleSheetProperties( m_pImpl->m_pDefaultParaProps ); -- cgit From 23a76fefd83cc059b2baff760835514aed45a585 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 8 Mar 2010 17:58:38 +0100 Subject: writerfilter08: xsl for generating class (FFData) --- writerfilter/source/dmapper/DomainMapper.cxx | 11 +- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 23 +++ writerfilter/source/dmapper/FFData.xml | 25 +++ writerfilter/source/dmapper/FFDataHandler.hxx | 70 +++++++++ writerfilter/source/dmapper/FFDataHanlder.cxx | 27 ++++ writerfilter/source/dmapper/genclass.xsl | 180 ++++++++++++++++++++++ 6 files changed, 331 insertions(+), 5 deletions(-) create mode 100644 writerfilter/source/dmapper/FFData.xml create mode 100644 writerfilter/source/dmapper/FFDataHandler.hxx create mode 100644 writerfilter/source/dmapper/FFDataHanlder.cxx create mode 100644 writerfilter/source/dmapper/genclass.xsl diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index f8611ae5ab35..5b6bffead0d4 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -4431,6 +4431,12 @@ void DomainMapper::text(const sal_uInt8 * data_, size_t len) { //TODO: Determine the right text encoding (FIB?) ::rtl::OUString sText( (const sal_Char*) data_, len, RTL_TEXTENCODING_MS_1252 ); +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("text"); + dmapper_logger->chars(sText); + dmapper_logger->endElement("text"); +#endif + try { if(len == 1) @@ -4497,11 +4503,6 @@ void DomainMapper::text(const sal_uInt8 * data_, size_t len) pContext.reset(new PropertyMap()); m_pImpl->appendTextPortion( sText, pContext ); -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("text"); - dmapper_logger->chars(sText); - dmapper_logger->endElement("text"); -#endif } } catch( const uno::RuntimeException& ) diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index bf112c6dee10..9c5e42c1dfb6 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -2523,6 +2523,10 @@ uno::Reference< beans::XPropertySet > DomainMapper_Impl::FindOrCreateFieldMaster -----------------------------------------------------------------------*/ void DomainMapper_Impl::PushFieldContext() { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("pushFieldContext"); +#endif + uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend; //insert a dummy char to make sure the start range doesn't move together with the to-be-appended text xTextAppend->appendTextPortion(::rtl::OUString( '-' ), uno::Sequence< beans::PropertyValue >() ); @@ -2627,6 +2631,12 @@ void FieldContext::AppendCommand(const ::rtl::OUString& rPart) -----------------------------------------------------------------------*/ void DomainMapper_Impl::AppendFieldCommand(::rtl::OUString& rPartOfCommand) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("appendFieldCommand"); + dmapper_logger->chars(rPartOfCommand); + dmapper_logger->endElement("appendFieldCommand"); +#endif + FieldContextPtr pContext = m_aFieldStack.top(); OSL_ENSURE( pContext.get(), "no field context available"); if( pContext.get() ) @@ -2643,6 +2653,10 @@ typedef std::multimap < sal_Int32, ::rtl::OUString > TOCStyleMap; -----------------------------------------------------------------------*/ void DomainMapper_Impl::CloseFieldCommand() { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("closeFieldCommand"); +#endif + FieldContextPtr pContext = m_aFieldStack.top(); OSL_ENSURE( pContext.get(), "no field context available"); if( pContext.get() ) @@ -3418,6 +3432,11 @@ bool DomainMapper_Impl::IsFieldResultAsString() -----------------------------------------------------------------------*/ void DomainMapper_Impl::SetFieldResult( ::rtl::OUString& rResult ) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("setFieldResult"); + dmapper_logger->chars(rResult); +#endif + FieldContextPtr pContext = m_aFieldStack.top(); OSL_ENSURE( pContext.get(), "no field context available"); if( pContext.get() ) @@ -3468,6 +3487,10 @@ void DomainMapper_Impl::SetFieldResult( ::rtl::OUString& rResult ) -----------------------------------------------------------------------*/ void DomainMapper_Impl::PopFieldContext() { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("popFieldContext"); +#endif + FieldContextPtr pContext = m_aFieldStack.top(); OSL_ENSURE( pContext.get(), "no field context available"); if( pContext.get() ) diff --git a/writerfilter/source/dmapper/FFData.xml b/writerfilter/source/dmapper/FFData.xml new file mode 100644 index 000000000000..aa10cec0101c --- /dev/null +++ b/writerfilter/source/dmapper/FFData.xml @@ -0,0 +1,25 @@ +<model> + <class name="FFData"> + <parent name="Properties"/> + <typedef name="Pointer_t" type="shared_ptr"/> + <typedef name="DropDownEntries_t"> + <vector type="OUString"/> + </typedef> + <member name="name" type="OUString"/> + <member name="enabled" type="bool"/> + <member name="calcOnExit" type="bool"/> + <member name="entryMacroName" type="OUString"/> + <member name="exitMacroName" type="OUString"/> + <member name="helpTextType" type="sal_uInt32"/> + <member name="helpText" type="OUString"/> + <member name="statusTextType" type="sal_uInt32"/> + <member name="statusText" type="OUString"/> + <member name="checkboxHeight" type="sal_uInt32"/> + <member name="checkboxAutoHeight" type="bool"/> + <member name="checkboxDefault" type="bool"/> + <member name="checkboxChecked" type="bool"/> + <member name="dropboxEntries" type="DropDownEntries_t"/> + <member name="textDefault" type="OUString"/> + <member name="textFormat" type="OUString"/> + </class> +</model> \ No newline at end of file diff --git a/writerfilter/source/dmapper/FFDataHandler.hxx b/writerfilter/source/dmapper/FFDataHandler.hxx new file mode 100644 index 000000000000..64ed226ea4d7 --- /dev/null +++ b/writerfilter/source/dmapper/FFDataHandler.hxx @@ -0,0 +1,70 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#ifndef INCLUDED_FFDATA_HANDLER_HXX +#define INCLUDED_FFDATA_HANDLER_HXX + +#include <boost/shared_ptr.hpp> +#include <resourcemodel/WW8ResourceModel.hxx> + +namespace writerfilter { + namespace dmapper { + class FFData : public Properties + { + public: + typedef ::boost::shared_ptr<FFData> Pointer_t; + typedef ::std::vector<OUString> DropDownEntries_t; + + FFData(); + virtual ~FFData(); + + private: + OUString m_sName; + bool m_bEnabled; + bool m_bCalcOnExit; + OUString m_sEntryMacroName; + OUString m_sExitMacroName; + sal_uInt32 m_nHelpTextType; + OUString m_sHelpText; + sal_uInt32 m_nStatusTextType; + OUString m_sStatusText; + sal_uInt32 m_nCheckboxHeight; + bool m_bCheckboxAutoHeight; + bool m_bCheckboxDefault; + bool m_bCheckboxChecked; + sal_uInt32 m_nDropDownDefault; + sal_uInt32 m_nDropDownResult; + DropDownEntries_t m_DropDownEntries; + OUString m_sTextDefault; + OUStirng m_sTextFormat; + }; + } +} +#endif // INCLUDED_FFDATA_HANDLER_HXX diff --git a/writerfilter/source/dmapper/FFDataHanlder.cxx b/writerfilter/source/dmapper/FFDataHanlder.cxx new file mode 100644 index 000000000000..34eb4ec71b19 --- /dev/null +++ b/writerfilter/source/dmapper/FFDataHanlder.cxx @@ -0,0 +1,27 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + diff --git a/writerfilter/source/dmapper/genclass.xsl b/writerfilter/source/dmapper/genclass.xsl new file mode 100644 index 000000000000..af4a2948e5ed --- /dev/null +++ b/writerfilter/source/dmapper/genclass.xsl @@ -0,0 +1,180 @@ +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:xalan="http://xml.apache.org/xalan" + exclude-result-prefixes = "xalan" + xml:indent="true"> + <xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no"/> + + <xsl:template match="/"> + <xsl:for-each select="/model"> + <xsl:apply-templates/> + </xsl:for-each> + </xsl:template> + + <xsl:template match="class"> + <xsl:text> +class </xsl:text> +<xsl:value-of select="@name"/> +<xsl:if test="parent"> + <xsl:text> : public </xsl:text> +</xsl:if> +<xsl:for-each select="parent"> + <xsl:if test="position() > 1"> + <xsl:text>, </xsl:text> + </xsl:if> + <xsl:value-of select="@name"/> +</xsl:for-each> +<xsl:text> +{ +public:</xsl:text> +<xsl:call-template name="typedefs"/> + +<xsl:text> + FFData(); + ~FFData(); +</xsl:text> +<xsl:call-template name="memberfuncdecls"/> +<xsl:text> +}; +</xsl:text> + </xsl:template> + + <xsl:template name="typedefs"> + <xsl:for-each select="typedef"> + <xsl:text> + typedef </xsl:text> + <xsl:choose> + <xsl:when test="@type = 'shared_ptr'"> + <xsl:text>::boost::shared_ptr<</xsl:text> + <xsl:value-of select="ancestor::class/@name"/> + <xsl:text>></xsl:text> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select="vector"> + <xsl:text>::std::vector<</xsl:text> + <xsl:value-of select="@type"/> + <xsl:text>></xsl:text> + </xsl:for-each> + <xsl:text> </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>;</xsl:text> + </xsl:for-each> + </xsl:template> + + <xsl:template name="settername"> + <xsl:text>set</xsl:text> + <xsl:call-template name="capfirst"> + <xsl:with-param name="string" select="@name"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="gettername"> + <xsl:text>get</xsl:text> + <xsl:call-template name="capfirst"> + <xsl:with-param name="string" select="@name"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="pushbackname"> + <xsl:value-of select="@name"/> + <xsl:text>PushBack</xsl:text> + </xsl:template> + + <xsl:template name="settersig"> + <xsl:text>void </xsl:text> + <xsl:call-template name="settername"/> + <xsl:text>(</xsl:text> + <xsl:call-template name="cctype"/> + <xsl:text> </xsl:text> + <xsl:call-template name="paramname"/> + <xsl:text>)</xsl:text> + </xsl:template> + + <xsl:template name="gettersig"> + <xsl:variable name="type" select="@type"/> + <xsl:call-template name="cctype"/> + <xsl:text> </xsl:text> + <xsl:call-template name="gettername"/> + <xsl:text>() const</xsl:text> + </xsl:template> + + <xsl:template name="pushbacksig"> + <xsl:variable name="pushback"> + <xsl:call-template name="pushbackname"/> + </xsl:variable> + <xsl:variable name="type" select="@type"/> + <xsl:for-each select="ancestor::class/typedef[@name=$type]"> + <xsl:for-each select="vector"> + <xsl:text>void </xsl:text> + <xsl:value-of select="$pushback"/> + <xsl:text>(</xsl:text> + <xsl:call-template name="cctype"/> + <xsl:text>)</xsl:text> + </xsl:for-each> + </xsl:for-each> + </xsl:template> + + <xsl:template name="memberfuncdecls"> + <xsl:for-each select="member"> + <xsl:text>
 // member: </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>
 </xsl:text> + <xsl:call-template name="settersig"/> + <xsl:text>;</xsl:text> + <xsl:text>
 </xsl:text> + <xsl:call-template name="gettersig"/> + <xsl:text>
 </xsl:text> + <xsl:call-template name="pushbacksig"/> + <xsl:text>;
</xsl:text> + </xsl:for-each> + </xsl:template> + + <xsl:template name="cctype"> + <xsl:variable name="type" select="@type"/> + <xsl:variable name="try1"> + <xsl:for-each select="ancestor::class/typedef[@name=$type]"> + <xsl:for-each select="vector"> + <xsl:text>const </xsl:text> + <xsl:value-of select="$type"/> + <xsl:text> &</xsl:text> + </xsl:for-each> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <xsl:when test="string-length($try1) > 0"> + <xsl:value-of select="$try1"/> + </xsl:when> + <xsl:when test="@type='OUString'"> + <xsl:text>const ::rtl::OUString &</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@type"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="capfirst"> + <xsl:param name="string"/> + <xsl:variable name="first" select="translate(substring($string, 1,1), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> + <xsl:value-of select="concat($first, substring($string, 2))"/> + </xsl:template> + + <xsl:template name="paramname"> + <xsl:choose> + <xsl:when test="@type='OUString'"> + <xsl:text>r_s</xsl:text> + <xsl:call-template name="capfirst"> + <xsl:with-param name="string" select="@name"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:text>r_</xsl:text> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> +</xsl:stylesheet> -- cgit From ec80a29a068b96bafb0ae754f1aadb0762fdef8f Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 9 Mar 2010 17:15:35 +0100 Subject: writerfilter08: generation xsl for FFDataHandler --- writerfilter/source/dmapper/FFData.xml | 41 +++- writerfilter/source/dmapper/genclass.xsl | 409 +++++++++++++++++++++++++++---- 2 files changed, 397 insertions(+), 53 deletions(-) diff --git a/writerfilter/source/dmapper/FFData.xml b/writerfilter/source/dmapper/FFData.xml index aa10cec0101c..525f59391dc4 100644 --- a/writerfilter/source/dmapper/FFData.xml +++ b/writerfilter/source/dmapper/FFData.xml @@ -1,5 +1,5 @@ <model> - <class name="FFData"> + <class name="FFDataHandler"> <parent name="Properties"/> <typedef name="Pointer_t" type="shared_ptr"/> <typedef name="DropDownEntries_t"> @@ -8,8 +8,8 @@ <member name="name" type="OUString"/> <member name="enabled" type="bool"/> <member name="calcOnExit" type="bool"/> - <member name="entryMacroName" type="OUString"/> - <member name="exitMacroName" type="OUString"/> + <member name="entryMacro" type="OUString"/> + <member name="exitMacro" type="OUString"/> <member name="helpTextType" type="sal_uInt32"/> <member name="helpText" type="OUString"/> <member name="statusTextType" type="sal_uInt32"/> @@ -18,8 +18,41 @@ <member name="checkboxAutoHeight" type="bool"/> <member name="checkboxDefault" type="bool"/> <member name="checkboxChecked" type="bool"/> - <member name="dropboxEntries" type="DropDownEntries_t"/> + <member name="dropDownResult" type="OUString"/> + <member name="dropDownDefault" type="OUString"/> + <member name="dropDownEntries" type="DropDownEntries_t"/> + <member name="textType" type="sal_uInt32"/> + <member name="textMaxLength" type="sal_uInt32"/> <member name="textDefault" type="OUString"/> <member name="textFormat" type="OUString"/> + <sprm> + <element name="name" action="set" id="NS_ooxml::LN_CT_FFData_name"/> + <element name="enabled" action="set" id="NS_ooxml::LN_CT_FFData_enabled"/> + <element name="calcOnExit" action="set" id="NS_ooxml::LN_CT_FFData_calcOnExit"/> + <element name="entryMacro" action="set" id="NS_ooxml::LN_CT_FFData_entryMacro"/> + <element name="exitMacro" action="set" id="NS_ooxml::LN_CT_FFData_exitMacro"/> + <element name="helpText" action="resolve" id="NS_ooxml::LN_CT_FFData_helpText"/> + <element name="statusText" action="resolve" id="NS_ooxml::LN_CT_FFData_statusText"/> + <element name="size" member="checkboxHeight" action="set" id="NS_ooxml::LN_CT_FFCheckBox_size"/> + <element name="sizeAuto" member="checkboxAutoHeight" action="set" id="NS_ooxml::LN_CT_FFCheckBox_sizeAuto"/> + <element name="default" member="checkboxDefault" action="set" id="NS_ooxml::LN_CT_FFCheckBox_default"/> + <element name="checked" member="checkboxChecked" action="set" id="NS_ooxml::LN_CT_FFCheckBox_checked"/> + <element name="checkBox" action="resolve" id="NS_ooxml::LN_CT_FFData_checkBox"/> + <element name="result" member="dropDownResult" action="set" id="NS_ooxml::LN_CT_FFDDList_result"/> + <element name="default" member="dropDownDefault" action="set" id="NS_ooxml::LN_CT_FFDDList_default"/> + <element name="listEntry" member="dropDownEntries" action="pushback" id="NS_ooxml::LN_CT_FFDDList_listEntry"/> + <element name="ddList" action="resolve" id="NS_ooxml::LN_CT_FFData_ddList"/> + <element name="type" member="textType" action="set" id="NS_ooxml::LN_CT_FFTextInput_type"/> + <element name="default" member="textDefault" action="set" id="NS_ooxml::LN_CT_FFTextInput_default"/> + <element name="maxLength" member="textMaxLength" action="set" id="NS_ooxml::LN_CT_FFTextInput_maxLength"/> + <element name="format" member="textFormat" action="set" id="NS_ooxml::LN_CT_FFTextInput_format"/> + <element name="textInput" action="resolve" id="NS_ooxml::LN_CT_FFData_textInput"/> + </sprm> + <attribute> + <attribute name="helpText:type" member="helpTextType" id="NS_ooxml::LN_CT_FFHelpText_type"/> + <attribute name="helpText:val" member="helpText" id="NS_ooxml::LN_CT_FFHelpText_val"/> + <attribute name="statusText:type" member="statusTextType" id="NS_ooxml::LN_CT_FFStatusText_type"/> + <attribute name="statusText:val" member="statusText" id="NS_ooxml::LN_CT_FFStatusText_val"/> + </attribute> </class> </model> \ No newline at end of file diff --git a/writerfilter/source/dmapper/genclass.xsl b/writerfilter/source/dmapper/genclass.xsl index af4a2948e5ed..e886ab81f51e 100644 --- a/writerfilter/source/dmapper/genclass.xsl +++ b/writerfilter/source/dmapper/genclass.xsl @@ -1,3 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" @@ -8,61 +9,101 @@ <xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no"/> <xsl:template match="/"> - <xsl:for-each select="/model"> - <xsl:apply-templates/> + <xsl:for-each select="/model/class"> + <xsl:call-template name="classdecl"/> + <xsl:call-template name="classimpl"/> </xsl:for-each> </xsl:template> - <xsl:template match="class"> - <xsl:text> -class </xsl:text> -<xsl:value-of select="@name"/> -<xsl:if test="parent"> - <xsl:text> : public </xsl:text> -</xsl:if> -<xsl:for-each select="parent"> - <xsl:if test="position() > 1"> - <xsl:text>, </xsl:text> - </xsl:if> - <xsl:value-of select="@name"/> -</xsl:for-each> -<xsl:text> -{ -public:</xsl:text> -<xsl:call-template name="typedefs"/> - -<xsl:text> - FFData(); - ~FFData(); -</xsl:text> -<xsl:call-template name="memberfuncdecls"/> -<xsl:text> -}; -</xsl:text> + <xsl:template name="memberid"> + <xsl:variable name="member"> + <xsl:choose> + <xsl:when test="@member"> + <xsl:value-of select="@member"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:for-each select="ancestor::class/member[@name=$member]"> + <xsl:choose> + <xsl:when test="@type='bool'"> + <xsl:text>m_b</xsl:text> + </xsl:when> + <xsl:when test="@type='OUString'"> + <xsl:text>m_s</xsl:text> + </xsl:when> + <xsl:when test="@type='sal_uInt32'"> + <xsl:text>m_n</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>m_</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + <xsl:call-template name="capfirst"> + <xsl:with-param name="string" select="$member"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="classdecl"> + <xsl:text>
class </xsl:text> + <xsl:value-of select="@name"/> + <xsl:if test="parent"> + <xsl:text> : public </xsl:text> + </xsl:if> + <xsl:for-each select="parent"> + <xsl:if test="position() > 1"> + <xsl:text>, </xsl:text> + </xsl:if> + <xsl:value-of select="@name"/> + </xsl:for-each> + <xsl:text>
{</xsl:text> + <xsl:text>
public:</xsl:text> + <xsl:call-template name="typedefs"/> + <xsl:text>
 // constructor</xsl:text> + <xsl:text>
 FFData();</xsl:text> + <xsl:text>
 // destructor</xsl:text> + <xsl:text>
 virtual ~FFData();
</xsl:text> + <xsl:call-template name="memberfuncdecls"/> + <xsl:for-each select="sprm"> + <xsl:text>
 // sprm</xsl:text> + <xsl:text>
 void sprm(Sprm & r_sprm);</xsl:text> + <xsl:text>
 void resolveSprm(Sprm & r_sprm);
</xsl:text> + </xsl:for-each> + <xsl:for-each select="attribute"> + <xsl:text>
 // attribute</xsl:text> + <xsl:text>
 void attribute(Id name, Value & val);
</xsl:text> + </xsl:for-each> + <xsl:text>
private:</xsl:text> + <xsl:call-template name="memberdecls"/> + <xsl:text>
};

</xsl:text> </xsl:template> <xsl:template name="typedefs"> + <xsl:text>
 // typedefs</xsl:text> <xsl:for-each select="typedef"> - <xsl:text> - typedef </xsl:text> - <xsl:choose> - <xsl:when test="@type = 'shared_ptr'"> - <xsl:text>::boost::shared_ptr<</xsl:text> - <xsl:value-of select="ancestor::class/@name"/> - <xsl:text>></xsl:text> - </xsl:when> - <xsl:otherwise> - </xsl:otherwise> - </xsl:choose> - <xsl:for-each select="vector"> - <xsl:text>::std::vector<</xsl:text> - <xsl:value-of select="@type"/> - <xsl:text>></xsl:text> - </xsl:for-each> - <xsl:text> </xsl:text> - <xsl:value-of select="@name"/> - <xsl:text>;</xsl:text> + <xsl:text>
 typedef </xsl:text> + <xsl:choose> + <xsl:when test="@type = 'shared_ptr'"> + <xsl:text>::boost::shared_ptr<</xsl:text> + <xsl:value-of select="ancestor::class/@name"/> + <xsl:text>></xsl:text> + </xsl:when> + <xsl:otherwise> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select="vector"> + <xsl:text>::std::vector<</xsl:text> + <xsl:value-of select="@type"/> + <xsl:text>></xsl:text> + </xsl:for-each> + <xsl:text> </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>;</xsl:text> </xsl:for-each> + <xsl:text>
</xsl:text> </xsl:template> <xsl:template name="settername"> @@ -85,7 +126,12 @@ public:</xsl:text> </xsl:template> <xsl:template name="settersig"> + <xsl:param name="classname"/> <xsl:text>void </xsl:text> + <xsl:if test="string-length($classname) > 0"> + <xsl:value-of select="$classname"/> + <xsl:text>::</xsl:text> + </xsl:if> <xsl:call-template name="settername"/> <xsl:text>(</xsl:text> <xsl:call-template name="cctype"/> @@ -95,14 +141,20 @@ public:</xsl:text> </xsl:template> <xsl:template name="gettersig"> + <xsl:param name="classname"/> <xsl:variable name="type" select="@type"/> <xsl:call-template name="cctype"/> <xsl:text> </xsl:text> + <xsl:if test="string-length($classname) > 0"> + <xsl:value-of select="$classname"/> + <xsl:text>::</xsl:text> + </xsl:if> <xsl:call-template name="gettername"/> <xsl:text>() const</xsl:text> </xsl:template> <xsl:template name="pushbacksig"> + <xsl:param name="classname"/> <xsl:variable name="pushback"> <xsl:call-template name="pushbackname"/> </xsl:variable> @@ -110,9 +162,14 @@ public:</xsl:text> <xsl:for-each select="ancestor::class/typedef[@name=$type]"> <xsl:for-each select="vector"> <xsl:text>void </xsl:text> + <xsl:if test="string-length($classname) > 0"> + <xsl:value-of select="$classname"/> + <xsl:text>::</xsl:text> + </xsl:if> <xsl:value-of select="$pushback"/> <xsl:text>(</xsl:text> <xsl:call-template name="cctype"/> + <xsl:text>r_Element</xsl:text> <xsl:text>)</xsl:text> </xsl:for-each> </xsl:for-each> @@ -127,9 +184,24 @@ public:</xsl:text> <xsl:text>;</xsl:text> <xsl:text>
 </xsl:text> <xsl:call-template name="gettersig"/> + <xsl:text>;
 </xsl:text> + <xsl:variable name="pushback"> + <xsl:call-template name="pushbacksig"/> + </xsl:variable> + <xsl:if test="string-length($pushback) > 0"> + <xsl:value-of select="$pushback"/> + <xsl:text>;
</xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:template> + + <xsl:template name="memberdecls"> + <xsl:for-each select="member"> <xsl:text>
 </xsl:text> - <xsl:call-template name="pushbacksig"/> - <xsl:text>;
</xsl:text> + <xsl:value-of select="@type"/> + <xsl:text> </xsl:text> + <xsl:call-template name="memberid"/> + <xsl:text>;</xsl:text> </xsl:for-each> </xsl:template> @@ -177,4 +249,243 @@ public:</xsl:text> </xsl:otherwise> </xsl:choose> </xsl:template> + + <xsl:template name="setterimpl"> + <xsl:call-template name="settersig"> + <xsl:with-param name="classname" select="ancestor::class/@name"/> + </xsl:call-template> + <xsl:text>
{</xsl:text> + <xsl:text>
 </xsl:text> + <xsl:call-template name="memberid"/> + <xsl:text> = </xsl:text> + <xsl:call-template name="paramname"/> + <xsl:text>;</xsl:text> + <xsl:text>
}

</xsl:text> + </xsl:template> + + <xsl:template name="getterimpl"> + <xsl:call-template name="gettersig"> + <xsl:with-param name="classname" select="ancestor::class/@name"/> + </xsl:call-template> + <xsl:text>
{</xsl:text> + <xsl:text>
 return </xsl:text> + <xsl:call-template name="memberid"/> + <xsl:text>;</xsl:text> + <xsl:text>
}

</xsl:text> + </xsl:template> + + <xsl:template name="pushbackimpl"> + <xsl:variable name="sig"> + <xsl:call-template name="pushbacksig"> + <xsl:with-param name="classname" select="ancestor::class/@name"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="string-length($sig) > 0"> + <xsl:value-of select="$sig"/> + <xsl:text>
{</xsl:text> + <xsl:text>
 </xsl:text> + <xsl:call-template name="memberid"/> + <xsl:text>.push_back(r_Element);</xsl:text> + <xsl:text>
}

</xsl:text> + </xsl:if> + </xsl:template> + + <xsl:template name="getvalue"> + <xsl:param name="valuePrefix"/> + <xsl:choose> + <xsl:when test="@type='OUString'"> + <xsl:value-of select="$valuePrefix"/> + <xsl:text>getString()</xsl:text> + </xsl:when> + <xsl:when test="@type='bool' or @type='sal_uInt32'"> + <xsl:value-of select="$valuePrefix"/> + <xsl:text>getInt()</xsl:text> + </xsl:when> + <xsl:when test="@type"> + <xsl:variable name="type" select="@type"/> + <xsl:for-each select="ancestor::class/typedef[@name=$type]"> + <xsl:call-template name="getvalue"> + <xsl:with-param name="valuePrefix" select="$valuePrefix"/> + </xsl:call-template> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="member"> + <xsl:choose> + <xsl:when test="@member"> + <xsl:value-of select="@member"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:for-each select="ancestor::class/member[@name=$member]"> + <xsl:call-template name="getvalue"> + <xsl:with-param name="valuePrefix" select="$valuePrefix"/> + </xsl:call-template> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + <xsl:for-each select="vector"> + <xsl:call-template name="getvalue"> + <xsl:with-param name="valuePrefix" select="$valuePrefix"/> + </xsl:call-template> + </xsl:for-each> + </xsl:template> + + <xsl:template name="sprmactionset"> + <xsl:param name="valuePrefix"/> + <xsl:text>
 {</xsl:text> + <xsl:text>
 </xsl:text> + <xsl:call-template name="memberid"/> + <xsl:text> = </xsl:text> + <xsl:call-template name="getvalue"> + <xsl:with-param name="valuePrefix" select="$valuePrefix"/> + </xsl:call-template> + <xsl:text>;
 }</xsl:text> + </xsl:template> + + <xsl:template name="sprmactionpushback"> + <xsl:param name="valuePrefix"/> + <xsl:text>
 {</xsl:text> + <xsl:text>
 </xsl:text> + <xsl:call-template name="memberid"/> + <xsl:text>.push_back(</xsl:text> + <xsl:call-template name="getvalue"> + <xsl:with-param name="valuePrefix" select="$valuePrefix"/> + </xsl:call-template> + <xsl:text>);</xsl:text> + <xsl:text>;
 }</xsl:text> + </xsl:template> + + <xsl:template name="sprmactionresolve"> + <xsl:text>
 {</xsl:text> + <xsl:text>
 resolveSprm(r_Sprm);</xsl:text> + <xsl:text>
 }</xsl:text> + </xsl:template> + + <xsl:template name="sprmaction"> + <xsl:param name="valuePrefix"/> + <xsl:choose> + <xsl:when test="@action='set'"> + <xsl:call-template name="sprmactionset"> + <xsl:with-param name="valuePrefix" select="$valuePrefix"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="@action='pushback'"> + <xsl:call-template name="sprmactionpushback"> + <xsl:with-param name="valuePrefix" select="$valuePrefix"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="@action='resolve'"> + <xsl:call-template name="sprmactionresolve"/> + </xsl:when> + <xsl:otherwise/> + </xsl:choose> + </xsl:template> + + <xsl:template name="sprmimpl"> + <xsl:for-each select="sprm"> + <xsl:text>
void </xsl:text> + <xsl:variable name="classname" select="ancestor::class/@name"/> + <xsl:value-of select="$classname"/> + <xsl:text>::sprm(Sprm & r_Sprm)</xsl:text> + <xsl:text>
{</xsl:text> + <xsl:text>
#ifdef DEBUG_DOMAINMAPPER</xsl:text> + <xsl:text>
 dmapper_logger->startElement("</xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>.sprm");</xsl:text> + <xsl:text>
 dmapper_logger->chars(rSprm.toString());</xsl:text> + <xsl:text>
#endif</xsl:text> + <xsl:text>
 switch(r_Sprm.getId())</xsl:text> + <xsl:text>
 {</xsl:text> + <xsl:for-each select="element"> + <xsl:text>
 case </xsl:text> + <xsl:value-of select="@id"/> + <xsl:text>:</xsl:text> + <xsl:text>
 /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */</xsl:text> + <xsl:call-template name="sprmaction"> + <xsl:with-param name="valuePrefix">r_Sprm.getValue-></xsl:with-param> + </xsl:call-template> + <xsl:text>
 break;</xsl:text> + </xsl:for-each> + <xsl:text>
 default:</xsl:text> + <xsl:text>
#ifdef DEBUG_DOMAINMAPPER</xsl:text> + <xsl:text>
 dmapper_logger->element("unhandled");</xsl:text> + <xsl:text>
#endif DEBUG_DOMAINMAPPER</xsl:text> + <xsl:text>
 break;</xsl:text> + <xsl:text>
 }</xsl:text> + <xsl:text>
#ifdef DEBUG_DOMAINMAPPER</xsl:text> + <xsl:text>
 dmapper_logger->endElement("</xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>.sprm");</xsl:text> + <xsl:text>
#endif</xsl:text> + <xsl:text>
}
</xsl:text> + <xsl:text>
void </xsl:text> + <xsl:value-of select="ancestor::class/@name"/> + <xsl:text>::resolveSprm(Sprm & r_Sprm)</xsl:text> + <xsl:text>
{</xsl:text> + <xsl:text>
 writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();</xsl:text> + <xsl:text>
 if( pProperties.get())</xsl:text> + <xsl:text>
 pProperties->resolve(*this);</xsl:text> + <xsl:text>
}
</xsl:text> + </xsl:for-each> + </xsl:template> + + <xsl:template name="attrimpl"> + <xsl:for-each select="attribute"> + <xsl:text>
void </xsl:text> + <xsl:variable name="classname" select="ancestor::class/@name"/> + <xsl:value-of select="$classname"/> + <xsl:text>::</xsl:text> + <xsl:text>attribute(Id name, Value & val)</xsl:text> + <xsl:text>
{</xsl:text> + <xsl:text>
#ifdef DEBUG_DOMAINMAPPER</xsl:text> + <xsl:text>
 dmapper_logger->startElement("</xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>.attribute");</xsl:text> + <xsl:text>
 dmapper_logger->attribute("name", (*QNameToString::Instance())(name));</xsl:text> + <xsl:text>
 dmapper_logger->attribute("value", val.toString());</xsl:text> + <xsl:text>
 dmapper_logger->endElement("</xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>.attribute");</xsl:text> + <xsl:text>
#endif</xsl:text> + <xsl:text>
 switch (name)</xsl:text> + <xsl:text>
 {</xsl:text> + <xsl:for-each select="attribute"> + <xsl:text>
 case </xsl:text> + <xsl:value-of select="@id"/> + <xsl:text>:</xsl:text> + <xsl:text>
 /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */</xsl:text> + <xsl:call-template name="sprmactionset"> + <xsl:with-param name="valuePrefix">val.</xsl:with-param> + </xsl:call-template> + <xsl:text>
 break;</xsl:text> + </xsl:for-each> + <xsl:text>
 default:</xsl:text> + <xsl:text>
#ifdef DEBUG_DOMAINMAPPER</xsl:text> + <xsl:text>
 dmapper_logger->element("unhandled");</xsl:text> + <xsl:text>
#endif DEBUG_DOMAINMAPPER</xsl:text> + <xsl:text>
 break;</xsl:text> + <xsl:text>
 }</xsl:text> + <xsl:text>
}

</xsl:text> + </xsl:for-each> + </xsl:template> + + <xsl:template name="classimpl"> + <xsl:variable name="classname" select="@name"/> + <xsl:for-each select="member"> + <xsl:text>// member: </xsl:text> + <xsl:value-of select="$classname"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>
</xsl:text> + <xsl:call-template name="setterimpl"/> + <xsl:call-template name="getterimpl"/> + <xsl:call-template name="pushbackimpl"/> + </xsl:for-each> + <xsl:call-template name="sprmimpl"/> + <xsl:call-template name="attrimpl"/> + </xsl:template> </xsl:stylesheet> -- cgit From bb0ad3c8a238fbd0131f055c346c2082ff5f2e73 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 9 Mar 2010 17:16:32 +0100 Subject: writerfilter08: new attrsprm.xsl: generate input for genclass.xsl in dmapper --- writerfilter/source/ooxml/attrsprm.xsl | 142 +++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 writerfilter/source/ooxml/attrsprm.xsl diff --git a/writerfilter/source/ooxml/attrsprm.xsl b/writerfilter/source/ooxml/attrsprm.xsl new file mode 100644 index 000000000000..9351b1b874c9 --- /dev/null +++ b/writerfilter/source/ooxml/attrsprm.xsl @@ -0,0 +1,142 @@ +<?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" + xmlns:xalan="http://xml.apache.org/xalan" + exclude-result-prefixes = "xalan" + xml:indent="true"> + <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no"/> + + <xsl:include href="factorytools.xsl"/> + + <xsl:template match="/"> + <class> + <xsl:for-each select="//rng:define[@name='CT_FFData']"> + <xsl:call-template name="sprm"/> + <xsl:call-template name="attribute"/> + </xsl:for-each> + </class> + </xsl:template> + + <xsl:template name="sprminner"> + <xsl:variable name="defname" select="@name"/> + <xsl:for-each select=".//rng:ref[not(ancestor::rng:element or ancestor::rng:attribute)]"> + <xsl:call-template name="sprminner"/> + </xsl:for-each> + <xsl:for-each select=".//rng:element"> + <xsl:for-each select="rng:ref"> + <xsl:variable name="refname" select="@name"/> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$refname]"> + <xsl:call-template name="sprminner"/> + </xsl:for-each> + </xsl:for-each> + <element> + <xsl:variable name="elementname" select="@name"/> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:for-each select="rng:ref"> + <xsl:variable name="refname" select="@name"/> + <xsl:for-each select="ancestor::namespace/resource[@name=$refname]"> + <xsl:attribute name="action"> + <xsl:choose> + <xsl:when test="@resource='Properties'"> + <xsl:text>resolve</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>set</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + </xsl:for-each> + <xsl:for-each select="ancestor::namespace/resource[@name=$defname]"> + <xsl:for-each select="element[@name=$elementname]"> + <xsl:attribute name="id"> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id"> + <xsl:value-of select="@tokenid"/> + </xsl:with-param> + </xsl:call-template> + </xsl:attribute> + </xsl:for-each> + </xsl:for-each> + </xsl:for-each> + </element> + </xsl:for-each> + </xsl:template> + + <xsl:template name="sprm"> + <sprm> + <xsl:call-template name="sprminner"/> + </sprm> + </xsl:template> + + <xsl:template name="attributeinner"> + <xsl:param name="parent"/> + <xsl:for-each select=".//rng:ref[not(ancestor::rng:element or ancestor::rng:attribute)]"> + <xsl:variable name="refname" select="@name"/> + <xsl:comment><xsl:value-of select="$newparent"/></xsl:comment> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$refname]"> + <xsl:call-template name="attributeinner"> + <xsl:with-param name="parent" select="$parent"/> + </xsl:call-template> + </xsl:for-each> + </xsl:for-each> + <xsl:for-each select=".//rng:element"> + <xsl:variable name="newparent"> + <xsl:if test="string-length($parent)"> + <xsl:value-of select="$parent"/> + <xsl:text>:</xsl:text> + </xsl:if> + <xsl:value-of select="@name"/> + </xsl:variable> + <xsl:for-each select="rng:ref"> + <xsl:variable name="refname" select="@name"/> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$refname]"> + <xsl:call-template name="attributeinner"> + <xsl:with-param name="parent" select="$newparent"/> + </xsl:call-template> + </xsl:for-each> + </xsl:for-each> + </xsl:for-each> + <xsl:variable name="defname" select="@name"/> + <xsl:variable name="resource"> + <xsl:for-each select="ancestor::namespace/resource[@name=$defname]"> + <xsl:value-of select="@resource"/> + </xsl:for-each> + </xsl:variable> + <xsl:if test="$resource='Properties'"> + <xsl:for-each select=".//rng:attribute"> + <xsl:variable name="attrname" select="@name"/> + <attribute> + <xsl:attribute name="name"> + <xsl:if test="string-length($parent) > 0"> + <xsl:value-of select="$parent"/> + <xsl:text>:</xsl:text> + </xsl:if> + <xsl:value-of select="$attrname"/> + </xsl:attribute> + <xsl:for-each select="ancestor::namespace/resource[@name=$defname]"> + <xsl:for-each select="attribute[@name=$attrname]"> + <xsl:attribute name="id"> + <xsl:call-template name="idtoqname"> + <xsl:with-param name="id"> + <xsl:value-of select="@tokenid"/> + </xsl:with-param> + </xsl:call-template> + </xsl:attribute> + </xsl:for-each> + </xsl:for-each> + </attribute> + </xsl:for-each> + </xsl:if> + </xsl:template> + + <xsl:template name="attribute"> + <attribute> + <xsl:call-template name="attributeinner"/> + </attribute> + </xsl:template> + +</xsl:stylesheet> \ No newline at end of file -- cgit From 3e3c0d92214ebd2d5a1c85035f5f71e2abe6f85f Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 9 Mar 2010 17:17:43 +0100 Subject: writerfilter08: more annotations for FFData --- writerfilter/source/ooxml/model.xml | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index 85a58e160f3b..adbd294ab023 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -15079,7 +15079,7 @@ </define> <define name="CT_FFTextType"> <attribute name="val"> - <text/> + <ref name="ST_FFName"/> <xs:documentation>Text Box Form Field Type Values</xs:documentation> </attribute> </define> @@ -15206,7 +15206,7 @@ </define> <define name="CT_FFHelpText"> <attribute name="type"> - <text/> + <ref name="ST_InfoTextType"/> <xs:documentation>Help Text Type</xs:documentation> </attribute> <attribute name="val"> @@ -15216,7 +15216,7 @@ </define> <define name="CT_FFStatusText"> <attribute name="type"> - <text/> + <ref name="ST_InfoTextType"/> <xs:documentation>Status Text Type</xs:documentation> </attribute> <attribute name="val"> @@ -22064,6 +22064,23 @@ <attribute name="type" tokenid="ooxml:CT_FFStatusText_type"/> <attribute name="val" tokenid="ooxml:CT_FFStatusText_val"/> </resource> + <resource name="CT_FFCheckBox" resource="Properties"> + <element name="size" tokenid="ooxml:CT_FFCheckBox_size"/> + <element name="sizeAuto" tokenid="ooxml:CT_FFCheckBox_sizeAuto"/> + <element name="default" tokenid="ooxml:CT_FFCheckBox_default"/> + <element name="checked" tokenid="ooxml:CT_FFCheckBox_checked"/> + </resource> + <resource name="CT_FFDDList" resource="Properties"> + <element name="result" tokenid="ooxml:CT_FFDDList_result"/> + <element name="default" tokenid="ooxml:CT_FFDDList_default"/> + <element name="listEntry" tokenid="ooxml:CT_FFDDList_listEntry"/> + </resource> + <resource name="CT_FFTextInput" resource="Properties"> + <element name="type" tokenid="ooxml:CT_FFTextInput_type"/> + <element name="default" tokenid="ooxml:CT_FFTextInput_default"/> + <element name="maxLength" tokenid="ooxml:CT_FFTextInput_maxLength"/> + <element name="format" tokenid="ooxml:CT_FFTextInput_format"/> + </resource> <resource name="ST_SectionMark" resource="List"> <value tokenid="0">continuous</value> <value tokenid="1">nextColumn</value> -- cgit From 7c9bcd844f82b8960a4492dba247dd10272f6a2c Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 10 Mar 2010 16:29:16 +0100 Subject: writerfilter08: made FFDataHandler compile --- writerfilter/source/dmapper/FFDataHandler.cxx | 483 ++++++++++++++++++++++++++ writerfilter/source/dmapper/FFDataHandler.hxx | 167 +++++++-- writerfilter/source/dmapper/FFDataHanlder.cxx | 27 -- writerfilter/source/dmapper/genclass.xsl | 262 ++++++++++++-- writerfilter/source/dmapper/makefile.mk | 1 + 5 files changed, 852 insertions(+), 88 deletions(-) create mode 100644 writerfilter/source/dmapper/FFDataHandler.cxx delete mode 100644 writerfilter/source/dmapper/FFDataHanlder.cxx diff --git a/writerfilter/source/dmapper/FFDataHandler.cxx b/writerfilter/source/dmapper/FFDataHandler.cxx new file mode 100644 index 000000000000..f90f1eaf4f9b --- /dev/null +++ b/writerfilter/source/dmapper/FFDataHandler.cxx @@ -0,0 +1,483 @@ +/************************************************************************* + * + * 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 "FFDataHandler.hxx" + +#include <ooxml/resourceids.hxx> +#ifdef DEBUG_DOMAINMAPPER +#include <resourcemodel/QNameToString.hxx> +#include "dmapperLoggers.hxx" +#endif +namespace writerfilter { +namespace dmapper { + +/************************ + * class: FFDataHandler * + ************************/ + +FFDataHandler::FFDataHandler() +: m_bEnabled(false), + m_bCalcOnExit(false), + m_nHelpTextType(0), + m_nStatusTextType(0), + m_nCheckboxHeight(0), + m_bCheckboxAutoHeight(false), + m_bCheckboxDefault(false), + m_bCheckboxChecked(false), + m_nTextType(0), + m_nTextMaxLength(0) +{ +} + + +FFDataHandler::~FFDataHandler() +{ +} + +// member: FFDataHandler::name +void FFDataHandler::setName(const rtl::OUString & r_sName) +{ + m_sName = r_sName; +} + +const rtl::OUString & FFDataHandler::getName() const +{ + return m_sName; +} + +// member: FFDataHandler::enabled +void FFDataHandler::setEnabled(bool r_enabled) +{ + m_bEnabled = r_enabled; +} + +bool FFDataHandler::getEnabled() const +{ + return m_bEnabled; +} + +// member: FFDataHandler::calcOnExit +void FFDataHandler::setCalcOnExit(bool r_calcOnExit) +{ + m_bCalcOnExit = r_calcOnExit; +} + +bool FFDataHandler::getCalcOnExit() const +{ + return m_bCalcOnExit; +} + +// member: FFDataHandler::entryMacro +void FFDataHandler::setEntryMacro(const rtl::OUString & r_sEntryMacro) +{ + m_sEntryMacro = r_sEntryMacro; +} + +const rtl::OUString & FFDataHandler::getEntryMacro() const +{ + return m_sEntryMacro; +} + +// member: FFDataHandler::exitMacro +void FFDataHandler::setExitMacro(const rtl::OUString & r_sExitMacro) +{ + m_sExitMacro = r_sExitMacro; +} + +const rtl::OUString & FFDataHandler::getExitMacro() const +{ + return m_sExitMacro; +} + +// member: FFDataHandler::helpTextType +void FFDataHandler::setHelpTextType(sal_uInt32 r_helpTextType) +{ + m_nHelpTextType = r_helpTextType; +} + +sal_uInt32 FFDataHandler::getHelpTextType() const +{ + return m_nHelpTextType; +} + +// member: FFDataHandler::helpText +void FFDataHandler::setHelpText(const rtl::OUString & r_sHelpText) +{ + m_sHelpText = r_sHelpText; +} + +const rtl::OUString & FFDataHandler::getHelpText() const +{ + return m_sHelpText; +} + +// member: FFDataHandler::statusTextType +void FFDataHandler::setStatusTextType(sal_uInt32 r_statusTextType) +{ + m_nStatusTextType = r_statusTextType; +} + +sal_uInt32 FFDataHandler::getStatusTextType() const +{ + return m_nStatusTextType; +} + +// member: FFDataHandler::statusText +void FFDataHandler::setStatusText(const rtl::OUString & r_sStatusText) +{ + m_sStatusText = r_sStatusText; +} + +const rtl::OUString & FFDataHandler::getStatusText() const +{ + return m_sStatusText; +} + +// member: FFDataHandler::checkboxHeight +void FFDataHandler::setCheckboxHeight(sal_uInt32 r_checkboxHeight) +{ + m_nCheckboxHeight = r_checkboxHeight; +} + +sal_uInt32 FFDataHandler::getCheckboxHeight() const +{ + return m_nCheckboxHeight; +} + +// member: FFDataHandler::checkboxAutoHeight +void FFDataHandler::setCheckboxAutoHeight(bool r_checkboxAutoHeight) +{ + m_bCheckboxAutoHeight = r_checkboxAutoHeight; +} + +bool FFDataHandler::getCheckboxAutoHeight() const +{ + return m_bCheckboxAutoHeight; +} + +// member: FFDataHandler::checkboxDefault +void FFDataHandler::setCheckboxDefault(bool r_checkboxDefault) +{ + m_bCheckboxDefault = r_checkboxDefault; +} + +bool FFDataHandler::getCheckboxDefault() const +{ + return m_bCheckboxDefault; +} + +// member: FFDataHandler::checkboxChecked +void FFDataHandler::setCheckboxChecked(bool r_checkboxChecked) +{ + m_bCheckboxChecked = r_checkboxChecked; +} + +bool FFDataHandler::getCheckboxChecked() const +{ + return m_bCheckboxChecked; +} + +// member: FFDataHandler::dropDownResult +void FFDataHandler::setDropDownResult(const rtl::OUString & r_sDropDownResult) +{ + m_sDropDownResult = r_sDropDownResult; +} + +const rtl::OUString & FFDataHandler::getDropDownResult() const +{ + return m_sDropDownResult; +} + +// member: FFDataHandler::dropDownDefault +void FFDataHandler::setDropDownDefault(const rtl::OUString & r_sDropDownDefault) +{ + m_sDropDownDefault = r_sDropDownDefault; +} + +const rtl::OUString & FFDataHandler::getDropDownDefault() const +{ + return m_sDropDownDefault; +} + +// member: FFDataHandler::dropDownEntries +void FFDataHandler::setDropDownEntries(const FFDataHandler::DropDownEntries_t & r_dropDownEntries) +{ + m_DropDownEntries = r_dropDownEntries; +} + +const FFDataHandler::DropDownEntries_t & FFDataHandler::getDropDownEntries() const +{ + return m_DropDownEntries; +} + +void FFDataHandler::dropDownEntriesPushBack(const rtl::OUString & r_Element) +{ + m_DropDownEntries.push_back(r_Element); +} + +// member: FFDataHandler::textType +void FFDataHandler::setTextType(sal_uInt32 r_textType) +{ + m_nTextType = r_textType; +} + +sal_uInt32 FFDataHandler::getTextType() const +{ + return m_nTextType; +} + +// member: FFDataHandler::textMaxLength +void FFDataHandler::setTextMaxLength(sal_uInt32 r_textMaxLength) +{ + m_nTextMaxLength = r_textMaxLength; +} + +sal_uInt32 FFDataHandler::getTextMaxLength() const +{ + return m_nTextMaxLength; +} + +// member: FFDataHandler::textDefault +void FFDataHandler::setTextDefault(const rtl::OUString & r_sTextDefault) +{ + m_sTextDefault = r_sTextDefault; +} + +const rtl::OUString & FFDataHandler::getTextDefault() const +{ + return m_sTextDefault; +} + +// member: FFDataHandler::textFormat +void FFDataHandler::setTextFormat(const rtl::OUString & r_sTextFormat) +{ + m_sTextFormat = r_sTextFormat; +} + +const rtl::OUString & FFDataHandler::getTextFormat() const +{ + return m_sTextFormat; +} + + +void FFDataHandler::sprm(Sprm & r_Sprm) +{ +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("FFDataHandler.sprm"); + dmapper_logger->chars(r_Sprm.toString()); +#endif + switch(r_Sprm.getId()) + { + case NS_ooxml::LN_CT_FFData_name: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_sName = r_Sprm.getValue()->getString(); + } + break; + case NS_ooxml::LN_CT_FFData_enabled: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_bEnabled = r_Sprm.getValue()->getInt(); + } + break; + case NS_ooxml::LN_CT_FFData_calcOnExit: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_bCalcOnExit = r_Sprm.getValue()->getInt(); + } + break; + case NS_ooxml::LN_CT_FFData_entryMacro: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_sEntryMacro = r_Sprm.getValue()->getString(); + } + break; + case NS_ooxml::LN_CT_FFData_exitMacro: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_sExitMacro = r_Sprm.getValue()->getString(); + } + break; + case NS_ooxml::LN_CT_FFData_helpText: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + resolveSprm(r_Sprm); + } + break; + case NS_ooxml::LN_CT_FFData_statusText: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + resolveSprm(r_Sprm); + } + break; + case NS_ooxml::LN_CT_FFCheckBox_size: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_nCheckboxHeight = r_Sprm.getValue()->getInt(); + } + break; + case NS_ooxml::LN_CT_FFCheckBox_sizeAuto: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_bCheckboxAutoHeight = r_Sprm.getValue()->getInt(); + } + break; + case NS_ooxml::LN_CT_FFCheckBox_default: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_bCheckboxDefault = r_Sprm.getValue()->getInt(); + } + break; + case NS_ooxml::LN_CT_FFCheckBox_checked: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_bCheckboxChecked = r_Sprm.getValue()->getInt(); + } + break; + case NS_ooxml::LN_CT_FFData_checkBox: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + resolveSprm(r_Sprm); + } + break; + case NS_ooxml::LN_CT_FFDDList_result: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_sDropDownResult = r_Sprm.getValue()->getString(); + } + break; + case NS_ooxml::LN_CT_FFDDList_default: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_sDropDownDefault = r_Sprm.getValue()->getString(); + } + break; + case NS_ooxml::LN_CT_FFDDList_listEntry: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_DropDownEntries.push_back(r_Sprm.getValue()->getString());; + } + break; + case NS_ooxml::LN_CT_FFData_ddList: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + resolveSprm(r_Sprm); + } + break; + case NS_ooxml::LN_CT_FFTextInput_type: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_nTextType = r_Sprm.getValue()->getInt(); + } + break; + case NS_ooxml::LN_CT_FFTextInput_default: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_sTextDefault = r_Sprm.getValue()->getString(); + } + break; + case NS_ooxml::LN_CT_FFTextInput_maxLength: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_nTextMaxLength = r_Sprm.getValue()->getInt(); + } + break; + case NS_ooxml::LN_CT_FFTextInput_format: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_sTextFormat = r_Sprm.getValue()->getString(); + } + break; + case NS_ooxml::LN_CT_FFData_textInput: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + resolveSprm(r_Sprm); + } + break; + default: +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("unhandled"); +#endif DEBUG_DOMAINMAPPER + break; + } +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("FFDataHandler.sprm"); +#endif +} + +void FFDataHandler::resolveSprm(Sprm & r_Sprm) +{ + writerfilter::Reference<Properties>::Pointer_t pProperties = r_Sprm.getProps(); + if( pProperties.get()) + pProperties->resolve(*this); +} + +void FFDataHandler::attribute(Id name, Value & val) +{ +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("FFDataHandler.attribute"); + dmapper_logger->attribute("name", (*QNameToString::Instance())(name)); + dmapper_logger->attribute("value", val.toString()); + dmapper_logger->endElement("FFDataHandler.attribute"); +#endif + switch (name) + { + case NS_ooxml::LN_CT_FFHelpText_type: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_nHelpTextType = val.getInt(); + } + break; + case NS_ooxml::LN_CT_FFHelpText_val: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_sHelpText = val.getString(); + } + break; + case NS_ooxml::LN_CT_FFStatusText_type: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_nStatusTextType = val.getInt(); + } + break; + case NS_ooxml::LN_CT_FFStatusText_val: + /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */ + { + m_sStatusText = val.getString(); + } + break; + default: +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("unhandled"); +#endif DEBUG_DOMAINMAPPER + break; + } +} + +}} diff --git a/writerfilter/source/dmapper/FFDataHandler.hxx b/writerfilter/source/dmapper/FFDataHandler.hxx index 64ed226ea4d7..fb7a4ccee950 100644 --- a/writerfilter/source/dmapper/FFDataHandler.hxx +++ b/writerfilter/source/dmapper/FFDataHandler.hxx @@ -27,44 +27,135 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ +#ifndef INCLUDED_FFDataHandler_HXX +#define INCLUDED_FFDataHandler_HXX +#include <resourcemodel/WW8ResourceModel.hxx> +#include <rtl/ustring.hxx> +namespace writerfilter { +namespace dmapper { +class FFDataHandler : public Properties +{ +public: + // typedefs + typedef ::boost::shared_ptr<FFDataHandler> Pointer_t; + typedef ::std::vector<rtl::OUString> DropDownEntries_t; -#ifndef INCLUDED_FFDATA_HANDLER_HXX -#define INCLUDED_FFDATA_HANDLER_HXX + // constructor + FFDataHandler(); + // destructor + virtual ~FFDataHandler(); -#include <boost/shared_ptr.hpp> -#include <resourcemodel/WW8ResourceModel.hxx> + // member: name + void setName(const rtl::OUString & r_sName); + const rtl::OUString & getName() const; -namespace writerfilter { - namespace dmapper { - class FFData : public Properties - { - public: - typedef ::boost::shared_ptr<FFData> Pointer_t; - typedef ::std::vector<OUString> DropDownEntries_t; - - FFData(); - virtual ~FFData(); - - private: - OUString m_sName; - bool m_bEnabled; - bool m_bCalcOnExit; - OUString m_sEntryMacroName; - OUString m_sExitMacroName; - sal_uInt32 m_nHelpTextType; - OUString m_sHelpText; - sal_uInt32 m_nStatusTextType; - OUString m_sStatusText; - sal_uInt32 m_nCheckboxHeight; - bool m_bCheckboxAutoHeight; - bool m_bCheckboxDefault; - bool m_bCheckboxChecked; - sal_uInt32 m_nDropDownDefault; - sal_uInt32 m_nDropDownResult; - DropDownEntries_t m_DropDownEntries; - OUString m_sTextDefault; - OUStirng m_sTextFormat; - }; - } -} -#endif // INCLUDED_FFDATA_HANDLER_HXX + // member: enabled + void setEnabled(bool r_enabled); + bool getEnabled() const; + + // member: calcOnExit + void setCalcOnExit(bool r_calcOnExit); + bool getCalcOnExit() const; + + // member: entryMacro + void setEntryMacro(const rtl::OUString & r_sEntryMacro); + const rtl::OUString & getEntryMacro() const; + + // member: exitMacro + void setExitMacro(const rtl::OUString & r_sExitMacro); + const rtl::OUString & getExitMacro() const; + + // member: helpTextType + void setHelpTextType(sal_uInt32 r_helpTextType); + sal_uInt32 getHelpTextType() const; + + // member: helpText + void setHelpText(const rtl::OUString & r_sHelpText); + const rtl::OUString & getHelpText() const; + + // member: statusTextType + void setStatusTextType(sal_uInt32 r_statusTextType); + sal_uInt32 getStatusTextType() const; + + // member: statusText + void setStatusText(const rtl::OUString & r_sStatusText); + const rtl::OUString & getStatusText() const; + + // member: checkboxHeight + void setCheckboxHeight(sal_uInt32 r_checkboxHeight); + sal_uInt32 getCheckboxHeight() const; + + // member: checkboxAutoHeight + void setCheckboxAutoHeight(bool r_checkboxAutoHeight); + bool getCheckboxAutoHeight() const; + + // member: checkboxDefault + void setCheckboxDefault(bool r_checkboxDefault); + bool getCheckboxDefault() const; + + // member: checkboxChecked + void setCheckboxChecked(bool r_checkboxChecked); + bool getCheckboxChecked() const; + + // member: dropDownResult + void setDropDownResult(const rtl::OUString & r_sDropDownResult); + const rtl::OUString & getDropDownResult() const; + + // member: dropDownDefault + void setDropDownDefault(const rtl::OUString & r_sDropDownDefault); + const rtl::OUString & getDropDownDefault() const; + + // member: dropDownEntries + void setDropDownEntries(const DropDownEntries_t & r_dropDownEntries); + const DropDownEntries_t & getDropDownEntries() const; + void dropDownEntriesPushBack(const rtl::OUString & r_Element); + + // member: textType + void setTextType(sal_uInt32 r_textType); + sal_uInt32 getTextType() const; + + // member: textMaxLength + void setTextMaxLength(sal_uInt32 r_textMaxLength); + sal_uInt32 getTextMaxLength() const; + + // member: textDefault + void setTextDefault(const rtl::OUString & r_sTextDefault); + const rtl::OUString & getTextDefault() const; + + // member: textFormat + void setTextFormat(const rtl::OUString & r_sTextFormat); + const rtl::OUString & getTextFormat() const; + + // sprm + void sprm(Sprm & r_sprm); + void resolveSprm(Sprm & r_sprm); + + // attribute + void attribute(Id name, Value & val); + +private: + rtl::OUString m_sName; + bool m_bEnabled; + bool m_bCalcOnExit; + rtl::OUString m_sEntryMacro; + rtl::OUString m_sExitMacro; + sal_uInt32 m_nHelpTextType; + rtl::OUString m_sHelpText; + sal_uInt32 m_nStatusTextType; + rtl::OUString m_sStatusText; + sal_uInt32 m_nCheckboxHeight; + bool m_bCheckboxAutoHeight; + bool m_bCheckboxDefault; + bool m_bCheckboxChecked; + rtl::OUString m_sDropDownResult; + rtl::OUString m_sDropDownDefault; + DropDownEntries_t m_DropDownEntries; + sal_uInt32 m_nTextType; + sal_uInt32 m_nTextMaxLength; + rtl::OUString m_sTextDefault; + rtl::OUString m_sTextFormat; +}; + + +}} +#endif //INCLUDED_FFDataHandler_HXX diff --git a/writerfilter/source/dmapper/FFDataHanlder.cxx b/writerfilter/source/dmapper/FFDataHanlder.cxx deleted file mode 100644 index 34eb4ec71b19..000000000000 --- a/writerfilter/source/dmapper/FFDataHanlder.cxx +++ /dev/null @@ -1,27 +0,0 @@ -/************************************************************************* - * - * 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. - * - ************************************************************************/ - diff --git a/writerfilter/source/dmapper/genclass.xsl b/writerfilter/source/dmapper/genclass.xsl index e886ab81f51e..eaddab52ea0e 100644 --- a/writerfilter/source/dmapper/genclass.xsl +++ b/writerfilter/source/dmapper/genclass.xsl @@ -10,11 +10,49 @@ <xsl:template match="/"> <xsl:for-each select="/model/class"> - <xsl:call-template name="classdecl"/> - <xsl:call-template name="classimpl"/> + <xsl:choose> + <xsl:when test="$filetype='inc'"> + <xsl:call-template name="incfile"/> + </xsl:when> + <xsl:when test="$filetype='impl'"> + <xsl:call-template name="implfile"/> + </xsl:when> + </xsl:choose> </xsl:for-each> </xsl:template> + <xsl:template name="license"> + <xsl:text>/************************************************************************* + * + * 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. + * + ************************************************************************/
</xsl:text> + </xsl:template> + <xsl:template name="memberid"> <xsl:variable name="member"> <xsl:choose> @@ -46,6 +84,48 @@ <xsl:with-param name="string" select="$member"/> </xsl:call-template> </xsl:template> + + <xsl:template name="incfile"> + <xsl:call-template name="license"/> + <xsl:for-each select="//class"> + <xsl:variable name="includeguard"> + <xsl:text>INCLUDED_</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>_HXX</xsl:text> + </xsl:variable> + <xsl:text>#ifndef </xsl:text> + <xsl:value-of select="$includeguard"/> + <xsl:text>
#define </xsl:text> + <xsl:value-of select="$includeguard"/> + <xsl:text>
#include <resourcemodel/WW8ResourceModel.hxx></xsl:text> + <xsl:text>
#include <rtl/ustring.hxx></xsl:text> + <xsl:text>
namespace writerfilter {</xsl:text> + <xsl:text>
namespace dmapper {</xsl:text> + <xsl:call-template name="classdecl"/> + <xsl:text>
}}</xsl:text> + <xsl:text>
#endif //</xsl:text> + <xsl:value-of select="$includeguard"/> + <xsl:text>
</xsl:text> + </xsl:for-each> + </xsl:template> + + <xsl:template name="implfile"> + <xsl:call-template name="license"/> + <xsl:for-each select="//class"> + <xsl:text>#include "</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>.hxx"
</xsl:text> + <xsl:text>
#include <ooxml/resourceids.hxx></xsl:text> + <xsl:text>
#ifdef DEBUG_DOMAINMAPPER</xsl:text> + <xsl:text>
#include <resourcemodel/QNameToString.hxx></xsl:text> + <xsl:text>
#include "dmapperLoggers.hxx"</xsl:text> + <xsl:text>
#endif</xsl:text> + <xsl:text>
namespace writerfilter {</xsl:text> + <xsl:text>
namespace dmapper {
</xsl:text> + <xsl:call-template name="classimpl"/> + <xsl:text>}}
</xsl:text> + </xsl:for-each> + </xsl:template> <xsl:template name="classdecl"> <xsl:text>
class </xsl:text> @@ -63,9 +143,13 @@ <xsl:text>
public:</xsl:text> <xsl:call-template name="typedefs"/> <xsl:text>
 // constructor</xsl:text> - <xsl:text>
 FFData();</xsl:text> + <xsl:text>
 </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>();</xsl:text> <xsl:text>
 // destructor</xsl:text> - <xsl:text>
 virtual ~FFData();
</xsl:text> + <xsl:text>
 virtual ~</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>();
</xsl:text> <xsl:call-template name="memberfuncdecls"/> <xsl:for-each select="sprm"> <xsl:text>
 // sprm</xsl:text> @@ -81,6 +165,18 @@ <xsl:text>
};

</xsl:text> </xsl:template> + <xsl:template name="type"> + <xsl:param name="name"/> + <xsl:choose> + <xsl:when test="$name='OUString'"> + <xsl:text>::rtl::OUString</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + <xsl:template name="typedefs"> <xsl:text>
 // typedefs</xsl:text> <xsl:for-each select="typedef"> @@ -96,7 +192,7 @@ </xsl:choose> <xsl:for-each select="vector"> <xsl:text>::std::vector<</xsl:text> - <xsl:value-of select="@type"/> + <xsl:call-template name="cctype"/> <xsl:text>></xsl:text> </xsl:for-each> <xsl:text> </xsl:text> @@ -125,8 +221,13 @@ <xsl:text>PushBack</xsl:text> </xsl:template> - <xsl:template name="settersig"> + <xsl:template name="settersig"> <xsl:param name="classname"/> + <xsl:variable name="impl"> + <xsl:if test="string-length($classname) > 0"> + <xsl:text>true</xsl:text> + </xsl:if> + </xsl:variable> <xsl:text>void </xsl:text> <xsl:if test="string-length($classname) > 0"> <xsl:value-of select="$classname"/> @@ -134,7 +235,9 @@ </xsl:if> <xsl:call-template name="settername"/> <xsl:text>(</xsl:text> - <xsl:call-template name="cctype"/> + <xsl:call-template name="constcctyperef"> + <xsl:with-param name="impl" select="$impl"/> + </xsl:call-template> <xsl:text> </xsl:text> <xsl:call-template name="paramname"/> <xsl:text>)</xsl:text> @@ -142,8 +245,15 @@ <xsl:template name="gettersig"> <xsl:param name="classname"/> + <xsl:variable name="impl"> + <xsl:if test="string-length($classname) > 0"> + <xsl:text>true</xsl:text> + </xsl:if> + </xsl:variable> <xsl:variable name="type" select="@type"/> - <xsl:call-template name="cctype"/> + <xsl:call-template name="constcctyperef"> + <xsl:with-param name="impl" select="$impl"/> + </xsl:call-template> <xsl:text> </xsl:text> <xsl:if test="string-length($classname) > 0"> <xsl:value-of select="$classname"/> @@ -152,7 +262,7 @@ <xsl:call-template name="gettername"/> <xsl:text>() const</xsl:text> </xsl:template> - + <xsl:template name="pushbacksig"> <xsl:param name="classname"/> <xsl:variable name="pushback"> @@ -168,8 +278,10 @@ </xsl:if> <xsl:value-of select="$pushback"/> <xsl:text>(</xsl:text> - <xsl:call-template name="cctype"/> - <xsl:text>r_Element</xsl:text> + <xsl:call-template name="constcctyperef"> + <xsl:with-param name="deep">true</xsl:with-param> + </xsl:call-template> + <xsl:text> r_Element</xsl:text> <xsl:text>)</xsl:text> </xsl:for-each> </xsl:for-each> @@ -198,7 +310,7 @@ <xsl:template name="memberdecls"> <xsl:for-each select="member"> <xsl:text>
 </xsl:text> - <xsl:value-of select="@type"/> + <xsl:call-template name="cctype"/> <xsl:text> </xsl:text> <xsl:call-template name="memberid"/> <xsl:text>;</xsl:text> @@ -206,25 +318,69 @@ </xsl:template> <xsl:template name="cctype"> + <xsl:param name="deep"/> + <xsl:param name="impl"/> <xsl:variable name="type" select="@type"/> <xsl:variable name="try1"> - <xsl:for-each select="ancestor::class/typedef[@name=$type]"> - <xsl:for-each select="vector"> - <xsl:text>const </xsl:text> - <xsl:value-of select="$type"/> - <xsl:text> &</xsl:text> + <xsl:if test="$deep='true'"> + <xsl:for-each select="ancestor::class/typedef[@name=$type]"> + <xsl:for-each select="vector"> + <xsl:call-template name="cctype"> + <xsl:with-param name="impl" select="$impl"/> + <xsl:with-param name="deep" select="$deep"/> + </xsl:call-template> + </xsl:for-each> </xsl:for-each> - </xsl:for-each> + </xsl:if> </xsl:variable> <xsl:choose> <xsl:when test="string-length($try1) > 0"> <xsl:value-of select="$try1"/> </xsl:when> <xsl:when test="@type='OUString'"> - <xsl:text>const ::rtl::OUString &</xsl:text> + <xsl:text>rtl::OUString</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$impl='true'"> + <xsl:for-each select="ancestor::class"> + <xsl:variable name="classname" select="@name"/> + <xsl:for-each select="typedef[@name=$type]"> + <xsl:value-of select="$classname"/> + <xsl:text>::</xsl:text> + </xsl:for-each> + </xsl:for-each> + </xsl:if> + <xsl:value-of select="@type"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="constcctype"> + <xsl:param name="impl"/> + <xsl:choose> + <xsl:when test="@type='bool' or @type='sal_uInt32'"> + <xsl:value-of select="@type"/> </xsl:when> <xsl:otherwise> + <xsl:text>const </xsl:text> + <xsl:call-template name="cctype"> + <xsl:with-param name="impl" select="$impl"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="constcctyperef"> + <xsl:param name="impl"/> + <xsl:choose> + <xsl:when test="@type='bool' or @type='sal_uInt32'"> <xsl:value-of select="@type"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="constcctype"> + <xsl:with-param name="impl" select="$impl"/> + </xsl:call-template> + <xsl:text> &</xsl:text> </xsl:otherwise> </xsl:choose> </xsl:template> @@ -396,7 +552,7 @@ <xsl:text>
 dmapper_logger->startElement("</xsl:text> <xsl:value-of select="$classname"/> <xsl:text>.sprm");</xsl:text> - <xsl:text>
 dmapper_logger->chars(rSprm.toString());</xsl:text> + <xsl:text>
 dmapper_logger->chars(r_Sprm.toString());</xsl:text> <xsl:text>
#endif</xsl:text> <xsl:text>
 switch(r_Sprm.getId())</xsl:text> <xsl:text>
 {</xsl:text> @@ -406,7 +562,7 @@ <xsl:text>:</xsl:text> <xsl:text>
 /* WRITERFILTERSTATUS done: 100, planned: 2, spent: 0 */</xsl:text> <xsl:call-template name="sprmaction"> - <xsl:with-param name="valuePrefix">r_Sprm.getValue-></xsl:with-param> + <xsl:with-param name="valuePrefix">r_Sprm.getValue()-></xsl:with-param> </xsl:call-template> <xsl:text>
 break;</xsl:text> </xsl:for-each> @@ -426,7 +582,7 @@ <xsl:value-of select="ancestor::class/@name"/> <xsl:text>::resolveSprm(Sprm & r_Sprm)</xsl:text> <xsl:text>
{</xsl:text> - <xsl:text>
 writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();</xsl:text> + <xsl:text>
 writerfilter::Reference<Properties>::Pointer_t pProperties = r_Sprm.getProps();</xsl:text> <xsl:text>
 if( pProperties.get())</xsl:text> <xsl:text>
 pProperties->resolve(*this);</xsl:text> <xsl:text>
}
</xsl:text> @@ -472,9 +628,69 @@ <xsl:text>
}

</xsl:text> </xsl:for-each> </xsl:template> - + + <xsl:template name="constructorimpl"> + <xsl:text>
</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>()</xsl:text> + <xsl:variable name="memberinits"> + <xsl:for-each select="member[@type='sal_uInt32' or @type='bool']"> + <xsl:if test="position() > 1"> + <xsl:text>,</xsl:text> + <xsl:text>
 </xsl:text> + </xsl:if> + <xsl:call-template name="memberid"/> + <xsl:choose> + <xsl:when test="@type='sal_uInt32'"> + <xsl:text>(0)</xsl:text> + </xsl:when> + <xsl:when test="@type='bool'"> + <xsl:text>(false)</xsl:text> + </xsl:when> + </xsl:choose> + </xsl:for-each> + </xsl:variable> + <xsl:if test="string-length($memberinits) > 0"> + <xsl:text>
: </xsl:text> + <xsl:value-of select="$memberinits"/> + </xsl:if> + <xsl:text>
{</xsl:text> + <xsl:text>
}

</xsl:text> + </xsl:template> + + <xsl:template name="destructorimpl"> + <xsl:text>
</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>::~</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>()</xsl:text> + <xsl:text>
{</xsl:text> + <xsl:text>
}

</xsl:text> + </xsl:template> + <xsl:template name="classimpl"> <xsl:variable name="classname" select="@name"/> + <xsl:variable name="comment"> + <xsl:text>class: </xsl:text> + <xsl:value-of select="$classname"/> + </xsl:variable> + <xsl:variable name="commentfill"> + <xsl:value-of select="translate($comment, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ: ', + '******************************************************')"/> + </xsl:variable> + <xsl:text>
/***</xsl:text> + <xsl:value-of select="$commentfill"/> + <xsl:text>*</xsl:text> + <xsl:text>
 * </xsl:text> + <xsl:value-of select="$comment"/> + <xsl:text> *</xsl:text> + <xsl:text>
 **</xsl:text> + <xsl:value-of select="$commentfill"/> + <xsl:text>**/
</xsl:text> + <xsl:call-template name="constructorimpl"/> + <xsl:call-template name="destructorimpl"/> <xsl:for-each select="member"> <xsl:text>// member: </xsl:text> <xsl:value-of select="$classname"/> diff --git a/writerfilter/source/dmapper/makefile.mk b/writerfilter/source/dmapper/makefile.mk index 18c34634fca3..aba816b41c7f 100755 --- a/writerfilter/source/dmapper/makefile.mk +++ b/writerfilter/source/dmapper/makefile.mk @@ -51,6 +51,7 @@ SLOFILES= \ $(SLO)$/DomainMapperTableHandler.obj \ $(SLO)$/DomainMapperTableManager.obj \ $(SLO)$/DomainMapper_Impl.obj \ + $(SLO)$/FFDataHandler.obj \ $(SLO)$/FontTable.obj \ $(SLO)$/GraphicHelpers.obj \ $(SLO)$/GraphicImport.obj \ -- cgit From 8db519c0e0db06df6114796127572b18995d0ab9 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 10 Mar 2010 17:36:03 +0100 Subject: writerfilter08: added stdio.h to Protocol.cxx for Fedora --- writerfilter/source/resourcemodel/Protocol.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/writerfilter/source/resourcemodel/Protocol.cxx b/writerfilter/source/resourcemodel/Protocol.cxx index d574931487d7..7ae3c06f2675 100644 --- a/writerfilter/source/resourcemodel/Protocol.cxx +++ b/writerfilter/source/resourcemodel/Protocol.cxx @@ -28,6 +28,7 @@ * ************************************************************************/ +#include <stdio.h> #include <rtl/ustrbuf.hxx> #include <resourcemodel/Protocol.hxx> #include <resourcemodel/WW8ResourceModel.hxx> -- cgit From a837386d24183cfe31b2468febb44657e62a027d Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 11 Mar 2010 14:18:31 +0100 Subject: writerfilter08: tokenize FFData and fill FFDataHandler --- writerfilter/source/dmapper/DomainMapper.cxx | 12 ++++++++++++ writerfilter/source/dmapper/DomainMapper_Impl.cxx | 17 +++++++++++++++++ writerfilter/source/dmapper/DomainMapper_Impl.hxx | 7 +++++++ writerfilter/source/ooxml/model.xml | 3 +++ 4 files changed, 39 insertions(+) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 3d2c9a4acfff..ad8d958be769 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -4208,6 +4208,18 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ //TODO: numbering style should apply current numbering level - not yet supported break; + case NS_ooxml::LN_ffdata: + { + writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); + if (pProperties.get() != NULL) + { + FFDataHandler::Pointer_t pFFDataHandler(new FFDataHandler()); + + pProperties->resolve(*pFFDataHandler); + m_pImpl->SetFieldFFData(pFFDataHandler); + } + } + break; default: { #ifdef DEBUG_DOMAINMAPPER diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 592f05071a54..36a379b0c97d 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -3479,6 +3479,23 @@ void DomainMapper_Impl::SetFieldResult( ::rtl::OUString& rResult ) } } +void DomainMapper_Impl::SetFieldFFData(FFDataHandler::Pointer_t pFFDataHandler) +{ +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("setFieldFFData"); +#endif + + FieldContextPtr pContext = m_aFieldStack.top(); + if (pContext.get()) + { + pContext->setFFDataHandler(pFFDataHandler); + } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("setFieldFFData"); +#endif +} + /*-- 29.01.2007 11:33:17--------------------------------------------------- //the end of field is reached (0x15 appeared) - the command might still be open -----------------------------------------------------------------------*/ diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 8312c6d029f3..b618d0977366 100755 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -53,6 +53,7 @@ #include <SettingsTable.hxx> #include <GraphicImport.hxx> #include <OLEHandler.hxx> +#include <FFDataHandler.hxx> #include <map> #include <string.h> @@ -135,6 +136,7 @@ class FieldContext ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xTOC;//TOX ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xTC;//TOX entry ::rtl::OUString m_sHyperlinkURL; + FFDataHandler::Pointer_t m_pFFDataHandler; public: FieldContext(::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > xStart); @@ -160,6 +162,9 @@ public: void SetHyperlinkURL( const ::rtl::OUString& rURL ) { m_sHyperlinkURL = rURL; } const ::rtl::OUString& GetHyperlinkURL() { return m_sHyperlinkURL; } + void setFFDataHandler(FFDataHandler::Pointer_t pFFDataHandler) { m_pFFDataHandler = pFFDataHandler; } + FFDataHandler::Pointer_t getFFDataHandler() const { return m_pFFDataHandler; } + ::std::vector<rtl::OUString> GetCommandParts() const; }; @@ -490,6 +495,8 @@ public: bool IsFieldResultAsString(); //apply the result text to the related field void SetFieldResult( ::rtl::OUString& rResult ); + // set FFData of top field context + void SetFieldFFData( FFDataHandler::Pointer_t pFFDataHandler ); //the end of field is reached (0x15 appeared) - the command might still be open void PopFieldContext(); diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index adbd294ab023..64a1035abe85 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -19,6 +19,7 @@ <token tokenid="ooxml:trackchange"/> <token tokenid="ooxml:object"/> <token tokenid="ooxml:tblStart"/> + <token tokenid="ooxml:ffdata"/> <namespace name="dml-stylesheet" url="http://schemas.openxmlformats.org/drawingml/2006/main" file="dml-stylesheet.rng"> <start name="theme"/> <start name="themeOverride"/> @@ -22055,6 +22056,8 @@ <element name="checkBox" tokenid="ooxml:CT_FFData_checkBox"/> <element name="ddList" tokenid="ooxml:CT_FFData_ddList"/> <element name="textInput" tokenid="ooxml:CT_FFData_textInput"/> + <action name="end" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:ffdata"/> + <action name="end" action="clearProps"/> </resource> <resource name="CT_FFHelpText" resource="Properties"> <attribute name="type" tokenid="ooxml:CT_FFHelpText_type"/> -- cgit From da74953f4492dec8ec08e78c271fea14a864bc4c Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 12 Mar 2010 10:46:55 +0100 Subject: writerfilter08: import of FORMTEXT first try --- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 33 ++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 36a379b0c97d..770e2c59453d 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -162,6 +162,12 @@ enum FieldId todo find alternative field */ ,FIELD_FORMULA + /* FORMCHECKBOX */ + ,FIELD_FORMCHECKBOX + /* FORMDROPDOWN */ + ,FIELD_FORMDROPDOWN + /* FORMTEXT */ + ,FIELD_FORMTEXT /* GOTOBUTTON text \* MERGEFORMAT -> not imported in old ww8 filter todo find alternative field @@ -2681,7 +2687,10 @@ void DomainMapper_Impl::CloseFieldCommand() {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILLIN")), "Input", "", FIELD_FILLIN }, {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILENAME")), "FileName", "", FIELD_FILENAME }, // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILESIZE")), "", "", FIELD_FILESIZE }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMULA")), "", "", FIELD_FORMULA + // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMULA")), "", "", FIELD_FORMULA }, + // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMCHECKBOX")), "", "", FIELD_FORMCHECKBOX}, + // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMDROPDOWN")), "", "", FIELD_FORMDROWDOWN}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMTEXT")), "User", "", FIELD_FORMTEXT}, // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GOTOBUTTON")), "", "", FIELD_GOTOBUTTON }, {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HYPERLINK")), "", "", FIELD_HYPERLINK }, {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IF")), "ConditionalText", "", FIELD_IF }, @@ -2753,6 +2762,13 @@ void DomainMapper_Impl::CloseFieldCommand() //add the service prefix OUString sServiceName(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.TextField.")); sServiceName += ::rtl::OUString::createFromAscii(aIt->second.cFieldServiceName ); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("fieldService"); + dmapper_logger->chars(sServiceName); + dmapper_logger->endElement("fieldService"); +#endif + xFieldInterface = m_xTextFactory->createInstance(sServiceName); xFieldProperties = uno::Reference< beans::XPropertySet >( xFieldInterface, uno::UNO_QUERY_THROW); } @@ -2967,6 +2983,21 @@ void DomainMapper_Impl::CloseFieldCommand() break; case FIELD_FILESIZE : break; case FIELD_FORMULA : break; + case FIELD_FORMCHECKBOX : break; + case FIELD_FORMDROPDOWN : break; + case FIELD_FORMTEXT : + { + ::rtl::OUString sMasterName(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMTEXT"))); + uno::Reference< beans::XPropertySet > xMaster = + FindOrCreateFieldMaster( "com.sun.star.text.FieldMaster.User", sMasterName ); + uno::Reference< text::XDependentTextField > xDependentField( xFieldInterface, uno::UNO_QUERY_THROW ); + xDependentField->attachTextFieldMaster( xMaster ); + + xFieldProperties->setPropertyValue + (rPropNameSupplier.GetName(PROP_HINT), + uno::makeAny(pContext->getFFDataHandler()->getTextDefault())); + } + break; case FIELD_GOTOBUTTON : break; case FIELD_HYPERLINK: { -- cgit From a61debdf9f3894a8011343c348b25c06d47742d0 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 12 Mar 2010 15:07:31 +0100 Subject: writerfilter08: refactoring of DomainMapper_Impl::CloseFieldCommand --- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 905 ++++++++++++---------- writerfilter/source/dmapper/DomainMapper_Impl.hxx | 26 + 2 files changed, 510 insertions(+), 421 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 770e2c59453d..09672212af9f 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -2651,6 +2651,483 @@ void DomainMapper_Impl::AppendFieldCommand(::rtl::OUString& rPartOfCommand) -----------------------------------------------------------------------*/ typedef std::multimap < sal_Int32, ::rtl::OUString > TOCStyleMap; + +const FieldConversionMap_t & lcl_GetFieldConversion() +{ +static FieldConversionMap_t aFieldConversionMap; +static bool bFilled = false; +if(!bFilled) +{ + static const FieldConversion aFields[] = + { +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ADDRESSBLOCK")), "", "", FIELD_ADDRESSBLOCK }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ADVANCE")), "", "", FIELD_ADVANCE }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ASK")), "SetExpression", "SetExpression", FIELD_ASK }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AUTONUM")), "SetExpression", "SetExpression", FIELD_AUTONUM }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AUTONUMLGL")), "SetExpression", "SetExpression", FIELD_AUTONUMLGL }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AUTONUMOUT")), "SetExpression", "SetExpression", FIELD_AUTONUMOUT }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AUTHOR")), "Author", "", FIELD_AUTHOR }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DATE")), "DateTime", "", FIELD_DATE }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("COMMENTS")), "DocInfo.Description", "", FIELD_COMMENTS }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CREATEDATE")), "DocInfo.CreateDateTime", "", FIELD_CREATEDATE }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DOCPROPERTY")), "", "", FIELD_DOCPROPERTY }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DOCVARIABLE")), "User", "", FIELD_DOCVARIABLE }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("EDITTIME")), "DocInfo.EditTime", "", FIELD_EDITTIME }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILLIN")), "Input", "", FIELD_FILLIN }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILENAME")), "FileName", "", FIELD_FILENAME }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILESIZE")), "", "", FIELD_FILESIZE }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMULA")), "", "", FIELD_FORMULA }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMCHECKBOX")), "", "", FIELD_FORMCHECKBOX}, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMDROPDOWN")), "", "", FIELD_FORMDROWDOWN}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMTEXT")), "InputUser", "", FIELD_FORMTEXT}, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GOTOBUTTON")), "", "", FIELD_GOTOBUTTON }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HYPERLINK")), "", "", FIELD_HYPERLINK }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IF")), "ConditionalText", "", FIELD_IF }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("INFO")), "","", FIELD_INFO }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("INCLUDEPICTURE")), "", "", FIELD_INCLUDEPICTURE}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("KEYWORDS")), "DocInfo.KeyWords", "", FIELD_KEYWORDS }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LASTSAVEDBY")), "DocInfo.ChangeAuthor", "", FIELD_LASTSAVEDBY }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MACROBUTTON")), "Macro", "", FIELD_MACROBUTTON }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MERGEFIELD")), "Database", "Database", FIELD_MERGEFIELD}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MERGEREC")), "DatabaseNumberOfSet", "", FIELD_MERGEREC }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MERGESEQ")), "", "", FIELD_MERGESEQ }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NEXT")), "DatabaseNextSet", "", FIELD_NEXT }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NEXTIF")), "DatabaseNextSet", "", FIELD_NEXTIF }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PAGE")), "PageNumber", "", FIELD_PAGE }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("REF")), "GetReference", "", FIELD_REF }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("REVNUM")), "DocInfo.Revision", "", FIELD_REVNUM }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SAVEDATE")), "DocInfo.Change", "", FIELD_SAVEDATE }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SECTION")), "", "", FIELD_SECTION }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SECTIONPAGES")), "", "", FIELD_SECTIONPAGES }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SEQ")), "SetExpression", "SetExpression", FIELD_SEQ }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SET")), "","", FIELD_SET }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SKIPIF")),"", "", FIELD_SKIPIF }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("STYLEREF")),"", "", FIELD_STYLEREF }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SUBJECT")), "DocInfo.Subject", "", FIELD_SUBJECT }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SYMBOL")),"", "", FIELD_SYMBOL }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TEMPLATE")), "TemplateName", "", FIELD_TEMPLATE}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TIME")), "DateTime", "", FIELD_TIME }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TITLE")), "DocInfo.Title", "", FIELD_TITLE }, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("USERINITIALS")), "ExtendedUser", "", FIELD_USERINITIALS}, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("USERADDRESS")), "", "", FIELD_USERADDRESS }, +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("USERNAME")), "ExtendedUser", "", FIELD_USERNAME } + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TOC")), "com.sun.star.text.ContentIndex", "", FIELD_TOC}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TC")), "com.sun.star.text.ContentIndexMark", "", FIELD_TC}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NUMCHARS")), "CharacterCount", "", FIELD_NUMCHARS}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NUMWORDS")), "WordCount", "", FIELD_NUMWORDS}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NUMPAGES")), "PageCount", "", FIELD_NUMPAGES}, + +// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")), "", "", FIELD_}, + + }; + size_t nConversions = sizeof(aFields)/sizeof(FieldConversion); + for( size_t nConversion = 0; nConversion < nConversions; ++nConversion) + { + aFieldConversionMap.insert( FieldConversionMap_t::value_type( + aFields[nConversion].sWordCommand, + aFields[nConversion] )); + } + + bFilled = true; + } + + return aFieldConversionMap; +} + +void DomainMapper_Impl::handleFieldAsk + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties) +{ + //doesn the command contain a variable name? + ::rtl::OUString sVariable, sHint; + + sVariable = lcl_ExctractAskVariableAndHint( pContext->GetCommand(), + sHint ); + if(sVariable.getLength()) + { + // determine field master name + uno::Reference< beans::XPropertySet > xMaster = + FindOrCreateFieldMaster + ("com.sun.star.text.FieldMaster.SetExpression", sVariable ); + + // attach the master to the field + uno::Reference< text::XDependentTextField > xDependentField + ( xFieldInterface, uno::UNO_QUERY_THROW ); + xDependentField->attachTextFieldMaster( xMaster ); + + // set input flag at the field + xFieldProperties->setPropertyValue( + rPropNameSupplier.GetName(PROP_IS_INPUT), uno::makeAny( true )); + // set the prompt + xFieldProperties->setPropertyValue( + rPropNameSupplier.GetName(PROP_HINT), + uno::makeAny( sHint )); + } + else + { + //don't insert the field + //todo: maybe import a 'normal' input field here? + xFieldInterface = 0; + } +} + +void DomainMapper_Impl::handleAutoNum + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties) +{ + //create a sequence field master "AutoNr" + uno::Reference< beans::XPropertySet > xMaster = + FindOrCreateFieldMaster + ("com.sun.star.text.FieldMaster.SetExpression", + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutoNr") )); + + xMaster->setPropertyValue( rPropNameSupplier.GetName(PROP_SUB_TYPE), + uno::makeAny(text::SetVariableType::SEQUENCE)); + + //apply the numbering type + xFieldProperties->setPropertyValue( + rPropNameSupplier.GetName(PROP_NUMBERING_TYPE), + uno::makeAny( lcl_ParseNumberingType(pContext->GetCommand()) )); + // attach the master to the field + uno::Reference< text::XDependentTextField > xDependentField + ( xFieldInterface, uno::UNO_QUERY_THROW ); + xDependentField->attachTextFieldMaster( xMaster ); +} + +void DomainMapper_Impl::handleAuthor + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties) +{ + xFieldProperties->setPropertyValue + ( rPropNameSupplier.GetName(PROP_FULL_NAME), uno::makeAny( true )); + ::rtl::OUString sParam = + lcl_ExtractParameter(pContext->GetCommand(), sizeof(" AUTHOR") ); + if(sParam.getLength()) + { + xFieldProperties->setPropertyValue( + rPropNameSupplier.GetName( PROP_IS_FIXED ), + uno::makeAny( true )); + //PROP_CURRENT_PRESENTATION is set later anyway + } +} + + void DomainMapper_Impl::handleDocProperty + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties) +{ + //some docproperties should be imported as document statistic fields, some as DocInfo fields + //others should be user fields + ::rtl::OUString sParam = + lcl_ExtractParameter(pContext->GetCommand(), sizeof(" DOCPROPERTY") ); + + if(sParam.getLength()) + { + #define SET_ARABIC 0x01 + #define SET_FULL_NAME 0x02 + struct DocPropertyMap + { + const sal_Char* pDocPropertyName; + const sal_Char* pServiceName; + sal_uInt8 nFlags; + }; + static const DocPropertyMap aDocProperties[] = + { + {"Author", "Author", SET_FULL_NAME}, + {"CreateTime", "DocInfo.CreateDateTime", 0}, + {"Characters", "CharacterCount", SET_ARABIC}, + {"Comments", "DocInfo.Description", 0}, + {"Keywords", "DocInfo.KeyWords", 0}, + {"LastPrinted", "DocInfo.PrintDateTime", 0}, + {"LastSavedBy", "DocInfo.ChangeAuthor", 0}, + {"LastSavedTime", "DocInfo.ChangeDateTime", 0}, + {"Paragraphs", "ParagraphCount", SET_ARABIC}, + {"RevisionNumber", "DocInfo.Revision", 0}, + {"Subject", "DocInfo.Subject", 0}, + {"Template", "TemplateName", 0}, + {"Title", "DocInfo.Title", 0}, + {"TotalEditingTime", "DocInfo.EditTime", 9}, + {"Words", "WordCount", SET_ARABIC} + + //other available DocProperties: + //Bytes, Category, CharactersWithSpaces, Company + //HyperlinkBase, + //Lines, Manager, NameofApplication, ODMADocId, Pages, + //Security, + }; + //search for a field mapping + ::rtl::OUString sFieldServiceName; + sal_uInt16 nMap = 0; + for( ; nMap < sizeof(aDocProperties) / sizeof(DocPropertyMap); + ++nMap ) + { + if(sParam.equalsAscii(aDocProperties[nMap].pDocPropertyName)) + { + sFieldServiceName = + ::rtl::OUString::createFromAscii + (aDocProperties[nMap].pServiceName); + break; + } + } + ::rtl::OUString sServiceName(RTL_CONSTASCII_USTRINGPARAM + ("com.sun.star.text.TextField.")); + bool bIsCustomField = false; + if(!sFieldServiceName.getLength()) + { + //create a custom property field + sServiceName += + ::rtl::OUString::createFromAscii("DocInfo.Custom"); + bIsCustomField = true; + } + else + { + sServiceName += sFieldServiceName; + } + xFieldInterface = m_xTextFactory->createInstance(sServiceName); + xFieldProperties = + uno::Reference< beans::XPropertySet >( xFieldInterface, + uno::UNO_QUERY_THROW); + if( bIsCustomField ) + xFieldProperties->setPropertyValue( + rPropNameSupplier.GetName(PROP_NAME), uno::makeAny( sParam )); + else + { + if(0 != (aDocProperties[nMap].nFlags & SET_ARABIC)) + xFieldProperties->setPropertyValue( + rPropNameSupplier.GetName(PROP_NUMBERING_TYPE), + uno::makeAny( style::NumberingType::ARABIC )); + else if(0 != (aDocProperties[nMap].nFlags & SET_FULL_NAME)) + xFieldProperties->setPropertyValue( + rPropNameSupplier.GetName(PROP_FULL_NAME), + uno::makeAny( true )); + } + } + +#undef SET_ARABIC +#undef SET_FULL_NAME +} + +void DomainMapper_Impl::handleToc + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties, + const ::rtl::OUString & sTOCServiceName) +{ + ::rtl::OUString sValue; + bool bTableOfFigures = false; + bool bHyperlinks = false; + bool bFromOutline = false; + bool bFromEntries = false; + sal_Int16 nMaxLevel = 10; + ::rtl::OUString sTemplate; + ::rtl::OUString sChapterNoSeparator; +// \a Builds a table of figures but does not include the captions's label and number + if( lcl_FindInCommand( pContext->GetCommand(), 'a', sValue )) + { //make it a table of figures + bTableOfFigures = true; + } +// \b Uses a bookmark to specify area of document from which to build table of contents +// if( lcl_FindInCommand( pContext->GetCommand(), 'b', sValue )) +// { //todo: sValue contains the bookmark name - unsupported feature +// } + if( lcl_FindInCommand( pContext->GetCommand(), 'c', sValue )) +// \c Builds a table of figures of the given label + { + //todo: sValue contains the label's name + bTableOfFigures = true; + } +// \d Defines the separator between sequence and page numbers + if( lcl_FindInCommand( pContext->GetCommand(), 'd', sValue )) + { + //todo: insert the chapter number into each level and insert the separator additionally + sChapterNoSeparator = sValue; + } +// \f Builds a table of contents using TC entries instead of outline levels + if( lcl_FindInCommand( pContext->GetCommand(), 'f', sValue )) + { + //todo: sValue can contain a TOC entry identifier - use unclear + bFromEntries = true; + } +// \h Hyperlinks the entries and page numbers within the table of contents + if( lcl_FindInCommand( pContext->GetCommand(), 'h', sValue )) + { + //todo: make all entries to hyperlinks + bHyperlinks = true; + } +// \l Defines the TC entries field level used to build a table of contents +// if( lcl_FindInCommand( pContext->GetCommand(), 'l', sValue )) +// { + //todo: entries can only be included completely +// } +// \n Builds a table of contents or a range of entries, sucah as �1-9�, in a table of contents without page numbers +// if( lcl_FindInCommand( pContext->GetCommand(), 'n', sValue )) +// { + //todo: what does the description mean? +// } +// \o Builds a table of contents by using outline levels instead of TC entries + if( lcl_FindInCommand( pContext->GetCommand(), 'o', sValue )) + { + bFromOutline = true; + UniString sParam( sValue ); + xub_StrLen nIndex = 0; + sParam.GetToken( 0, '-', nIndex ); + nMaxLevel = sal_Int16( sParam.Copy( nIndex ).ToInt32( ) ); + } +// \p Defines the separator between the table entry and its page number + if( lcl_FindInCommand( pContext->GetCommand(), 'p', sValue )) + { } +// \s Builds a table of contents by using a sequence type + if( lcl_FindInCommand( pContext->GetCommand(), 's', sValue )) + { } +// \t Builds a table of contents by using style names other than the standard outline styles + if( lcl_FindInCommand( pContext->GetCommand(), 't', sValue )) + { + sal_Int32 nPos = 0; + ::rtl::OUString sToken = sValue.getToken( 1, '"', nPos); + sTemplate = sToken.getLength() ? sToken : sValue; + } +// \u Builds a table of contents by using the applied paragraph outline level + if( lcl_FindInCommand( pContext->GetCommand(), 'u', sValue )) + { + bFromOutline = true; + //todo: what doesn 'the applied paragraph outline level' refer to? + } +// \w Preserve tab characters within table entries +// if( lcl_FindInCommand( pContext->GetCommand(), 'w', sValue )) +// { + //todo: not supported +// } +// \x Preserve newline characters within table entries +// if( lcl_FindInCommand( pContext->GetCommand(), 'x', sValue )) +// { + //todo: unsupported +// } +// \z Hides page numbers within the table of contens when shown in Web Layout View +// if( lcl_FindInCommand( pContext->GetCommand(), 'z', sValue )) +// { //todo: unsupported feature } + + //if there's no option then it should be created from outline + if( !bFromOutline && !bFromEntries && !sTemplate.getLength() ) + bFromOutline = true; + + uno::Reference< beans::XPropertySet > xTOC( + m_xTextFactory->createInstance + ( bTableOfFigures ? + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM + ("com.sun.star.text.IllustrationsIndex")) + : sTOCServiceName), + uno::UNO_QUERY_THROW); + xTOC->setPropertyValue(rPropNameSupplier.GetName( PROP_TITLE ), uno::makeAny(::rtl::OUString())); + if( !bTableOfFigures ) + { + xTOC->setPropertyValue( rPropNameSupplier.GetName( PROP_LEVEL ), uno::makeAny( nMaxLevel ) ); + xTOC->setPropertyValue( rPropNameSupplier.GetName( PROP_CREATE_FROM_OUTLINE ), uno::makeAny( bFromOutline )); + xTOC->setPropertyValue( rPropNameSupplier.GetName( PROP_CREATE_FROM_MARKS ), uno::makeAny( bFromEntries )); + if( sTemplate.getLength() ) + { + //the string contains comma separated the names and related levels + //like: "Heading 1,1,Heading 2,2" + TOCStyleMap aMap; + sal_Int32 nLevel; + sal_Int32 nPosition = 0; + while( nPosition >= 0) + { + ::rtl::OUString sStyleName = sTemplate.getToken( 0, ',', nPosition ); + //empty tokens should be skipped + while( !sStyleName.getLength() && nPosition > 0 ) + sStyleName = sTemplate.getToken( 0, ',', nPosition ); + nLevel = sTemplate.getToken( 0, ',', nPosition ).toInt32(); + if( !nLevel ) + nLevel = 1; + if( sStyleName.getLength() ) + aMap.insert( TOCStyleMap::value_type(nLevel, sStyleName) ); + } + uno::Reference< container::XIndexReplace> xParaStyles; + xTOC->getPropertyValue(rPropNameSupplier.GetName(PROP_LEVEL_PARAGRAPH_STYLES)) >>= xParaStyles; + for( nLevel = 1; nLevel < 10; ++nLevel) + { + sal_Int32 nLevelCount = aMap.count( nLevel ); + if( nLevelCount ) + { + TOCStyleMap::iterator aTOCStyleIter = aMap.find( nLevel ); + + uno::Sequence< rtl::OUString> aStyles( nLevelCount ); + for ( sal_Int32 nStyle = 0; nStyle < nLevelCount; ++nStyle, ++aTOCStyleIter ) + { + aStyles[nStyle] = aTOCStyleIter->second; + } + xParaStyles->replaceByIndex(nLevel - 1, uno::makeAny(aStyles)); + } + } + xTOC->setPropertyValue(rPropNameSupplier.GetName(PROP_CREATE_FROM_LEVEL_PARAGRAPH_STYLES), uno::makeAny( true )); + + } + if(bHyperlinks || sChapterNoSeparator.getLength()) + { + uno::Reference< container::XIndexReplace> xLevelFormats; + xTOC->getPropertyValue(rPropNameSupplier.GetName(PROP_LEVEL_FORMAT)) >>= xLevelFormats; + sal_Int32 nLevelCount = xLevelFormats->getCount(); + //start with level 1, 0 is the header level + for( sal_Int32 nLevel = 1; nLevel < nLevelCount; ++nLevel) + { + uno::Sequence< beans::PropertyValues > aLevel; + xLevelFormats->getByIndex( nLevel ) >>= aLevel; + //create a copy of the level and add two new entries - hyperlink start and end + bool bChapterNoSeparator = sChapterNoSeparator.getLength() > 0; + sal_Int32 nAdd = (bHyperlinks && bChapterNoSeparator) ? 4 : 2; + uno::Sequence< beans::PropertyValues > aNewLevel( aLevel.getLength() + nAdd); + beans::PropertyValues* pNewLevel = aNewLevel.getArray(); + if( bHyperlinks ) + { + beans::PropertyValues aHyperlink(1); + aHyperlink[0].Name = rPropNameSupplier.GetName( PROP_TOKEN_TYPE ); + aHyperlink[0].Value <<= rPropNameSupplier.GetName( PROP_TOKEN_HYPERLINK_START ); + pNewLevel[0] = aHyperlink; + aHyperlink[0].Value <<= rPropNameSupplier.GetName( PROP_TOKEN_HYPERLINK_END ); + pNewLevel[aNewLevel.getLength() -1] = aHyperlink; + } + if( bChapterNoSeparator ) + { + beans::PropertyValues aChapterNo(2); + aChapterNo[0].Name = rPropNameSupplier.GetName( PROP_TOKEN_TYPE ); + aChapterNo[0].Value <<= rPropNameSupplier.GetName( PROP_TOKEN_CHAPTER_INFO ); + aChapterNo[1].Name = rPropNameSupplier.GetName( PROP_CHAPTER_FORMAT ); + //todo: is ChapterFormat::Number correct? + aChapterNo[1].Value <<= (sal_Int16)text::ChapterFormat::NUMBER; + pNewLevel[aNewLevel.getLength() - (bHyperlinks ? 4 : 2) ] = aChapterNo; + + beans::PropertyValues aChapterSeparator(2); + aChapterSeparator[0].Name = rPropNameSupplier.GetName( PROP_TOKEN_TYPE ); + aChapterSeparator[0].Value <<= rPropNameSupplier.GetName( PROP_TOKEN_TEXT ); + aChapterSeparator[1].Name = rPropNameSupplier.GetName( PROP_TEXT ); + aChapterSeparator[1].Value <<= sChapterNoSeparator; + pNewLevel[aNewLevel.getLength() - (bHyperlinks ? 3 : 1)] = aChapterSeparator; + } + //copy the 'old' entries except the last (page no) + for( sal_Int32 nToken = 0; nToken < aLevel.getLength() - 1; ++nToken) + { + pNewLevel[nToken + 1] = aLevel[nToken]; + } + //copy page no entry (last or last but one depending on bHyperlinks + sal_Int32 nPageNo = aNewLevel.getLength() - (bHyperlinks ? 2 : 3); + pNewLevel[nPageNo] = aLevel[aLevel.getLength() - 1]; + + xLevelFormats->replaceByIndex( nLevel, uno::makeAny( aNewLevel ) ); + } + } + } + pContext->SetTOC( xTOC ); +} + + /*-- 29.01.2007 11:33:16--------------------------------------------------- //the field command has to be closed (0x14 appeared) -----------------------------------------------------------------------*/ @@ -2664,83 +3141,9 @@ void DomainMapper_Impl::CloseFieldCommand() OSL_ENSURE( pContext.get(), "no field context available"); if( pContext.get() ) { - static FieldConversionMap_t aFieldConversionMap; - static bool bFilled = false; m_bSetUserFieldContent = false; - if(!bFilled) - { - static const FieldConversion aFields[] = - { - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ADDRESSBLOCK")), "", "", FIELD_ADDRESSBLOCK }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ADVANCE")), "", "", FIELD_ADVANCE }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ASK")), "SetExpression", "SetExpression", FIELD_ASK }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AUTONUM")), "SetExpression", "SetExpression", FIELD_AUTONUM }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AUTONUMLGL")), "SetExpression", "SetExpression", FIELD_AUTONUMLGL }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AUTONUMOUT")), "SetExpression", "SetExpression", FIELD_AUTONUMOUT }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AUTHOR")), "Author", "", FIELD_AUTHOR }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DATE")), "DateTime", "", FIELD_DATE }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("COMMENTS")), "DocInfo.Description", "", FIELD_COMMENTS }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CREATEDATE")), "DocInfo.CreateDateTime", "", FIELD_CREATEDATE }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DOCPROPERTY")), "", "", FIELD_DOCPROPERTY }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DOCVARIABLE")), "User", "", FIELD_DOCVARIABLE }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("EDITTIME")), "DocInfo.EditTime", "", FIELD_EDITTIME }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILLIN")), "Input", "", FIELD_FILLIN }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILENAME")), "FileName", "", FIELD_FILENAME }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILESIZE")), "", "", FIELD_FILESIZE }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMULA")), "", "", FIELD_FORMULA }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMCHECKBOX")), "", "", FIELD_FORMCHECKBOX}, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMDROPDOWN")), "", "", FIELD_FORMDROWDOWN}, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMTEXT")), "User", "", FIELD_FORMTEXT}, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GOTOBUTTON")), "", "", FIELD_GOTOBUTTON }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HYPERLINK")), "", "", FIELD_HYPERLINK }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IF")), "ConditionalText", "", FIELD_IF }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("INFO")), "","", FIELD_INFO }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("INCLUDEPICTURE")), "", "", FIELD_INCLUDEPICTURE}, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("KEYWORDS")), "DocInfo.KeyWords", "", FIELD_KEYWORDS }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LASTSAVEDBY")), "DocInfo.ChangeAuthor", "", FIELD_LASTSAVEDBY }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MACROBUTTON")), "Macro", "", FIELD_MACROBUTTON }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MERGEFIELD")), "Database", "Database", FIELD_MERGEFIELD}, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MERGEREC")), "DatabaseNumberOfSet", "", FIELD_MERGEREC }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MERGESEQ")), "", "", FIELD_MERGESEQ }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NEXT")), "DatabaseNextSet", "", FIELD_NEXT }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NEXTIF")), "DatabaseNextSet", "", FIELD_NEXTIF }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PAGE")), "PageNumber", "", FIELD_PAGE }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("REF")), "GetReference", "", FIELD_REF }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("REVNUM")), "DocInfo.Revision", "", FIELD_REVNUM }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SAVEDATE")), "DocInfo.Change", "", FIELD_SAVEDATE }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SECTION")), "", "", FIELD_SECTION }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SECTIONPAGES")), "", "", FIELD_SECTIONPAGES }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SEQ")), "SetExpression", "SetExpression", FIELD_SEQ }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SET")), "","", FIELD_SET }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SKIPIF")),"", "", FIELD_SKIPIF }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("STYLEREF")),"", "", FIELD_STYLEREF }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SUBJECT")), "DocInfo.Subject", "", FIELD_SUBJECT }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SYMBOL")),"", "", FIELD_SYMBOL }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TEMPLATE")), "TemplateName", "", FIELD_TEMPLATE}, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TIME")), "DateTime", "", FIELD_TIME }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TITLE")), "DocInfo.Title", "", FIELD_TITLE }, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("USERINITIALS")), "ExtendedUser", "", FIELD_USERINITIALS}, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("USERADDRESS")), "", "", FIELD_USERADDRESS }, - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("USERNAME")), "ExtendedUser", "", FIELD_USERNAME } - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TOC")), "com.sun.star.text.ContentIndex", "", FIELD_TOC}, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TC")), "com.sun.star.text.ContentIndexMark", "", FIELD_TC}, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NUMCHARS")), "CharacterCount", "", FIELD_NUMCHARS}, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NUMWORDS")), "WordCount", "", FIELD_NUMWORDS}, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NUMPAGES")), "PageCount", "", FIELD_NUMPAGES}, - - // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")), "", "", FIELD_}, - - }; - size_t nConversions = sizeof(aFields)/sizeof(FieldConversion); - for( size_t nConversion = 0; nConversion < nConversions; ++nConversion) - { - aFieldConversionMap.insert( FieldConversionMap_t::value_type( - aFields[nConversion].sWordCommand, - aFields[nConversion] )); - } + FieldConversionMap_t aFieldConversionMap = lcl_GetFieldConversion(); - bFilled = true; - } try { uno::Reference< uno::XInterface > xFieldInterface; @@ -2778,69 +3181,15 @@ void DomainMapper_Impl::CloseFieldCommand() case FIELD_ADDRESSBLOCK: break; case FIELD_ADVANCE : break; case FIELD_ASK : - { - //doesn the command contain a variable name? - ::rtl::OUString sVariable, sHint; - - sVariable = lcl_ExctractAskVariableAndHint( pContext->GetCommand(), sHint ); - if(sVariable.getLength()) - { - // determine field master name - uno::Reference< beans::XPropertySet > xMaster = FindOrCreateFieldMaster( - "com.sun.star.text.FieldMaster.SetExpression", sVariable ); - - // attach the master to the field - uno::Reference< text::XDependentTextField > xDependentField( xFieldInterface, uno::UNO_QUERY_THROW ); - xDependentField->attachTextFieldMaster( xMaster ); - - // set input flag at the field - xFieldProperties->setPropertyValue( - rPropNameSupplier.GetName(PROP_IS_INPUT), uno::makeAny( true )); - // set the prompt - xFieldProperties->setPropertyValue( - rPropNameSupplier.GetName(PROP_HINT), - uno::makeAny( sHint )); - } - else - { - //don't insert the field - //todo: maybe import a 'normal' input field here? - xFieldInterface = 0; - } - } + handleFieldAsk(pContext, rPropNameSupplier, xFieldInterface, xFieldProperties); break; case FIELD_AUTONUM : case FIELD_AUTONUMLGL : case FIELD_AUTONUMOUT : - { - //create a sequence field master "AutoNr" - uno::Reference< beans::XPropertySet > xMaster = FindOrCreateFieldMaster( - "com.sun.star.text.FieldMaster.SetExpression", - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutoNr") )); - - xMaster->setPropertyValue( rPropNameSupplier.GetName(PROP_SUB_TYPE), - uno::makeAny(text::SetVariableType::SEQUENCE)); - - //apply the numbering type - xFieldProperties->setPropertyValue( - rPropNameSupplier.GetName(PROP_NUMBERING_TYPE), - uno::makeAny( lcl_ParseNumberingType(pContext->GetCommand()) )); - // attach the master to the field - uno::Reference< text::XDependentTextField > xDependentField( xFieldInterface, uno::UNO_QUERY_THROW ); - xDependentField->attachTextFieldMaster( xMaster ); - } + handleAutoNum(pContext, rPropNameSupplier, xFieldInterface, xFieldProperties); break; case FIELD_AUTHOR : - { - xFieldProperties->setPropertyValue( rPropNameSupplier.GetName(PROP_FULL_NAME), uno::makeAny( true )); - ::rtl::OUString sParam = lcl_ExtractParameter(pContext->GetCommand(), sizeof(" AUTHOR") ); - if(sParam.getLength()) - { - xFieldProperties->setPropertyValue( - rPropNameSupplier.GetName( PROP_IS_FIXED ), uno::makeAny( true )); - //PROP_CURRENT_PRESENTATION is set later anyway - } - } + handleAuthor(pContext, rPropNameSupplier, xFieldInterface, xFieldProperties); break; case FIELD_DATE: { @@ -2871,86 +3220,7 @@ void DomainMapper_Impl::CloseFieldCommand() } break; case FIELD_DOCPROPERTY : - { - //some docproperties should be imported as document statistic fields, some as DocInfo fields - //others should be user fields - ::rtl::OUString sParam = lcl_ExtractParameter(pContext->GetCommand(), sizeof(" DOCPROPERTY") ); - if(sParam.getLength()) - { - #define SET_ARABIC 0x01 - #define SET_FULL_NAME 0x02 - struct DocPropertyMap - { - const sal_Char* pDocPropertyName; - const sal_Char* pServiceName; - sal_uInt8 nFlags; - }; - static const DocPropertyMap aDocProperties[] = - { - {"Author", "Author", SET_FULL_NAME}, - {"CreateTime", "DocInfo.CreateDateTime", 0}, - {"Characters", "CharacterCount", SET_ARABIC}, - {"Comments", "DocInfo.Description", 0}, - {"Keywords", "DocInfo.KeyWords", 0}, - {"LastPrinted", "DocInfo.PrintDateTime", 0}, - {"LastSavedBy", "DocInfo.ChangeAuthor", 0}, - {"LastSavedTime", "DocInfo.ChangeDateTime", 0}, - {"Paragraphs", "ParagraphCount", SET_ARABIC}, - {"RevisionNumber", "DocInfo.Revision", 0}, - {"Subject", "DocInfo.Subject", 0}, - {"Template", "TemplateName", 0}, - {"Title", "DocInfo.Title", 0}, - {"TotalEditingTime", "DocInfo.EditTime", 9}, - {"Words", "WordCount", SET_ARABIC} - - //other available DocProperties: - //Bytes, Category, CharactersWithSpaces, Company - //HyperlinkBase, - //Lines, Manager, NameofApplication, ODMADocId, Pages, - //Security, - }; - //search for a field mapping - ::rtl::OUString sFieldServiceName; - sal_uInt16 nMap = 0; - for( ; nMap < sizeof(aDocProperties) / sizeof(DocPropertyMap); ++nMap ) - { - if(sParam.equalsAscii(aDocProperties[nMap].pDocPropertyName)) - { - sFieldServiceName = ::rtl::OUString::createFromAscii(aDocProperties[nMap].pServiceName); - break; - } - } - ::rtl::OUString sServiceName(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.TextField.")); - bool bIsCustomField = false; - if(!sFieldServiceName.getLength()) - { - //create a custom property field - sServiceName += ::rtl::OUString::createFromAscii("DocInfo.Custom"); - bIsCustomField = true; - } - else - { - sServiceName += sFieldServiceName; - } - xFieldInterface = m_xTextFactory->createInstance(sServiceName); - xFieldProperties = uno::Reference< beans::XPropertySet >( xFieldInterface, uno::UNO_QUERY_THROW); - if( bIsCustomField ) - xFieldProperties->setPropertyValue( - rPropNameSupplier.GetName(PROP_NAME), uno::makeAny( sParam )); - else - { - if(0 != (aDocProperties[nMap].nFlags & SET_ARABIC)) - xFieldProperties->setPropertyValue( - rPropNameSupplier.GetName(PROP_NUMBERING_TYPE), - uno::makeAny( style::NumberingType::ARABIC )); - else if(0 != (aDocProperties[nMap].nFlags & SET_FULL_NAME)) - xFieldProperties->setPropertyValue( - rPropNameSupplier.GetName(PROP_FULL_NAME), uno::makeAny( true )); - } - } - } - #undef SET_ARABIC - #undef SET_FULL_NAME + handleDocProperty(pContext, rPropNameSupplier, xFieldInterface, xFieldProperties); break; case FIELD_DOCVARIABLE : { @@ -2992,10 +3262,6 @@ void DomainMapper_Impl::CloseFieldCommand() FindOrCreateFieldMaster( "com.sun.star.text.FieldMaster.User", sMasterName ); uno::Reference< text::XDependentTextField > xDependentField( xFieldInterface, uno::UNO_QUERY_THROW ); xDependentField->attachTextFieldMaster( xMaster ); - - xFieldProperties->setPropertyValue - (rPropNameSupplier.GetName(PROP_HINT), - uno::makeAny(pContext->getFFDataHandler()->getTextDefault())); } break; case FIELD_GOTOBUTTON : break; @@ -3182,211 +3448,8 @@ void DomainMapper_Impl::CloseFieldCommand() case FIELD_USERNAME : //todo: user name is firstname + lastname break; case FIELD_TOC: - { - ::rtl::OUString sValue; - bool bTableOfFigures = false; - bool bHyperlinks = false; - bool bFromOutline = false; - bool bFromEntries = false; - sal_Int16 nMaxLevel = 10; - ::rtl::OUString sTemplate; - ::rtl::OUString sChapterNoSeparator; - // \a Builds a table of figures but does not include the captions's label and number - if( lcl_FindInCommand( pContext->GetCommand(), 'a', sValue )) - { //make it a table of figures - bTableOfFigures = true; - } - // \b Uses a bookmark to specify area of document from which to build table of contents - // if( lcl_FindInCommand( pContext->GetCommand(), 'b', sValue )) - // { //todo: sValue contains the bookmark name - unsupported feature - // } - if( lcl_FindInCommand( pContext->GetCommand(), 'c', sValue )) - // \c Builds a table of figures of the given label - { - //todo: sValue contains the label's name - bTableOfFigures = true; - } - // \d Defines the separator between sequence and page numbers - if( lcl_FindInCommand( pContext->GetCommand(), 'd', sValue )) - { - //todo: insert the chapter number into each level and insert the separator additionally - sChapterNoSeparator = sValue; - } - // \f Builds a table of contents using TC entries instead of outline levels - if( lcl_FindInCommand( pContext->GetCommand(), 'f', sValue )) - { - //todo: sValue can contain a TOC entry identifier - use unclear - bFromEntries = true; - } - // \h Hyperlinks the entries and page numbers within the table of contents - if( lcl_FindInCommand( pContext->GetCommand(), 'h', sValue )) - { - //todo: make all entries to hyperlinks - bHyperlinks = true; - } - // \l Defines the TC entries field level used to build a table of contents - // if( lcl_FindInCommand( pContext->GetCommand(), 'l', sValue )) - // { - //todo: entries can only be included completely - // } - // \n Builds a table of contents or a range of entries, sucah as �1-9�, in a table of contents without page numbers - // if( lcl_FindInCommand( pContext->GetCommand(), 'n', sValue )) - // { - //todo: what does the description mean? - // } - // \o Builds a table of contents by using outline levels instead of TC entries - if( lcl_FindInCommand( pContext->GetCommand(), 'o', sValue )) - { - bFromOutline = true; - UniString sParam( sValue ); - xub_StrLen nIndex = 0; - sParam.GetToken( 0, '-', nIndex ); - nMaxLevel = sal_Int16( sParam.Copy( nIndex ).ToInt32( ) ); - } - // \p Defines the separator between the table entry and its page number - if( lcl_FindInCommand( pContext->GetCommand(), 'p', sValue )) - { } - // \s Builds a table of contents by using a sequence type - if( lcl_FindInCommand( pContext->GetCommand(), 's', sValue )) - { } - // \t Builds a table of contents by using style names other than the standard outline styles - if( lcl_FindInCommand( pContext->GetCommand(), 't', sValue )) - { - sal_Int32 nPos = 0; - ::rtl::OUString sToken = sValue.getToken( 1, '"', nPos); - sTemplate = sToken.getLength() ? sToken : sValue; - } - // \u Builds a table of contents by using the applied paragraph outline level - if( lcl_FindInCommand( pContext->GetCommand(), 'u', sValue )) - { - bFromOutline = true; - //todo: what doesn 'the applied paragraph outline level' refer to? - } - // \w Preserve tab characters within table entries - // if( lcl_FindInCommand( pContext->GetCommand(), 'w', sValue )) - // { - //todo: not supported - // } - // \x Preserve newline characters within table entries - // if( lcl_FindInCommand( pContext->GetCommand(), 'x', sValue )) - // { - //todo: unsupported - // } - // \z Hides page numbers within the table of contens when shown in Web Layout View - // if( lcl_FindInCommand( pContext->GetCommand(), 'z', sValue )) - // { //todo: unsupported feature } - - //if there's no option then it should be created from outline - if( !bFromOutline && !bFromEntries && !sTemplate.getLength() ) - bFromOutline = true; - - uno::Reference< beans::XPropertySet > xTOC( - m_xTextFactory->createInstance( - bTableOfFigures ? - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.IllustrationsIndex")) : - ::rtl::OUString::createFromAscii(aIt->second.cFieldServiceName)), - uno::UNO_QUERY_THROW); - xTOC->setPropertyValue(rPropNameSupplier.GetName( PROP_TITLE ), uno::makeAny(::rtl::OUString())); - if( !bTableOfFigures ) - { - xTOC->setPropertyValue( rPropNameSupplier.GetName( PROP_LEVEL ), uno::makeAny( nMaxLevel ) ); - xTOC->setPropertyValue( rPropNameSupplier.GetName( PROP_CREATE_FROM_OUTLINE ), uno::makeAny( bFromOutline )); - xTOC->setPropertyValue( rPropNameSupplier.GetName( PROP_CREATE_FROM_MARKS ), uno::makeAny( bFromEntries )); - if( sTemplate.getLength() ) - { - //the string contains comma separated the names and related levels - //like: "Heading 1,1,Heading 2,2" - TOCStyleMap aMap; - sal_Int32 nLevel; - sal_Int32 nPosition = 0; - while( nPosition >= 0) - { - ::rtl::OUString sStyleName = sTemplate.getToken( 0, ',', nPosition ); - //empty tokens should be skipped - while( !sStyleName.getLength() && nPosition > 0 ) - sStyleName = sTemplate.getToken( 0, ',', nPosition ); - nLevel = sTemplate.getToken( 0, ',', nPosition ).toInt32(); - if( !nLevel ) - nLevel = 1; - if( sStyleName.getLength() ) - aMap.insert( TOCStyleMap::value_type(nLevel, sStyleName) ); - } - uno::Reference< container::XIndexReplace> xParaStyles; - xTOC->getPropertyValue(rPropNameSupplier.GetName(PROP_LEVEL_PARAGRAPH_STYLES)) >>= xParaStyles; - for( nLevel = 1; nLevel < 10; ++nLevel) - { - sal_Int32 nLevelCount = aMap.count( nLevel ); - if( nLevelCount ) - { - TOCStyleMap::iterator aTOCStyleIter = aMap.find( nLevel ); - - uno::Sequence< rtl::OUString> aStyles( nLevelCount ); - for ( sal_Int32 nStyle = 0; nStyle < nLevelCount; ++nStyle, ++aTOCStyleIter ) - { - aStyles[nStyle] = aTOCStyleIter->second; - } - xParaStyles->replaceByIndex(nLevel - 1, uno::makeAny(aStyles)); - } - } - xTOC->setPropertyValue(rPropNameSupplier.GetName(PROP_CREATE_FROM_LEVEL_PARAGRAPH_STYLES), uno::makeAny( true )); - - } - if(bHyperlinks || sChapterNoSeparator.getLength()) - { - uno::Reference< container::XIndexReplace> xLevelFormats; - xTOC->getPropertyValue(rPropNameSupplier.GetName(PROP_LEVEL_FORMAT)) >>= xLevelFormats; - sal_Int32 nLevelCount = xLevelFormats->getCount(); - //start with level 1, 0 is the header level - for( sal_Int32 nLevel = 1; nLevel < nLevelCount; ++nLevel) - { - uno::Sequence< beans::PropertyValues > aLevel; - xLevelFormats->getByIndex( nLevel ) >>= aLevel; - //create a copy of the level and add two new entries - hyperlink start and end - bool bChapterNoSeparator = sChapterNoSeparator.getLength() > 0; - sal_Int32 nAdd = (bHyperlinks && bChapterNoSeparator) ? 4 : 2; - uno::Sequence< beans::PropertyValues > aNewLevel( aLevel.getLength() + nAdd); - beans::PropertyValues* pNewLevel = aNewLevel.getArray(); - if( bHyperlinks ) - { - beans::PropertyValues aHyperlink(1); - aHyperlink[0].Name = rPropNameSupplier.GetName( PROP_TOKEN_TYPE ); - aHyperlink[0].Value <<= rPropNameSupplier.GetName( PROP_TOKEN_HYPERLINK_START ); - pNewLevel[0] = aHyperlink; - aHyperlink[0].Value <<= rPropNameSupplier.GetName( PROP_TOKEN_HYPERLINK_END ); - pNewLevel[aNewLevel.getLength() -1] = aHyperlink; - } - if( bChapterNoSeparator ) - { - beans::PropertyValues aChapterNo(2); - aChapterNo[0].Name = rPropNameSupplier.GetName( PROP_TOKEN_TYPE ); - aChapterNo[0].Value <<= rPropNameSupplier.GetName( PROP_TOKEN_CHAPTER_INFO ); - aChapterNo[1].Name = rPropNameSupplier.GetName( PROP_CHAPTER_FORMAT ); - //todo: is ChapterFormat::Number correct? - aChapterNo[1].Value <<= (sal_Int16)text::ChapterFormat::NUMBER; - pNewLevel[aNewLevel.getLength() - (bHyperlinks ? 4 : 2) ] = aChapterNo; - - beans::PropertyValues aChapterSeparator(2); - aChapterSeparator[0].Name = rPropNameSupplier.GetName( PROP_TOKEN_TYPE ); - aChapterSeparator[0].Value <<= rPropNameSupplier.GetName( PROP_TOKEN_TEXT ); - aChapterSeparator[1].Name = rPropNameSupplier.GetName( PROP_TEXT ); - aChapterSeparator[1].Value <<= sChapterNoSeparator; - pNewLevel[aNewLevel.getLength() - (bHyperlinks ? 3 : 1)] = aChapterSeparator; - } - //copy the 'old' entries except the last (page no) - for( sal_Int32 nToken = 0; nToken < aLevel.getLength() - 1; ++nToken) - { - pNewLevel[nToken + 1] = aLevel[nToken]; - } - //copy page no entry (last or last but one depending on bHyperlinks - sal_Int32 nPageNo = aNewLevel.getLength() - (bHyperlinks ? 2 : 3); - pNewLevel[nPageNo] = aLevel[aLevel.getLength() - 1]; - - xLevelFormats->replaceByIndex( nLevel, uno::makeAny( aNewLevel ) ); - } - } - } - pContext->SetTOC( xTOC ); - } + handleToc(pContext, rPropNameSupplier, xFieldInterface, xFieldProperties, + ::rtl::OUString::createFromAscii(aIt->second.cFieldServiceName)); break; case FIELD_TC : { diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index b618d0977366..1998d6bd76cb 100755 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -489,6 +489,32 @@ public: bool IsOpenField() const; //collect the pieces of the command void AppendFieldCommand(::rtl::OUString& rPartOfCommand); + void handleFieldAsk + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties); + void handleAutoNum + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties); + void handleAuthor + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties); + void handleDocProperty + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties); + void handleToc + (FieldContextPtr pContext, + PropertyNameSupplier& rPropNameSupplier, + uno::Reference< uno::XInterface > & xFieldInterface, + uno::Reference< beans::XPropertySet > xFieldProperties, + const ::rtl::OUString & sTOCServiceName); //the field command has to be closed (0x14 appeared) void CloseFieldCommand(); //the _current_ fields require a string type result while TOCs accept richt results -- cgit From 57eeea2e74a7228537c7a518111785fd4525861f Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 12 Mar 2010 16:34:12 +0100 Subject: writerfilter08: Use 'Input' as field type for FORMTEXT --- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 19 +++++++++++++------ writerfilter/source/dmapper/PropertyIds.cxx | 2 +- writerfilter/source/dmapper/PropertyIds.hxx | 1 + 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 09672212af9f..7e6392fe7abf 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -2679,7 +2679,7 @@ if(!bFilled) // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMULA")), "", "", FIELD_FORMULA }, // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMCHECKBOX")), "", "", FIELD_FORMCHECKBOX}, // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMDROPDOWN")), "", "", FIELD_FORMDROWDOWN}, - {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMTEXT")), "InputUser", "", FIELD_FORMTEXT}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMTEXT")), "Input", "", FIELD_FORMTEXT}, // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GOTOBUTTON")), "", "", FIELD_GOTOBUTTON }, {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HYPERLINK")), "", "", FIELD_HYPERLINK }, {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IF")), "ConditionalText", "", FIELD_IF }, @@ -3257,11 +3257,18 @@ void DomainMapper_Impl::CloseFieldCommand() case FIELD_FORMDROPDOWN : break; case FIELD_FORMTEXT : { - ::rtl::OUString sMasterName(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMTEXT"))); - uno::Reference< beans::XPropertySet > xMaster = - FindOrCreateFieldMaster( "com.sun.star.text.FieldMaster.User", sMasterName ); - uno::Reference< text::XDependentTextField > xDependentField( xFieldInterface, uno::UNO_QUERY_THROW ); - xDependentField->attachTextFieldMaster( xMaster ); + FFDataHandler::Pointer_t pFFDataHandler + (pContext->getFFDataHandler()); + + xFieldProperties->setPropertyValue + (rPropNameSupplier.GetName(PROP_HINT), + uno::makeAny(pFFDataHandler->getStatusText())); + xFieldProperties->setPropertyValue + (rPropNameSupplier.GetName(PROP_HELP), + uno::makeAny(pFFDataHandler->getHelpText())); + xFieldProperties->setPropertyValue + (rPropNameSupplier.GetName(PROP_CONTENT), + uno::makeAny(pFFDataHandler->getTextDefault())); } break; case FIELD_GOTOBUTTON : break; diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx index 868b799277b2..ffe7c50be6be 100644 --- a/writerfilter/source/dmapper/PropertyIds.cxx +++ b/writerfilter/source/dmapper/PropertyIds.cxx @@ -320,7 +320,7 @@ const rtl::OUString& PropertyNameSupplier::GetName( PropertyIds eId ) const case PROP_LISTTAB_STOP_POSITION : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ListtabStopPosition")); break; case PROP_POSITION_AND_SPACE_MODE : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PositionAndSpaceMode")); break; case PROP_PARA_SPLIT: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParaSplit")); break; -// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; + case PROP_HELP: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Help")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx index ff4be6058018..b2b8635f72aa 100644 --- a/writerfilter/source/dmapper/PropertyIds.hxx +++ b/writerfilter/source/dmapper/PropertyIds.hxx @@ -283,6 +283,7 @@ enum PropertyIds /*247*/ ,PROP_LISTTAB_STOP_POSITION /*248*/ ,PROP_POSITION_AND_SPACE_MODE /*249*/ ,PROP_PARA_SPLIT +/*250*/ ,PROP_HELP }; struct PropertyNameSupplier_Impl; class PropertyNameSupplier -- cgit From 0b418340cb35bac8daea1a709b9f938a82a96802 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 15 Mar 2010 17:44:14 +0100 Subject: writerfilter08: new class FormControlHelper for adding form controls --- writerfilter/source/dmapper/FormControlHelper.cxx | 106 ++++++++++++++++++++++ writerfilter/source/dmapper/FormControlHelper.hxx | 56 ++++++++++++ writerfilter/source/dmapper/makefile.mk | 1 + 3 files changed, 163 insertions(+) create mode 100644 writerfilter/source/dmapper/FormControlHelper.cxx create mode 100644 writerfilter/source/dmapper/FormControlHelper.hxx diff --git a/writerfilter/source/dmapper/FormControlHelper.cxx b/writerfilter/source/dmapper/FormControlHelper.cxx new file mode 100644 index 000000000000..d3dd982b3c1b --- /dev/null +++ b/writerfilter/source/dmapper/FormControlHelper.cxx @@ -0,0 +1,106 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#include <com/sun/star/uno/Type.hxx> +#include <com/sun/star/uno/Any.hxx> +#include <com/sun/star/uno/Reference.hxx> +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/form/XFormComponent.hpp> +#include <com/sun/star/beans/XPropertySet.hpp> +#include "FormControlHelper.hxx" + +namespace writerfilter { +namespace dmapper { + +using namespace ::com::sun::star; + +struct FormControlHelper::FormControlHelper_Impl +{ + uno::Reference<lang::XMultiServiceFactory> rServiceFactory; + uno::Reference<form::XFormComponent> rFormComponent; + awt::Size aSize; +}; + +FormControlHelper::FormControlHelper(FFDataHandler::Pointer_t pFFData) + : m_pFFData(pFFData), m_pImpl(new FormControlHelper_Impl) +{ +} + +FormControlHelper::~FormControlHelper() +{ +} + +bool FormControlHelper::insertCheckBox() +{ + return true; +} + +bool FormControlHelper::createCheckbox() +{ + uno::Reference<uno::XInterface> xInterface = + m_pImpl->rServiceFactory->createInstance + (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.CheckBox"))); + + if (!xInterface.is()) + return false; + + m_pImpl->rFormComponent = uno::Reference<form::XFormComponent>(xInterface, uno::UNO_QUERY); + if (!m_pImpl->rFormComponent.is()) + return false; + + uno::Reference<beans::XPropertySet> xPropSet(xInterface, uno::UNO_QUERY); + + m_pImpl->aSize.Width = 16 * m_pFFData->getCheckboxHeight(); + m_pImpl->aSize.Height = m_pImpl->aSize.Width; + + uno::Any aAny; + if (m_pFFData->getStatusText().getLength()) + { + aAny <<= m_pFFData->getStatusText(); + + xPropSet->setPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Name")), aAny); + xPropSet->setPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HelpText")), aAny); + } + + aAny <<= m_pFFData->getCheckboxChecked(); + xPropSet->setPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DefaultState")), aAny); + + if (m_pFFData->getHelpText().getLength()) + { + aAny <<= m_pFFData->getHelpText(); + xPropSet->setPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HelpF1Text")), aAny); + } + + return true; +} + +bool FormControlHelper::insertControl() +{ + return true; +} + +}} diff --git a/writerfilter/source/dmapper/FormControlHelper.hxx b/writerfilter/source/dmapper/FormControlHelper.hxx new file mode 100644 index 000000000000..a4a785f09234 --- /dev/null +++ b/writerfilter/source/dmapper/FormControlHelper.hxx @@ -0,0 +1,56 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ +#ifndef INCLUDED_FORM_CONTROL_HELPER_HXX +#define INCLUDED_FORM_CONTROL_HELPER_HXX + +#include <FFDataHandler.hxx> + +namespace writerfilter { +namespace dmapper { + +class FormControlHelper +{ +public: + FormControlHelper(FFDataHandler::Pointer_t pFFData); + ~FormControlHelper(); + + bool insertCheckBox(); + +private: + FFDataHandler::Pointer_t m_pFFData; + struct FormControlHelper_Impl; + typedef boost::shared_ptr<FormControlHelper_Impl> ImplPointer_t; + ImplPointer_t m_pImpl; + + bool createCheckbox(); + bool insertControl(); +}; + +} +} + +#endif // INCLUDED_FORM_CONTROL_HELPER_HXX diff --git a/writerfilter/source/dmapper/makefile.mk b/writerfilter/source/dmapper/makefile.mk index 514cc04e09a3..a49298416a7f 100755 --- a/writerfilter/source/dmapper/makefile.mk +++ b/writerfilter/source/dmapper/makefile.mk @@ -48,6 +48,7 @@ SLOFILES= \ $(SLO)$/DomainMapperTableManager.obj \ $(SLO)$/DomainMapper_Impl.obj \ $(SLO)$/FFDataHandler.obj \ + $(SLO)$/FormControlHelper.obj \ $(SLO)$/FontTable.obj \ $(SLO)$/GraphicHelpers.obj \ $(SLO)$/GraphicImport.obj \ -- cgit From 9734182d56ecf4ed94e5341f9a587f46f4b69007 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 16 Mar 2010 17:34:45 +0100 Subject: writerfilter08: More work on FormControlHelper --- writerfilter/source/dmapper/FormControlHelper.cxx | 105 ++++++++++++++++++++-- writerfilter/source/dmapper/FormControlHelper.hxx | 7 +- 2 files changed, 103 insertions(+), 9 deletions(-) diff --git a/writerfilter/source/dmapper/FormControlHelper.cxx b/writerfilter/source/dmapper/FormControlHelper.cxx index d3dd982b3c1b..f1d0ad97dcf0 100644 --- a/writerfilter/source/dmapper/FormControlHelper.cxx +++ b/writerfilter/source/dmapper/FormControlHelper.cxx @@ -25,12 +25,18 @@ * ************************************************************************/ -#include <com/sun/star/uno/Type.hxx> -#include <com/sun/star/uno/Any.hxx> -#include <com/sun/star/uno/Reference.hxx> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/form/XFormComponent.hpp> +#include <com/sun/star/awt/XControlModel.hpp> #include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/container/XIndexContainer.hpp> +#include <com/sun/star/drawing/XControlShape.hpp> +#include <com/sun/star/form/XForm.hpp> +#include <com/sun/star/form/XFormComponent.hpp> +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/text/TextContentAnchorType.hpp> +#include <com/sun/star/text/VertOrientation.hpp> +#include <com/sun/star/uno/Any.hxx> +#include <com/sun/star/uno/Type.hxx> + #include "FormControlHelper.hxx" namespace writerfilter { @@ -40,14 +46,50 @@ using namespace ::com::sun::star; struct FormControlHelper::FormControlHelper_Impl { - uno::Reference<lang::XMultiServiceFactory> rServiceFactory; - uno::Reference<form::XFormComponent> rFormComponent; awt::Size aSize; + uno::Reference<form::XForm> rForm; + uno::Reference<form::XFormComponent> rFormComponent; + uno::Reference<lang::XMultiServiceFactory> rServiceFactory; + uno::Reference<text::XTextDocument> rTextDocument; + uno::Reference<text::XTextRange> rTextRange; + + uno::Reference<lang::XMultiServiceFactory> getServiceFactory(); + uno::Reference<form::XForm> getForm(); + uno::Reference<container::XIndexContainer> getFormComps(); }; -FormControlHelper::FormControlHelper(FFDataHandler::Pointer_t pFFData) +uno::Reference<lang::XMultiServiceFactory> FormControlHelper::FormControlHelper_Impl::getServiceFactory() +{ + uno::Reference<lang::XMultiServiceFactory> xFactory(rTextDocument, uno::UNO_QUERY); + + return xFactory; +} + +uno::Reference<form::XForm> FormControlHelper::FormControlHelper_Impl::getForm() +{ + if (! rForm.is()) + { + uno::Reference<uno::XInterface> + xRef(rServiceFactory->createInstance + (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.Form")))); + rForm = uno::Reference<form::XForm>(xRef, uno::UNO_QUERY); + } + + return rForm; +} + +uno::Reference<container::XIndexContainer> FormControlHelper::FormControlHelper_Impl::getFormComps() +{ + uno::Reference<container::XIndexContainer> xIndexContainer(getForm(), uno::UNO_QUERY); + + return xIndexContainer; +} + +FormControlHelper::FormControlHelper(uno::Reference<text::XTextDocument> rTextDocument, + FFDataHandler::Pointer_t pFFData) : m_pFFData(pFFData), m_pImpl(new FormControlHelper_Impl) { + m_pImpl->rTextDocument = rTextDocument; } FormControlHelper::~FormControlHelper() @@ -100,6 +142,53 @@ bool FormControlHelper::createCheckbox() bool FormControlHelper::insertControl() { + uno::Reference<container::XIndexContainer> xFormComps(m_pImpl->getFormComps()); + if (! xFormComps.is()) + return false; + + uno::Any aAny; + aAny <<= m_pImpl->rFormComponent; + xFormComps->insertByIndex(xFormComps->getCount(), aAny); + + if (! m_pImpl->getServiceFactory().is()) + return false; + + uno::Reference<uno::XInterface> xInterface = + m_pImpl->getServiceFactory()->createInstance + (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.ControlShape"))); + + if (! xInterface.is()) + return false; + + uno::Reference<drawing::XShape> xShape(xInterface, uno::UNO_QUERY); + + if (! xShape.is()) + return false; + + xShape->setSize(m_pImpl->aSize); + + uno::Reference<beans::XPropertySet> xShapeProps(xShape, uno::UNO_QUERY); + + sal_uInt16 nTmp = text::TextContentAnchorType_AS_CHARACTER; + aAny <<= nTmp; + + static const ::rtl::OUString sAnchorType(RTL_CONSTASCII_USTRINGPARAM("AnchorType")); + xShapeProps->setPropertyValue(sAnchorType, aAny); + + static const ::rtl::OUString sVertOrient(RTL_CONSTASCII_USTRINGPARAM("VertOrient")); + nTmp = text::VertOrientation::TOP; + aAny <<= nTmp; + xShapeProps->setPropertyValue(sVertOrient, aAny); + + aAny <<= m_pImpl->rTextRange; + + static const ::rtl::OUString sTextRange(RTL_CONSTASCII_USTRINGPARAM("TextRange")); + xShapeProps->setPropertyValue(sTextRange, aAny); + + uno::Reference<drawing::XControlShape> xControlShape(xShape, uno::UNO_QUERY); + uno::Reference<awt::XControlModel> xControlModel(m_pImpl->rFormComponent, uno::UNO_QUERY); + xControlShape->setControl(xControlModel); + return true; } diff --git a/writerfilter/source/dmapper/FormControlHelper.hxx b/writerfilter/source/dmapper/FormControlHelper.hxx index a4a785f09234..6618921c62a0 100644 --- a/writerfilter/source/dmapper/FormControlHelper.hxx +++ b/writerfilter/source/dmapper/FormControlHelper.hxx @@ -28,14 +28,19 @@ #define INCLUDED_FORM_CONTROL_HELPER_HXX #include <FFDataHandler.hxx> +#include <com/sun/star/text/XTextDocument.hpp> +#include <com/sun/star/uno/Reference.hxx> namespace writerfilter { namespace dmapper { +using namespace ::com::sun::star; + class FormControlHelper { public: - FormControlHelper(FFDataHandler::Pointer_t pFFData); + FormControlHelper(uno::Reference<text::XTextDocument> rTextDocument, + FFDataHandler::Pointer_t pFFData); ~FormControlHelper(); bool insertCheckBox(); -- cgit From b852f9853fd94204b3855552b5580c73750f47e0 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 18 Mar 2010 09:18:24 +0100 Subject: writerfilter08: first try to use FormControlHelper to insert checkbox --- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 324 +++------------------- writerfilter/source/dmapper/DomainMapper_Impl.hxx | 5 + writerfilter/source/dmapper/FieldTypes.hxx | 299 ++++++++++++++++++++ writerfilter/source/dmapper/FormControlHelper.cxx | 43 ++- writerfilter/source/dmapper/FormControlHelper.hxx | 8 +- 5 files changed, 382 insertions(+), 297 deletions(-) create mode 100644 writerfilter/source/dmapper/FieldTypes.hxx diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 7e6392fe7abf..06c484e59bad 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -69,6 +69,7 @@ #include <com/sun/star/util/XNumberFormats.hpp> #include <rtl/ustrbuf.hxx> #include <rtl/string.h> +#include "FieldTypes.hxx" #include <tools/string.hxx> #ifdef DEBUG_DOMAINMAPPER @@ -88,275 +89,6 @@ using namespace ::com::sun::star; using namespace ::rtl; namespace writerfilter { namespace dmapper{ -/*-- 08.09.2006 09:39:50--------------------------------------------------- - - -----------------------------------------------------------------------*/ -//defaultswitch { Upper FirstCap Lower } -//Numberingswitch { Arabic, ALPHABETIC, ...} see lcl_ParseNumberingType -enum FieldId -{ - /* ADDRESSBLOCK \d \* MERGEFORMAT -> Addressblock completely unsupported*/ - FIELD_ADDRESSBLOCK - /* ADVANCE \d downvalue \l leftvalue \r rightvalue \u upvalue \x xvalue \y yvalue -> unsupported*/ - ,FIELD_ADVANCE - /* ASK bookmarkname "hint" \d defaultanswer \o \* MERGEFORMAT -> - the hint is not always quoted, inputfield with default answer, prompt before merge (\o) - */ - ,FIELD_ASK - /* AUTONUM \* Numberingswitch -> - mapped to sequence field "AutoNr" - */ - ,FIELD_AUTONUM - /* AUTONUMLGL \* Numberingswitch -> - mapped to sequence field "AutoNr" - */ - ,FIELD_AUTONUMLGL - /* AUTONUMOUT \* Numberingswitch -> - mapped to sequence field "AutoNr" - */ - ,FIELD_AUTONUMOUT - /* AUTHOR NewAuthor \* defaultswitch \* MERGEFORMAT -> - mapped to sequence field "AutoNr" - */ - ,FIELD_AUTHOR - /* COMMENTS "comment" \* MERGEFORMAT -> - Docinfo-Comments - */ - ,FIELD_COMMENTS - /* CREATEDATE \h \* MERGEFORMAT -> - docinfo-created-date - */ - ,FIELD_CREATEDATE - /* DATE \@ "number format" \s \* MERGEFORMAT -> - ww8filterimprovement: multiple languages now supported - */ - ,FIELD_DATE - /* DOCPROPERTY propertyname \* MERGEFORMAT -> - ww8filterimprovement: some fields imported as functionally equivalent fields if possible, - the others imported as UserField - */ - ,FIELD_DOCPROPERTY - /* DOCVARIABLE Name \* MERGEFORMAT -> - ww8filterimprovement: now imported as user fields - */ - ,FIELD_DOCVARIABLE - /* EDITTIME \# "displayformat" \* Numberingswitch \* MERGEFORMAT -> - DocInfo-Modified-Date - ww8filterimprovement: multiple languages now supported - */ - ,FIELD_EDITTIME - /* FILLIN "text to fill in" \d defaultanswer \o \* MERGEFORMAT -> - Function-InputField - */ - ,FIELD_FILLIN - /* FILENAME \p \* * MERGEFORMAT -> - file name (\p with path) - */ - ,FIELD_FILENAME - /* FILESIZE \* NumberingType \* MERGEFORMAT -> - not imported in old ww8 filter, see lcl_ParseNumberingType - todo find alternative field - */ - ,FIELD_FILESIZE - /* =formula \# "number format" - todo find alternative field - */ - ,FIELD_FORMULA - /* FORMCHECKBOX */ - ,FIELD_FORMCHECKBOX - /* FORMDROPDOWN */ - ,FIELD_FORMDROPDOWN - /* FORMTEXT */ - ,FIELD_FORMTEXT - /* GOTOBUTTON text \* MERGEFORMAT -> - not imported in old ww8 filter - todo find alternative field - */ - ,FIELD_GOTOBUTTON - /* HYPERLINK "link" \* MERGEFORMAT -> - not imported in old ww8 filter - ww8filterimprovement: now imported as hyperlink - */ - ,FIELD_HYPERLINK - /* IF condition "then text" "else text" -> - not imported in old ww8 filter - ww8filterimprovement: now imported - todo: condition, if text, else text still missing - */ - ,FIELD_IF - /* INFO NameOfInfo \* MERGEFORMAT -> old - todo: filter imports wrong? - */ - ,FIELD_INFO - /* INCLUDEPICTURE path \* MERGEFORMAT-> - old filter imports an embedded picture - todo: not yet supported - */ - ,FIELD_INCLUDEPICTURE - /* KEYWORDS keyword \* defaultswitch \* Numberingswitch \* MERGEFORMAT -> - DocInfo Keywords - */ - ,FIELD_KEYWORDS - /* LASTSAVEDBY \* MERGEFORMAT -> - DocInfo-Modified-Author - */ - ,FIELD_LASTSAVEDBY - /* MACROBUTTON MacroName quick help text -> - Macro field - */ - ,FIELD_MACROBUTTON - /* MERGEFIELD ColumName \b prefix \f suffix \* MERGEFORMAT -> - ww8filterimprovement: column-only API now upporterd - */ - ,FIELD_MERGEFIELD - /* MERGEREC \* MERGEFORMAT -> - RecordNumber field, maybe without db name - todo: currently unchecked - */ - ,FIELD_MERGEREC - /* MERGESEQ \* MERGEFORMAT -> - not imported in old ww8 filter - ww8filterimprovement: now imported - todo: currently unchecked - */ - ,FIELD_MERGESEQ - /* NEXT text -> - Next record - todo: currently unchecked - */ - ,FIELD_NEXT - /* NEXTIF condition - todo: condition not imported - */ - ,FIELD_NEXTIF - /* PAGE \* Numberingswitch \* MERGEFORMAT -> - see lcl_ParseNumberingType - */ - ,FIELD_PAGE - /* REF targetbkm \f \* MERGEFORMAT -> - imports a ShowVariable (bookmarkname)? - \h hyerlink to paragraph - \p relative to para above/below - \f refenence number - \d separator number separator - \n paragraph number - \r paragraph number in relative context - \t suppres non delimiters - \w paragraph number in full context - \* Upper/Lower... - */ - ,FIELD_REF // - /* REVNUM \* Numberingswitch \* MERGEFORMAT -> - DocInfo-revision number - */ - ,FIELD_REVNUM - /* SAVEDATE \@ "NumberFormat"\* MERGEFORMAT -> - DocInfo-modified-date - */ - ,FIELD_SAVEDATE - /* SECTION \* NumberFormat \* MERGEFORMAT -> - not imported in old ww8 filter see lcl_ParseNumberingType - todo: find alternative - */ - ,FIELD_SECTION - /* SECTIONPAGES \* NumberFormat \* MERGEFORMAT -> - not imported in old ww8 filter see lcl_ParseNumberingType - todo: find alternative - */ - ,FIELD_SECTIONPAGES - /* SEQ sequencename \h \c \n \r \s \* MERGEFORMAT -> - number range name:sequencename value:sequencename+1 - todo: only partially implemented, switches unsupported - */ - ,FIELD_SEQ - /* SET bookmarkname newtext \* MERGEFORMAT -> - SetVariable bookmarkname = newtext - todo: not implemented yet - */ - ,FIELD_SET - /* SKIPIF condition \* MERGEFORMAT -> - ?? - todo: not implemented yet - */ - ,FIELD_SKIPIF - /* STYLEREF stylename \* MERGEFORMAT -> - not imported in old ww8 filter - todo: add an equivalent field type - */ - ,FIELD_STYLEREF - /* SUBJECT subject \* Defaultswitch \* MERGEFORMAT -> - DocInfo - subject - */ - ,FIELD_SUBJECT - /* SYMBOL symbolnumber \* MERGEFORMAT -> - inserts a special char (symbolnumber) - todo: find alternative - */ - ,FIELD_SYMBOL - /* TEMPLATE \* Defaultswitch \* MERGEFORMAT - TemplateName field - */ - ,FIELD_TEMPLATE - /* TIME \@ "number format" \* MERGEFORMAT - ww8filterimprovement: multiple languages now supported - */ - ,FIELD_TIME - /* TITLE \* Defaultswitch \* MERGEFORMAT -> - DocInfo-title - */ - ,FIELD_TITLE - /* USERINITIALS newinitials \* MERGEFORMAT -> - ExtendedUser field (SHORTCUT) - */ - ,FIELD_USERINITIALS - /* USERADDRESS \* MERGEFORMAT -> - not imported in old ww8 filter - todo: find alternative - */ - ,FIELD_USERADDRESS - /* USERNAME newusername \* MERGEFORMAT -> - not imported in old ww8 filter - todo: import as extended user field(s) - */ - ,FIELD_USERNAME - /* - TOC options: - \a Builds a table of figures but does not include the captions's label and number - \b Uses a bookmark to specify area of document from which to build table of contents - \c Builds a table of figures of the given label - \d Defines the separator between sequence and page numbers - \f Builds a table of contents using TC entries instead of outline levels - \h Hyperlinks the entries and page numbers within the table of contents - \l Defines the TC entries field level used to build a table of contents - \n Builds a table of contents or a range of entries, sucah as �1-9�, in a table of contents without page numbers - \o Builds a table of contents by using outline levels instead of TC entries - \p Defines the separator between the table entry and its page number - \s Builds a table of contents by using a sequence type - \t Builds a table of contents by using style names other than the standard outline styles - \u Builds a table of contents by using the applied paragraph outline level - \w Preserve tab characters within table entries - \x Preserve newline characters within table entries - \z Hides page numbers within the table of contens when shown in Web Layout View - */ - ,FIELD_TOC - /* - TOC entry: �text� - \f TC entry in doc with multiple tables - \l Outline Level - \n Suppress page numbers - example: TOC "EntryText \f \l 2 \n - */ - ,FIELD_TC - /* document statistic - number of characters - */ - ,FIELD_NUMCHARS - /* document statistic - number of words - */ - ,FIELD_NUMWORDS - /* document statistic - number of pages - */ - ,FIELD_NUMPAGES -}; struct FieldConversion { ::rtl::OUString sWordCommand; @@ -2677,7 +2409,7 @@ if(!bFilled) {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILENAME")), "FileName", "", FIELD_FILENAME }, // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FILESIZE")), "", "", FIELD_FILESIZE }, // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMULA")), "", "", FIELD_FORMULA }, -// {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMCHECKBOX")), "", "", FIELD_FORMCHECKBOX}, + {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMCHECKBOX")), "", "", FIELD_FORMCHECKBOX}, // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMDROPDOWN")), "", "", FIELD_FORMDROWDOWN}, {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FORMTEXT")), "Input", "", FIELD_FORMTEXT}, // {::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GOTOBUTTON")), "", "", FIELD_GOTOBUTTON }, @@ -3157,10 +2889,20 @@ void DomainMapper_Impl::CloseFieldCommand() if(aIt != aFieldConversionMap.end()) { uno::Reference< beans::XPropertySet > xFieldProperties; - if( FIELD_HYPERLINK != aIt->second.eFieldId && - FIELD_DOCPROPERTY != aIt->second.eFieldId && - FIELD_TOC != aIt->second.eFieldId && - FIELD_TC != aIt->second.eFieldId) + bool bCreateField = true; + switch (aIt->second.eFieldId) + { + case FIELD_HYPERLINK: + case FIELD_DOCPROPERTY: + case FIELD_TOC: + case FIELD_TC: + case FIELD_FORMCHECKBOX: + bCreateField = false; + break; + default: + break; + } + if( bCreateField) { //add the service prefix OUString sServiceName(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.TextField.")); @@ -3253,7 +2995,17 @@ void DomainMapper_Impl::CloseFieldCommand() break; case FIELD_FILESIZE : break; case FIELD_FORMULA : break; - case FIELD_FORMCHECKBOX : break; + case FIELD_FORMCHECKBOX : + { + FFDataHandler::Pointer_t + pFFDataHandler(pContext->getFFDataHandler()); + FormControlHelper::Pointer_t + pFormControlHelper(new FormControlHelper + (FIELD_FORMCHECKBOX, + m_xTextDocument, pFFDataHandler)); + pContext->setFormControlHelper(pFormControlHelper); + } + break; case FIELD_FORMDROPDOWN : break; case FIELD_FORMTEXT : { @@ -3639,15 +3391,23 @@ void DomainMapper_Impl::PopFieldContext() uno::Reference< text::XTextAppendAndConvert > xTextAppendAndConvert( xTextAppend, uno::UNO_QUERY_THROW ); xTextAppendAndConvert->appendTextContent( xToInsert, uno::Sequence< beans::PropertyValue >() ); } - else if(pContext->GetHyperlinkURL().getLength()) + else { - PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); - xCrsr->gotoEnd( true ); + FormControlHelper::Pointer_t pFormControlHelper(pContext->getFormControlHelper()); + if (pFormControlHelper.get() != NULL) + { + pFormControlHelper->insertControl(); + } + else if(pContext->GetHyperlinkURL().getLength()) + { + PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); + xCrsr->gotoEnd( true ); - uno::Reference< beans::XPropertySet > xCrsrProperties( xCrsr, uno::UNO_QUERY_THROW ); - xCrsrProperties->setPropertyValue( - rPropNameSupplier.GetName(PROP_HYPER_LINK_U_R_L), uno:: - makeAny(pContext->GetHyperlinkURL())); + uno::Reference< beans::XPropertySet > xCrsrProperties( xCrsr, uno::UNO_QUERY_THROW ); + xCrsrProperties->setPropertyValue( + rPropNameSupplier.GetName(PROP_HYPER_LINK_U_R_L), uno:: + makeAny(pContext->GetHyperlinkURL())); + } } } } diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 1998d6bd76cb..233b9d5c6d81 100755 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -54,6 +54,7 @@ #include <GraphicImport.hxx> #include <OLEHandler.hxx> #include <FFDataHandler.hxx> +#include <FormControlHelper.hxx> #include <map> #include <string.h> @@ -137,6 +138,7 @@ class FieldContext ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xTC;//TOX entry ::rtl::OUString m_sHyperlinkURL; FFDataHandler::Pointer_t m_pFFDataHandler; + FormControlHelper::Pointer_t m_pFormControlHelper; public: FieldContext(::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > xStart); @@ -165,6 +167,9 @@ public: void setFFDataHandler(FFDataHandler::Pointer_t pFFDataHandler) { m_pFFDataHandler = pFFDataHandler; } FFDataHandler::Pointer_t getFFDataHandler() const { return m_pFFDataHandler; } + void setFormControlHelper(FormControlHelper::Pointer_t pFormControlHelper) { m_pFormControlHelper = pFormControlHelper; } + FormControlHelper::Pointer_t getFormControlHelper() const { return m_pFormControlHelper; } + ::std::vector<rtl::OUString> GetCommandParts() const; }; diff --git a/writerfilter/source/dmapper/FieldTypes.hxx b/writerfilter/source/dmapper/FieldTypes.hxx new file mode 100644 index 000000000000..d0a98efcb0fb --- /dev/null +++ b/writerfilter/source/dmapper/FieldTypes.hxx @@ -0,0 +1,299 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ +#ifndef INCLUDED_FIELD_TYPES_HXX +#define INCLUDED_FIELD_TYPES_HXX + +namespace writerfilter { +namespace dmapper { + +enum FieldId +{ + /* ADDRESSBLOCK \d \* MERGEFORMAT -> Addressblock completely unsupported*/ + FIELD_ADDRESSBLOCK + /* ADVANCE \d downvalue \l leftvalue \r rightvalue \u upvalue \x xvalue \y yvalue -> unsupported*/ + ,FIELD_ADVANCE + /* ASK bookmarkname "hint" \d defaultanswer \o \* MERGEFORMAT -> + the hint is not always quoted, inputfield with default answer, prompt before merge (\o) + */ + ,FIELD_ASK + /* AUTONUM \* Numberingswitch -> + mapped to sequence field "AutoNr" + */ + ,FIELD_AUTONUM + /* AUTONUMLGL \* Numberingswitch -> + mapped to sequence field "AutoNr" + */ + ,FIELD_AUTONUMLGL + /* AUTONUMOUT \* Numberingswitch -> + mapped to sequence field "AutoNr" + */ + ,FIELD_AUTONUMOUT + /* AUTHOR NewAuthor \* defaultswitch \* MERGEFORMAT -> + mapped to sequence field "AutoNr" + */ + ,FIELD_AUTHOR + /* COMMENTS "comment" \* MERGEFORMAT -> + Docinfo-Comments + */ + ,FIELD_COMMENTS + /* CREATEDATE \h \* MERGEFORMAT -> + docinfo-created-date + */ + ,FIELD_CREATEDATE + /* DATE \@ "number format" \s \* MERGEFORMAT -> + ww8filterimprovement: multiple languages now supported + */ + ,FIELD_DATE + /* DOCPROPERTY propertyname \* MERGEFORMAT -> + ww8filterimprovement: some fields imported as functionally equivalent fields if possible, + the others imported as UserField + */ + ,FIELD_DOCPROPERTY + /* DOCVARIABLE Name \* MERGEFORMAT -> + ww8filterimprovement: now imported as user fields + */ + ,FIELD_DOCVARIABLE + /* EDITTIME \# "displayformat" \* Numberingswitch \* MERGEFORMAT -> + DocInfo-Modified-Date + ww8filterimprovement: multiple languages now supported + */ + ,FIELD_EDITTIME + /* FILLIN "text to fill in" \d defaultanswer \o \* MERGEFORMAT -> + Function-InputField + */ + ,FIELD_FILLIN + /* FILENAME \p \* * MERGEFORMAT -> + file name (\p with path) + */ + ,FIELD_FILENAME + /* FILESIZE \* NumberingType \* MERGEFORMAT -> + not imported in old ww8 filter, see lcl_ParseNumberingType + todo find alternative field + */ + ,FIELD_FILESIZE + /* =formula \# "number format" + todo find alternative field + */ + ,FIELD_FORMULA + /* FORMCHECKBOX */ + ,FIELD_FORMCHECKBOX + /* FORMDROPDOWN */ + ,FIELD_FORMDROPDOWN + /* FORMTEXT */ + ,FIELD_FORMTEXT + /* GOTOBUTTON text \* MERGEFORMAT -> + not imported in old ww8 filter + todo find alternative field + */ + ,FIELD_GOTOBUTTON + /* HYPERLINK "link" \* MERGEFORMAT -> + not imported in old ww8 filter + ww8filterimprovement: now imported as hyperlink + */ + ,FIELD_HYPERLINK + /* IF condition "then text" "else text" -> + not imported in old ww8 filter + ww8filterimprovement: now imported + todo: condition, if text, else text still missing + */ + ,FIELD_IF + /* INFO NameOfInfo \* MERGEFORMAT -> old + todo: filter imports wrong? + */ + ,FIELD_INFO + /* INCLUDEPICTURE path \* MERGEFORMAT-> + old filter imports an embedded picture + todo: not yet supported + */ + ,FIELD_INCLUDEPICTURE + /* KEYWORDS keyword \* defaultswitch \* Numberingswitch \* MERGEFORMAT -> + DocInfo Keywords + */ + ,FIELD_KEYWORDS + /* LASTSAVEDBY \* MERGEFORMAT -> + DocInfo-Modified-Author + */ + ,FIELD_LASTSAVEDBY + /* MACROBUTTON MacroName quick help text -> + Macro field + */ + ,FIELD_MACROBUTTON + /* MERGEFIELD ColumName \b prefix \f suffix \* MERGEFORMAT -> + ww8filterimprovement: column-only API now upporterd + */ + ,FIELD_MERGEFIELD + /* MERGEREC \* MERGEFORMAT -> + RecordNumber field, maybe without db name + todo: currently unchecked + */ + ,FIELD_MERGEREC + /* MERGESEQ \* MERGEFORMAT -> + not imported in old ww8 filter + ww8filterimprovement: now imported + todo: currently unchecked + */ + ,FIELD_MERGESEQ + /* NEXT text -> + Next record + todo: currently unchecked + */ + ,FIELD_NEXT + /* NEXTIF condition + todo: condition not imported + */ + ,FIELD_NEXTIF + /* PAGE \* Numberingswitch \* MERGEFORMAT -> + see lcl_ParseNumberingType + */ + ,FIELD_PAGE + /* REF targetbkm \f \* MERGEFORMAT -> + imports a ShowVariable (bookmarkname)? + \h hyerlink to paragraph + \p relative to para above/below + \f refenence number + \d separator number separator + \n paragraph number + \r paragraph number in relative context + \t suppres non delimiters + \w paragraph number in full context + \* Upper/Lower... + */ + ,FIELD_REF // + /* REVNUM \* Numberingswitch \* MERGEFORMAT -> + DocInfo-revision number + */ + ,FIELD_REVNUM + /* SAVEDATE \@ "NumberFormat"\* MERGEFORMAT -> + DocInfo-modified-date + */ + ,FIELD_SAVEDATE + /* SECTION \* NumberFormat \* MERGEFORMAT -> + not imported in old ww8 filter see lcl_ParseNumberingType + todo: find alternative + */ + ,FIELD_SECTION + /* SECTIONPAGES \* NumberFormat \* MERGEFORMAT -> + not imported in old ww8 filter see lcl_ParseNumberingType + todo: find alternative + */ + ,FIELD_SECTIONPAGES + /* SEQ sequencename \h \c \n \r \s \* MERGEFORMAT -> + number range name:sequencename value:sequencename+1 + todo: only partially implemented, switches unsupported + */ + ,FIELD_SEQ + /* SET bookmarkname newtext \* MERGEFORMAT -> + SetVariable bookmarkname = newtext + todo: not implemented yet + */ + ,FIELD_SET + /* SKIPIF condition \* MERGEFORMAT -> + ?? + todo: not implemented yet + */ + ,FIELD_SKIPIF + /* STYLEREF stylename \* MERGEFORMAT -> + not imported in old ww8 filter + todo: add an equivalent field type + */ + ,FIELD_STYLEREF + /* SUBJECT subject \* Defaultswitch \* MERGEFORMAT -> + DocInfo - subject + */ + ,FIELD_SUBJECT + /* SYMBOL symbolnumber \* MERGEFORMAT -> + inserts a special char (symbolnumber) + todo: find alternative + */ + ,FIELD_SYMBOL + /* TEMPLATE \* Defaultswitch \* MERGEFORMAT + TemplateName field + */ + ,FIELD_TEMPLATE + /* TIME \@ "number format" \* MERGEFORMAT + ww8filterimprovement: multiple languages now supported + */ + ,FIELD_TIME + /* TITLE \* Defaultswitch \* MERGEFORMAT -> + DocInfo-title + */ + ,FIELD_TITLE + /* USERINITIALS newinitials \* MERGEFORMAT -> + ExtendedUser field (SHORTCUT) + */ + ,FIELD_USERINITIALS + /* USERADDRESS \* MERGEFORMAT -> + not imported in old ww8 filter + todo: find alternative + */ + ,FIELD_USERADDRESS + /* USERNAME newusername \* MERGEFORMAT -> + not imported in old ww8 filter + todo: import as extended user field(s) + */ + ,FIELD_USERNAME + /* + TOC options: + \a Builds a table of figures but does not include the captions's label and number + \b Uses a bookmark to specify area of document from which to build table of contents + \c Builds a table of figures of the given label + \d Defines the separator between sequence and page numbers + \f Builds a table of contents using TC entries instead of outline levels + \h Hyperlinks the entries and page numbers within the table of contents + \l Defines the TC entries field level used to build a table of contents + \n Builds a table of contents or a range of entries, sucah as �1-9�, in a table of contents without page numbers + \o Builds a table of contents by using outline levels instead of TC entries + \p Defines the separator between the table entry and its page number + \s Builds a table of contents by using a sequence type + \t Builds a table of contents by using style names other than the standard outline styles + \u Builds a table of contents by using the applied paragraph outline level + \w Preserve tab characters within table entries + \x Preserve newline characters within table entries + \z Hides page numbers within the table of contens when shown in Web Layout View + */ + ,FIELD_TOC + /* + TOC entry: �text� + \f TC entry in doc with multiple tables + \l Outline Level + \n Suppress page numbers + example: TOC "EntryText \f \l 2 \n + */ + ,FIELD_TC + /* document statistic - number of characters + */ + ,FIELD_NUMCHARS + /* document statistic - number of words + */ + ,FIELD_NUMWORDS + /* document statistic - number of pages + */ + ,FIELD_NUMPAGES +}; + +}} +#endif // INCLUDED_FIELD_TYPES_HXX diff --git a/writerfilter/source/dmapper/FormControlHelper.cxx b/writerfilter/source/dmapper/FormControlHelper.cxx index f1d0ad97dcf0..62e062ababf0 100644 --- a/writerfilter/source/dmapper/FormControlHelper.cxx +++ b/writerfilter/source/dmapper/FormControlHelper.cxx @@ -46,6 +46,7 @@ using namespace ::com::sun::star; struct FormControlHelper::FormControlHelper_Impl { + FieldId m_eFieldId; awt::Size aSize; uno::Reference<form::XForm> rForm; uno::Reference<form::XFormComponent> rFormComponent; @@ -60,9 +61,10 @@ struct FormControlHelper::FormControlHelper_Impl uno::Reference<lang::XMultiServiceFactory> FormControlHelper::FormControlHelper_Impl::getServiceFactory() { - uno::Reference<lang::XMultiServiceFactory> xFactory(rTextDocument, uno::UNO_QUERY); + if (! rServiceFactory.is()) + rServiceFactory = uno::Reference<lang::XMultiServiceFactory>(rTextDocument, uno::UNO_QUERY); - return xFactory; + return rServiceFactory; } uno::Reference<form::XForm> FormControlHelper::FormControlHelper_Impl::getForm() @@ -70,7 +72,7 @@ uno::Reference<form::XForm> FormControlHelper::FormControlHelper_Impl::getForm() if (! rForm.is()) { uno::Reference<uno::XInterface> - xRef(rServiceFactory->createInstance + xRef(getServiceFactory()->createInstance (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.Form")))); rForm = uno::Reference<form::XForm>(xRef, uno::UNO_QUERY); } @@ -85,10 +87,12 @@ uno::Reference<container::XIndexContainer> FormControlHelper::FormControlHelper_ return xIndexContainer; } -FormControlHelper::FormControlHelper(uno::Reference<text::XTextDocument> rTextDocument, +FormControlHelper::FormControlHelper(FieldId eFieldId, + uno::Reference<text::XTextDocument> rTextDocument, FFDataHandler::Pointer_t pFFData) : m_pFFData(pFFData), m_pImpl(new FormControlHelper_Impl) { + m_pImpl->m_eFieldId = eFieldId; m_pImpl->rTextDocument = rTextDocument; } @@ -96,15 +100,16 @@ FormControlHelper::~FormControlHelper() { } -bool FormControlHelper::insertCheckBox() -{ - return true; -} - bool FormControlHelper::createCheckbox() { + uno::Reference<lang::XMultiServiceFactory> + xServiceFactory(m_pImpl->getServiceFactory()); + + if (! xServiceFactory.is()) + return false; + uno::Reference<uno::XInterface> xInterface = - m_pImpl->rServiceFactory->createInstance + xServiceFactory->createInstance (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.CheckBox"))); if (!xInterface.is()) @@ -142,12 +147,26 @@ bool FormControlHelper::createCheckbox() bool FormControlHelper::insertControl() { + bool bCreated = false; + + switch (m_pImpl->m_eFieldId) + { + case FIELD_FORMCHECKBOX: + bCreated = createCheckbox(); + break; + default: + break; + } + + if (!bCreated) + return false; + uno::Reference<container::XIndexContainer> xFormComps(m_pImpl->getFormComps()); if (! xFormComps.is()) return false; - uno::Any aAny; - aAny <<= m_pImpl->rFormComponent; + uno::Any aAny(&m_pImpl->rFormComponent, + ::getCppuType((const uno::Reference<form::XFormComponent >*)0)); xFormComps->insertByIndex(xFormComps->getCount(), aAny); if (! m_pImpl->getServiceFactory().is()) diff --git a/writerfilter/source/dmapper/FormControlHelper.hxx b/writerfilter/source/dmapper/FormControlHelper.hxx index 6618921c62a0..7f6a72fb553f 100644 --- a/writerfilter/source/dmapper/FormControlHelper.hxx +++ b/writerfilter/source/dmapper/FormControlHelper.hxx @@ -30,6 +30,7 @@ #include <FFDataHandler.hxx> #include <com/sun/star/text/XTextDocument.hpp> #include <com/sun/star/uno/Reference.hxx> +#include "FieldTypes.hxx" namespace writerfilter { namespace dmapper { @@ -39,11 +40,13 @@ using namespace ::com::sun::star; class FormControlHelper { public: - FormControlHelper(uno::Reference<text::XTextDocument> rTextDocument, + typedef boost::shared_ptr<FormControlHelper> Pointer_t; + FormControlHelper(FieldId eFieldId, + uno::Reference<text::XTextDocument> rTextDocument, FFDataHandler::Pointer_t pFFData); ~FormControlHelper(); - bool insertCheckBox(); + bool insertControl(); private: FFDataHandler::Pointer_t m_pFFData; @@ -52,7 +55,6 @@ private: ImplPointer_t m_pImpl; bool createCheckbox(); - bool insertControl(); }; } -- cgit From 8331c76624ad2e72df162979aaf683f4b576e1db Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 18 Mar 2010 18:39:24 +0100 Subject: writerfilter08: second try to insert checkbox --- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 6 +-- writerfilter/source/dmapper/FormControlHelper.cxx | 64 ++++++++++++++++++++--- writerfilter/source/dmapper/FormControlHelper.hxx | 2 +- 3 files changed, 61 insertions(+), 11 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 06c484e59bad..3b024fee2f2c 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -3396,7 +3396,8 @@ void DomainMapper_Impl::PopFieldContext() FormControlHelper::Pointer_t pFormControlHelper(pContext->getFormControlHelper()); if (pFormControlHelper.get() != NULL) { - pFormControlHelper->insertControl(); + uno::Reference<text::XTextRange> xTxtRange(xCrsr, uno::UNO_QUERY); + pFormControlHelper->insertControl(xTxtRange); } else if(pContext->GetHyperlinkURL().getLength()) { @@ -3404,8 +3405,7 @@ void DomainMapper_Impl::PopFieldContext() xCrsr->gotoEnd( true ); uno::Reference< beans::XPropertySet > xCrsrProperties( xCrsr, uno::UNO_QUERY_THROW ); - xCrsrProperties->setPropertyValue( - rPropNameSupplier.GetName(PROP_HYPER_LINK_U_R_L), uno:: + xCrsrProperties->setPropertyValue(rPropNameSupplier.GetName(PROP_HYPER_LINK_U_R_L), uno:: makeAny(pContext->GetHyperlinkURL())); } } diff --git a/writerfilter/source/dmapper/FormControlHelper.cxx b/writerfilter/source/dmapper/FormControlHelper.cxx index 62e062ababf0..50ce8f20d53a 100644 --- a/writerfilter/source/dmapper/FormControlHelper.cxx +++ b/writerfilter/source/dmapper/FormControlHelper.cxx @@ -29,8 +29,11 @@ #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/container/XIndexContainer.hpp> #include <com/sun/star/drawing/XControlShape.hpp> +#include <com/sun/star/drawing/XDrawPage.hpp> +#include <com/sun/star/drawing/XDrawPageSupplier.hpp> #include <com/sun/star/form/XForm.hpp> #include <com/sun/star/form/XFormComponent.hpp> +#include <com/sun/star/form/XFormsSupplier.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/text/TextContentAnchorType.hpp> #include <com/sun/star/text/VertOrientation.hpp> @@ -48,17 +51,31 @@ struct FormControlHelper::FormControlHelper_Impl { FieldId m_eFieldId; awt::Size aSize; + uno::Reference<drawing::XDrawPage> rDrawPage; uno::Reference<form::XForm> rForm; uno::Reference<form::XFormComponent> rFormComponent; uno::Reference<lang::XMultiServiceFactory> rServiceFactory; uno::Reference<text::XTextDocument> rTextDocument; - uno::Reference<text::XTextRange> rTextRange; + uno::Reference<drawing::XDrawPage> getDrawPage(); uno::Reference<lang::XMultiServiceFactory> getServiceFactory(); uno::Reference<form::XForm> getForm(); uno::Reference<container::XIndexContainer> getFormComps(); }; +uno::Reference<drawing::XDrawPage> FormControlHelper::FormControlHelper_Impl::getDrawPage() +{ + if (! rDrawPage.is()) + { + uno::Reference<drawing::XDrawPageSupplier> + xDrawPageSupplier(rTextDocument, uno::UNO_QUERY); + if (xDrawPageSupplier.is()) + rDrawPage = xDrawPageSupplier->getDrawPage(); + } + + return rDrawPage; +} + uno::Reference<lang::XMultiServiceFactory> FormControlHelper::FormControlHelper_Impl::getServiceFactory() { if (! rServiceFactory.is()) @@ -71,10 +88,43 @@ uno::Reference<form::XForm> FormControlHelper::FormControlHelper_Impl::getForm() { if (! rForm.is()) { - uno::Reference<uno::XInterface> - xRef(getServiceFactory()->createInstance - (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.Form")))); - rForm = uno::Reference<form::XForm>(xRef, uno::UNO_QUERY); + uno::Reference<form::XFormsSupplier> xFormsSupplier(getDrawPage(), uno::UNO_QUERY); + + if (xFormsSupplier.is()) + { + uno::Reference<container::XNameContainer> xFormsNamedContainer(xFormsSupplier->getForms()); + static ::rtl::OUString sDOCXForm(RTL_CONSTASCII_USTRINGPARAM("DOCX-Standard")); + + ::rtl::OUString sFormName(sDOCXForm); + sal_uInt16 nUnique = 0; + + while (xFormsNamedContainer->hasByName(sFormName)) + { + ++nUnique; + sFormName = sDOCXForm; + sFormName += ::rtl::OUString::valueOf(nUnique); + } + + uno::Reference<uno::XInterface> + xForm(getServiceFactory()->createInstance + (::rtl::OUString + (RTL_CONSTASCII_USTRINGPARAM + ("com.sun.star.form.component.Form")))); + if (xForm.is()) + { + uno::Reference<beans::XPropertySet> + xFormProperties(xForm, uno::UNO_QUERY); + uno::Any aAny(&sFormName, ::getCppuType((::rtl::OUString *) 0)); + static ::rtl::OUString sName(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Name"))); + xFormProperties->setPropertyValue(sName, aAny); + } + + rForm = uno::Reference<form::XForm>(xForm, uno::UNO_QUERY); + + uno::Reference<container::XIndexContainer> xForms(xFormsNamedContainer, uno::UNO_QUERY); + uno::Any aAny(&xForm, ::getCppuType((uno::Reference<form::XForm>*)0)); + xForms->insertByIndex(xForms->getCount(), aAny); + } } return rForm; @@ -145,7 +195,7 @@ bool FormControlHelper::createCheckbox() return true; } -bool FormControlHelper::insertControl() +bool FormControlHelper::insertControl(uno::Reference<text::XTextRange> xTextRange) { bool bCreated = false; @@ -199,7 +249,7 @@ bool FormControlHelper::insertControl() aAny <<= nTmp; xShapeProps->setPropertyValue(sVertOrient, aAny); - aAny <<= m_pImpl->rTextRange; + aAny <<= xTextRange; static const ::rtl::OUString sTextRange(RTL_CONSTASCII_USTRINGPARAM("TextRange")); xShapeProps->setPropertyValue(sTextRange, aAny); diff --git a/writerfilter/source/dmapper/FormControlHelper.hxx b/writerfilter/source/dmapper/FormControlHelper.hxx index 7f6a72fb553f..be54be989c1a 100644 --- a/writerfilter/source/dmapper/FormControlHelper.hxx +++ b/writerfilter/source/dmapper/FormControlHelper.hxx @@ -46,7 +46,7 @@ public: FFDataHandler::Pointer_t pFFData); ~FormControlHelper(); - bool insertControl(); + bool insertControl(uno::Reference<text::XTextRange> xTextRange); private: FFDataHandler::Pointer_t m_pFFData; -- cgit From e365d2f280bd4f93d03de4f2c0b834fdfcbca29d Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 22 Mar 2010 13:46:48 +0100 Subject: writerfilter08: FormCheckBox inserted, but size needs work --- writerfilter/source/dmapper/FormControlHelper.cxx | 69 +++++++++++++++++++---- writerfilter/source/dmapper/FormControlHelper.hxx | 3 +- 2 files changed, 59 insertions(+), 13 deletions(-) diff --git a/writerfilter/source/dmapper/FormControlHelper.cxx b/writerfilter/source/dmapper/FormControlHelper.cxx index 50ce8f20d53a..04ce7cc91d8a 100644 --- a/writerfilter/source/dmapper/FormControlHelper.cxx +++ b/writerfilter/source/dmapper/FormControlHelper.cxx @@ -25,6 +25,8 @@ * ************************************************************************/ +#include <math.h> + #include <com/sun/star/awt/XControlModel.hpp> #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/container/XIndexContainer.hpp> @@ -114,7 +116,7 @@ uno::Reference<form::XForm> FormControlHelper::FormControlHelper_Impl::getForm() { uno::Reference<beans::XPropertySet> xFormProperties(xForm, uno::UNO_QUERY); - uno::Any aAny(&sFormName, ::getCppuType((::rtl::OUString *) 0)); + uno::Any aAny(sFormName); static ::rtl::OUString sName(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Name"))); xFormProperties->setPropertyValue(sName, aAny); } @@ -122,7 +124,7 @@ uno::Reference<form::XForm> FormControlHelper::FormControlHelper_Impl::getForm() rForm = uno::Reference<form::XForm>(xForm, uno::UNO_QUERY); uno::Reference<container::XIndexContainer> xForms(xFormsNamedContainer, uno::UNO_QUERY); - uno::Any aAny(&xForm, ::getCppuType((uno::Reference<form::XForm>*)0)); + uno::Any aAny(xForm); xForms->insertByIndex(xForms->getCount(), aAny); } } @@ -150,7 +152,8 @@ FormControlHelper::~FormControlHelper() { } -bool FormControlHelper::createCheckbox() +bool FormControlHelper::createCheckbox(uno::Reference<text::XTextRange> xTextRange, + const ::rtl::OUString & rControlName) { uno::Reference<lang::XMultiServiceFactory> xServiceFactory(m_pImpl->getServiceFactory()); @@ -171,7 +174,25 @@ bool FormControlHelper::createCheckbox() uno::Reference<beans::XPropertySet> xPropSet(xInterface, uno::UNO_QUERY); - m_pImpl->aSize.Width = 16 * m_pFFData->getCheckboxHeight(); + sal_uInt32 nCheckBoxHeight = 16 * m_pFFData->getCheckboxHeight(); + + if (m_pFFData->getCheckboxAutoHeight()) + { + uno::Reference<beans::XPropertySet> xTextRangeProps(xTextRange, uno::UNO_QUERY); + + try + { + static ::rtl::OUString sCharHeight(RTL_CONSTASCII_USTRINGPARAM("CharHeight")); + float fCheckBoxHeight; + xTextRangeProps->getPropertyValue(sCharHeight) >>= fCheckBoxHeight; + nCheckBoxHeight = floor(fCheckBoxHeight * 16); + } + catch (beans::UnknownPropertyException & rException) + { + } + } + + m_pImpl->aSize.Width = nCheckBoxHeight; m_pImpl->aSize.Height = m_pImpl->aSize.Width; uno::Any aAny; @@ -179,7 +200,6 @@ bool FormControlHelper::createCheckbox() { aAny <<= m_pFFData->getStatusText(); - xPropSet->setPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Name")), aAny); xPropSet->setPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HelpText")), aAny); } @@ -192,6 +212,9 @@ bool FormControlHelper::createCheckbox() xPropSet->setPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HelpF1Text")), aAny); } + aAny <<= rControlName; + xPropSet->setPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Name")), aAny); + return true; } @@ -199,10 +222,35 @@ bool FormControlHelper::insertControl(uno::Reference<text::XTextRange> xTextRang { bool bCreated = false; + uno::Reference<container::XNameContainer> xFormCompsByName(m_pImpl->getForm(), uno::UNO_QUERY); + uno::Reference<container::XIndexContainer> xFormComps(m_pImpl->getFormComps()); + if (! xFormComps.is()) + return false; + + static ::rtl::OUString sControl(RTL_CONSTASCII_USTRINGPARAM("Control")); + + sal_Int32 nControl = 0; + bool bDone = false; + ::rtl::OUString sControlName; + + do + { + ::rtl::OUString sTmp(sControl); + sTmp += ::rtl::OUString::valueOf(nControl); + + nControl++; + if (! xFormCompsByName->hasByName(sTmp)) + { + sControlName = sTmp; + bDone = true; + } + } + while (! bDone); + switch (m_pImpl->m_eFieldId) { case FIELD_FORMCHECKBOX: - bCreated = createCheckbox(); + bCreated = createCheckbox(xTextRange, sControlName); break; default: break; @@ -211,12 +259,7 @@ bool FormControlHelper::insertControl(uno::Reference<text::XTextRange> xTextRang if (!bCreated) return false; - uno::Reference<container::XIndexContainer> xFormComps(m_pImpl->getFormComps()); - if (! xFormComps.is()) - return false; - - uno::Any aAny(&m_pImpl->rFormComponent, - ::getCppuType((const uno::Reference<form::XFormComponent >*)0)); + uno::Any aAny(m_pImpl->rFormComponent); xFormComps->insertByIndex(xFormComps->getCount(), aAny); if (! m_pImpl->getServiceFactory().is()) @@ -258,6 +301,8 @@ bool FormControlHelper::insertControl(uno::Reference<text::XTextRange> xTextRang uno::Reference<awt::XControlModel> xControlModel(m_pImpl->rFormComponent, uno::UNO_QUERY); xControlShape->setControl(xControlModel); + m_pImpl->getDrawPage()->add(xShape); + return true; } diff --git a/writerfilter/source/dmapper/FormControlHelper.hxx b/writerfilter/source/dmapper/FormControlHelper.hxx index be54be989c1a..21b50912a039 100644 --- a/writerfilter/source/dmapper/FormControlHelper.hxx +++ b/writerfilter/source/dmapper/FormControlHelper.hxx @@ -54,7 +54,8 @@ private: typedef boost::shared_ptr<FormControlHelper_Impl> ImplPointer_t; ImplPointer_t m_pImpl; - bool createCheckbox(); + bool createCheckbox(uno::Reference<text::XTextRange> xTextRange, + const ::rtl::OUString & rControlName); }; } -- cgit From 7e8e16dae3a72cddd56658f7f6cb77c894aa3fe0 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 24 Mar 2010 11:27:45 +0100 Subject: writerfilter08: corrected size and position of form checkbox --- writerfilter/source/dmapper/FormControlHelper.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/writerfilter/source/dmapper/FormControlHelper.cxx b/writerfilter/source/dmapper/FormControlHelper.cxx index 04ce7cc91d8a..f14da458cea3 100644 --- a/writerfilter/source/dmapper/FormControlHelper.cxx +++ b/writerfilter/source/dmapper/FormControlHelper.cxx @@ -185,7 +185,7 @@ bool FormControlHelper::createCheckbox(uno::Reference<text::XTextRange> xTextRan static ::rtl::OUString sCharHeight(RTL_CONSTASCII_USTRINGPARAM("CharHeight")); float fCheckBoxHeight; xTextRangeProps->getPropertyValue(sCharHeight) >>= fCheckBoxHeight; - nCheckBoxHeight = floor(fCheckBoxHeight * 16); + nCheckBoxHeight = floor(fCheckBoxHeight * 35.3); } catch (beans::UnknownPropertyException & rException) { @@ -288,7 +288,7 @@ bool FormControlHelper::insertControl(uno::Reference<text::XTextRange> xTextRang xShapeProps->setPropertyValue(sAnchorType, aAny); static const ::rtl::OUString sVertOrient(RTL_CONSTASCII_USTRINGPARAM("VertOrient")); - nTmp = text::VertOrientation::TOP; + nTmp = text::VertOrientation::CENTER; aAny <<= nTmp; xShapeProps->setPropertyValue(sVertOrient, aAny); -- cgit From b6f4d0aebbb1642c42edae74b391e6f3576c4c4f Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 26 Apr 2010 14:16:52 +0200 Subject: writerfilter08: handle unused methods in ooxml and dmapper --- writerfilter/inc/resourcemodel/Protocol.hxx | 4 + writerfilter/inc/resourcemodel/TagLogger.hxx | 4 + writerfilter/inc/resourcemodel/util.hxx | 2 + writerfilter/source/dmapper/PropertyMapHelper.cxx | 4 +- writerfilter/source/dmapper/PropertyMapHelper.hxx | 2 + writerfilter/source/dmapper/dmapperLoggers.hxx | 2 + writerfilter/source/doctok/WW8DocumentImpl.cxx | 2 + writerfilter/source/doctok/WW8StreamImpl.cxx | 4 +- writerfilter/source/doctok/doctokLoggers.hxx | 4 +- writerfilter/source/ooxml/OOXMLDocumentImpl.cxx | 4 + .../source/ooxml/OOXMLFastContextHandler.cxx | 161 +-------------------- .../source/ooxml/OOXMLFastContextHandler.hxx | 45 ++---- .../source/ooxml/OOXMLFastDocumentHandler.cxx | 7 - .../source/ooxml/OOXMLFastDocumentHandler.hxx | 2 - writerfilter/source/ooxml/OOXMLFastHelper.hxx | 7 - writerfilter/source/ooxml/OOXMLParserState.cxx | 70 +++------ writerfilter/source/ooxml/OOXMLParserState.hxx | 18 ++- writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx | 22 --- writerfilter/source/ooxml/OOXMLPropertySetImpl.hxx | 9 -- writerfilter/source/ooxml/OOXMLStreamImpl.cxx | 16 -- writerfilter/source/ooxml/OOXMLStreamImpl.hxx | 4 - writerfilter/source/ooxml/ooxmlLoggers.hxx | 3 + writerfilter/source/resourcemodel/Protocol.cxx | 2 + writerfilter/source/resourcemodel/TagLogger.cxx | 2 + writerfilter/source/resourcemodel/util.cxx | 95 ++++++------ 25 files changed, 137 insertions(+), 358 deletions(-) diff --git a/writerfilter/inc/resourcemodel/Protocol.hxx b/writerfilter/inc/resourcemodel/Protocol.hxx index d0405861f695..2f4c9f6261ba 100644 --- a/writerfilter/inc/resourcemodel/Protocol.hxx +++ b/writerfilter/inc/resourcemodel/Protocol.hxx @@ -30,6 +30,8 @@ #ifndef INCLUDE_WRITERFILTER_PROTOCOL_HXX #define INCLUDE_WRITERFILTER_PROTOCOL_HXX +#ifdef DEBUG + #include <boost/shared_ptr.hpp> #include "WW8ResourceModel.hxx" #include "TagLogger.hxx" @@ -95,4 +97,6 @@ public: }; } + +#endif // DEBUG #endif // INCLUDE_WRITERFILTER_PROTOCOL_HXX diff --git a/writerfilter/inc/resourcemodel/TagLogger.hxx b/writerfilter/inc/resourcemodel/TagLogger.hxx index 382a3c16ce8e..387d4e0e156a 100644 --- a/writerfilter/inc/resourcemodel/TagLogger.hxx +++ b/writerfilter/inc/resourcemodel/TagLogger.hxx @@ -28,6 +28,8 @@ #ifndef INCLUDED_TAG_LOGGER_HXX #define INCLUDED_TAG_LOGGER_HXX +#ifdef DEBUG + #include <rtl/ustring.hxx> #include <WriterFilterDllApi.hxx> #include <resourcemodel/WW8ResourceModel.hxx> @@ -146,4 +148,6 @@ namespace writerfilter virtual void sprm(Sprm & sprm); }; } + +#endif // DEBUG #endif // INCLUDED_TAG_LOGGER_HXX diff --git a/writerfilter/inc/resourcemodel/util.hxx b/writerfilter/inc/resourcemodel/util.hxx index 360dfc3d4113..0a700513576a 100644 --- a/writerfilter/inc/resourcemodel/util.hxx +++ b/writerfilter/inc/resourcemodel/util.hxx @@ -39,10 +39,12 @@ namespace writerfilter string WRITERFILTER_DLLPUBLIC xmlify(const string & str); +#ifdef DEBUG string WRITERFILTER_DLLPUBLIC propertysetToString (uno::Reference<beans::XPropertySet> const & rProps); string toString(uno::Reference< text::XTextRange > textRange); string toString(const string & rString); +#endif } #endif // INCLUDED_RESOURCEMODEL_UTIL_HXX diff --git a/writerfilter/source/dmapper/PropertyMapHelper.cxx b/writerfilter/source/dmapper/PropertyMapHelper.cxx index 555003774113..4fb4c759289d 100644 --- a/writerfilter/source/dmapper/PropertyMapHelper.cxx +++ b/writerfilter/source/dmapper/PropertyMapHelper.cxx @@ -32,6 +32,7 @@ #include <resourcemodel/TagLogger.hxx> #include "PropertyMapHelper.hxx" +#ifdef DEBUG namespace writerfilter { namespace dmapper @@ -39,7 +40,7 @@ namespace dmapper using namespace ::com::sun::star; - XMLTag::Pointer_t lcl_TableColumnSeparatorsToTag(const uno::Any & rTableColumnSeparators) +XMLTag::Pointer_t lcl_TableColumnSeparatorsToTag(const uno::Any & rTableColumnSeparators) { uno::Sequence<text::TableColumnSeparator> aSeq; rTableColumnSeparators >>= aSeq; @@ -127,3 +128,4 @@ XMLTag::Pointer_t lcl_PropertyValueSeqSeqToTag(PropertyValueSeqSeq_t rPropValSeq } } +#endif // DEBUG diff --git a/writerfilter/source/dmapper/PropertyMapHelper.hxx b/writerfilter/source/dmapper/PropertyMapHelper.hxx index fc9ea0a85bb4..4a528f1736c0 100644 --- a/writerfilter/source/dmapper/PropertyMapHelper.hxx +++ b/writerfilter/source/dmapper/PropertyMapHelper.hxx @@ -28,6 +28,7 @@ * ************************************************************************/ +#ifdef DEBUG #include "PropertyMap.hxx" #include <com/sun/star/beans/PropertyValues.hpp> @@ -46,3 +47,4 @@ typedef uno::Sequence<PropertyValueSeq_t> PropertyValueSeqSeq_t; XMLTag::Pointer_t lcl_PropertyValueSeqSeqToTag(PropertyValueSeqSeq_t & rPropValSeqSeq); } } +#endif // DEBUG diff --git a/writerfilter/source/dmapper/dmapperLoggers.hxx b/writerfilter/source/dmapper/dmapperLoggers.hxx index a19ff4832370..fd9ed722de4a 100644 --- a/writerfilter/source/dmapper/dmapperLoggers.hxx +++ b/writerfilter/source/dmapper/dmapperLoggers.hxx @@ -31,6 +31,7 @@ #ifndef INCLUDED_DMAPPER_LOGGERS_HXX #define INCLUDED_DMAPPER_LOGGERS_HXX +#ifdef DEBUG #include <resourcemodel/TagLogger.hxx> namespace writerfilter { @@ -38,4 +39,5 @@ namespace writerfilter { extern TagLogger::Pointer_t dmapper_logger; } } +#endif // DEBUG #endif // INCLUDED_DMAPPER_LOGGERS_HXX diff --git a/writerfilter/source/doctok/WW8DocumentImpl.cxx b/writerfilter/source/doctok/WW8DocumentImpl.cxx index cda79dad1cdf..256a0766b66c 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.cxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.cxx @@ -157,6 +157,7 @@ WW8Document::~WW8Document() { } +#ifdef DEBUG class WW8IdToString : public IdToString { public: @@ -173,6 +174,7 @@ public: return s; } }; +#endif WW8DocumentImpl::~WW8DocumentImpl() { diff --git a/writerfilter/source/doctok/WW8StreamImpl.cxx b/writerfilter/source/doctok/WW8StreamImpl.cxx index 4418839919d4..585673bfa887 100644 --- a/writerfilter/source/doctok/WW8StreamImpl.cxx +++ b/writerfilter/source/doctok/WW8StreamImpl.cxx @@ -39,7 +39,9 @@ namespace doctok { using namespace ::com::sun::star; - TagLogger::Pointer_t debug_logger(TagLogger::getInstance("DEBUG")); +#ifdef DEBUG +TagLogger::Pointer_t debug_logger(TagLogger::getInstance("DEBUG")); +#endif WW8Stream::~WW8Stream() { diff --git a/writerfilter/source/doctok/doctokLoggers.hxx b/writerfilter/source/doctok/doctokLoggers.hxx index 8df90348a249..b7dc7e0aa48f 100644 --- a/writerfilter/source/doctok/doctokLoggers.hxx +++ b/writerfilter/source/doctok/doctokLoggers.hxx @@ -28,6 +28,8 @@ #ifndef INCLUDED_DOCTOK_LOGGERS_HXX #define INCLUDED_DOCTOK_LOGGERS_HXX +#ifdef DEBUG + #include <resourcemodel/TagLogger.hxx> namespace writerfilter { @@ -36,5 +38,5 @@ namespace writerfilter { } } - +#endif // DEBUG #endif // INCLUDED_DOCTOK_LOGGERS_HXX diff --git a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx index 90c878e3b8e2..87319b596ac0 100644 --- a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx +++ b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx @@ -42,7 +42,11 @@ using ::com::sun::star::xml::sax::SAXException; namespace writerfilter { namespace ooxml { + +#ifdef DEBUG TagLogger::Pointer_t debug_logger(TagLogger::getInstance("DEBUG")); +#endif + using namespace ::std; OOXMLDocumentImpl::OOXMLDocumentImpl diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx index 51960959d185..eb4e3e026618 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx @@ -100,7 +100,7 @@ static string resourceToString set<OOXMLFastContextHandler *> aSetContexts; - +#ifdef DEBUG class OOXMLIdToString : public IdToString { public: @@ -119,6 +119,7 @@ public: return s; } }; +#endif /* class OOXMLFastContextHandler @@ -136,8 +137,7 @@ OOXMLFastContextHandler::OOXMLFastContextHandler mnTableDepth(0), mnInstanceNumber(mnInstanceCount), mnRefCount(0), - m_xContext(context), - mbFallback(false) + m_xContext(context) { mnInstanceCount++; aSetContexts.insert(this); @@ -157,8 +157,7 @@ OOXMLFastContextHandler::OOXMLFastContextHandler mnTableDepth(0), mnInstanceNumber(mnInstanceCount), mnRefCount(0), - m_xContext(pContext->m_xContext), - mbFallback(false) + m_xContext(pContext->m_xContext) { if (pContext != NULL) { @@ -181,29 +180,6 @@ OOXMLFastContextHandler::~OOXMLFastContextHandler() aSetContexts.erase(this); } -void OOXMLFastContextHandler::dumpOpenContexts() -{ - debug_logger->startElement("open-contexts"); - XMLTag aTag("open-contexts"); - - set<OOXMLFastContextHandler *>::iterator aIt(aSetContexts.begin()); - while (aIt != aSetContexts.end()) - { - debug_logger->startElement("open-context"); - debug_logger->addTag((*aIt)->toTag()); - debug_logger->endElement("open-context"); - - aIt++; - } - - static char buffer[256]; - snprintf(buffer, sizeof(buffer), "%" SAL_PRI_SIZET "u", - aSetContexts.size()); - - debug_logger->attribute("count", buffer); - debug_logger->endElement("open-contexts"); -} - #ifdef DEBUG_MEMORY void SAL_CALL OOXMLFastContextHandler::acquire() throw () @@ -231,11 +207,6 @@ void SAL_CALL OOXMLFastContextHandler::release() } #endif -sal_uInt32 OOXMLFastContextHandler::getInstanceNumber() const -{ - return mnInstanceNumber; -} - // ::com::sun::star::xml::sax::XFastContextHandler: void SAL_CALL OOXMLFastContextHandler::startFastElement (Token_t Element, @@ -465,6 +436,7 @@ void OOXMLFastContextHandler::lcl_endAction(Token_t Element) OOXMLFactory::getInstance()->endAction(this, Element); } +#ifdef DEBUG XMLTag::Pointer_t OOXMLFastContextHandler::toPropertiesTag (OOXMLPropertySet::Pointer_t pProps) { @@ -514,6 +486,7 @@ string OOXMLFastContextHandler::toString() const { return toTag()->toString(); } +#endif string OOXMLFastContextHandler::getResourceString() const { @@ -551,16 +524,6 @@ Id OOXMLFastContextHandler::getDefine() const return mnDefine; } -void OOXMLFastContextHandler::setFallback(bool bFallback) -{ - mbFallback = bFallback; -} - -bool OOXMLFastContextHandler::isFallback() const -{ - return mbFallback; -} - OOXMLParserState::Pointer_t OOXMLFastContextHandler::getParserState() const { return mpParserState; @@ -1032,26 +995,6 @@ void OOXMLFastContextHandler::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 @@ -1109,11 +1052,6 @@ void OOXMLFastContextHandler::setDefaultStringValue() { } -const ::rtl::OUString & OOXMLFastContextHandler::getText() const -{ - return aEmptyStr; -} - void OOXMLFastContextHandler::setDocument(OOXMLDocument * pDocument) { mpParserState->setDocument(pDocument); @@ -1297,19 +1235,6 @@ OOXMLFastContextHandler::getComponentContext() return m_xContext; } -/* - class OOXMLFastContextHandlerNoResource - */ -OOXMLFastContextHandlerNoResource::OOXMLFastContextHandlerNoResource -(OOXMLFastContextHandler * pContext) -: OOXMLFastContextHandler(pContext) -{ -} - -OOXMLFastContextHandlerNoResource::~OOXMLFastContextHandlerNoResource() -{ -} - /* class OOXMLFastContextHandlerStream */ @@ -1354,12 +1279,6 @@ void OOXMLFastContextHandlerStream::sendProperty(Id nId) sText.getLength()); } -void OOXMLFastContextHandlerStream::setPropertySetAttrs -(OOXMLPropertySet::Pointer_t pPropertySetAttrs) -{ - mpPropertySetAttrs = pPropertySetAttrs; -} - OOXMLPropertySet::Pointer_t OOXMLFastContextHandlerStream::getPropertySetAttrs() const { @@ -1441,6 +1360,7 @@ OOXMLValue::Pointer_t OOXMLFastContextHandlerProperties::getValue() const return OOXMLValue::Pointer_t(new OOXMLPropertySetValue(mpPropertySet)); } +#ifdef DEBUG XMLTag::Pointer_t OOXMLFastContextHandlerProperties::toTag() const { XMLTag::Pointer_t pTag(OOXMLFastContextHandler::toTag()); @@ -1448,6 +1368,7 @@ XMLTag::Pointer_t OOXMLFastContextHandlerProperties::toTag() const return pTag; } +#endif void OOXMLFastContextHandlerProperties::newProperty (const Id & rId, OOXMLValue::Pointer_t pVal) @@ -1982,72 +1903,6 @@ void OOXMLFastContextHandlerTextTable::lcl_endFastElement class OOXMLFastContextHandlerShape */ -class ShapesNoAdd: - public ::cppu::WeakImplHelper1< - drawing::XShapes> -{ -public: - explicit ShapesNoAdd(uno::Reference< uno::XComponentContext > const & context, uno::Reference< drawing::XShapes> const & xShapes); - -private: - // container::XElementAccess: - virtual uno::Type SAL_CALL getElementType() throw (uno::RuntimeException); - virtual ::sal_Bool SAL_CALL hasElements() throw (uno::RuntimeException); - - // container::XIndexAccess: - virtual ::sal_Int32 SAL_CALL getCount() throw (uno::RuntimeException); - virtual uno::Any SAL_CALL getByIndex(::sal_Int32 Index) throw (uno::RuntimeException, lang::IndexOutOfBoundsException, lang::WrappedTargetException); - - // drawing::XShapes: - virtual void SAL_CALL add(const uno::Reference< drawing::XShape > & xShape) throw (uno::RuntimeException); - virtual void SAL_CALL remove(const uno::Reference< drawing::XShape > & xShape) throw (uno::RuntimeException); - - ShapesNoAdd(ShapesNoAdd &); // not defined - void operator =(ShapesNoAdd &); // not defined - - virtual ~ShapesNoAdd() {} - - uno::Reference< uno::XComponentContext > m_xContext; - uno::Reference< drawing::XShapes > m_xShapes; -}; - -ShapesNoAdd::ShapesNoAdd(uno::Reference< uno::XComponentContext > const & context, uno::Reference< drawing::XShapes> const & xShapes) : -m_xContext(context), m_xShapes(xShapes) -{} - -// container::XElementAccess: -uno::Type SAL_CALL ShapesNoAdd::getElementType() throw (uno::RuntimeException) -{ - return m_xShapes->getElementType(); -} - -::sal_Bool SAL_CALL ShapesNoAdd::hasElements() throw (uno::RuntimeException) -{ - return m_xShapes->hasElements(); -} - -// container::XIndexAccess: -::sal_Int32 SAL_CALL ShapesNoAdd::getCount() throw (uno::RuntimeException) -{ - return m_xShapes->getCount(); -} - -uno::Any SAL_CALL ShapesNoAdd::getByIndex(::sal_Int32 Index) throw (uno::RuntimeException, lang::IndexOutOfBoundsException, lang::WrappedTargetException) -{ - return m_xShapes->getByIndex(Index); -} - -// drawing::XShapes: -void SAL_CALL ShapesNoAdd::add(const uno::Reference< drawing::XShape > & - ) throw (uno::RuntimeException) -{ -} - -void SAL_CALL ShapesNoAdd::remove(const uno::Reference< drawing::XShape > & xShape) throw (uno::RuntimeException) -{ - m_xShapes->remove(xShape); -} - OOXMLFastContextHandlerShape::OOXMLFastContextHandlerShape (OOXMLFastContextHandler * pContext) : OOXMLFastContextHandlerProperties(pContext), m_bShapeSent( false ), diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx index b67f86fda3e7..0c441f62a180 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx @@ -132,10 +132,6 @@ public: virtual ResourceEnum_t getResource() const { return STREAM; } - static XMLTag::Pointer_t toPropertiesTag(OOXMLPropertySet::Pointer_t); - virtual XMLTag::Pointer_t toTag() const; - virtual string toString() const; - virtual void attributes (const uno::Reference< xml::sax::XFastAttributeList > & Attribs) throw (uno::RuntimeException, xml::sax::SAXException); @@ -179,18 +175,9 @@ public: void setDefine(Id nDefine); Id getDefine() const; - void setFallback(bool bFallbac); - bool isFallback() const; OOXMLParserState::Pointer_t getParserState() const; -#ifdef DEBUG_MEMORY - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); -#endif - - sal_uInt32 getInstanceNumber() const; - void sendTableDepth() const; void setHandle(); @@ -227,8 +214,6 @@ public: void sendCellProperties(); void sendRowProperties(); void sendTableProperties(); - void clearCellProps(); - void clearRowProps(); void clearTableProps(); void clearProps(); @@ -237,10 +222,18 @@ public: virtual void setDefaultHexValue(); virtual void setDefaultStringValue(); - const ::rtl::OUString & getText() const; - void sendPropertyToParent(); - static void dumpOpenContexts(); + +#ifdef DEBUG + static XMLTag::Pointer_t toPropertiesTag(OOXMLPropertySet::Pointer_t); + virtual XMLTag::Pointer_t toTag() const; + virtual string toString() const; +#endif + +#ifdef DEBUG_MEMORY + virtual void SAL_CALL acquire() throw(); + virtual void SAL_CALL release() throw(); +#endif protected: OOXMLFastContextHandler * mpParent; @@ -302,14 +295,6 @@ private: static sal_uInt32 mnInstanceCount; - bool mbFallback; -}; - -class OOXMLFastContextHandlerNoResource : public OOXMLFastContextHandler -{ -public: - OOXMLFastContextHandlerNoResource(OOXMLFastContextHandler * pContext); - virtual ~OOXMLFastContextHandlerNoResource(); }; class OOXMLFastContextHandlerStream : public OOXMLFastContextHandler @@ -329,10 +314,10 @@ public: void handleHyperlink(); protected: - void setPropertySetAttrs(OOXMLPropertySet::Pointer_t pPropertySetAttrs); virtual void resolvePropertySetAttrs(); virtual void lcl_characters(const ::rtl::OUString & aChars) throw (uno::RuntimeException, xml::sax::SAXException); + private: mutable OOXMLPropertySet::Pointer_t mpPropertySetAttrs; }; @@ -346,8 +331,6 @@ public: virtual OOXMLValue::Pointer_t getValue() const; virtual ResourceEnum_t getResource() const { return PROPERTIES; } - virtual XMLTag::Pointer_t toTag() const; - virtual void newProperty(const Id & nId, OOXMLValue::Pointer_t pVal); void handleXNotes(); @@ -360,6 +343,10 @@ public: virtual void setPropertySet(OOXMLPropertySet::Pointer_t pPropertySet); virtual OOXMLPropertySet::Pointer_t getPropertySet() const; +#ifdef DEBUG + virtual XMLTag::Pointer_t toTag() const; +#endif + protected: /// the properties OOXMLPropertySet::Pointer_t mpPropertySet; diff --git a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx index f4feddf341ac..0536590145f8 100644 --- a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx @@ -152,13 +152,6 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL return OOXMLFactory::getInstance()->createFastChildContextFromStart(getContextHandler().get(), Element); } -OOXMLParserState::Pointer_t OOXMLFastDocumentHandler::getParserState() const -{ - OOXMLParserState::Pointer_t pParserState; - - return getContextHandler()->getParserState(); -} - uno::Reference< xml::sax::XFastContextHandler > SAL_CALL OOXMLFastDocumentHandler::createUnknownChildContext (const ::rtl::OUString & diff --git a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx index 86f835c5c0a4..2fb6ee5e6abb 100644 --- a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx +++ b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx @@ -95,8 +95,6 @@ public: void setDocument(OOXMLDocument * pDocument); void setXNoteId(const ::rtl::OUString & rXNoteId); - OOXMLParserState::Pointer_t getParserState() const; - private: OOXMLFastDocumentHandler(OOXMLFastDocumentHandler &); // not defined void operator =(OOXMLFastDocumentHandler &); // not defined diff --git a/writerfilter/source/ooxml/OOXMLFastHelper.hxx b/writerfilter/source/ooxml/OOXMLFastHelper.hxx index 2d21083487ff..5d4587922a54 100644 --- a/writerfilter/source/ooxml/OOXMLFastHelper.hxx +++ b/writerfilter/source/ooxml/OOXMLFastHelper.hxx @@ -84,8 +84,6 @@ OOXMLFastHelper<T>::createAndSetParent debug_logger->attribute("context", pHandler->getType()); debug_logger->attribute("token", fastTokenToId(pTmp->getToken())); debug_logger->attribute("id", (*QNameToString::Instance())(nId)); - if (pTmp->isFallback()) - debug_logger->attribute("fallback", "yes"); debug_logger->startElement("created"); debug_logger->addTag(pTmp->toTag()); @@ -119,8 +117,6 @@ OOXMLFastHelper<T>::createAndSetParentAndDefine 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()); @@ -158,9 +154,6 @@ OOXMLFastHelper<T>::createAndSetParentRef debug_logger->attribute("context", pHandler->getType()); debug_logger->attribute("type", fastTokenToId(nToken)); - if (pTmp->isFallback()) - debug_logger->attribute("fallback", "yes"); - debug_logger->startElement("created"); debug_logger->chars(pTmp->getType()); debug_logger->endElement("created"); diff --git a/writerfilter/source/ooxml/OOXMLParserState.cxx b/writerfilter/source/ooxml/OOXMLParserState.cxx index e38593777a55..fb347d02048e 100644 --- a/writerfilter/source/ooxml/OOXMLParserState.cxx +++ b/writerfilter/source/ooxml/OOXMLParserState.cxx @@ -103,11 +103,6 @@ bool OOXMLParserState::isForwardEvents() const return mbForwardEvents; } -void OOXMLParserState::incContextCount() -{ - mnContexts++; -} - const string OOXMLParserState::getHandle() const { char sBuffer[256]; @@ -122,11 +117,6 @@ void OOXMLParserState::setHandle() mnHandle = mnContexts; } -unsigned int OOXMLParserState::getContextCount() const -{ - return mnContexts; -} - void OOXMLParserState::setDocument(OOXMLDocument * pDocument) { mpDocument = pDocument; @@ -147,44 +137,11 @@ const rtl::OUString & OOXMLParserState::getXNoteId() const return mpDocument->getXNoteId(); } -void OOXMLParserState::setXNoteType(const Id & rId) -{ - mpDocument->setXNoteType(rId); -} - -const Id & OOXMLParserState::getXNoteType() const -{ - return mpDocument->getXNoteType(); -} - const ::rtl::OUString & OOXMLParserState::getTarget() const { return mpDocument->getTarget(); } -void OOXMLParserState::newCharacterProperty(const Id & rId, - OOXMLValue::Pointer_t pVal) -{ - if (rId != 0x0) - { - if (mpCharacterProps.get() == NULL) - mpCharacterProps = - OOXMLPropertySet::Pointer_t(new OOXMLPropertySetImpl()); - - OOXMLPropertyImpl::Pointer_t pProperty - (new OOXMLPropertyImpl(rId, pVal, OOXMLPropertyImpl::ATTRIBUTE)); - -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("<newCharacterProperty"); - debug_logger->chars(pProperty->toString()); - debug_logger->endElement("newCharacterProperty"); -#endif - - mpCharacterProps->add(pProperty); - } - -} - void OOXMLParserState::resolveCharacterProperties(Stream & rStream) { if (mpCharacterProps.get() != NULL) @@ -202,11 +159,6 @@ void OOXMLParserState::resolveCharacterProperties(Stream & rStream) } } -OOXMLPropertySet::Pointer_t OOXMLParserState::getCharacterProperties() const -{ - return mpCharacterProps; -} - void OOXMLParserState::setCharacterProperties (OOXMLPropertySet::Pointer_t pProps) { @@ -317,6 +269,22 @@ void OOXMLParserState::endTable() mTableProps.pop(); } +void OOXMLParserState::incContextCount() +{ + mnContexts++; +} + +#ifdef DEBUG +unsigned int OOXMLParserState::getContextCount() const +{ + return mnContexts; +} + +string OOXMLParserState::toString() const +{ + return toTag()->toString(); +} + XMLTag::Pointer_t OOXMLParserState::toTag() const { XMLTag::Pointer_t pTag(new XMLTag("parserstate")); @@ -352,10 +320,6 @@ XMLTag::Pointer_t OOXMLParserState::toTag() const return pTag; } - -string OOXMLParserState::toString() const -{ - return toTag()->toString(); -} +#endif }} diff --git a/writerfilter/source/ooxml/OOXMLParserState.hxx b/writerfilter/source/ooxml/OOXMLParserState.hxx index affdd7dbe61c..2dd118a5b96b 100644 --- a/writerfilter/source/ooxml/OOXMLParserState.hxx +++ b/writerfilter/source/ooxml/OOXMLParserState.hxx @@ -29,9 +29,12 @@ #include <stack> #include <ooxml/OOXMLDocument.hxx> -#include <resourcemodel/TagLogger.hxx> #include "OOXMLPropertySetImpl.hxx" +#ifdef DEBUG +#include <resourcemodel/TagLogger.hxx> +#endif + namespace writerfilter { namespace ooxml { @@ -76,24 +79,18 @@ public: void setForwardEvents(bool bForwardEvents); bool isForwardEvents() const; - void incContextCount(); const string getHandle() const; void setHandle(); - unsigned int getContextCount() const; void setDocument(OOXMLDocument * pDocument); OOXMLDocument * getDocument() const; void setXNoteId(const rtl::OUString & rId); const rtl::OUString & getXNoteId() const; - void setXNoteType(const Id & rId); - const Id & getXNoteType() const; const rtl::OUString & getTarget() const; - void newCharacterProperty(const Id & rId, OOXMLValue::Pointer_t pVal); 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); @@ -105,8 +102,15 @@ public: void startTable(); void endTable(); + void incContextCount(); + +#ifdef DEBUG +public: + unsigned int getContextCount() const; string toString() const; XMLTag::Pointer_t toTag() const; +#endif + }; }} diff --git a/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx b/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx index 2f8844f1af01..f106972b23c0 100644 --- a/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx +++ b/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx @@ -198,10 +198,6 @@ OOXMLValue::OOXMLValue() { } -OOXMLValue::OOXMLValue(const rtl::OUString & /*rValue*/) -{ -} - OOXMLValue::~OOXMLValue() { } @@ -658,24 +654,6 @@ string OOXMLHexValue::toString() const return buffer; } -/* - class OOXMLListValue -*/ -OOXMLListValue::OOXMLListValue() -: OOXMLIntegerValue(0) -{ -} - -OOXMLListValue::OOXMLListValue(sal_Int32 nValue) -: OOXMLIntegerValue(nValue) -{ -} - - -OOXMLListValue::~OOXMLListValue() -{ -} - /* class OOXMLShapeValue */ diff --git a/writerfilter/source/ooxml/OOXMLPropertySetImpl.hxx b/writerfilter/source/ooxml/OOXMLPropertySetImpl.hxx index 78c39b79d515..a04fc5f5d1af 100644 --- a/writerfilter/source/ooxml/OOXMLPropertySetImpl.hxx +++ b/writerfilter/source/ooxml/OOXMLPropertySetImpl.hxx @@ -48,7 +48,6 @@ class OOXMLValue : public Value { public: typedef boost::shared_ptr<OOXMLValue> Pointer_t; - OOXMLValue(const rtl::OUString & rValue); OOXMLValue(); virtual ~OOXMLValue(); @@ -222,14 +221,6 @@ public: virtual OOXMLValue * clone() const; }; -class OOXMLListValue : public OOXMLIntegerValue -{ -public: - OOXMLListValue(); - OOXMLListValue(sal_Int32 nValue); - virtual ~OOXMLListValue(); -}; - class OOXMLShapeValue : public OOXMLValue { protected: diff --git a/writerfilter/source/ooxml/OOXMLStreamImpl.cxx b/writerfilter/source/ooxml/OOXMLStreamImpl.cxx index 91188eeda701..8b879f4b0aec 100644 --- a/writerfilter/source/ooxml/OOXMLStreamImpl.cxx +++ b/writerfilter/source/ooxml/OOXMLStreamImpl.cxx @@ -68,22 +68,6 @@ OOXMLStreamImpl::OOXMLStreamImpl init(); } -OOXMLStreamImpl::OOXMLStreamImpl -(uno::Reference<uno::XComponentContext> xContext, - uno::Reference<io::XInputStream> xStorageStream, const rtl::OUString & rId) -: mxContext(xContext), - mxStorageStream(xStorageStream), - mnStreamType(UNKNOWN), - msId(rId) -{ - mxStorage.set - (comphelper::OStorageHelper::GetStorageOfFormatFromInputStream - (OFOPXML_STORAGE_FORMAT_STRING, mxStorageStream)); - mxRelationshipAccess.set(mxStorage, uno::UNO_QUERY_THROW); - - init(); -} - OOXMLStreamImpl::OOXMLStreamImpl (OOXMLStreamImpl & rOOXMLStream, const rtl::OUString & rId) : mxContext(rOOXMLStream.mxContext), diff --git a/writerfilter/source/ooxml/OOXMLStreamImpl.hxx b/writerfilter/source/ooxml/OOXMLStreamImpl.hxx index 64682fab250c..15409fe8ae2a 100644 --- a/writerfilter/source/ooxml/OOXMLStreamImpl.hxx +++ b/writerfilter/source/ooxml/OOXMLStreamImpl.hxx @@ -71,10 +71,6 @@ public: uno::Reference<io::XInputStream> xStorageStream, StreamType_t nType); OOXMLStreamImpl(OOXMLStreamImpl & rStream, const rtl::OUString & rId); - OOXMLStreamImpl - (uno::Reference<uno::XComponentContext> xContext, - uno::Reference<io::XInputStream> xStorageStream, - const rtl::OUString & rId); virtual ~OOXMLStreamImpl(); diff --git a/writerfilter/source/ooxml/ooxmlLoggers.hxx b/writerfilter/source/ooxml/ooxmlLoggers.hxx index b58a41bdabcd..54191244b968 100644 --- a/writerfilter/source/ooxml/ooxmlLoggers.hxx +++ b/writerfilter/source/ooxml/ooxmlLoggers.hxx @@ -28,6 +28,8 @@ #ifndef INCLUDED_OOXML_LOGGERS_HXX #define INCLUDED_OOXML_LOGGERS_HXX +#ifdef DEBUG + #include <resourcemodel/TagLogger.hxx> namespace writerfilter { @@ -35,4 +37,5 @@ namespace writerfilter { extern TagLogger::Pointer_t debug_logger; } } +#endif #endif // INCLUDED_OOXML_LOGGERS_HXX diff --git a/writerfilter/source/resourcemodel/Protocol.cxx b/writerfilter/source/resourcemodel/Protocol.cxx index 7ae3c06f2675..51d12eb4f2d6 100644 --- a/writerfilter/source/resourcemodel/Protocol.cxx +++ b/writerfilter/source/resourcemodel/Protocol.cxx @@ -28,6 +28,7 @@ * ************************************************************************/ +#ifdef DEBUG #include <stdio.h> #include <rtl/ustrbuf.hxx> #include <resourcemodel/Protocol.hxx> @@ -214,3 +215,4 @@ void TableProtocol::entry(int pos, } } +#endif // DEBUG diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index bee3c0b7b39a..fa61d7635efb 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -25,6 +25,7 @@ * ************************************************************************/ +#ifdef DEBUG #include <fstream> #include <string.h> #include <resourcemodel/TagLogger.hxx> @@ -365,3 +366,4 @@ namespace writerfilter } +#endif // DEBUG diff --git a/writerfilter/source/resourcemodel/util.cxx b/writerfilter/source/resourcemodel/util.cxx index 47d325654d5b..3d041d18c126 100644 --- a/writerfilter/source/resourcemodel/util.cxx +++ b/writerfilter/source/resourcemodel/util.cxx @@ -64,6 +64,37 @@ void logger(string prefix, string message) logger_stream().flush(); } + string xmlify(const string & str) + { + string result = ""; + char sBuffer[16]; + + for (string::const_iterator aIt = str.begin(); aIt != str.end(); ++aIt) + { + char c = *aIt; + + if (isprint(c) && c != '\"') + { + if (c == '<') + result += "<"; + else if (c == '>') + result += ">"; + else if (c == '&') + result += "&"; + else + result += c; + } + else + { + snprintf(sBuffer, sizeof(sBuffer), "\\%03d", c); + result += sBuffer; + } + } + + return result; + } + +#ifdef DEBUG string propertysetToString(uno::Reference<beans::XPropertySet> const & xPropSet) { string sResult; @@ -368,57 +399,29 @@ string propertysetToString(uno::Reference<beans::XPropertySet> const & xPropSet) return sResult; } - string xmlify(const string & str) - { - string result = ""; - char sBuffer[16]; - - for (string::const_iterator aIt = str.begin(); aIt != str.end(); ++aIt) - { - char c = *aIt; - - if (isprint(c) && c != '\"') - { - if (c == '<') - result += "<"; - else if (c == '>') - result += ">"; - else if (c == '&') - result += "&"; - else - result += c; - } - else - { - snprintf(sBuffer, sizeof(sBuffer), "\\%03d", c); - result += sBuffer; - } - } - return result; - } +string toString(uno::Reference< text::XTextRange > textRange) +{ + string result; - string toString(uno::Reference< text::XTextRange > textRange) + if (textRange.get()) { - 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)"; - } + rtl::OUString aOUStr = textRange->getString(); + rtl::OString aOStr(aOUStr.getStr(), aOUStr.getLength(), RTL_TEXTENCODING_ASCII_US ); - return result; + result = aOStr.getStr(); } - - string toString(const string & rString) + else { - return rString; + result="(nil)"; } + + return result; +} + +string toString(const string & rString) +{ + return rString; +} +#endif } -- cgit From f799d8944cafe6aceb48ea71e711c91a0cc98b16 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 28 Apr 2010 17:50:42 +0200 Subject: writerfilter08: removed unused functions from reourcemodel.[hc]xx --- writerfilter/source/resourcemodel/resourcemodel.cxx | 6 ------ writerfilter/source/resourcemodel/resourcemodel.hxx | 2 -- 2 files changed, 8 deletions(-) diff --git a/writerfilter/source/resourcemodel/resourcemodel.cxx b/writerfilter/source/resourcemodel/resourcemodel.cxx index 9b45834c5ce3..096792c76b8e 100644 --- a/writerfilter/source/resourcemodel/resourcemodel.cxx +++ b/writerfilter/source/resourcemodel/resourcemodel.cxx @@ -481,12 +481,6 @@ void WW8PropertiesHandler::attribute(Id name, Value & val) output.addItem("</attribute>"); } -bool WW8PropertiesHandler::compare(SprmSharedPointer_t sprm1, - SprmSharedPointer_t sprm2) -{ - return sprm1->getId() < sprm2->getId(); -} - void WW8PropertiesHandler::sprm(Sprm & sprm_) { string tmpStr = "<sprm id=\""; diff --git a/writerfilter/source/resourcemodel/resourcemodel.hxx b/writerfilter/source/resourcemodel/resourcemodel.hxx index b316f4c912f9..9f59e68b9e1f 100644 --- a/writerfilter/source/resourcemodel/resourcemodel.hxx +++ b/writerfilter/source/resourcemodel/resourcemodel.hxx @@ -76,8 +76,6 @@ public: void dumpSprm(SprmSharedPointer_t sprm); void dumpSprms(); - - static bool compare(SprmSharedPointer_t sprm1, SprmSharedPointer_t sprm2); }; class WW8BinaryObjHandler : public BinaryObj -- cgit From e15ab07cb65cdf9e26a30e57a1fa9a676b3cb61f Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 29 Apr 2010 13:36:57 +0200 Subject: writerfilter08: removed unused functions *::calcPayloadSize --- writerfilter/source/doctok/WW8FontTable.cxx | 5 ----- writerfilter/source/doctok/WW8LFOTable.cxx | 7 ------- writerfilter/source/doctok/WW8ListTable.cxx | 5 ----- writerfilter/source/doctok/WW8StyleSheet.cxx | 5 ----- writerfilter/source/doctok/resources.xmi | 12 ++++++++++++ writerfilter/source/doctok/resources.xsl | 10 ++++++---- 6 files changed, 18 insertions(+), 26 deletions(-) diff --git a/writerfilter/source/doctok/WW8FontTable.cxx b/writerfilter/source/doctok/WW8FontTable.cxx index f29d2ea4a343..7391763f347e 100644 --- a/writerfilter/source/doctok/WW8FontTable.cxx +++ b/writerfilter/source/doctok/WW8FontTable.cxx @@ -52,11 +52,6 @@ void WW8FontTable::initPayload() mnPlcfPayloadOffset = nOffset; } -sal_uInt32 WW8FontTable::calcPayloadOffset() -{ - return 0; -} - sal_uInt32 WW8FontTable::getEntryCount() { return entryOffsets.size() - 1; diff --git a/writerfilter/source/doctok/WW8LFOTable.cxx b/writerfilter/source/doctok/WW8LFOTable.cxx index 2164c4887c8b..1197ef7f190d 100644 --- a/writerfilter/source/doctok/WW8LFOTable.cxx +++ b/writerfilter/source/doctok/WW8LFOTable.cxx @@ -62,13 +62,6 @@ void WW8LFOTable::initPayload() payloadOffsets.push_back(nOffsetLFOData); } -sal_uInt32 WW8LFOTable::calcPayloadOffset() -{ - sal_uInt32 nResult = 4 + getEntryCount() * WW8LFO::getSize(); - - return nResult; -} - sal_uInt32 WW8LFOTable::getEntryCount() { return getU32(0); diff --git a/writerfilter/source/doctok/WW8ListTable.cxx b/writerfilter/source/doctok/WW8ListTable.cxx index f70c7740dff2..15ef3039d8da 100644 --- a/writerfilter/source/doctok/WW8ListTable.cxx +++ b/writerfilter/source/doctok/WW8ListTable.cxx @@ -68,11 +68,6 @@ void WW8ListTable::initPayload() entryOffsets.push_back(nOffset); } -sal_uInt32 WW8ListTable::calcPayloadOffset() -{ - return 0; -} - sal_uInt32 WW8ListTable::getEntryCount() { return getU16(0); diff --git a/writerfilter/source/doctok/WW8StyleSheet.cxx b/writerfilter/source/doctok/WW8StyleSheet.cxx index 797554f984e3..3bf08eee430c 100644 --- a/writerfilter/source/doctok/WW8StyleSheet.cxx +++ b/writerfilter/source/doctok/WW8StyleSheet.cxx @@ -46,11 +46,6 @@ void WW8StyleSheet::initPayload() entryOffsets.push_back(nOffset); } -sal_uInt32 WW8StyleSheet::calcPayloadOffset() -{ - return 0; -} - sal_uInt32 WW8StyleSheet::calcSize() { return getCount(); diff --git a/writerfilter/source/doctok/resources.xmi b/writerfilter/source/doctok/resources.xmi index bc3bd81761a5..f07da9641624 100644 --- a/writerfilter/source/doctok/resources.xmi +++ b/writerfilter/source/doctok/resources.xmi @@ -2322,6 +2322,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="plcf"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>rtf:LISTTABLE</UML:TaggedValue.dataValue> @@ -3116,6 +3119,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="plcf"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>rtf:LFOTABLE</UML:TaggedValue.dataValue> @@ -3139,6 +3145,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> + </UML:ModelElement.stereotype> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="plcf"/> </UML:ModelElement.stereotype> @@ -4784,6 +4793,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="plcf"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> + </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute name="size"> <UML:ModelElement.taggedValue> diff --git a/writerfilter/source/doctok/resources.xsl b/writerfilter/source/doctok/resources.xsl index e1fc68ba5323..53cc3861c1cf 100644 --- a/writerfilter/source/doctok/resources.xsl +++ b/writerfilter/source/doctok/resources.xsl @@ -319,13 +319,15 @@ class </xsl:text> sal_uInt32 getEntryOffset(sal_uInt32 nIndex) { return entryOffsets[nIndex]; - } - + }</xsl:text> + <xsl:if test="not(.//UML:Stereotype[@xmi.idref='ww8nopayloadoffset'])"> + <xsl:text> /** Calculate offset for payload. */ - sal_uInt32 calcPayloadOffset(); - + sal_uInt32 calcPayloadOffset();</xsl:text> + </xsl:if> + <xsl:text> /** Set offset for payloads. -- cgit From b2594980cac8ed87984b6609910ffa9cbae30147 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 29 Apr 2010 14:00:02 +0200 Subject: writerfilter08: removed unsed functions *::calcSize --- writerfilter/source/doctok/resources.xmi | 30 ++++++++++++++++++++++++++++++ writerfilter/source/doctok/resources.xsl | 11 ++++++----- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/writerfilter/source/doctok/resources.xmi b/writerfilter/source/doctok/resources.xmi index f07da9641624..8386f68ce59a 100644 --- a/writerfilter/source/doctok/resources.xmi +++ b/writerfilter/source/doctok/resources.xmi @@ -4797,6 +4797,9 @@ <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> </UML:ModelElement.stereotype> <UML:Classifier.feature> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:Attribute name="size"> <UML:ModelElement.taggedValue> <UML:TaggedValue> @@ -22909,6 +22912,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> @@ -32226,6 +32232,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>0xC60D</UML:TaggedValue.dataValue> @@ -38875,6 +38884,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>0xD609</UML:TaggedValue.dataValue> @@ -40206,6 +40218,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>0xD61A</UML:TaggedValue.dataValue> @@ -40270,6 +40285,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>0xD61B</UML:TaggedValue.dataValue> @@ -40334,6 +40352,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>0xD61C</UML:TaggedValue.dataValue> @@ -40398,6 +40419,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>0xD61D</UML:TaggedValue.dataValue> @@ -40462,6 +40486,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>0xD613</UML:TaggedValue.dataValue> @@ -40975,6 +41002,9 @@ <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8sprm"/> </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue>0xd670</UML:TaggedValue.dataValue> diff --git a/writerfilter/source/doctok/resources.xsl b/writerfilter/source/doctok/resources.xsl index 53cc3861c1cf..5ff0efe0edd1 100644 --- a/writerfilter/source/doctok/resources.xsl +++ b/writerfilter/source/doctok/resources.xsl @@ -301,14 +301,15 @@ class </xsl:text> */ static sal_uInt32 getSize() { return </xsl:text> <xsl:value-of select='$size'/> - <xsl:text>; } - + <xsl:text>; }</xsl:text> + <xsl:if test="not(.//UML:Stereotype[@xmi.ref='ww8nocalcsize'])"> + <xsl:text> /** Calculate actual size. */ - sal_uInt32 calcSize(); - - </xsl:text> + sal_uInt32 calcSize(); + </xsl:text> + </xsl:if> <xsl:if test='.//UML:Stereotype[@xmi.idref ="plcf"]'> <xsl:text> /** -- cgit From 3d28a6dfed188e84d4017df6802f0072c9d7dbae Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 29 Apr 2010 14:26:04 +0200 Subject: writerfilter08: removed doctokutil.cxx/util.hxx: not used anymore --- .../source/doctok/WW8ResourceModelImpl.cxx | 1 - writerfilter/source/doctok/WW8StructBase.cxx | 1 - writerfilter/source/doctok/doctokutil.cxx | 53 -------------------- writerfilter/source/doctok/makefile.mk | 1 - writerfilter/source/doctok/util.hxx | 57 ---------------------- 5 files changed, 113 deletions(-) delete mode 100644 writerfilter/source/doctok/doctokutil.cxx delete mode 100644 writerfilter/source/doctok/util.hxx diff --git a/writerfilter/source/doctok/WW8ResourceModelImpl.cxx b/writerfilter/source/doctok/WW8ResourceModelImpl.cxx index a576640905ce..da72435d5efb 100644 --- a/writerfilter/source/doctok/WW8ResourceModelImpl.cxx +++ b/writerfilter/source/doctok/WW8ResourceModelImpl.cxx @@ -27,7 +27,6 @@ #include <WW8ResourceModelImpl.hxx> #include <resources.hxx> -#include <util.hxx> #include <WW8OutputWithDepth.hxx> #include <resourcemodel/TableManager.hxx> #include <rtl/string.hxx> diff --git a/writerfilter/source/doctok/WW8StructBase.cxx b/writerfilter/source/doctok/WW8StructBase.cxx index 7d03e8763c69..746034f4b177 100644 --- a/writerfilter/source/doctok/WW8StructBase.cxx +++ b/writerfilter/source/doctok/WW8StructBase.cxx @@ -26,7 +26,6 @@ ************************************************************************/ #include <WW8StructBase.hxx> -#include <util.hxx> namespace writerfilter { namespace doctok { diff --git a/writerfilter/source/doctok/doctokutil.cxx b/writerfilter/source/doctok/doctokutil.cxx deleted file mode 100644 index 7d94b525550b..000000000000 --- a/writerfilter/source/doctok/doctokutil.cxx +++ /dev/null @@ -1,53 +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. - * - ************************************************************************/ - -#include <util.hxx> - -using namespace ::std; - -namespace writerfilter { -namespace doctok { -void util_assert(bool bTest) -{ - if (! bTest) - clog << "ASSERT!\n" << endl; -} - -void printBytes(ostream & o, const string & str) -{ - unsigned int nCount = str.size(); - for (unsigned int n = 0; n < nCount; ++n) - { - unsigned char c = static_cast<unsigned char>(str[n]); - if (c < 128 && isprint(c)) - o << str[n]; - else - o << "."; - } -} - -}} diff --git a/writerfilter/source/doctok/makefile.mk b/writerfilter/source/doctok/makefile.mk index 6a407a0b91ea..ff03079f2c7a 100644 --- a/writerfilter/source/doctok/makefile.mk +++ b/writerfilter/source/doctok/makefile.mk @@ -58,7 +58,6 @@ SLOFILES= \ $(SLO)$/WW8LFOTable.obj \ $(SLO)$/WW8ListTable.obj \ $(SLO)$/resources.obj \ - $(SLO)$/doctokutil.obj \ $(SLO)$/WW8CpAndFc.obj \ $(SLO)$/WW8StructBase.obj \ $(SLO)$/WW8Clx.obj \ diff --git a/writerfilter/source/doctok/util.hxx b/writerfilter/source/doctok/util.hxx deleted file mode 100644 index df534b28a5bc..000000000000 --- a/writerfilter/source/doctok/util.hxx +++ /dev/null @@ -1,57 +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. - * - ************************************************************************/ - -#ifndef INCLUDED_UTIL_HXX -#define INCLUDED_UTIL_HXX - -#include <string> -#include <iostream> - -namespace writerfilter { -namespace doctok { -using namespace ::std; - -/** - Assertion - - @bTest if false the assertion is raised -*/ -void util_assert(bool bTest); - -/** - Print string to ostream. - - Printable characters are passed without change. Non-printable - characters are replaced by '.'. - - @param o ostream for output - @param str string to print - */ -void printBytes(ostream & o, const string & str); -}} - -#endif // INCLUDED_UTIL_HXX -- cgit From 7209623a6ee752a1d1c8158902a3c477808097bc Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 7 May 2010 11:10:33 +0200 Subject: writerfilter08: resolve SttbfAssoc --- writerfilter/source/doctok/WW8DocumentImpl.cxx | 23 +++++++++++++++++++++++ writerfilter/source/doctok/WW8DocumentImpl.hxx | 5 +++++ writerfilter/source/doctok/resources.xmi | 21 ++++++++++++++++++--- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/writerfilter/source/doctok/WW8DocumentImpl.cxx b/writerfilter/source/doctok/WW8DocumentImpl.cxx index 256a0766b66c..eb8e1f776ca0 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.cxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.cxx @@ -1079,6 +1079,24 @@ writerfilter::Reference<Table>::Pointer_t WW8DocumentImpl::getStyleSheet() const return pResult; } +writerfilter::Reference<Table>::Pointer_t WW8DocumentImpl::getAssocTable() const +{ + writerfilter::Reference<Table>::Pointer_t pResult; + + if (mpFib->get_lcbSttbfAssoc() > 0) + { + WW8Sttbf::Pointer_t pSttbfAssoc + (new WW8Sttbf(*mpTableStream, + mpFib->get_fcSttbfAssoc(), + mpFib->get_lcbSttbfAssoc())); + + pResult = writerfilter::Reference<Table>::Pointer_t + (new WW8SttbTableResource(pSttbfAssoc)); + } + + return pResult; +} + sal_uInt32 WW8DocumentImpl::getHeaderCount() const { sal_uInt32 nResult = 0; @@ -1754,6 +1772,11 @@ void WW8DocumentImpl::resolve(Stream & rStream) { clog << e.getText() << endl; } + + writerfilter::Reference<Table>::Pointer_t pAssocTable = getAssocTable(); + + if (pAssocTable.get() != NULL) + rStream.table(NS_rtf::LN_SttbAssoc, pAssocTable); } WW8DocumentIterator::Pointer_t pIt = begin(); diff --git a/writerfilter/source/doctok/WW8DocumentImpl.hxx b/writerfilter/source/doctok/WW8DocumentImpl.hxx index 9b123ae54cde..eaaf7b98cff1 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.hxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.hxx @@ -553,6 +553,11 @@ public: */ writerfilter::Reference<Table>::Pointer_t getStyleSheet() const; + /** + Return reference to associated data. + */ + writerfilter::Reference<Table>::Pointer_t getAssocTable() const; + /** Return count of headers/footers. */ diff --git a/writerfilter/source/doctok/resources.xmi b/writerfilter/source/doctok/resources.xmi index 8386f68ce59a..3ee3f05af4f2 100644 --- a/writerfilter/source/doctok/resources.xmi +++ b/writerfilter/source/doctok/resources.xmi @@ -552,6 +552,21 @@ </UML:ModelElement.stereotype> </UML:Attribute> </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="SttbAssoc"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:SttbAssoc</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="attrid"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> </UML:Class> <!--Class dummy--> <!--Classes without stereotype--> @@ -4797,9 +4812,9 @@ <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> </UML:ModelElement.stereotype> <UML:Classifier.feature> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8nocalcsize"/> - </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> <UML:Attribute name="size"> <UML:ModelElement.taggedValue> <UML:TaggedValue> -- cgit From 5a3ed8802f170d3d3b23695670f257c74edf1fa6 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 12 May 2010 13:10:03 +0200 Subject: writerfilter08: resolve WW8DopBase --- writerfilter/source/doctok/WW8DocumentImpl.cxx | 26 +- writerfilter/source/doctok/WW8DocumentImpl.hxx | 10 + writerfilter/source/doctok/dopbase.xml | 91 + writerfilter/source/doctok/resources.xmi | 4603 ++++++++++++++++++++++++ 4 files changed, 4729 insertions(+), 1 deletion(-) create mode 100644 writerfilter/source/doctok/dopbase.xml diff --git a/writerfilter/source/doctok/WW8DocumentImpl.cxx b/writerfilter/source/doctok/WW8DocumentImpl.cxx index eb8e1f776ca0..3aa9dc7576a8 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.cxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.cxx @@ -187,6 +187,9 @@ mbInSection(false), mbInParagraphGroup(false), mbInCharacterGroup(false) mpDocStream = getSubStream(::rtl::OUString::createFromAscii ("WordDocument")); + mpSummaryInformationStream = getSubStream(::rtl::OUString::createFromAscii + ("\5SummaryInformation")); + try { mpDataStream = getSubStream(::rtl::OUString::createFromAscii @@ -1301,6 +1304,19 @@ WW8DocumentImpl::getField(const CpAndFc & rCpAndFc) const return mpFieldHelper->getField(rCpAndFc); } +writerfilter::Reference<Properties>::Pointer_t +WW8DocumentImpl::getDocumentProperties() const +{ + writerfilter::Reference<Properties>::Pointer_t pResult; + + if (mpFib->get_lcbDop() > 0) + { + pResult.reset(new WW8DopBase(*mpTableStream, mpFib->get_fcDop(), mpFib->get_lcbDop())); + } + + return pResult; +} + WW8FLD::Pointer_t WW8DocumentImpl::getCurrentFLD() const { return mpFLD; @@ -1652,7 +1668,7 @@ void WW8DocumentImpl::resolve(Stream & rStream) //output.addItem(mTextboxHeaderEndCpAndFc.toString()); -#if 0 +#if 1 output.addItem("<substream-names>"); output.addItem(mpStream->getSubStreamNames()); output.addItem("</substream-names>"); @@ -1661,6 +1677,11 @@ void WW8DocumentImpl::resolve(Stream & rStream) { mpDocStream->dump(output); } + + if (mpSummaryInformationStream.get() != NULL) + { + mpSummaryInformationStream->dump(output); + } #endif writerfilter::Reference<Properties>::Pointer_t pFib @@ -1870,6 +1891,9 @@ void WW8DocumentImpl::resolve(Stream & rStream) startSectionGroup(rStream); rStream.info(pIt->toString()); + if (nSectionIndex == 0) + rStream.props(getDocumentProperties()); + sal_uInt32 nHeaderStartIndex = 6 + nSectionIndex * 6; sal_uInt32 nHeaderEndIndex = nHeaderStartIndex + 6; diff --git a/writerfilter/source/doctok/WW8DocumentImpl.hxx b/writerfilter/source/doctok/WW8DocumentImpl.hxx index eaaf7b98cff1..a1f7e8abb2b4 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.hxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.hxx @@ -284,6 +284,9 @@ class WW8DocumentImpl : public WW8Document /// pointer to the compound object stream of the document WW8Stream::Pointer_t mpCompObjStream; + /// pointer to the summayry information stream of the document + WW8Stream::Pointer_t mpSummaryInformationStream; + /// pointer to the piece table WW8PieceTable::Pointer_t mpPieceTable; @@ -681,6 +684,13 @@ public: writerfilter::Reference<Properties>::Pointer_t getField(const CpAndFc & rCpAndFc) const; + /** + Return document properties. + + */ + writerfilter::Reference<Properties>::Pointer_t + getDocumentProperties() const; + /** Return current field descriptor. */ diff --git a/writerfilter/source/doctok/dopbase.xml b/writerfilter/source/doctok/dopbase.xml new file mode 100644 index 000000000000..8beb21d8cf08 --- /dev/null +++ b/writerfilter/source/doctok/dopbase.xml @@ -0,0 +1,91 @@ +<model> + <ww8resource name="DopBase" resource="Properties"> + <bitfield size="4" type="U32"> + <bits name="fFacingPages" bits="1" token="rtf:fFacingPages"/> + <bits name="unused1" bits="1" token="rtf:unused1"/> + <bits name="fPMHMainDoc" bits="1" token="rtf:fPMHMainDoc"/> + <bits name="unused2" bits="2" token="rtf:unused2"/> + <bits name="fpc" bits="2" token="rtf:fpc"/> + <bits name="unused3" bits="1" token="rtf:unused3"/> + <bits name="unused4" bits="8" token="rtf:unused4"/> + <bits name="rncFtn" bits="2" token="rtf:rncFtn"/> + <bits name="nFtn" bits="14" token="rtf:nFtn"/> + </bitfield> + <bitfield size="4" type="U32"> + <bits name="unused5" bits="1" token="rtf:unused5"/> + <bits name="unused6" bits="1" token="rtf:unused6"/> + <bits name="unused7" bits="1" token="rtf:unused7"/> + <bits name="unused8" bits="1" token="rtf:unused8"/> + <bits name="unused9" bits="1" token="rtf:unused9"/> + <bits name="unused10" bits="1" token="rtf:unused10"/> + <bits name="fSplAllDone" bits="1" token="rtf:fSplAllDone"/> + <bits name="fSplAllClean" bits="1" token="rtf:fSplAllClean"/> + <bits name="fSplHideErrors" bits="1" token="rtf:fSplHideErrors"/> + <bits name="fGramHideErrors" bits="1" token="rtf:fGramHideErrors"/> + <bits name="fLabelDoc" bits="1" token="rtf:fLabelDoc"/> + <bits name="fHyphCapitals" bits="1" token="rtf:fHyphCapitals"/> + <bits name="fAutoHyphen" bits="1" token="rtf:fAutoHyphen"/> + <bits name="fFormNoFields" bits="1" token="rtf:fFormNoFields"/> + <bits name="fLinkStyles" bits="1" token="rtf:fLinkStyles"/> + <bits name="fRevMarking" bits="1" token="rtf:fRevMarking"/> + <bits name="unused11" bits="1" token="rtf:unused11"/> + <bits name="fExactCWords" bits="1" token="rtf:fExactCWords"/> + <bits name="fPagHidden" bits="1" token="rtf:fPagHidden"/> + <bits name="fPagResults" bits="1" token="rtf:fPagResults"/> + <bits name="fLockAtn" bits="1" token="rtf:fLockAtn"/> + <bits name="fMirrorMargins" bits="1" token="rtf:fMirrorMargins"/> + <bits name="fWord97Compat" bits="1" token="rtf:fWord97Compat"/> + <bits name="unused12" bits="1" token="rtf:unused12"/> + <bits name="unused13" bits="1" token="rtf:unused13"/> + <bits name="fProtEnabled" bits="1" token="rtf:fProtEnabled"/> + <bits name="fDispFormFldSel" bits="1" token="rtf:fDispFormFldSel"/> + <bits name="fRMView" bits="1" token="rtf:fRMView"/> + <bits name="fRMPrint" bits="1" token="rtf:fRMPrint"/> + <bits name="fLockVbaProj" bits="1" token="rtf:fLockVbaProj"/> + <bits name="fLockRev" bits="1" token="rtf:fLockRev"/> + <bits name="fEmbedFonts" bits="1" token="rtf:fEmbedFonts"/> + </bitfield> + <attribute name="copts60" type="U16" size="2" token="rtf:copts60"/> + <attribute name="dxaTab" type="U16" size="2" token="rtf:dxaTab"/> + <attribute name="cpgWebOpt" type="U16" size="2" token="rtf:cpgWebOpt"/> + <attribute name="dxaHotZ" type="U16" size="2" token="rtf:dxaHotZ"/> + <attribute name="cConsecHypLim" type="U16" size="2" token="rtf:cConsecHypLim"/> + <attribute name="wSpare2" type="U16" size="2" token="rtf:wSpare2"/> + <attribute name="dttmCreated" type="U32" size="4" token="rtf:dttmCreated"/> + <attribute name="dttmRevised" type="U32" size="4" token="rtf:dttmRevised"/> + <attribute name="dttmLastPrint" type="U32" size="4" token="rtf:dttmLastPrint"/> + <attribute name="nRevision" type="U16" size="2" token="rtf:nRevision"/> + <attribute name="tmEdited" type="U32" size="4" token="rtf:tmEdited"/> + <attribute name="cWords" type="U32" size="4" token="rtf:cWords"/> + <attribute name="cCh" type="U32" size="4" token="rtf:cCh"/> + <attribute name="cPg" type="U16" size="2" token="rtf:cPg"/> + <attribute name="cParas" type="U32" size="4" token="rtf:cParas"/> + <bitfield size="4" type="U32"> + <bits name="rncEdn" bits="2" token="rtf:rncEdn"/> + <bits name="nEdn" bits="14" token="rtf:"/> + <bits name="epc" bits="2" token="rtf:"/> + <bits name="unused14" bits="4" token="rtf:unused14"/> + <bits name="unused15" bits="4" token="rtf:unused15"/> + <bits name="fPrintFormData" bits="1" token="rtf:fPrintFormData"/> + <bits name="fSaveFormData" bits="1" token="rtf:fSaveFormData"/> + <bits name="fShadeFormData" bits="1" token="rtf:fShadeFormData"/> + <bits name="fShadeMergeFields" bits="1" token="rtf:fShadeMergeFields"/> + <bits name="reserved2" bits="1" token="rtf:reserved2"/> + <bits name="fIncludeSubdocsInStats" bits="1" token="rtf:fIncludeSubdocsInStats"/> + </bitfield> + <attribute name="cLines" type="U32" size="4" token="rtf:cLines"/> + <attribute name="cWordsWithSubdocs" type="U32" size="4" token="rtf:cWordsWithSubdocs"/> + <attribute name="cChWithSubdocs" type="U32" size="4" token="rtf:cChWithSubdocs"/> + <attribute name="cPgWithSubdocs" type="U16" size="2" token="rtf:cPgWithSubdocs"/> + <attribute name="cParasWithSubdocs" type="U32" size="4" token="rtf:cParasWithSubdocs"/> + <attribute name="cLinesWithSubdocs" type="U32" size="4" token="rtf:cLinesWithSubdocs"/> + <attribute name="lKeyProtDoc" type="U32" size="4" token="rtf:lKeyProtDoc"/> + <bitfield size="2" type="U16"> + <bits name="wvkoSaved" bits="3" token="rtf:wvkoSaved"/> + <bits name="pctWwdSaved" bits="9" token="rtf:pctWwdSaved"/> + <bits name="zkSaved" bits="2" token="rtf:zkSaved"/> + <bits name="unused16" bits="1" token="rtf:unused16"/> + <bits name="iGutterPos" bits="1" token="rtf:iGutterPos"/> + </bitfield> + </ww8resource> +</model> \ No newline at end of file diff --git a/writerfilter/source/doctok/resources.xmi b/writerfilter/source/doctok/resources.xmi index 3ee3f05af4f2..bfb1939a8c74 100644 --- a/writerfilter/source/doctok/resources.xmi +++ b/writerfilter/source/doctok/resources.xmi @@ -593,6 +593,4609 @@ </UML:Class> <!--Resources--> <!--WW8 resources--> + <UML:Class xmi.id="DopBase" name="DopBase"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>84</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="fFacingPages"> + <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>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:fFacingPages</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="unused1"> + <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>30</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>0x40000000</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:unused1</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="fPMHMainDoc"> + <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>29</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>0x20000000</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:fPMHMainDoc</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="unused2"> + <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>27</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>0x18000000</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:unused2</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="fpc"> + <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>25</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>0x6000000</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fpc</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="unused3"> + <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>24</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>0x000000</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:unused3</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="unused4"> + <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>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>0xff0000</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:unused4</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="rncFtn"> + <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>14</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>0xc000</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:rncFtn</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="nFtn"> + <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>0x3fff</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>14</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:nFtn</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="unused5"> + <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>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:unused5</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="unused6"> + <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>30</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>0x40000000</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:unused6</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="unused7"> + <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>29</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>0x20000000</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:unused7</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="unused8"> + <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>28</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>0x0000000</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:unused8</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="unused9"> + <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>27</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>0x8000000</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:unused9</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="unused10"> + <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>26</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>0x4000000</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:unused10</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="fSplAllDone"> + <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>25</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>0x2000000</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:fSplAllDone</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="fSplAllClean"> + <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>24</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>0x000000</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:fSplAllClean</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="fSplHideErrors"> + <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>23</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>0x800000</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:fSplHideErrors</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="fGramHideErrors"> + <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>22</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>0x400000</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:fGramHideErrors</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="fLabelDoc"> + <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>21</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>0x200000</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:fLabelDoc</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="fHyphCapitals"> + <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>20</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>0x00000</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:fHyphCapitals</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="fAutoHyphen"> + <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>19</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>0x80000</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:fAutoHyphen</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="fFormNoFields"> + <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>18</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>0x40000</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:fFormNoFields</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="fLinkStyles"> + <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>17</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>0x20000</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:fLinkStyles</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="fRevMarking"> + <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>0x0000</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:fRevMarking</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="unused11"> + <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>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:unused11</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="fExactCWords"> + <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>14</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>0x4000</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:fExactCWords</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="fPagHidden"> + <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>13</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>0x2000</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:fPagHidden</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="fPagResults"> + <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>12</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>0x000</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:fPagResults</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="fLockAtn"> + <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>11</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>0x800</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:fLockAtn</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="fMirrorMargins"> + <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>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>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>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:fMirrorMargins</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="fWord97Compat"> + <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>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>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>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:fWord97Compat</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="unused12"> + <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>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>0x00</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:unused12</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="unused13"> + <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>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>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>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:unused13</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="fProtEnabled"> + <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>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>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>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:fProtEnabled</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="fDispFormFldSel"> + <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>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>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>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:fDispFormFldSel</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="fRMView"> + <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>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>0x0</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:fRMView</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="fRMPrint"> + <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>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>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>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:fRMPrint</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="fLockVbaProj"> + <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>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>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>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:fLockVbaProj</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="fLockRev"> + <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>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>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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:fLockRev</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="fEmbedFonts"> + <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>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>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:fEmbedFonts</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="copts60"> + <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"/> + </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:copts60</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="dxaTab"> + <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>10</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:dxaTab</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="cpgWebOpt"> + <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>12</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:cpgWebOpt</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="dxaHotZ"> + <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>14</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:dxaHotZ</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="cConsecHypLim"> + <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>16</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:cConsecHypLim</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="wSpare2"> + <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>18</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:wSpare2</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="dttmCreated"> + <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>20</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:dttmCreated</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="dttmRevised"> + <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>24</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:dttmRevised</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="dttmLastPrint"> + <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>28</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:dttmLastPrint</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="nRevision"> + <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>32</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:nRevision</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="tmEdited"> + <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>34</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:tmEdited</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="cWords"> + <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>38</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:cWords</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="cCh"> + <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>42</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:cCh</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="cPg"> + <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>46</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:cPg</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="cParas"> + <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>48</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:cParas</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="rncEdn"> + <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>52</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>30</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>0xc0000000</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:rncEdn</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="nEdn"> + <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>52</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>0x3fff0000</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>14</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:</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="epc"> + <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>52</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>14</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>0xc000</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:</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="unused14"> + <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>52</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>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>0x3c00</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:unused14</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="unused15"> + <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>52</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>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>0x3c0</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:unused15</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="fPrintFormData"> + <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>52</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>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>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>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:fPrintFormData</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="fSaveFormData"> + <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>52</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>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>0x0</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:fSaveFormData</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="fShadeFormData"> + <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>52</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>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>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>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:fShadeFormData</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="fShadeMergeFields"> + <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>52</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>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>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>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:fShadeMergeFields</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="reserved2"> + <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>52</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>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>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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:reserved2</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="fIncludeSubdocsInStats"> + <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>52</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>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>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:fIncludeSubdocsInStats</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="cLines"> + <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>56</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:cLines</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="cWordsWithSubdocs"> + <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>60</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:cWordsWithSubdocs</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="cChWithSubdocs"> + <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>64</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:cChWithSubdocs</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="cPgWithSubdocs"> + <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>68</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:cPgWithSubdocs</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="cParasWithSubdocs"> + <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>70</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:cParasWithSubdocs</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="cLinesWithSubdocs"> + <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>74</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:cLinesWithSubdocs</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="lKeyProtDoc"> + <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>78</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:lKeyProtDoc</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="wvkoSaved"> + <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>82</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>13</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>0xe000</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:wvkoSaved</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="pctWwdSaved"> + <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>82</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>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>0x1ff0</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:pctWwdSaved</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="zkSaved"> + <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>82</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>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>0xc</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:zkSaved</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="unused16"> + <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>82</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>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>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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:unused16</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="iGutterPos"> + <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>82</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>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>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:iGutterPos</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="DopBase-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="DopBase"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> <!--Class ListLevel--> <UML:Class xmi.id="ListLevel" name="ListLevel"> <UML:ModelElement.stereotype> -- cgit From 3240e00e81ae9566bcbc4007b843e773494eabd0 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 18 May 2010 15:20:51 +0200 Subject: writerfilter08: TagLogger: log uno property sets --- writerfilter/inc/resourcemodel/TagLogger.hxx | 6 ++ writerfilter/source/resourcemodel/TagLogger.cxx | 102 +++++++++++++++++++++++- 2 files changed, 106 insertions(+), 2 deletions(-) diff --git a/writerfilter/inc/resourcemodel/TagLogger.hxx b/writerfilter/inc/resourcemodel/TagLogger.hxx index 387d4e0e156a..055656832761 100644 --- a/writerfilter/inc/resourcemodel/TagLogger.hxx +++ b/writerfilter/inc/resourcemodel/TagLogger.hxx @@ -31,6 +31,7 @@ #ifdef DEBUG #include <rtl/ustring.hxx> +#include <com/sun/star/beans/XPropertySet.hpp> #include <WriterFilterDllApi.hxx> #include <resourcemodel/WW8ResourceModel.hxx> #include <string> @@ -78,8 +79,10 @@ namespace writerfilter void addAttr(string name, string value); void addAttr(string name, const ::rtl::OUString & value); void addAttr(string name, sal_uInt32 nValue); + void addAttr(string name, uno::Any rAny); void addTag(Pointer_t pTag); void chars(const string & rChars); + void chars(const ::rtl::OUString & rChars); const string & getTag() const; string toString() const; @@ -112,6 +115,7 @@ namespace writerfilter 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 attribute(const string & name, const uno::Any aAny); void addTag(XMLTag::Pointer_t pTag); void chars(const string & chars); void chars(const ::rtl::OUString & chars); @@ -147,6 +151,8 @@ namespace writerfilter virtual void attribute(Id name, Value & val); virtual void sprm(Sprm & sprm); }; + +WRITERFILTER_DLLPUBLIC XMLTag::Pointer_t unoPropertySetToTag(uno::Reference<beans::XPropertySet> rPropSet); } #endif // DEBUG diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index fa61d7635efb..f19bef7c01d1 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -52,11 +52,65 @@ namespace writerfilter void XMLTag::addAttr(string sName, sal_uInt32 nValue) { - char buffer[256]; + static char buffer[256]; snprintf(buffer, sizeof(buffer), "%" SAL_PRIdINT32, nValue); addAttr(sName, buffer); } +void XMLTag::addAttr(string sName, uno::Any aAny) +{ + string aTmpStrInt; + string aTmpStrFloat; + string aTmpStrString; + + static char buffer[256]; + + try + { + sal_Int32 nInt = 0; + aAny >>= nInt; + + snprintf(buffer, sizeof(buffer), "%" SAL_PRIdINT32, + nInt); + + aTmpStrInt = buffer; + } + catch (uno::Exception aExcept) + { + aTmpStrInt = "exception"; + } + + try + { + float nFloat = 0.0; + aAny >>= nFloat; + + snprintf(buffer, sizeof(buffer), "%f", + nFloat); + + aTmpStrFloat = buffer; + } + catch (uno::Exception aExcept) + { + aTmpStrFloat = "exception"; + } + + try + { + ::rtl::OUString aStr; + aAny >>= aStr; + + aTmpStrString = OUStringToOString(aStr, RTL_TEXTENCODING_ASCII_US).getStr(); + } + catch (uno::Exception aExcept) + { + aTmpStrString = "exception"; + } + + addAttr(sName, "i:" + aTmpStrInt + " f:" + aTmpStrFloat + " s:" + + aTmpStrString); +} + void XMLTag::addTag(XMLTag::Pointer_t pTag) { if (pTag != XMLTag::Pointer_t()) @@ -65,9 +119,14 @@ namespace writerfilter void XMLTag::chars(const string & rChars) { - mChars = rChars; + mChars += rChars; } +void XMLTag::chars(const ::rtl::OUString & rChars) +{ + chars(OUStringToOString(rChars, RTL_TEXTENCODING_ASCII_US).getStr()); +} + const string & XMLTag::getTag() const { return mTag; @@ -240,6 +299,11 @@ namespace writerfilter currentTag()->addAttr(name, value); } +void TagLogger::attribute(const string & name, const uno::Any aAny) +{ + currentTag()->addAttr(name, aAny); +} + void TagLogger::addTag(XMLTag::Pointer_t pTag) { currentTag()->addTag(pTag); @@ -365,5 +429,39 @@ namespace writerfilter } +XMLTag::Pointer_t unoPropertySetToTag(uno::Reference<beans::XPropertySet> rPropSet) +{ + uno::Reference<beans::XPropertySetInfo> xPropSetInfo(rPropSet->getPropertySetInfo()); + uno::Sequence<beans::Property> aProps(xPropSetInfo->getProperties()); + + XMLTag::Pointer_t pResult(new XMLTag("unoPropertySet")); + + for (int i = 0; i < aProps.getLength(); ++i) + { + XMLTag::Pointer_t pPropTag(new XMLTag("property")); + + ::rtl::OUString sName(aProps[i].Name); + + pPropTag->addAttr("name", sName); + try + { + pPropTag->addAttr("value", rPropSet->getPropertyValue(sName)); + } + catch (uno::Exception aException) + { + XMLTag::Pointer_t pException(new XMLTag("exception")); + + pException->chars("getPropertyValue(\""); + pException->chars(sName); + pException->chars("\")"); + pPropTag->addTag(pException); + } + + pResult->addTag(pPropTag); + } + + return pResult; +} + } #endif // DEBUG -- cgit From 4c6087d46f3e6e655dfb5d4be64be7651ed9dabc Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 18 May 2010 15:24:16 +0200 Subject: writerfilter08: ooxml: resolve documentProtection --- writerfilter/source/ooxml/factoryimpl_ns.xsl | 9 +++++++++ writerfilter/source/ooxml/model.xml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/writerfilter/source/ooxml/factoryimpl_ns.xsl b/writerfilter/source/ooxml/factoryimpl_ns.xsl index 69bc3281e3fa..533c3d16ae23 100644 --- a/writerfilter/source/ooxml/factoryimpl_ns.xsl +++ b/writerfilter/source/ooxml/factoryimpl_ns.xsl @@ -150,6 +150,7 @@ for a rng:define --> <xsl:template name="factoryattributetoresourcemapinner"> + <xsl:variable name="defname" select="@name"/> <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]"> @@ -158,6 +159,11 @@ for a rng:define </xsl:for-each> <xsl:for-each select=".//rng:attribute"> + <xsl:if test="position()=1"> + <xsl:text> + // </xsl:text> + <xsl:value-of select="$defname"/> + </xsl:if> <xsl:variable name="mynsid" select="generate-id(ancestor::namespace)"/> <xsl:variable name="resource"> <xsl:for-each select="rng:ref"> @@ -168,6 +174,9 @@ for a rng:define <xsl:for-each select=".//rng:text"> <xsl:text>String</xsl:text> </xsl:for-each> + <xsl:for-each select=".//rng:data[@type='base64Binary']"> + <xsl:text>String</xsl:text> + </xsl:for-each> </xsl:variable> <xsl:variable name="refdefine1"> diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index 64a1035abe85..19ca07df9251 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -14106,7 +14106,7 @@ <xs:documentation>Cryptographic Hashing Algorithm</xs:documentation> </attribute> <attribute name="cryptSpinCount"> - <text/> + <ref name="ST_DecimalNumber"/> <xs:documentation>Iterations to Run Hashing Algorithm</xs:documentation> </attribute> <attribute name="cryptProvider"> -- cgit From f5559a4812645b2a7da9932e6cc7ac0c3e621c17 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 18 May 2010 15:26:20 +0200 Subject: writerfilter08: PropertyMap::toTag(): consider unsigned, float and string values --- writerfilter/source/dmapper/PropertyMap.cxx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 9033f30e3f71..ee420d96ff1d 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -153,6 +153,18 @@ XMLTag::Pointer_t PropertyMap::toTag() const sal_Int32 aInt; aMapIter->second >>= aInt; pTag->addAttr("value", aInt); + + sal_uInt32 auInt; + aMapIter->second >>= auInt; + pTag->addAttr("unsignedValue", auInt); + + float aFloat; + aMapIter->second >>= aFloat; + pTag->addAttr("floatValue", aFloat); + + ::rtl::OUString aStr; + aMapIter->second >>= auInt; + pTag->addAttr("stringValue", aStr); } catch (...) { } -- cgit From d009c2a0f84d28a9d3e922b38593efd37e2d42b9 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 18 May 2010 15:37:25 +0200 Subject: writerfilter08: debugging code --- writerfilter/source/dmapper/StyleSheetTable.cxx | 49 +++++++++++++++++++------ 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 4613582b8715..2bd8f8fbbe3b 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -680,20 +680,22 @@ void StyleSheetTable::sprm(Sprm & rSprm) break; case NS_ooxml::LN_CT_Style_pPr: /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + // no break case NS_ooxml::LN_CT_Style_rPr: /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + // no break default: - if (!m_pImpl->m_pCurrentEntry) - break; - TablePropertiesHandlerPtr pTblHandler( new TablePropertiesHandler( true ) ); - pTblHandler->SetProperties( m_pImpl->m_pCurrentEntry->pProperties ); - if ( !pTblHandler->sprm( rSprm ) ) - { - m_pImpl->m_rDMapper.PushStyleSheetProperties( m_pImpl->m_pCurrentEntry->pProperties ); + if (!m_pImpl->m_pCurrentEntry) + break; + TablePropertiesHandlerPtr pTblHandler( new TablePropertiesHandler( true ) ); + pTblHandler->SetProperties( m_pImpl->m_pCurrentEntry->pProperties ); + if ( !pTblHandler->sprm( rSprm ) ) + { + m_pImpl->m_rDMapper.PushStyleSheetProperties( m_pImpl->m_pCurrentEntry->pProperties ); m_pImpl->m_rDMapper.sprm( rSprm ); - m_pImpl->m_rDMapper.PopStyleSheetProperties( ); + m_pImpl->m_rDMapper.PopStyleSheetProperties( ); + } } - } #ifdef DEBUG_DOMAINMAPPER dmapper_logger->endElement("StyleSheetTable.sprm"); @@ -961,11 +963,24 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) PropValVector aSortedPropVals; for( sal_Int32 nProp = 0; nProp < aPropValues.getLength(); ++nProp) { - // Don't add the style name properties +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("propvalue"); + dmapper_logger->attribute("name", aPropValues[nProp].Name); + dmapper_logger->attribute("value", aPropValues[nProp].Value); +#endif + // Don't add the style name properties bool bIsParaStyleName = aPropValues[nProp].Name.equalsAscii( "ParaStyleName" ); bool bIsCharStyleName = aPropValues[nProp].Name.equalsAscii( "CharStyleName" ); - if ( !bInsert && !bIsParaStyleName && !bIsCharStyleName ) + if ( !bInsert && !bIsParaStyleName && !bIsCharStyleName ) + { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("insert"); +#endif aSortedPropVals.Insert( aPropValues[nProp] ); + } +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("propvalue"); +#endif } if(bAddFollowStyle) { @@ -1014,7 +1029,15 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) } } if(bInsert) + { xStyles->insertByName( sConvertedStyleName, uno::makeAny( xStyle) ); +#ifdef DEBUG_DOMAINMAPPER + uno::Reference<beans::XPropertySet> xProps(xStyle, uno::UNO_QUERY); + dmapper_logger->startElement("insertStyle"); + dmapper_logger->addTag(unoPropertySetToTag(xProps)); + dmapper_logger->endElement("insertStyle"); +#endif + } } ++aIt; } @@ -1025,6 +1048,10 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) (void)rEx; OSL_ENSURE( false, "Styles could not be imported completely"); } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("applyStyleSheets"); +#endif } /*-- 22.06.2006 15:56:56--------------------------------------------------- -- cgit From 5963ef17ca2f1a3d103024685b40d06a0563670e Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 18 May 2010 15:42:23 +0200 Subject: writerfilter08: #b6950197#: ApplyStyleSheets: apply style no matter if it is newly inserted or not --- writerfilter/source/dmapper/StyleSheetTable.cxx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 2bd8f8fbbe3b..9624f061e7a0 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -685,17 +685,26 @@ void StyleSheetTable::sprm(Sprm & rSprm) /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ // no break default: + { if (!m_pImpl->m_pCurrentEntry) break; + TablePropertiesHandlerPtr pTblHandler( new TablePropertiesHandler( true ) ); pTblHandler->SetProperties( m_pImpl->m_pCurrentEntry->pProperties ); if ( !pTblHandler->sprm( rSprm ) ) { m_pImpl->m_rDMapper.PushStyleSheetProperties( m_pImpl->m_pCurrentEntry->pProperties ); - m_pImpl->m_rDMapper.sprm( rSprm ); + + PropertyMapPtr pProps(new PropertyMap()); + m_pImpl->m_rDMapper.sprm( rSprm, pProps ); + + m_pImpl->m_pCurrentEntry->pProperties->insert(pProps); + m_pImpl->m_rDMapper.PopStyleSheetProperties( ); } } + break; + } #ifdef DEBUG_DOMAINMAPPER dmapper_logger->endElement("StyleSheetTable.sprm"); @@ -971,7 +980,7 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) // Don't add the style name properties bool bIsParaStyleName = aPropValues[nProp].Name.equalsAscii( "ParaStyleName" ); bool bIsCharStyleName = aPropValues[nProp].Name.equalsAscii( "CharStyleName" ); - if ( !bInsert && !bIsParaStyleName && !bIsCharStyleName ) + if ( !bIsParaStyleName && !bIsCharStyleName ) { #ifdef DEBUG_DOMAINMAPPER dmapper_logger->element("insert"); -- cgit From bef85918411cc9e73eb7a27b0b41848e29321ece Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 18 May 2010 15:42:52 +0200 Subject: writerfilter08: debugging code --- writerfilter/source/dmapper/StyleSheetTable.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 9624f061e7a0..33aaf17705fa 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -807,6 +807,10 @@ uno::Sequence< ::rtl::OUString > PropValVector::getNames() -----------------------------------------------------------------------*/ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("applyStyleSheets"); +#endif + try { uno::Reference< style::XStyleFamiliesSupplier > xStylesSupplier( m_pImpl->m_xTextDocument, uno::UNO_QUERY_THROW ); -- cgit From b15b04d8cc4bcf66447d19eaecbc89e2a2456b10 Mon Sep 17 00:00:00 2001 From: hb <hbrinkm@openoffice.org> Date: Wed, 19 May 2010 11:26:41 +0200 Subject: writerfilter08: compiling issues on unxlngi6 --- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 36 +++++++++++------------ writerfilter/source/dmapper/FFDataHandler.cxx | 4 +-- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 3b024fee2f2c..8578a86d95e9 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -2533,8 +2533,8 @@ void DomainMapper_Impl::handleAutoNum void DomainMapper_Impl::handleAuthor (FieldContextPtr pContext, PropertyNameSupplier& rPropNameSupplier, - uno::Reference< uno::XInterface > & xFieldInterface, - uno::Reference< beans::XPropertySet > xFieldProperties) + uno::Reference< uno::XInterface > & /*xFieldInterface*/, + uno::Reference< beans::XPropertySet > xFieldProperties) { xFieldProperties->setPropertyValue ( rPropNameSupplier.GetName(PROP_FULL_NAME), uno::makeAny( true )); @@ -2649,8 +2649,8 @@ void DomainMapper_Impl::handleAuthor void DomainMapper_Impl::handleToc (FieldContextPtr pContext, PropertyNameSupplier& rPropNameSupplier, - uno::Reference< uno::XInterface > & xFieldInterface, - uno::Reference< beans::XPropertySet > xFieldProperties, + uno::Reference< uno::XInterface > & /*xFieldInterface*/, + uno::Reference< beans::XPropertySet > /*xFieldProperties*/, const ::rtl::OUString & sTOCServiceName) { ::rtl::OUString sValue; @@ -3028,40 +3028,40 @@ void DomainMapper_Impl::CloseFieldCommand() { ::std::vector<rtl::OUString> aParts = pContext->GetCommandParts(); ::std::vector<rtl::OUString>::const_iterator aItEnd = aParts.end(); - ::std::vector<rtl::OUString>::const_iterator aIt = aParts.begin(); + ::std::vector<rtl::OUString>::const_iterator aPartIt = aParts.begin(); OUString sURL; - while (aIt != aItEnd) + while (aPartIt != aItEnd) { - if (aIt->equalsAscii("\\l")) + if (aPartIt->equalsAscii("\\l")) { - aIt++; + aPartIt++; - if (aIt == aItEnd) + if (aPartIt == aItEnd) break; sURL = OUString('#'); - sURL += *aIt; + sURL += *aPartIt; } - else if (aIt->equalsAscii("\\m") || - aIt->equalsAscii("\\n")) + else if (aPartIt->equalsAscii("\\m") || + aPartIt->equalsAscii("\\n")) { } - else if (aIt->equalsAscii("\\o") || - aIt->equalsAscii("\\t")) + else if (aPartIt->equalsAscii("\\o") || + aPartIt->equalsAscii("\\t")) { - aIt++; + aPartIt++; - if (aIt == aItEnd) + if (aPartIt == aItEnd) break; } else { - sURL = *aIt; + sURL = *aPartIt; } - aIt++; + aPartIt++; } if (sURL.getLength() > 0) diff --git a/writerfilter/source/dmapper/FFDataHandler.cxx b/writerfilter/source/dmapper/FFDataHandler.cxx index f90f1eaf4f9b..9f9430401161 100644 --- a/writerfilter/source/dmapper/FFDataHandler.cxx +++ b/writerfilter/source/dmapper/FFDataHandler.cxx @@ -423,7 +423,7 @@ void FFDataHandler::sprm(Sprm & r_Sprm) default: #ifdef DEBUG_DOMAINMAPPER dmapper_logger->element("unhandled"); -#endif DEBUG_DOMAINMAPPER +#endif break; } #ifdef DEBUG_DOMAINMAPPER @@ -475,7 +475,7 @@ void FFDataHandler::attribute(Id name, Value & val) default: #ifdef DEBUG_DOMAINMAPPER dmapper_logger->element("unhandled"); -#endif DEBUG_DOMAINMAPPER +#endif break; } } -- cgit From d06a40321a453a5ac1cf57522fa6a973eec8e46a Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 19 May 2010 14:15:48 +0200 Subject: writerfilter08: FormControlHelper::createCheckbox: resolved warning --- writerfilter/source/dmapper/FormControlHelper.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/FormControlHelper.cxx b/writerfilter/source/dmapper/FormControlHelper.cxx index f14da458cea3..eebf921f4963 100644 --- a/writerfilter/source/dmapper/FormControlHelper.cxx +++ b/writerfilter/source/dmapper/FormControlHelper.cxx @@ -183,7 +183,7 @@ bool FormControlHelper::createCheckbox(uno::Reference<text::XTextRange> xTextRan try { static ::rtl::OUString sCharHeight(RTL_CONSTASCII_USTRINGPARAM("CharHeight")); - float fCheckBoxHeight; + float fCheckBoxHeight = 0.0; xTextRangeProps->getPropertyValue(sCharHeight) >>= fCheckBoxHeight; nCheckBoxHeight = floor(fCheckBoxHeight * 35.3); } -- cgit From 918910ed9d6c0646f8847be6da4e3fc9749ef6b4 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 19 May 2010 14:17:43 +0200 Subject: writerfilter08: debugging code --- writerfilter/source/dmapper/DomainMapper.cxx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index ad8d958be769..4280e045c123 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2195,7 +2195,7 @@ void DomainMapper::sprm(Sprm & rSprm) void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmType ) { #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("sprm"); + dmapper_logger->startElement("DomainMapper.sprm"); dmapper_logger->chars(rSprm.toString()); #endif OSL_ENSURE(rContext.get(), "PropertyMap has to be valid!"); @@ -2867,6 +2867,13 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: */ { uno::Any aBold( uno::makeAny( nIntValue ? awt::FontWeight::BOLD : awt::FontWeight::NORMAL ) ); + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("charWeight"); + dmapper_logger->attribute("weight", nIntValue ? awt::FontWeight::BOLD : awt::FontWeight::NORMAL); + dmapper_logger->endElement("charWeight"); +#endif + rContext->Insert(ePropertyId, true, aBold ); if( nSprmId != NS_sprm::LN_CFBoldBi ) // sprmCFBoldBi rContext->Insert(PROP_CHAR_WEIGHT_ASIAN, true, aBold ); @@ -4231,7 +4238,8 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("sprm"); + dmapper_logger->addTag(rContext->toTag()); + dmapper_logger->endElement("DomainMapper.sprm"); #endif } /*-- 09.06.2006 09:52:13--------------------------------------------------- @@ -4241,13 +4249,13 @@ void DomainMapper::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) { #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("entry"); + dmapper_logger->startElement("DomainMapper.entry"); #endif ref->resolve(*this); #ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("entry"); + dmapper_logger->endElement("DomainMapper.entry"); #endif } /*-- 09.06.2006 09:52:13--------------------------------------------------- -- cgit From 943ea0d09c655b4c2ed9e01655fc8b817aefe8f3 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 20 May 2010 12:51:20 +0200 Subject: writerfilter08: SettingsTable_Impl: members for documentProtection --- writerfilter/source/dmapper/SettingsTable.cxx | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index 10fc83e22dea..812c7a62a068 100755 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -57,6 +57,21 @@ struct SettingsTable_Impl bool m_bNoPunctuationKerning; bool m_doNotIncludeSubdocsInStats; // Do Not Include Content in Text Boxes, Footnotes, and Endnotes in Document Statistics) bool m_bRecordChanges; + int m_nEdit; + bool m_bFormatting; + bool m_bEnforcement; + int m_nCryptProviderType; + int m_nCryptAlgorithmClass; + int m_nCryptAlgorithmType; + ::rtl::OUString m_sCryptAlgorithmSid; + int m_nCryptSpinCount; + ::rtl::OUString m_sCryptProvider; + ::rtl::OUString m_sAlgIdExt; + ::rtl::OUString m_sAlgIdExtSource; + ::rtl::OUString m_sCryptProviderTypeExt; + ::rtl::OUString m_sCryptProviderTypeExtSource; + ::rtl::OUString m_sHash; + ::rtl::OUString m_sSalt; SettingsTable_Impl( DomainMapper& rDMapper, const uno::Reference< lang::XMultiServiceFactory > xTextFactory ) : m_rDMapper( rDMapper ) @@ -66,6 +81,13 @@ struct SettingsTable_Impl , m_bNoPunctuationKerning(false) , m_doNotIncludeSubdocsInStats(false) , m_bRecordChanges(false) + , m_nEdit(NS_ooxml::LN_Value_wordprocessingml_ST_DocProtect_none) + , m_bFormatting(false) + , m_bEnforcement(false) + , m_nCryptProviderType(NS_ooxml::LN_Value_wordprocessingml_ST_CryptProv_rsaAES) + , m_nCryptAlgorithmClass(NS_ooxml::LN_Value_wordprocessingml_ST_AlgClass_hash) + , m_nCryptAlgorithmType(NS_ooxml::LN_Value_wordprocessingml_ST_AlgType_typeAny) + , m_nCryptSpinCount(0) {} ListTablePtr GetListTable() @@ -208,7 +230,8 @@ void SettingsTable::sprm(Sprm& rSprm) } } -void SettingsTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) +void SettingsTable::entry(int /*pos*/, writerfilte break; +r::Reference<Properties>::Pointer_t ref) { // printf ( "SettingsTable::entry\n"); ref->resolve(*this); -- cgit From 279f97e712f0d00b1800f9cca96fbd56d765711a Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 20 May 2010 13:10:04 +0200 Subject: writerfilter08: debug output for SettingsTable --- writerfilter/source/dmapper/SettingsTable.cxx | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index 10fc83e22dea..1b74465dd673 100755 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -36,6 +36,11 @@ #include <ConversionHelper.hxx> #include <rtl/ustring.hxx> +#ifdef DEBUG_DOMAINMAPPER +#include <resourcemodel/QNameToString.hxx> +#include "dmapperLoggers.hxx" +#endif + namespace writerfilter { namespace dmapper { @@ -88,8 +93,15 @@ SettingsTable::~SettingsTable() delete m_pImpl; } -void SettingsTable::attribute(Id /*Name*/, Value & val) +void SettingsTable::attribute(Id nName, Value & val) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("SettingsTable.attribute"); + dmapper_logger->attribute("name", (*QNameToString::Instance())(nName)); + dmapper_logger->attribute("value", val.toString()); +#endif + + (void) nName; int nIntValue = val.getInt(); (void)nIntValue; ::rtl::OUString sValue = val.getString(); @@ -108,10 +120,18 @@ void SettingsTable::attribute(Id /*Name*/, Value & val) } } #endif +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("SettingsTable.attribute"); +#endif } void SettingsTable::sprm(Sprm& rSprm) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("SettingsTable.sprm"); + dmapper_logger->chars(rSprm.toString()); +#endif + sal_uInt32 nSprmId = rSprm.getId(); Value::Pointer_t pValue = rSprm.getValue(); @@ -206,6 +226,10 @@ void SettingsTable::sprm(Sprm& rSprm) OSL_ENSURE( false, "unknown sprmid in SettingsTable::sprm()"); } } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("SettingsTable.sprm"); +#endif } void SettingsTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) -- cgit From 17fe50c993de7bd11b6418b936312bf27db20b84 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 20 May 2010 16:00:10 +0200 Subject: writerfilter08: move resolveSprmProps and resolveAttributeProperties to namespace resourcemodel --- writerfilter/inc/dmapper/DomainMapper.hxx | 2 - .../inc/resourcemodel/ResourceModelHelper.hxx | 40 +++++++++++++++++ writerfilter/source/dmapper/DomainMapper.cxx | 52 +++++++++------------- writerfilter/source/dmapper/SettingsTable.cxx | 9 ++++ .../source/resourcemodel/ResourceModelHelper.cxx | 48 ++++++++++++++++++++ writerfilter/source/resourcemodel/makefile.mk | 1 + 6 files changed, 119 insertions(+), 33 deletions(-) create mode 100644 writerfilter/inc/resourcemodel/ResourceModelHelper.hxx create mode 100644 writerfilter/source/resourcemodel/ResourceModelHelper.cxx diff --git a/writerfilter/inc/dmapper/DomainMapper.hxx b/writerfilter/inc/dmapper/DomainMapper.hxx index 76d1fb046354..994d4ab4adb8 100644 --- a/writerfilter/inc/dmapper/DomainMapper.hxx +++ b/writerfilter/inc/dmapper/DomainMapper.hxx @@ -140,8 +140,6 @@ private: rtl::OUString getBracketStringFromEnum(const sal_Int32 nIntValue, const bool bIsPrefix = true); com::sun::star::style::TabAlign getTabAlignFromValue(const sal_Int32 nIntValue); sal_Unicode getFillCharFromValue(const sal_Int32 nIntValue); - void resolveAttributeProperties(Value & val); - void resolveSprmProps(Sprm & sprm_); sal_Int32 mnBackgroundColor; bool mbIsHighlightSet; }; diff --git a/writerfilter/inc/resourcemodel/ResourceModelHelper.hxx b/writerfilter/inc/resourcemodel/ResourceModelHelper.hxx new file mode 100644 index 000000000000..c1c500545055 --- /dev/null +++ b/writerfilter/inc/resourcemodel/ResourceModelHelper.hxx @@ -0,0 +1,40 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ +#ifndef INCLUDED_RESOURCE_MODEL_HELPER_HXX +#define INCLUDED_RESOURCE_MODEL_HELPER_HXX + +#include <resourcemodel/WW8ResourceModel.hxx> + +namespace writerfilter { +namespace resourcemodel { + +void WRITERFILTER_DLLPUBLIC resolveSprmProps(Properties & rHandler, Sprm & rSprm); +void WRITERFILTER_DLLPUBLIC resolveAttributeProperties(Properties & rHandler, Value & rValue); + +}} + +#endif // INCLUDED_RESOURCE_MODEL_HELPER_HXX diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 4280e045c123..f8d3bab02aff 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -27,6 +27,7 @@ #include "PageBordersHandler.hxx" #include <dmapper/DomainMapper.hxx> +#include <resourcemodel/ResourceModelHelper.hxx> #include <DomainMapper_Impl.hxx> #include <ConversionHelper.hxx> #include <ThemeTable.hxx> @@ -98,6 +99,10 @@ using namespace ::com::sun::star; using namespace ::rtl; namespace writerfilter { + +using resourcemodel::resolveSprmProps; +using resourcemodel::resolveAttributeProperties; + namespace dmapper{ #ifdef DEBUG_DOMAINMAPPER @@ -1462,7 +1467,7 @@ void DomainMapper::attribute(Id nName, Value & val) case NS_rtf::LN_sed: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ //section properties - resolveAttributeProperties(val); + resolveAttributeProperties(*this, val); break; case NS_rtf::LN_tbdAdd: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ @@ -2313,7 +2318,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } //create a new tab stop property - this is done with the contained properties - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); //add this property rContext->Insert(PROP_PARA_TAB_STOPS, true, uno::makeAny( m_pImpl->GetCurrentTabStopAndClear())); } @@ -2446,7 +2451,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case NS_ooxml::LN_CT_PrBase_pBdr: //paragraph border /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); break; /* WRITERFILTERSTATUS: done: 100, planned: 2, spent: 0 */ case NS_sprm::LN_PBrcTop: // sprmPBrcTop @@ -2716,7 +2721,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; // sprmCChs case NS_sprm::LN_CSymbol: // sprmCSymbol /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ - resolveSprmProps(rSprm); //resolves LN_FONT and LN_CHAR + resolveSprmProps(*this, rSprm); //resolves LN_FONT and LN_CHAR break; case NS_sprm::LN_CFOle2: /* WRITERFILTERSTATUS: done: 0, planned: 2, spent: 0 */ @@ -3759,11 +3764,11 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break;//undocumented section properties case NS_sprm::LN_CEastAsianLayout: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); break; case NS_ooxml::LN_CT_Tabs_tab: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); m_pImpl->IncorporateTabStop(m_pImpl->m_aCurrentTabStop); m_pImpl->m_aCurrentTabStop = DeletableTabStop(); break; @@ -3780,7 +3785,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp m_pImpl->InitTabStopFromStyle( aStyleTabStops ); } } - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); rContext->Insert(PROP_PARA_TAB_STOPS, true, uno::makeAny( m_pImpl->GetCurrentTabStopAndClear())); } break; @@ -3819,19 +3824,19 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ case NS_ooxml::LN_CT_PPrBase_numPr: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); break; case NS_ooxml::LN_EG_SectPrContents_footnotePr: /* WRITERFILTERSTATUS: done: 100, 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); + resolveSprmProps(*this, rSprm); break; case NS_ooxml::LN_EG_SectPrContents_lnNumType: /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ { - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); LineNumberSettings aSettings = m_pImpl->GetLineNumberSettings(); aSettings.bIsOn = true; m_pImpl->SetLineNumberSettings( aSettings ); @@ -3868,7 +3873,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp { //TODO: What about style sheet import of frame properties } - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); } break; case NS_ooxml::LN_EG_SectPrContents_pgSz: @@ -3880,7 +3885,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp CT_PageSz.h = aLetter.getHeight(); } CT_PageSz.orient = false; - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); OSL_ENSURE(pSectionContext, "SectionContext unavailable!"); if(pSectionContext) { @@ -3894,7 +3899,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case NS_ooxml::LN_EG_SectPrContents_pgMar: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->InitPageMargins(); - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); OSL_ENSURE(pSectionContext, "SectionContext unavailable!"); if(pSectionContext) { @@ -3950,7 +3955,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } break; case NS_ooxml::LN_EG_SectPrContents_docGrid: - resolveSprmProps(rSprm); + resolveSprmProps(*this, rSprm); break; case NS_ooxml::LN_EG_SectPrContents_pgBorders: { @@ -4004,7 +4009,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp case NS_ooxml::LN_CT_TblPrBase_tblCellMar: //cell margins /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { - resolveSprmProps(rSprm);//contains LN_CT_TblCellMar_top, LN_CT_TblCellMar_left, LN_CT_TblCellMar_bottom, LN_CT_TblCellMar_right + resolveSprmProps(*this, rSprm);//contains LN_CT_TblCellMar_top, LN_CT_TblCellMar_left, LN_CT_TblCellMar_bottom, LN_CT_TblCellMar_right } break; case NS_ooxml::LN_CT_TblCellMar_top: @@ -4148,7 +4153,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 100, planned: 5, spent: 0 */ { m_pImpl->AddNewRedline( ); - resolveSprmProps( rSprm ); + resolveSprmProps(*this, rSprm ); // now the properties author, date and id should be available sal_Int32 nToken = m_pImpl->GetCurrentRedlineToken(); switch( nToken & 0xffff ) @@ -4905,21 +4910,6 @@ rtl::OUString DomainMapper::getBracketStringFromEnum(const sal_Int32 nIntValue, } } -void DomainMapper::resolveSprmProps(Sprm & rSprm) -{ - writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); - if( pProperties.get()) - pProperties->resolve(*this); -} - -void DomainMapper::resolveAttributeProperties(Value & val) -{ - writerfilter::Reference<Properties>::Pointer_t pProperties = val.getProperties(); - if( pProperties.get()) - pProperties->resolve(*this); -} - - com::sun::star::style::TabAlign DomainMapper::getTabAlignFromValue(const sal_Int32 nIntValue) { switch (nIntValue) diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index 2c3395e51689..bc1a86611889 100755 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -28,6 +28,7 @@ * ************************************************************************/ +#include <resourcemodel/ResourceModelHelper.hxx> #include <SettingsTable.hxx> #include <doctok/resourceids.hxx> #include <ooxml/resourceids.hxx> @@ -42,6 +43,9 @@ #endif namespace writerfilter { + +using resourcemodel::resolveSprmProps; + namespace dmapper { @@ -243,6 +247,11 @@ void SettingsTable::sprm(Sprm& rSprm) m_pImpl->m_bRecordChanges = bool(rSprm.getValue( )->getInt( ) ); } break; + case NS_ooxml::LN_CT_Settings_documentProtection: + { + resolveSprmProps(*this, rSprm); + } + break; default: { OSL_ENSURE( false, "unknown sprmid in SettingsTable::sprm()"); diff --git a/writerfilter/source/resourcemodel/ResourceModelHelper.cxx b/writerfilter/source/resourcemodel/ResourceModelHelper.cxx new file mode 100644 index 000000000000..fee286fb4570 --- /dev/null +++ b/writerfilter/source/resourcemodel/ResourceModelHelper.cxx @@ -0,0 +1,48 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#include "resourcemodel/ResourceModelHelper.hxx" + +namespace writerfilter { +namespace resourcemodel { + +void resolveSprmProps(Properties & rHandler, Sprm & rSprm) +{ + writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); + if( pProperties.get()) + pProperties->resolve(rHandler); +} + +void resolveAttributeProperties(Properties & rHandler, Value & val) +{ + writerfilter::Reference<Properties>::Pointer_t pProperties = val.getProperties(); + if( pProperties.get()) + pProperties->resolve(rHandler); +} + + +}} diff --git a/writerfilter/source/resourcemodel/makefile.mk b/writerfilter/source/resourcemodel/makefile.mk index f3869f30611b..bb5bc05ac1bd 100644 --- a/writerfilter/source/resourcemodel/makefile.mk +++ b/writerfilter/source/resourcemodel/makefile.mk @@ -54,6 +54,7 @@ SLOFILES= \ $(SLO)$/resourcemodel.obj \ $(SLO)$/util.obj \ $(SLO)$/TagLogger.obj \ + $(SLO)$/ResourceModelHelper.obj \ $(SLO)$/WW8Analyzer.obj \ $(SLO)$/Protocol.obj -- cgit From e75ef59afc1e65ce18169b9abaafaf2d0c7b2397 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 2 Jun 2010 13:06:30 +0200 Subject: writerfilter08: xmigen.xsl: handle sprms --- writerfilter/source/doctok/xmigen.xsl | 72 ++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/writerfilter/source/doctok/xmigen.xsl b/writerfilter/source/doctok/xmigen.xsl index d6eab5846fd4..f184dcfed4d2 100644 --- a/writerfilter/source/doctok/xmigen.xsl +++ b/writerfilter/source/doctok/xmigen.xsl @@ -184,6 +184,76 @@ </UML:Generalization> </xsl:template> + <xsl:template match="sprm"> + <xsl:variable name="isww8resource"> + <xsl:choose> + <xsl:when test="count(*) > 0">YES</xsl:when> + <xsl:otherwise>NO</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <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> + <xsl:if test="$isww8resource='YES'"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + </xsl:if> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">sprmcode</xsl:with-param> + <xsl:with-param name="value" select="@code"/> + </xsl:call-template> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">sprmid</xsl:with-param> + <xsl:with-param name="value" select="@token"/> + </xsl:call-template> + <xsl:call-template name="taggedvalue"> + <xsl:with-param name="type">kind</xsl:with-param> + <xsl:with-param name="value" select="@kind"/> + </xsl:call-template> + <xsl:apply-templates select="*"/> + </UML:Class> + <xsl:if test="$isww8resource='YES'"> + <xsl:call-template name="generalization"> + <xsl:with-param name="parent">Properties</xsl:with-param> + <xsl:with-param name="child" select="@name"/> + </xsl:call-template> + </xsl:if> + </xsl:template> + + <xsl:template name="generalization"> + <xsl:param name="parent"/> + <xsl:param name="child"/> + <UML:Generalization isSpecification="false"> + <xsl:attribute name="xmi.id"> + <xsl:value-of select="$child"/> + <xsl:text>-</xsl:text> + <xsl:value-of select="$parent"/> + </xsl:attribute> + <UML:Generalization.child> + <UML:Class> + <xsl:attribute name="xmi.idref"> + <xsl:value-of select="$child"/> + </xsl:attribute> + </UML:Class> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"> + <xsl:attribute name="xmi.idref"> + <xsl:value-of select="$parent"/> + </xsl:attribute> + </UML:Class> + </UML:Generalization.parent> + </UML:Generalization> + </xsl:template> + <xsl:template name="taggedvalue"> <xsl:param name="type"/> <xsl:param name="value"/> @@ -278,7 +348,7 @@ <xsl:template match="bitfield"> <xsl:variable name="offset"> - <xsl:value-of select="sum(preceding-sibling::*/@size)"/> + <xsl:call-template name="calcoffset"/> </xsl:variable> <xsl:for-each select="bits"> <xsl:call-template name="bits"> -- cgit From a57744ade6aaf504daabf85573a3a8b8f22092eb Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 2 Jun 2010 13:12:37 +0200 Subject: writerfilter08: doctok: resolve more table properties (table placement/spacing) --- writerfilter/source/doctok/resources.xmi | 12634 +++++++++++++++-------------- 1 file changed, 6519 insertions(+), 6115 deletions(-) diff --git a/writerfilter/source/doctok/resources.xmi b/writerfilter/source/doctok/resources.xmi index bfb1939a8c74..926e046d37b9 100644 --- a/writerfilter/source/doctok/resources.xmi +++ b/writerfilter/source/doctok/resources.xmi @@ -593,4627 +593,21 @@ </UML:Class> <!--Resources--> <!--WW8 resources--> - <UML:Class xmi.id="DopBase" name="DopBase"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>84</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="fFacingPages"> - <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>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:fFacingPages</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="unused1"> - <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>30</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>0x40000000</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:unused1</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="fPMHMainDoc"> - <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>29</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>0x20000000</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:fPMHMainDoc</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="unused2"> - <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>27</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>0x18000000</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:unused2</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="fpc"> - <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>25</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>0x6000000</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:fpc</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="unused3"> - <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>24</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>0x000000</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:unused3</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="unused4"> - <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>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>0xff0000</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:unused4</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="rncFtn"> - <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>14</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>0xc000</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:rncFtn</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="nFtn"> - <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>0x3fff</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>14</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:nFtn</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="unused5"> - <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>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:unused5</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="unused6"> - <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>30</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>0x40000000</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:unused6</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="unused7"> - <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>29</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>0x20000000</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:unused7</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="unused8"> - <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>28</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>0x0000000</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:unused8</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="unused9"> - <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>27</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>0x8000000</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:unused9</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="unused10"> - <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>26</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>0x4000000</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:unused10</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="fSplAllDone"> - <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>25</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>0x2000000</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:fSplAllDone</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="fSplAllClean"> - <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>24</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>0x000000</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:fSplAllClean</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="fSplHideErrors"> - <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>23</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>0x800000</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:fSplHideErrors</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="fGramHideErrors"> - <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>22</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>0x400000</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:fGramHideErrors</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="fLabelDoc"> - <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>21</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>0x200000</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:fLabelDoc</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="fHyphCapitals"> - <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>20</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>0x00000</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:fHyphCapitals</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="fAutoHyphen"> - <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>19</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>0x80000</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:fAutoHyphen</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="fFormNoFields"> - <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>18</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>0x40000</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:fFormNoFields</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="fLinkStyles"> - <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>17</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>0x20000</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:fLinkStyles</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="fRevMarking"> - <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>0x0000</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:fRevMarking</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="unused11"> - <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>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:unused11</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="fExactCWords"> - <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>14</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>0x4000</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:fExactCWords</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="fPagHidden"> - <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>13</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>0x2000</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:fPagHidden</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="fPagResults"> - <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>12</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>0x000</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:fPagResults</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="fLockAtn"> - <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>11</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>0x800</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:fLockAtn</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="fMirrorMargins"> - <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>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>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>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:fMirrorMargins</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="fWord97Compat"> - <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>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>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>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:fWord97Compat</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="unused12"> - <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>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>0x00</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:unused12</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="unused13"> - <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>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>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>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:unused13</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="fProtEnabled"> - <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>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>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>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:fProtEnabled</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="fDispFormFldSel"> - <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>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>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>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:fDispFormFldSel</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="fRMView"> - <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>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>0x0</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:fRMView</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="fRMPrint"> - <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>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>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>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:fRMPrint</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="fLockVbaProj"> - <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>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>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>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:fLockVbaProj</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="fLockRev"> - <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>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>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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:fLockRev</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="fEmbedFonts"> - <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>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>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:fEmbedFonts</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="copts60"> - <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"/> - </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:copts60</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="dxaTab"> - <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>10</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:dxaTab</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="cpgWebOpt"> - <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>12</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:cpgWebOpt</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="dxaHotZ"> - <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>14</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:dxaHotZ</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="cConsecHypLim"> - <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>16</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:cConsecHypLim</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="wSpare2"> - <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>18</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:wSpare2</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="dttmCreated"> - <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>20</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:dttmCreated</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="dttmRevised"> - <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>24</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:dttmRevised</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="dttmLastPrint"> - <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>28</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:dttmLastPrint</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="nRevision"> - <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>32</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:nRevision</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="tmEdited"> - <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>34</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:tmEdited</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="cWords"> - <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>38</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:cWords</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="cCh"> - <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>42</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:cCh</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="cPg"> - <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>46</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:cPg</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="cParas"> - <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>48</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:cParas</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="rncEdn"> - <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>52</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>30</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>0xc0000000</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:rncEdn</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="nEdn"> - <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>52</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>0x3fff0000</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>14</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:</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="epc"> - <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>52</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>14</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>0xc000</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:</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="unused14"> - <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>52</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>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>0x3c00</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:unused14</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="unused15"> - <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>52</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>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>0x3c0</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:unused15</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="fPrintFormData"> - <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>52</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>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>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>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:fPrintFormData</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="fSaveFormData"> - <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>52</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>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>0x0</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:fSaveFormData</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="fShadeFormData"> - <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>52</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>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>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>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:fShadeFormData</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="fShadeMergeFields"> - <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>52</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>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>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>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:fShadeMergeFields</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="reserved2"> - <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>52</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>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>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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:reserved2</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="fIncludeSubdocsInStats"> - <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>52</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>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>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:fIncludeSubdocsInStats</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="cLines"> - <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>56</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:cLines</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="cWordsWithSubdocs"> - <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>60</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:cWordsWithSubdocs</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="cChWithSubdocs"> - <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>64</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:cChWithSubdocs</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="cPgWithSubdocs"> - <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>68</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:cPgWithSubdocs</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="cParasWithSubdocs"> - <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>70</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:cParasWithSubdocs</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="cLinesWithSubdocs"> - <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>74</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:cLinesWithSubdocs</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="lKeyProtDoc"> - <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>78</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:lKeyProtDoc</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="wvkoSaved"> - <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>82</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>13</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>0xe000</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:wvkoSaved</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="pctWwdSaved"> - <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>82</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>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>0x1ff0</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:pctWwdSaved</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="zkSaved"> - <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>82</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>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>0xc</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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:zkSaved</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="unused16"> - <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>82</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>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>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="bits"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:unused16</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="iGutterPos"> - <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>82</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>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>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:iGutterPos</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="DopBase-Properties"> - <UML:Generalization.child> - <UML:Class xmi.idref="DopBase"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Properties"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class ListLevel--> - <UML:Class xmi.id="ListLevel" name="ListLevel"> + <!--Class DopBase--> + <UML:Class xmi.id="DopBase" name="DopBase"> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="ww8resource"/> </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="resolvenoauto"/> - </UML:ModelElement.stereotype> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>28</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>84</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="iStartAt"> + <UML:Attribute name="fFacingPages"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5232,7 +626,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>31</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5240,7 +634,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x80000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5248,7 +642,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5256,7 +650,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ISTARTAT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fFacingPages</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -5271,7 +665,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="nfc"> + <UML:Attribute name="unused1"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5282,7 +676,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5290,7 +684,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>30</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5298,15 +692,73 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x40000000</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:unused1</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="fPMHMainDoc"> <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>29</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>0x20000000</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> @@ -5314,14 +766,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:NFC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fPMHMainDoc</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5329,7 +781,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="jc"> + <UML:Attribute name="unused2"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5340,7 +792,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5348,7 +800,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>27</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5356,7 +808,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xc0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x18000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5372,14 +824,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:JC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused2</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5387,7 +839,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fLegel"> + <UML:Attribute name="fpc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5398,7 +850,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5406,7 +858,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>25</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5414,7 +866,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x6000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5422,7 +874,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5430,14 +882,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FLEGAL</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fpc</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5445,7 +897,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fNoRestart"> + <UML:Attribute name="unused3"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5456,7 +908,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5464,7 +916,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>24</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5472,7 +924,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5488,14 +940,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FNORESTART</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused3</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5503,7 +955,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fIdentSav"> + <UML:Attribute name="unused4"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5514,7 +966,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5522,7 +974,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5530,7 +982,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xff0000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5538,7 +990,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5546,14 +998,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FIDENTSAV</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused4</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5561,7 +1013,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fConverted"> + <UML:Attribute name="rncFtn"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5572,7 +1024,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5580,7 +1032,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5588,7 +1040,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xc000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5596,7 +1048,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5604,14 +1056,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FCONVERTED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:rncFtn</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5619,7 +1071,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fTentative"> + <UML:Attribute name="nFtn"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5630,7 +1082,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5646,7 +1098,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x3fff</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5654,7 +1106,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5662,14 +1114,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FTENTATIVE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:nFtn</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5677,7 +1129,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="rgbxchNums"> + <UML:Attribute name="unused5"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5688,7 +1140,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5696,7 +1148,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>31</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5704,7 +1156,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x80000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5712,7 +1164,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5720,30 +1172,80 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:RGBXCHNUMS</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused5</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="unused6"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>9</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="arraycount"/> + <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>30</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>0x40000000</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:unused6</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="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:Classifier.feature> - <UML:Attribute name="ixchFollow"> + <UML:Attribute name="unused7"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5754,7 +1256,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5762,7 +1264,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>29</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5770,7 +1272,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x20000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5778,7 +1280,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5786,14 +1288,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:IXCHFOLLOW</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused7</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5801,7 +1303,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="dxaSpace"> + <UML:Attribute name="unused8"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5812,7 +1314,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5820,7 +1322,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>28</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5828,7 +1330,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x0000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5836,7 +1338,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5844,14 +1346,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:DXASPACE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused8</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5859,7 +1361,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="dxaIndent"> + <UML:Attribute name="unused9"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5870,7 +1372,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>20</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5878,7 +1380,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>27</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5886,7 +1388,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x8000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5894,7 +1396,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5902,14 +1404,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:DXAINDENT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused9</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5917,7 +1419,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="cbGrpprlChpx"> + <UML:Attribute name="unused10"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5928,7 +1430,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>24</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5936,7 +1438,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>26</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -5944,7 +1446,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x4000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -5952,7 +1454,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -5960,14 +1462,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CBGRPPRLCHPX</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused10</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -5975,7 +1477,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="cbGrpprlPapx"> + <UML:Attribute name="fSplAllDone"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -5986,7 +1488,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>25</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -5994,7 +1496,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>25</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6002,7 +1504,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x2000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6010,7 +1512,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6018,14 +1520,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CBGRPPRLPAPX</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fSplAllDone</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -6033,7 +1535,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="ilvlRestartLim"> + <UML:Attribute name="fSplAllClean"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6044,7 +1546,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>26</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6052,7 +1554,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>24</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6060,7 +1562,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6068,7 +1570,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6076,14 +1578,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ilvlRestartLim</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fSplAllClean</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -6091,7 +1593,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="grfhic"> + <UML:Attribute name="fSplHideErrors"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6102,7 +1604,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>27</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6110,7 +1612,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>23</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6118,7 +1620,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x800000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6126,7 +1628,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6134,14 +1636,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:grfhic</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fSplHideErrors</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -6149,77 +1651,123 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Operation name="xst"> + <UML:Attribute name="fGramHideErrors"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:xst</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="opid"/> + <UML:TagDefinition xmi.idref="comment"/> </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.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>22</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>0x400000</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:fGramHideErrors</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:Operation> + </UML:Attribute> </UML:Classifier.feature> - </UML:Class> - <UML:Generalization isSpecification="false" xmi.id="ListLevel-Properties"> - <UML:Generalization.child> - <UML:Class xmi.idref="ListLevel"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Properties"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class ListLevel--> - <!--Class List--> - <UML:Class xmi.id="List" name="List"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="withindex"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>28</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="listlevel"> + <UML:Attribute name="fLabelDoc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:LISTLEVEL</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="opid"/> + <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> - <UML:BehavioralFeature.parameter> - <UML:Parameter kind="return" name="return"> - <UML:Parameter.type> - <UML:Class xmi.idref="ListLevel"/> - </UML:Parameter.type> - </UML:Parameter> - </UML:BehavioralFeature.parameter> + <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>21</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>0x200000</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:fLabelDoc</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="array"/> + <UML:Stereotype xmi.idref="attribute"/> </UML:ModelElement.stereotype> - </UML:Operation> + </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="lsid"> + <UML:Attribute name="fHyphCapitals"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6230,7 +1778,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6238,7 +1786,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6246,7 +1794,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x00000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6254,7 +1802,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6262,14 +1810,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:LSID</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fHyphCapitals</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -6277,7 +1825,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="tplc"> + <UML:Attribute name="fAutoHyphen"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6296,7 +1844,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>19</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6304,15 +1852,73 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x80000</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:fAutoHyphen</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="fFormNoFields"> <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>18</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>0x40000</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> @@ -6320,14 +1926,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:TPLC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fFormNoFields</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -6335,7 +1941,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fBuildIn"> + <UML:Attribute name="fLinkStyles"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6354,7 +1960,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>31</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>17</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6362,7 +1968,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x80000000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x20000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6378,7 +1984,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:fBuildIn</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fLinkStyles</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -6393,7 +1999,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="ilgpdM1"> + <UML:Attribute name="fRevMarking"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6420,7 +2026,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x7fff0000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6428,7 +2034,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6436,7 +2042,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ilgpdM1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fRevMarking</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -6451,7 +2057,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="lid"> + <UML:Attribute name="unused11"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6470,7 +2076,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6478,7 +2084,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xffff</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6486,7 +2092,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6494,7 +2100,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:lid</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused11</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -6509,7 +2115,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="random"> + <UML:Attribute name="fExactCWords"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6528,7 +2134,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6536,7 +2142,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x7fffffff</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6544,7 +2150,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>31</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6552,7 +2158,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:random</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fExactCWords</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -6567,7 +2173,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="rgistd"> + <UML:Attribute name="fPagHidden"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6578,7 +2184,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6586,7 +2192,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>13</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6594,7 +2200,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x2000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6602,7 +2208,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6610,30 +2216,22 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:RGISTD</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fPagHidden</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="U16"/> + <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:Classifier.feature> - <UML:Attribute name="fSimpleList"> + <UML:Attribute name="fPagResults"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6644,7 +2242,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6652,7 +2250,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>7</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>12</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6660,7 +2258,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x80</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6676,14 +2274,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FSIMPLELIST</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fPagResults</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -6691,7 +2289,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fAutoNum"> + <UML:Attribute name="fLockAtn"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6702,7 +2300,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6710,7 +2308,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>11</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6718,7 +2316,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x800</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6734,14 +2332,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:fAutoNum</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fLockAtn</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -6749,7 +2347,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fHybrid"> + <UML:Attribute name="fMirrorMargins"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6760,7 +2358,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6768,7 +2366,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6776,7 +2374,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x400</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6792,14 +2390,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:fHybrid</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fMirrorMargins</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -6807,7 +2405,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="reserved1"> + <UML:Attribute name="fWord97Compat"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6818,7 +2416,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6826,7 +2424,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>9</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6834,7 +2432,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x7</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x200</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6842,7 +2440,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6850,14 +2448,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:reserved1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fWord97Compat</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -6865,7 +2463,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="grfhic"> + <UML:Attribute name="unused12"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -6876,7 +2474,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>27</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6884,7 +2482,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -6892,7 +2490,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x00</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -6900,7 +2498,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -6908,81 +2506,25 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:grfhic</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused12</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="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="List-Properties"> - <UML:Generalization.child> - <UML:Class xmi.idref="List"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Properties"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class List--> - <!--Class ListTable--> - <UML:Class xmi.id="ListTable" name="ListTable"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="plcf"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:LISTTABLE</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="ListTable-Table"> - <UML:Generalization.child> - <UML:Class xmi.idref="ListTable"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Table"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class ListTable--> - <!--Class LFOLevel--> - <UML:Class xmi.id="LFOLevel" name="LFOLevel"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="resolvenoauto"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>8</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="iStartAt"> + <UML:Attribute name="unused13"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>start-at value if fFormatting == false and fStartAt == true. - (if fFormatting == true, the start-at is stored in the LVL)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -6990,7 +2532,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -6998,7 +2540,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> @@ -7006,7 +2548,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x80</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -7014,7 +2556,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -7022,14 +2564,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ISTARTAT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused13</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7037,10 +2579,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="ilvl"> + <UML:Attribute name="fProtEnabled"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>the level to be overridden</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -7048,7 +2590,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7056,7 +2598,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> @@ -7064,7 +2606,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0F</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x40</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -7072,7 +2614,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -7080,14 +2622,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ILVL</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fProtEnabled</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7095,10 +2637,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fStartAt"> + <UML:Attribute name="fDispFormFldSel"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>true if the start-at value is overridden</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -7106,7 +2648,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7114,7 +2656,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -7122,7 +2664,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -7130,7 +2672,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> @@ -7138,14 +2680,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FSTARTAT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fDispFormFldSel</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7153,11 +2695,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fFormatting"> + <UML:Attribute name="fRMView"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>true if the formatting is overriden (in which case the LFOLVL - should contain a pointer to a LVL)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -7165,7 +2706,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7173,7 +2714,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -7181,7 +2722,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -7189,7 +2730,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> @@ -7197,14 +2738,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FFORMATTING</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fRMView</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7212,10 +2753,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="unsigned4_6"> + <UML:Attribute name="fRMPrint"> <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> @@ -7223,7 +2764,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7231,7 +2772,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -7239,7 +2780,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xC0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -7247,7 +2788,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -7255,14 +2796,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UNSIGNED4_6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fRMPrint</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7270,10 +2811,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="reserved"> + <UML:Attribute name="fLockVbaProj"> <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> @@ -7281,7 +2822,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7289,7 +2830,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -7297,7 +2838,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -7305,7 +2846,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -7313,56 +2854,22 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:RESERVED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fLockVbaProj</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>3</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: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="LFOLevel-Properties"> - <UML:Generalization.child> - <UML:Class xmi.idref="LFOLevel"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Properties"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class LFOLevel--> - <!--Class LFO--> - <UML:Class xmi.id="LFO" name="LFO"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="withindex"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <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:Attribute name="lsid"> + <UML:Attribute name="fLockRev"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -7373,7 +2880,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7381,7 +2888,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -7389,7 +2896,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -7397,7 +2904,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -7405,14 +2912,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:lsid</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fLockRev</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7420,7 +2927,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="clfolvl"> + <UML:Attribute name="fEmbedFonts"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -7431,7 +2938,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>12</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7439,7 +2946,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -7447,7 +2954,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -7455,7 +2962,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -7463,14 +2970,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:clfolvl</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fEmbedFonts</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7478,7 +2985,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="ibstFltAutoNum"> + <UML:Attribute name="copts60"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -7489,7 +2996,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>13</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7521,14 +3028,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ibstFltAutoNum</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:copts60</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="U16"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7536,7 +3043,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="grfhic"> + <UML:Attribute name="dxaTab"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -7547,7 +3054,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7579,14 +3086,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:grfhic</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:dxaTab</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="U16"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7594,75 +3101,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Operation name="LFOData"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:LFOData</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="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:Attribute name="cpgWebOpt"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -7673,7 +3112,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>12</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7705,183 +3144,83 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:cp</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cpgWebOpt</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: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="LFOData-Properties"> - <UML:Generalization.child> - <UML:Class xmi.idref="LFOData"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Properties"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class LFOData--> - <!--Class LFOTable--> - <UML:Class xmi.id="LFOTable" name="LFOTable"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="plcf"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:LFOTABLE</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="LFOTable-Table"> - <UML:Generalization.child> - <UML:Class xmi.idref="LFOTable"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Table"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class LFOTable--> - <!--Class FontTable--> - <UML:Class xmi.id="FontTable" name="FontTable"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="plcf"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FONTTABLE</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="FontTable-Table"> - <UML:Generalization.child> - <UML:Class xmi.idref="FontTable"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Table"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class FontTable--> - <!--Class Font--> - <UML:Class xmi.id="Font" name="Font"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="withindex"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>40</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="f"> + <UML:Attribute name="dxaHotZ"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:F</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="opid"/> + <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> - <UML:BehavioralFeature.parameter> - <UML:Parameter kind="return" name="return"> - <UML:Parameter.type> - <UML:Class xmi.idref="U32"/> - </UML:Parameter.type> - </UML:Parameter> - </UML:BehavioralFeature.parameter> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="attribute"/> - </UML:ModelElement.stereotype> - </UML:Operation> - <UML:Operation name="altName"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ALTFONTNAME</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="opid"/> + <UML:TagDefinition xmi.idref="offset"/> </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:Operation name="xszFfn"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:XSZFFN</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="opid"/> + <UML:TagDefinition xmi.idref="shift"/> </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:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>zero terminated string that records name of font. Possibly - followed by a second xsz which records the name of an alternate - font to use if the first named font does not exist on this system. - Maximal size of xszFfn is 65 characters.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="comment"/> + <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:dxaHotZ</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:Operation> - <UML:Attribute name="cbFfnM1"> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="cConsecHypLim"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>total length of FFN - 1.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -7889,7 +3228,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7897,7 +3236,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> @@ -7921,14 +3260,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CBFFNM1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cConsecHypLim</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="U16"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7936,10 +3275,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="prq"> + <UML:Attribute name="wSpare2"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>pitch request</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -7947,7 +3286,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>18</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -7955,7 +3294,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> @@ -7963,7 +3302,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>03</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -7971,7 +3310,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> @@ -7979,14 +3318,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:PRQ</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:wSpare2</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="U16"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -7994,10 +3333,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fTrueType"> + <UML:Attribute name="dttmCreated"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>when 1, font is a TrueType font</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8005,7 +3344,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8013,7 +3352,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="shift"/> </UML:TaggedValue.type> @@ -8021,7 +3360,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>04</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8029,7 +3368,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> @@ -8037,14 +3376,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FTRUETYPE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:dttmCreated</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8052,10 +3391,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="unused1_3"> + <UML:Attribute name="dttmRevised"> <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> @@ -8063,7 +3402,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>24</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8071,7 +3410,7 @@ </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="shift"/> </UML:TaggedValue.type> @@ -8079,7 +3418,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>08</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8087,7 +3426,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> @@ -8095,14 +3434,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UNUSED1_3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:dttmRevised</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8110,10 +3449,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="ff"> + <UML:Attribute name="dttmLastPrint"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>font family id</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8121,7 +3460,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>28</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8129,7 +3468,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="shift"/> </UML:TaggedValue.type> @@ -8137,7 +3476,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>70</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8145,7 +3484,7 @@ </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:TaggedValue.type> @@ -8153,14 +3492,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FF</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:dttmLastPrint</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8168,10 +3507,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="unused1_7"> + <UML:Attribute name="nRevision"> <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> @@ -8179,7 +3518,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>32</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8187,7 +3526,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> @@ -8195,7 +3534,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>80</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8203,7 +3542,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> @@ -8211,14 +3550,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UNUSED1_7</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:nRevision</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="U16"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8226,10 +3565,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="wWeight"> + <UML:Attribute name="tmEdited"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>base weight of font</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8237,7 +3576,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>34</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8245,7 +3584,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> @@ -8269,14 +3608,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:WWEIGHT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:tmEdited</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="S16"/> + <UML:DataType xmi.idref="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8284,10 +3623,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="chs"> + <UML:Attribute name="cWords"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>character set identifier</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8295,7 +3634,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>38</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8303,7 +3642,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> @@ -8327,14 +3666,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CHS</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cWords</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8342,10 +3681,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="ixchSzAlt"> + <UML:Attribute name="cCh"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>index into ffn.szFfn to the name of the alternate font</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8353,7 +3692,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>42</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8361,7 +3700,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> @@ -8385,14 +3724,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:IXCHSZALT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cCh</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8400,10 +3739,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="panose"> + <UML:Attribute name="cPg"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>? This is supposed to be of type PANOSE.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8411,7 +3750,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>46</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8419,7 +3758,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> @@ -8443,33 +3782,83 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:PANOSE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cPg</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="cParas"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="arraycount"/> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>48</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:cParas</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="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:Classifier.feature> - <UML:Attribute name="fs"> + <UML:Attribute name="rncEdn"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>? This is supposed to be of type FONTSIGNATURE.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8477,7 +3866,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8485,7 +3874,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>30</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -8493,7 +3882,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0xc0000000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8501,7 +3890,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -8509,54 +3898,83 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FS</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:rncEdn</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="nEdn"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>24</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="arraycount"/> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>52</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>0x3fff0000</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>14</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:</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="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="Font-Properties"> - <UML:Generalization.child> - <UML:Class xmi.idref="Font"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Properties"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class Font--> - <!--Class Style--> - <UML:Class xmi.id="Style" name="Style"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="resolvenoauto"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="withindex"/> - </UML:ModelElement.stereotype> <UML:Classifier.feature> - <UML:Attribute name="sti"> + <UML:Attribute name="epc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>invariant style identifier</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8564,7 +3982,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8572,7 +3990,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -8580,7 +3998,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0FFF</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xc000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8588,7 +4006,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:12</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -8596,14 +4014,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:STI</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8611,11 +4029,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fScratch"> + <UML:Attribute name="unused14"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>spare field for any temporary use, always reset back to - zero!</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8623,7 +4040,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8631,7 +4048,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>12</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -8639,7 +4056,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x3c00</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8647,7 +4064,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -8655,14 +4072,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FSCRATCH</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused14</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8670,10 +4087,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fInvalHeight"> + <UML:Attribute name="unused15"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>PHEs of all text with this style are wrong</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8681,7 +4098,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8689,7 +4106,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>13</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -8697,7 +4114,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x3c0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8705,7 +4122,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -8713,14 +4130,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FINVALHEIGHT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused15</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8728,10 +4145,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fHasUpe"> + <UML:Attribute name="fPrintFormData"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>UPEs have been generated</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8739,7 +4156,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8747,7 +4164,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -8755,7 +4172,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8763,7 +4180,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> @@ -8771,14 +4188,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FHASUPE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fPrintFormData</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8786,11 +4203,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fMassCopy"> + <UML:Attribute name="fSaveFormData"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>std has been mass-copied; if unused at save time, style should - be deleted</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8798,7 +4214,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8806,7 +4222,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -8814,7 +4230,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8822,7 +4238,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> @@ -8830,14 +4246,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FMASSCOPY</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fSaveFormData</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8845,10 +4261,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="sgc"> + <UML:Attribute name="fShadeFormData"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>style type code</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8856,7 +4272,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8864,7 +4280,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -8872,7 +4288,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000F</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8880,7 +4296,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -8888,14 +4304,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:SGC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fShadeFormData</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8903,10 +4319,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="istdBase"> + <UML:Attribute name="fShadeMergeFields"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>base style</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8914,7 +4330,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8922,7 +4338,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -8930,7 +4346,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>FFF0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8938,7 +4354,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:12</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -8946,14 +4362,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ISTDBASE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fShadeMergeFields</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -8961,10 +4377,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="cupx"> + <UML:Attribute name="reserved2"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue># of UPXs (and UPEs)</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -8972,7 +4388,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -8980,7 +4396,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -8988,7 +4404,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>000F</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -8996,7 +4412,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -9004,14 +4420,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CUPX</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:reserved2</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -9019,10 +4435,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="istdNext"> + <UML:Attribute name="fIncludeSubdocsInStats"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>next style</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9030,7 +4446,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>52</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9038,7 +4454,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -9046,7 +4462,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>FFF0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -9054,7 +4470,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:12</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -9062,14 +4478,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ISTDNEXT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fIncludeSubdocsInStats</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -9077,10 +4493,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="bchUpe"> + <UML:Attribute name="cLines"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>offset to end of upx's, start of upe's</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9088,7 +4504,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>56</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9096,7 +4512,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> @@ -9120,14 +4536,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:BCHUPE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cLines</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -9135,10 +4551,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fAutoRedef"> + <UML:Attribute name="cWordsWithSubdocs"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>auto redefine style when appropriate</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9146,7 +4562,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xa</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>60</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9154,7 +4570,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> @@ -9162,7 +4578,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0001</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -9170,7 +4586,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> @@ -9178,14 +4594,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FAUTOREDEF</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cWordsWithSubdocs</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -9193,10 +4609,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fHidden"> + <UML:Attribute name="cChWithSubdocs"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>hidden from UI?</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9204,7 +4620,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xa</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>64</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9212,7 +4628,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="shift"/> </UML:TaggedValue.type> @@ -9220,7 +4636,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0002</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -9228,7 +4644,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> @@ -9236,14 +4652,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FHIDDEN</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cChWithSubdocs</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -9251,10 +4667,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="unused8_3"> + <UML:Attribute name="cPgWithSubdocs"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>unused bits</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9262,7 +4678,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xa</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>68</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9270,7 +4686,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="shift"/> </UML:TaggedValue.type> @@ -9278,7 +4694,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>FFFC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -9286,7 +4702,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:14</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -9294,7 +4710,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UNUSED8_3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cPgWithSubdocs</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -9309,119 +4725,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Operation name="xstzName"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:XSTZNAME</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:Operation name="xstzName1"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:XSTZNAME1</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:Operation name="upxstart"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UPXSTART</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="U32"/> - </UML:Parameter.type> - </UML:Parameter> - </UML:BehavioralFeature.parameter> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="attribute"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="noresolve"/> - </UML:ModelElement.stereotype> - </UML:Operation> - <UML:Operation name="upx"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UPX</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="UPX"/> - </UML:Parameter.type> - </UML:Parameter> - </UML:BehavioralFeature.parameter> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="array"/> - </UML:ModelElement.stereotype> - </UML:Operation> - </UML:Classifier.feature> - </UML:Class> - <UML:Generalization isSpecification="false" xmi.id="Style-Properties"> - <UML:Generalization.child> - <UML:Class xmi.idref="Style"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Properties"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class Style--> - <!--Class StyleSheet--> - <UML:Class xmi.id="StyleSheet" name="StyleSheet"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="plcf"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> - </UML:ModelElement.stereotype> - <UML:Classifier.feature> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8nocalcsize"/> - </UML:ModelElement.stereotype> - <UML:Attribute name="size"> + <UML:Attribute name="cParasWithSubdocs"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Size of style sheet info</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9429,7 +4736,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>70</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9437,7 +4744,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> @@ -9461,23 +4768,25 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CSTD</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cParasWithSubdocs</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> </UML:ModelElement.stereotype> </UML:Attribute> - <UML:Attribute name="cstd"> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="cLinesWithSubdocs"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Count of styles in stylesheet</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9485,7 +4794,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>74</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9493,7 +4802,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> @@ -9517,14 +4826,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CSTD</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:cLinesWithSubdocs</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -9532,10 +4841,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="cbSTDBaseInFile"> + <UML:Attribute name="lKeyProtDoc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Length of STD Base as stored in a file</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9543,7 +4852,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>78</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9551,7 +4860,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> @@ -9575,14 +4884,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CBSTDBASEINFILE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:lKeyProtDoc</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="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -9590,10 +4899,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fStdStylenamesWritten"> + <UML:Attribute name="wvkoSaved"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Are built-in stylenames stored?</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9601,7 +4910,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>82</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9609,7 +4918,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>13</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -9617,7 +4926,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0001</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0xe000</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -9625,7 +4934,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -9633,7 +4942,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FSTDSTYLENAMESWRITTEN</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:wvkoSaved</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -9648,10 +4957,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="unused4_2"> + <UML:Attribute name="pctWwdSaved"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Spare flags</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9659,7 +4968,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>82</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9667,7 +4976,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -9675,7 +4984,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>FFFE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1ff0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -9683,7 +4992,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:15</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>9</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -9691,7 +5000,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:UNUSED4_2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:pctWwdSaved</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -9706,10 +5015,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="stiMaxWhenSaved"> + <UML:Attribute name="zkSaved"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Max sti known when this file was written</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9717,7 +5026,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>82</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9725,7 +5034,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -9733,7 +5042,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0xc</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -9741,7 +5050,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -9749,7 +5058,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:STIMAXWHENSAVED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:zkSaved</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -9764,10 +5073,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="istdMaxFixedWhenSaved"> + <UML:Attribute name="unused16"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>How many fixed-index istds are there?</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9775,7 +5084,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xA</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>82</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9783,7 +5092,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -9791,7 +5100,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -9799,7 +5108,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -9807,7 +5116,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ISTDMAXFIXEDWHENSAVED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:unused16</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -9822,10 +5131,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="nVerBuiltInNamesWhenSaved"> + <UML:Attribute name="iGutterPos"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Current version of built-in stylenames</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9833,7 +5142,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>82</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9849,7 +5158,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -9857,7 +5166,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -9865,7 +5174,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:NVERBUILTINNAMESWHENSAVED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:iGutterPos</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -9879,11 +5188,37 @@ </UML:ModelElement.stereotype> </UML:Attribute> </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="DopBase-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="DopBase"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class DopBase--> + <!--Class ListLevel--> + <UML:Class xmi.id="ListLevel" name="ListLevel"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="resolvenoauto"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>28</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="rgftcStandardChpStsh"> + <UML:Attribute name="iStartAt"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>ftc used by StandardChpStsh for this document</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9891,7 +5226,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0xE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9899,7 +5234,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> @@ -9923,67 +5258,25 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:RGFTCSTANDARDCHPSTSH</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:ISTARTAT</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>3</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="U16"/> + <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:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:STYLESHEET</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="StyleSheet-Table"> - <UML:Generalization.child> - <UML:Class xmi.idref="StyleSheet"/> - </UML:Generalization.child> - <UML:Generalization.parent> - <UML:Class xmi.idref="Table"/> - </UML:Generalization.parent> - </UML:Generalization> - <!--Class StyleSheet--> - <!--Class Fib--> - <UML:Class xmi.id="Fib" name="Fib"> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="ww8resource"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="withmembers"/> - </UML:ModelElement.stereotype> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>898</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="wIdent"> + <UML:Attribute name="nfc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>(fibh) FIBH Beginning of the FIB header magic number</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -9991,7 +5284,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -9999,7 +5292,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> @@ -10023,14 +5316,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:WIDENT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:NFC</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"/> @@ -10038,11 +5331,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="nFib"> + <UML:Attribute name="jc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>FIB version written. This will be >= 101 for all Word 6.0 - for Windows and after documents.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10050,7 +5342,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0002</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10058,7 +5350,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> @@ -10066,7 +5358,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0xc0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10074,7 +5366,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -10082,14 +5374,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:NFIB</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:JC</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"/> @@ -10097,10 +5389,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="nProduct"> + <UML:Attribute name="fLegel"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>product version written by</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10108,7 +5400,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0004</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10116,7 +5408,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10124,7 +5416,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10132,7 +5424,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -10140,14 +5432,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:NPRODUCT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FLEGAL</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"/> @@ -10155,12 +5447,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="lid"> + <UML:Attribute name="fNoRestart"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>language stamp -- localized version - In pre-WinWord 2.0 files this value was the nLocale. If value is - < 999, then it is the nLocale, otherwise it is the lid.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10168,7 +5458,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0006</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10176,7 +5466,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10184,7 +5474,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10192,7 +5482,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -10200,14 +5490,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:LID</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FNORESTART</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"/> @@ -10215,7 +5505,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="pnNext"> + <UML:Attribute name="fIdentSav"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -10226,7 +5516,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0008</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10234,7 +5524,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10242,7 +5532,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10250,7 +5540,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -10258,14 +5548,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:PNNEXT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FIDENTSAV</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="S16"/> + <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -10273,10 +5563,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fDot"> + <UML:Attribute name="fConverted"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Set if this document is a template</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10284,7 +5574,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10292,7 +5582,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10300,7 +5590,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0001</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10308,7 +5598,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> @@ -10316,14 +5606,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FDOT</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FCONVERTED</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"/> @@ -10331,10 +5621,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fGlsy"> + <UML:Attribute name="fTentative"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Set if this document is a glossary</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10342,7 +5632,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10350,7 +5640,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10358,7 +5648,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0002</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10366,7 +5656,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> @@ -10374,14 +5664,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FGLSY</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FTENTATIVE</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"/> @@ -10389,10 +5679,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fComplex"> + <UML:Attribute name="rgbxchNums"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>when 1, file is in complex, fast-saved format.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10400,7 +5690,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>6</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10408,7 +5698,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="shift"/> </UML:TaggedValue.type> @@ -10416,7 +5706,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0004</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10424,7 +5714,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> @@ -10432,83 +5722,33 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FCOMPLEX</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: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="fHasPic"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>set if file contains 1 or more pictures</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>0x000A</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>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>0008</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:FHASPIC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>9</UML:TaggedValue.dataValue> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="attrid"/> + <UML:TagDefinition xmi.idref="arraycount"/> </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:Stereotype xmi.idref="array"/> </UML:ModelElement.stereotype> </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="cQuickSaves"> + <UML:Attribute name="ixchFollow"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>count of times file was quicksaved</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10516,7 +5756,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10524,7 +5764,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="shift"/> </UML:TaggedValue.type> @@ -10532,7 +5772,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>00F0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10540,7 +5780,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> @@ -10548,14 +5788,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CQUICKSAVES</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:StructuralFeature.type> - <UML:DataType xmi.idref="U16"/> + <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -10563,10 +5803,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fEncrypted"> + <UML:Attribute name="dxaSpace"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Set if file is encrypted</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10574,7 +5814,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10582,7 +5822,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10590,7 +5830,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0100</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10598,7 +5838,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> @@ -10606,14 +5846,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FENCRYPTED</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="U16"/> + <UML:DataType xmi.idref="S32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -10621,15 +5861,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fWhichTblStm"> + <UML:Attribute name="dxaIndent"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>When 0, this fib refers to the table stream named "0Table", - when 1, this fib refers to the table stream named "1Table". - Normally, a file will have only one table stream, but under unusual - circumstances a file may have table streams with both names. In - that case, this flag must be used to decide which table stream is - valid.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10637,7 +5872,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10645,7 +5880,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="shift"/> </UML:TaggedValue.type> @@ -10653,7 +5888,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0200</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10661,7 +5896,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> @@ -10669,14 +5904,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FWHICHTBLSTM</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:DXAINDENT</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="S32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -10684,10 +5919,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fReadOnlyRecommended"> + <UML:Attribute name="cbGrpprlChpx"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Set when user has recommended that file be read read-only</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10695,7 +5930,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>24</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10703,7 +5938,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10711,7 +5946,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0400</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10719,7 +5954,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> @@ -10727,14 +5962,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FREADONLYRECOMMENDED</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="U16"/> + <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -10742,10 +5977,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fWriteReservation"> + <UML:Attribute name="cbGrpprlPapx"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Set when file owner has made the file write reserved</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10753,7 +5988,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>25</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10761,7 +5996,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>11</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10769,7 +6004,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0800</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10777,7 +6012,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> @@ -10785,14 +6020,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FWRITERESERVATION</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:CBGRPPRLPAPX</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"/> @@ -10800,10 +6035,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fExtChar"> + <UML:Attribute name="ilvlRestartLim"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Set when using extended character set in file</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10811,7 +6046,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>26</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10819,7 +6054,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>12</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10827,7 +6062,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>1000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10835,7 +6070,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> @@ -10843,14 +6078,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FEXTCHAR</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:ilvlRestartLim</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"/> @@ -10858,10 +6093,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fLoadOverride"> + <UML:Attribute name="grfhic"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>REVIEW</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10869,7 +6104,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>27</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10877,7 +6112,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>13</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -10885,7 +6120,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -10893,7 +6128,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> @@ -10901,14 +6136,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FLOADOVERRIDE</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"/> @@ -10916,68 +6151,80 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fFarEast"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>REVIEW</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>0x000A</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>14</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>4000</UML:TaggedValue.dataValue> - <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="mask"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> + <UML:Operation name="xst"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:xst</UML:TaggedValue.dataValue> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="bits"/> + <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> + <UML:Class xmi.idref="ListLevel"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class ListLevel--> + <!--Class List--> + <UML:Class xmi.id="List" name="List"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="withindex"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>28</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="listlevel"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FFAREAST</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:LISTLEVEL</UML:TaggedValue.dataValue> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="attrid"/> + <UML:TagDefinition xmi.idref="opid"/> </UML:TaggedValue.type> </UML:TaggedValue> </UML:ModelElement.taggedValue> - <UML:StructuralFeature.type> - <UML:DataType xmi.idref="U16"/> - </UML:StructuralFeature.type> + <UML:BehavioralFeature.parameter> + <UML:Parameter kind="return" name="return"> + <UML:Parameter.type> + <UML:Class xmi.idref="ListLevel"/> + </UML:Parameter.type> + </UML:Parameter> + </UML:BehavioralFeature.parameter> <UML:ModelElement.stereotype> - <UML:Stereotype xmi.idref="attribute"/> + <UML:Stereotype xmi.idref="array"/> </UML:ModelElement.stereotype> - </UML:Attribute> + </UML:Operation> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fCrypto"> + <UML:Attribute name="lsid"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>REVIEW</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -10985,7 +6232,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -10993,7 +6240,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>15</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -11001,7 +6248,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>8000</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11009,7 +6256,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> @@ -11017,14 +6264,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FCRYPTO</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:LSID</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="S32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -11032,11 +6279,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="nFibBack"> + <UML:Attribute name="tplc"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>This file format it compatible with readers that understand - nFib at or above this value.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11044,7 +6290,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11052,7 +6298,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> @@ -11076,14 +6322,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:NFIBBACK</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:TPLC</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="S32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -11091,10 +6337,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="lKey"> + <UML:Attribute name="fBuildIn"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>File encrypted key, only valid if fEncrypted.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11102,7 +6348,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x000E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11110,7 +6356,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>31</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -11118,15 +6364,73 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <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> @@ -11134,7 +6438,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:LKEY</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:ilgpdM1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -11149,12 +6453,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="envr"> + <UML:Attribute name="lid"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>environment in which file was created - 0 created by Win Word - 1 created by Mac Word</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11162,7 +6464,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0012</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11178,7 +6480,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0xffff</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11186,7 +6488,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>16</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -11194,14 +6496,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:ENVR</UML:TaggedValue.dataValue> + <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="U8"/> + <UML:DataType xmi.idref="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -11209,10 +6511,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fMac"> + <UML:Attribute name="random"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>when 1, this file was last saved in the Mac environment</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11220,7 +6522,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11236,7 +6538,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>01</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x7fffffff</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11244,7 +6546,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>31</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -11252,14 +6554,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FMAC</UML:TaggedValue.dataValue> + <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="U8"/> + <UML:DataType xmi.idref="U32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -11267,7 +6569,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fEmptySpecial"> + <UML:Attribute name="rgistd"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -11278,7 +6580,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11286,7 +6588,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="shift"/> </UML:TaggedValue.type> @@ -11294,7 +6596,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>02</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11302,7 +6604,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> @@ -11310,22 +6612,30 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FEMPTYSPECIAL</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:RGISTD</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:DataType xmi.idref="U16"/> </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="fLoadOverridePage"> + <UML:Attribute name="fSimpleList"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -11336,7 +6646,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11344,7 +6654,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>2</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>7</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -11352,7 +6662,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>04</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x80</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11360,7 +6670,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> @@ -11368,7 +6678,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FLOADOVERRIDEPAGE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FSIMPLELIST</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -11383,7 +6693,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fFutureSavedUndo"> + <UML:Attribute name="fAutoNum"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -11394,7 +6704,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11402,7 +6712,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -11410,7 +6720,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>08</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11418,7 +6728,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> @@ -11426,7 +6736,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FFUTURESAVEDUNDO</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fAutoNum</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -11441,7 +6751,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fWord97Saved"> + <UML:Attribute name="fHybrid"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -11452,7 +6762,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11460,7 +6770,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> @@ -11468,7 +6778,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>10</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x8</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11476,7 +6786,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> @@ -11484,7 +6794,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FWORD97SAVED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:fHybrid</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -11499,7 +6809,7 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fSpare0"> + <UML:Attribute name="reserved1"> <UML:ModelElement.taggedValue> <UML:TaggedValue> <UML:TaggedValue.dataValue/> @@ -11510,7 +6820,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0013</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11518,7 +6828,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -11526,7 +6836,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>FE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x7</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11534,7 +6844,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>:3</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -11542,7 +6852,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FSPARE0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:reserved1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="attrid"/> </UML:TaggedValue.type> @@ -11557,15 +6867,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="chs"> + <UML:Attribute name="grfhic"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Default extended character set id for text in document stream. - (overridden by chp.chse) - 0 by default characters in doc stream should be interpreted using - the ANSI character set used by Windows - 256 characters in doc stream should be interpreted using the - Macintosh character set.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11573,7 +6878,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0014</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>27</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11581,7 +6886,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> @@ -11605,30 +6910,81 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CHS</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:Class> + <UML:Generalization isSpecification="false" xmi.id="List-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="List"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class List--> + <!--Class ListTable--> + <UML:Class xmi.id="ListTable" name="ListTable"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="plcf"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:LISTTABLE</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="ListTable-Table"> + <UML:Generalization.child> + <UML:Class xmi.idref="ListTable"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Table"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class ListTable--> + <!--Class LFOLevel--> + <UML:Class xmi.id="LFOLevel" name="LFOLevel"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="resolvenoauto"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>8</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="chsTables"> + <UML:Attribute name="iStartAt"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Default extended character set id for text in internal data - structures - 0 by default characters stored in internal data structures should - be interpreted using the ANSI character set used by Windows - 256 characters stored in internal data structures should be - interpreted using the Macintosh character set.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>start-at value if fFormatting == false and fStartAt == true. + (if fFormatting == true, the start-at is stored in the LVL)</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11636,7 +6992,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0016</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11660,7 +7016,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -11668,14 +7024,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CHSTABLES</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:ISTARTAT</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="S32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -11683,13 +7039,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fcMin"> + <UML:Attribute name="ilvl"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>file offset of first character of text. In non-complex - files a CP can be transformed into an FC by the - following transformation: - fc = cp + fib.fcMin.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>the level to be overridden</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11697,7 +7050,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0018</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11713,7 +7066,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x0F</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11721,7 +7074,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>:4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -11729,14 +7082,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FCMIN</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:ILVL</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:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -11744,11 +7097,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="fcMac"> + <UML:Attribute name="fStartAt"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>file offset of last character of text in document text stream + - 1</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>true if the start-at value is overridden</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11756,7 +7108,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x001C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11764,7 +7116,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -11772,7 +7124,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x10</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11780,7 +7132,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -11788,14 +7140,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:FCMAC</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FSTARTAT</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:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -11803,10 +7155,11 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="csw"> + <UML:Attribute name="fFormatting"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>Count of fields in the array of "shorts"</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>true if the formatting is overriden (in which case the LFOLVL + should contain a pointer to a LVL)</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11814,7 +7167,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0020</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11822,7 +7175,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="shift"/> </UML:TaggedValue.type> @@ -11830,7 +7183,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0x20</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11838,7 +7191,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>:1</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -11846,14 +7199,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CSW</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:FFORMATTING</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"/> @@ -11861,13 +7214,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="wMagicCreated"> + <UML:Attribute name="unsigned4_6"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>[Beginning of the array of shorts, rgls] - Unique number Identifying the File's creator 6A62 is the creator ID - for Word and is reserved. Other creators should choose a different - value.</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>reserved</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11875,7 +7225,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0022</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x4</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11883,7 +7233,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> @@ -11891,7 +7241,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>0xC0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="mask"/> </UML:TaggedValue.type> @@ -11899,7 +7249,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>:2</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -11907,14 +7257,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:WMAGICCREATED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:UNSIGNED4_6</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"/> @@ -11922,10 +7272,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="wMagicRevised"> + <UML:Attribute name="reserved"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>identifies the File's last modifier</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>reserved</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -11933,7 +7283,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0024</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0x5</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -11957,7 +7307,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue/> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="bits"/> </UML:TaggedValue.type> @@ -11965,141 +7315,59 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:WMAGICREVISED</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:RESERVED</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="wMagicCreatedPrivate"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>private data</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>0x0026</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/> - <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:WMAGICCREATEDPRIVATE</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>3</UML:TaggedValue.dataValue> <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="attrid"/> + <UML:TagDefinition xmi.idref="arraycount"/> </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:Stereotype xmi.idref="array"/> </UML:ModelElement.stereotype> </UML:Attribute> </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="LFOLevel-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="LFOLevel"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class LFOLevel--> + <!--Class LFO--> + <UML:Class xmi.id="LFO" name="LFO"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="withindex"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <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:Attribute name="wMagicRevisedPrivate"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>private data</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>0x0028</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/> - <UML:TaggedValue.type> - <UML:TagDefinition xmi.idref="mask"/> - </UML:TaggedValue.type> - </UML:TaggedValue> - </UML:ModelElement.taggedValue> + <UML:Attribute name="lsid"> <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:WMAGICREVISEDPRIVATE</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="pnFbpChpFirst_W6"> - <UML:ModelElement.taggedValue> - <UML:TaggedValue> - <UML:TaggedValue.dataValue>not used</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -12107,7 +7375,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x002A</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>0</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12115,7 +7383,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> @@ -12139,14 +7407,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:PNFBPCHPFIRST_W6</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>rtf:lsid</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="S32"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -12154,10 +7422,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="pnChpFirst_W6"> + <UML:Attribute name="clfolvl"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>not used</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -12165,7 +7433,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x002C</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>12</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12173,7 +7441,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> @@ -12197,14 +7465,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:PNCHPFIRST_W6</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="U16"/> + <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -12212,10 +7480,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="cpnBteChp_W6"> + <UML:Attribute name="ibstFltAutoNum"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>not used</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -12223,7 +7491,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x002E</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>13</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12231,7 +7499,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> @@ -12255,14 +7523,14 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>rtf:CPNBTECHP_W6</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="U16"/> + <UML:DataType xmi.idref="U8"/> </UML:StructuralFeature.type> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref="attribute"/> @@ -12270,10 +7538,10 @@ </UML:Attribute> </UML:Classifier.feature> <UML:Classifier.feature> - <UML:Attribute name="pnFbpPapFirst_W6"> + <UML:Attribute name="grfhic"> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>not used</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue/> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="comment"/> </UML:TaggedValue.type> @@ -12281,7 +7549,7 @@ </UML:ModelElement.taggedValue> <UML:ModelElement.taggedValue> <UML:TaggedValue> - <UML:TaggedValue.dataValue>0x0030</UML:TaggedValue.dataValue> + <UML:TaggedValue.dataValue>14</UML:TaggedValue.dataValue> <UML:TaggedValue.type> <UML:TagDefinition xmi.idref="offset"/> </UML:TaggedValue.type> @@ -12289,7 +7557,4741 @@ </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> + </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: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="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="LFOData"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:LFOData</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="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/> + <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/> + <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:cp</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="LFOData-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="LFOData"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class LFOData--> + <!--Class LFOTable--> + <UML:Class xmi.id="LFOTable" name="LFOTable"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="plcf"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:LFOTABLE</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="LFOTable-Table"> + <UML:Generalization.child> + <UML:Class xmi.idref="LFOTable"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Table"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class LFOTable--> + <!--Class FontTable--> + <UML:Class xmi.id="FontTable" name="FontTable"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="plcf"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:FONTTABLE</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="FontTable-Table"> + <UML:Generalization.child> + <UML:Class xmi.idref="FontTable"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Table"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class FontTable--> + <!--Class Font--> + <UML:Class xmi.id="Font" name="Font"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="withindex"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>40</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="f"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:F</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="U32"/> + </UML:Parameter.type> + </UML:Parameter> + </UML:BehavioralFeature.parameter> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Operation> + <UML:Operation name="altName"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:ALTFONTNAME</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:Operation name="xszFfn"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:XSZFFN</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:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>zero terminated string that records name of font. Possibly + followed by a second xsz which records the name of an alternate + font to use if the first named font does not exist on this system. + Maximal size of xszFfn is 65 characters.</UML:TaggedValue.dataValue> + <UML:TaggedValue.type> + <UML:TagDefinition xmi.idref="comment"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + </UML:Operation> + <UML:Attribute name="cbFfnM1"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>total length of FFN - 1.</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>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/> + <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:CBFFNM1</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="prq"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>pitch request</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>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>03</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:PRQ</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="fTrueType"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>when 1, font is a TrueType font</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>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>04</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:FTRUETYPE</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="unused1_3"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>reserved</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>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>08</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:UNUSED1_3</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="ff"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>font family id</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>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>70</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:FF</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="unused1_7"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>reserved</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>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>80</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:UNUSED1_7</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="wWeight"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>base weight of font</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>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/> + <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:WWEIGHT</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="S16"/> + </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="chs"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>character set identifier</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>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/> + <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:CHS</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="ixchSzAlt"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>index into ffn.szFfn to the name of the alternate font</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>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/> + <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:IXCHSZALT</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="panose"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>? This is supposed to be of type PANOSE.</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>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/> + <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:PANOSE</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>10</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:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:Classifier.feature> + <UML:Attribute name="fs"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>? This is supposed to be of type FONTSIGNATURE.</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>0x10</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/> + <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:FS</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>24</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:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="Font-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="Font"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class Font--> + <!--Class Style--> + <UML:Class xmi.id="Style" name="Style"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="resolvenoauto"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="withindex"/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:Attribute name="sti"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>invariant style identifier</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>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>0FFF</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>:12</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:STI</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="fScratch"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>spare field for any temporary use, always reset back to + zero!</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>12</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>1000</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:FSCRATCH</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="fInvalHeight"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>PHEs of all text with this style are wrong</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>13</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>2000</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:FINVALHEIGHT</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="fHasUpe"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>UPEs have been generated</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>14</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>4000</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:FHASUPE</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="fMassCopy"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>std has been mass-copied; if unused at save time, style should + be deleted</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>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>8000</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:FMASSCOPY</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="sgc"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>style type code</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>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>000F</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:SGC</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="istdBase"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>base style</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>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>FFF0</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>:12</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:ISTDBASE</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="cupx"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue># of UPXs (and UPEs)</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>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>000F</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:CUPX</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="istdNext"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>next style</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>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>FFF0</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>:12</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:ISTDNEXT</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="bchUpe"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>offset to end of upx's, start of upe's</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>0x8</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/> + <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:BCHUPE</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="fAutoRedef"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>auto redefine style when appropriate</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>0xa</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>0001</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:FAUTOREDEF</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="fHidden"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>hidden from UI?</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>0xa</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>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>0002</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:FHIDDEN</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="unused8_3"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>unused bits</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>0xa</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>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>FFFC</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>:14</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:UNUSED8_3</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:Operation name="xstzName"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:XSTZNAME</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:Operation name="xstzName1"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:XSTZNAME1</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:Operation name="upxstart"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:UPXSTART</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="U32"/> + </UML:Parameter.type> + </UML:Parameter> + </UML:BehavioralFeature.parameter> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="attribute"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="noresolve"/> + </UML:ModelElement.stereotype> + </UML:Operation> + <UML:Operation name="upx"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:UPX</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="UPX"/> + </UML:Parameter.type> + </UML:Parameter> + </UML:BehavioralFeature.parameter> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="array"/> + </UML:ModelElement.stereotype> + </UML:Operation> + </UML:Classifier.feature> + </UML:Class> + <UML:Generalization isSpecification="false" xmi.id="Style-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="Style"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class Style--> + <!--Class StyleSheet--> + <UML:Class xmi.id="StyleSheet" name="StyleSheet"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="plcf"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nopayloadoffset"/> + </UML:ModelElement.stereotype> + <UML:Classifier.feature> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8nocalcsize"/> + </UML:ModelElement.stereotype> + <UML:Attribute name="size"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Size of style sheet info</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>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/> + <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:CSTD</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:Attribute name="cstd"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Count of styles in stylesheet</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>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/> + <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:CSTD</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="cbSTDBaseInFile"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Length of STD Base as stored in a file</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>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/> + <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:CBSTDBASEINFILE</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="fStdStylenamesWritten"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Are built-in stylenames stored?</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>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>0001</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:FSTDSTYLENAMESWRITTEN</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="unused4_2"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Spare flags</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>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>FFFE</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:UNUSED4_2</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="stiMaxWhenSaved"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Max sti known when this file was written</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>0x8</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/> + <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:STIMAXWHENSAVED</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="istdMaxFixedWhenSaved"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>How many fixed-index istds are there?</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>0xA</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/> + <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:ISTDMAXFIXEDWHENSAVED</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="nVerBuiltInNamesWhenSaved"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Current version of built-in stylenames</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>0xC</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/> + <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:NVERBUILTINNAMESWHENSAVED</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="rgftcStandardChpStsh"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>ftc used by StandardChpStsh for this document</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>0xE</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/> + <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:RGFTCSTANDARDCHPSTSH</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>3</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="U16"/> + </UML:StructuralFeature.type> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="array"/> + </UML:ModelElement.stereotype> + </UML:Attribute> + </UML:Classifier.feature> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:STYLESHEET</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="StyleSheet-Table"> + <UML:Generalization.child> + <UML:Class xmi.idref="StyleSheet"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Table"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--Class StyleSheet--> + <!--Class Fib--> + <UML:Class xmi.id="Fib" name="Fib"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="withmembers"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>898</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="wIdent"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>(fibh) FIBH Beginning of the FIB header magic number</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>0x0000</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/> + <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:WIDENT</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="nFib"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>FIB version written. This will be >= 101 for all Word 6.0 + for Windows and after documents.</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>0x0002</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/> + <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:NFIB</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="nProduct"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>product version written by</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>0x0004</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/> + <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:NPRODUCT</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>language stamp -- localized version + In pre-WinWord 2.0 files this value was the nLocale. If value is + < 999, then it is the nLocale, otherwise it is the lid.</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>0x0006</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/> + <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:Classifier.feature> + <UML:Attribute name="pnNext"> + <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>0x0008</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/> + <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:PNNEXT</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="S16"/> + </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="fDot"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Set if this document is a template</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>0x000A</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>0001</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:FDOT</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="fGlsy"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Set if this document is a glossary</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>0x000A</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>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>0002</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:FGLSY</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="fComplex"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>when 1, file is in complex, fast-saved format.</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>0x000A</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>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>0004</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:FCOMPLEX</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="fHasPic"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>set if file contains 1 or more pictures</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>0x000A</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>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>0008</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:FHASPIC</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="cQuickSaves"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>count of times file was quicksaved</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>0x000A</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>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>00F0</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:CQUICKSAVES</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="fEncrypted"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Set if file is encrypted</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>0x000A</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="shift"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0100</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:FENCRYPTED</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="fWhichTblStm"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>When 0, this fib refers to the table stream named "0Table", + when 1, this fib refers to the table stream named "1Table". + Normally, a file will have only one table stream, but under unusual + circumstances a file may have table streams with both names. In + that case, this flag must be used to decide which table stream is + valid.</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>0x000A</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>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>0200</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:FWHICHTBLSTM</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="fReadOnlyRecommended"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Set when user has recommended that file be read read-only</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>0x000A</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>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>0400</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:FREADONLYRECOMMENDED</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="fWriteReservation"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Set when file owner has made the file write reserved</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>0x000A</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>11</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>0800</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:FWRITERESERVATION</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="fExtChar"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Set when using extended character set in file</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>0x000A</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>12</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>1000</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:FEXTCHAR</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="fLoadOverride"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>REVIEW</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>0x000A</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>13</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>2000</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:FLOADOVERRIDE</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="fFarEast"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>REVIEW</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>0x000A</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>14</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>4000</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:FFAREAST</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="fCrypto"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>REVIEW</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>0x000A</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>8000</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:FCRYPTO</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="nFibBack"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>This file format it compatible with readers that understand + nFib at or above this value.</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>0x000C</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/> + <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:NFIBBACK</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="lKey"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>File encrypted key, only valid if fEncrypted.</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>0x000E</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/> + <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:LKEY</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="envr"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>environment in which file was created + 0 created by Win Word + 1 created by Mac Word</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>0x0012</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/> + <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:ENVR</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="fMac"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>when 1, this file was last saved in the Mac environment</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>0x0013</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>01</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:FMAC</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="fEmptySpecial"> + <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>0x0013</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>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>02</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:FEMPTYSPECIAL</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="fLoadOverridePage"> + <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>0x0013</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>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>04</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:FLOADOVERRIDEPAGE</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="fFutureSavedUndo"> + <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>0x0013</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>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>08</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:FFUTURESAVEDUNDO</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="fWord97Saved"> + <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>0x0013</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>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>10</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:FWORD97SAVED</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="fSpare0"> + <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>0x0013</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>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>FE</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:FSPARE0</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="chs"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Default extended character set id for text in document stream. + (overridden by chp.chse) + 0 by default characters in doc stream should be interpreted using + the ANSI character set used by Windows + 256 characters in doc stream should be interpreted using the + Macintosh character set.</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>0x0014</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/> + <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:CHS</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="chsTables"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Default extended character set id for text in internal data + structures + 0 by default characters stored in internal data structures should + be interpreted using the ANSI character set used by Windows + 256 characters stored in internal data structures should be + interpreted using the Macintosh character set.</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>0x0016</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/> + <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:CHSTABLES</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="fcMin"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>file offset of first character of text. In non-complex + files a CP can be transformed into an FC by the + following transformation: + fc = cp + fib.fcMin.</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>0x0018</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/> + <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:FCMIN</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="fcMac"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>file offset of last character of text in document text stream + + 1</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>0x001C</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/> + <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:FCMAC</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="csw"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>Count of fields in the array of "shorts"</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>0x0020</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/> + <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:CSW</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="wMagicCreated"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>[Beginning of the array of shorts, rgls] + Unique number Identifying the File's creator 6A62 is the creator ID + for Word and is reserved. Other creators should choose a different + value.</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>0x0022</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/> + <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:WMAGICCREATED</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="wMagicRevised"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>identifies the File's last modifier</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>0x0024</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/> + <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:WMAGICREVISED</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="wMagicCreatedPrivate"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>private data</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>0x0026</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/> + <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:WMAGICCREATEDPRIVATE</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="wMagicRevisedPrivate"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>private data</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>0x0028</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/> + <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:WMAGICREVISEDPRIVATE</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="pnFbpChpFirst_W6"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>not used</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>0x002A</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/> + <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:PNFBPCHPFIRST_W6</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="pnChpFirst_W6"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>not used</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>0x002C</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/> + <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:PNCHPFIRST_W6</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="cpnBteChp_W6"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>not used</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>0x002E</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/> + <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:CPNBTECHP_W6</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="pnFbpPapFirst_W6"> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>not used</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>0x0030</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> @@ -47987,6 +47989,408 @@ </UML:ModelElement.taggedValue> </UML:Class> <!--SPRM sprmTFAutofit--> + <!--SPRM sprmTPc--> + <UML:Class xmi.id="sprmTPc" name="sprmTPc"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8resource"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x360D</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:sprmTPc</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="padding"> + <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>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>0xf0</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:padding</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="pcVert"> + <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>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>0xc</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:pcVert</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="pcHorz"> + <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>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>0x3</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="bits"/> + </UML:TaggedValue.type> + </UML:TaggedValue> + </UML:ModelElement.taggedValue> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>rtf:pcHorz</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:Class> + <UML:Generalization isSpecification="false" xmi.id="sprmTPc-Properties"> + <UML:Generalization.child> + <UML:Class xmi.idref="sprmTPc"/> + </UML:Generalization.child> + <UML:Generalization.parent> + <UML:Class xmi.idref="Properties"/> + </UML:Generalization.parent> + </UML:Generalization> + <!--SPRM sprmTPc--> + <!--SPRM sprmTDyaAbs--> + <UML:Class xmi.id="sprmTDyaAbs" name="sprmTDyaAbs"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x940F</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:sprmTDyaAbs</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 sprmTDyaAbs--> + <!--SPRM sprmTDxaFromText--> + <UML:Class xmi.id="sprmTDxaFromText" name="sprmTDxaFromText"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x9410</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:sprmTDxaFromText</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 sprmTDxaFromText--> + <!--SPRM sprmTDyaFromText--> + <UML:Class xmi.id="sprmTDyaFromText" name="sprmTDyaFromText"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x9411</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:sprmTDyaFromText</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 sprmTDyaFromText--> + <!--SPRM sprmTDxaFromTextRight--> + <UML:Class xmi.id="sprmTDxaFromTextRight" name="sprmTDxaFromTextRight"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x941E</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:sprmTDxaFromTextRight</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 sprmTDxaFromTextRight--> + <!--SPRM sprmTDyaFromTextBottom--> + <UML:Class xmi.id="sprmTDyaFromTextBottom" name="sprmTDyaFromTextBottom"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x941F</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:sprmTDyaFromTextBottom</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 sprmTDyaFromTextBottom--> + <!--SPRM sprmTFNoAllowOverlap--> + <UML:Class xmi.id="sprmTFNoAllowOverlap" name="sprmTFNoAllowOverlap"> + <UML:ModelElement.stereotype> + <UML:Stereotype xmi.idref="ww8sprm"/> + </UML:ModelElement.stereotype> + <UML:ModelElement.taggedValue> + <UML:TaggedValue> + <UML:TaggedValue.dataValue>0x3465</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:sprmTFNoAllowOverlap</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 sprmTFNoAllowOverlap--> <!--SPRMS--> <!--DFFS--> <!--DFF UDefProp--> -- cgit From 8b8f0fdcd980e1f19274c38f42aef27c1c380d7d Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 2 Jun 2010 17:03:29 +0200 Subject: writerfilter08: temporal fix: DOCX document not recognized --- oox/source/helper/zipstorage.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/oox/source/helper/zipstorage.cxx b/oox/source/helper/zipstorage.cxx index 384870430c39..d17259ef692a 100644 --- a/oox/source/helper/zipstorage.cxx +++ b/oox/source/helper/zipstorage.cxx @@ -73,8 +73,10 @@ ZipStorage::ZipStorage( TODO: #i105410# switch to 'OFOPXMLFormat' and use its implementation of relations handling. */ + mxStorage = ::comphelper::OStorageHelper::GetStorageOfFormatFromInputStream( - ZIP_STORAGE_FORMAT_STRING, rxInStream, rxFactory, sal_True ); + ZIP_STORAGE_FORMAT_STRING, rxInStream, rxFactory, + sal_False /* DEV300_m80: Was sal_True, but DOCX and others did not load */ ); } catch( Exception& ) { -- cgit From b4b0d9e9f9b6ff5a3626afddccdf2d9f36ce39e5 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 4 Jun 2010 14:07:03 +0200 Subject: writerfilter08: #i112027#: applied patch and verified --- writerfilter/source/ooxml/OOXMLFactory.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/writerfilter/source/ooxml/OOXMLFactory.cxx b/writerfilter/source/ooxml/OOXMLFactory.cxx index 6fac03898e42..964d9e1cb5ee 100755 --- a/writerfilter/source/ooxml/OOXMLFactory.cxx +++ b/writerfilter/source/ooxml/OOXMLFactory.cxx @@ -263,7 +263,13 @@ OOXMLFactory::createFastChildContext(OOXMLFastContextHandler * pHandler, OOXMLFactory_ns::Pointer_t pFactory = getFactoryForNamespace(nDefine); - return createFastChildContextFromFactory(pHandler, pFactory, Element); + uno::Reference< xml::sax::XFastContextHandler> ret; + + //Avoid handling unknown tokens and recursing to death + if ((Element & 0xffff) < OOXML_FAST_TOKENS_END) + ret = createFastChildContextFromFactory(pHandler, pFactory, Element); + + return ret; } void OOXMLFactory::characters(OOXMLFastContextHandler * pHandler, -- cgit From ae39e55e174bcef4ef6387351a76da5f723fcb2d Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 11 Jun 2010 14:21:32 +0200 Subject: writerfilter08: removed temporary fix --- oox/source/helper/zipstorage.cxx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/oox/source/helper/zipstorage.cxx b/oox/source/helper/zipstorage.cxx index d17259ef692a..384870430c39 100644 --- a/oox/source/helper/zipstorage.cxx +++ b/oox/source/helper/zipstorage.cxx @@ -73,10 +73,8 @@ ZipStorage::ZipStorage( TODO: #i105410# switch to 'OFOPXMLFormat' and use its implementation of relations handling. */ - mxStorage = ::comphelper::OStorageHelper::GetStorageOfFormatFromInputStream( - ZIP_STORAGE_FORMAT_STRING, rxInStream, rxFactory, - sal_False /* DEV300_m80: Was sal_True, but DOCX and others did not load */ ); + ZIP_STORAGE_FORMAT_STRING, rxInStream, rxFactory, sal_True ); } catch( Exception& ) { -- cgit From 3be39ba02ea20768b3e8abb43233fb183d434317 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 16 Jul 2010 17:14:15 +0200 Subject: writerfilter09: no equivalents for mirrorIndent and textDirection in ODF --- writerfilter/source/dmapper/DomainMapper.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index f8d3bab02aff..10907ff7bd53 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3993,6 +3993,10 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp rContext->Insert( PROP_NUMBERING_LEVEL, true, uno::makeAny(pStyleSheetProperties->GetListLevel()), false); } break; + case NS_ooxml::LN_CT_PPrBase_mirrorIndents: + case NS_ooxml::LN_CT_PPrBase_textDirection: + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + break; case NS_ooxml::LN_EG_RPrBase_rStyle: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { -- cgit From a19660d348092c86630554836fa7f4c92c26003a Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 30 Jul 2010 15:37:04 +0200 Subject: writerfilter09: make compile --- writerfilter/source/dmapper/DomainMapper.cxx | 16 --------------- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 1 - writerfilter/source/dmapper/SettingsTable.cxx | 25 ++++------------------- 3 files changed, 4 insertions(+), 38 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 285d55308f00..65dfb4c5fcec 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -4005,10 +4005,6 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp rContext->Insert( PROP_NUMBERING_LEVEL, true, uno::makeAny(pStyleSheetProperties->GetListLevel()), false); } break; - case NS_ooxml::LN_CT_PPrBase_mirrorIndents: - case NS_ooxml::LN_CT_PPrBase_textDirection: - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - break; case NS_ooxml::LN_EG_RPrBase_rStyle: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { @@ -4241,18 +4237,6 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp } } break; - case NS_ooxml::LN_ffdata: - { - writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); - if (pProperties.get() != NULL) - { - FFDataHandler::Pointer_t pFFDataHandler(new FFDataHandler()); - - pProperties->resolve(*pFFDataHandler); - m_pImpl->SetFieldFFData(pFFDataHandler); - } - } - break; default: { #ifdef DEBUG_DOMAINMAPPER diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 4c176b59b4ef..92349beaf70d 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -627,7 +627,6 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) #ifdef DEBUG_DOMAINMAPPER dmapper_logger->attribute("isTextAppend", xTextAppend.is()); - dmapper_logger->attribute("isIgnor", m_TableManager.isIgnore()); #endif if(xTextAppend.is() && ! getTableManager( ).isIgnore()) diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index bc1a86611889..38dbacceb989 100755 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -28,14 +28,14 @@ * ************************************************************************/ -#include <resourcemodel/ResourceModelHelper.hxx> +#include <stdio.h> +#include <rtl/ustring.hxx> +#include <com/sun/star/beans/XPropertySet.hpp> #include <SettingsTable.hxx> +#include <resourcemodel/ResourceModelHelper.hxx> #include <doctok/resourceids.hxx> #include <ooxml/resourceids.hxx> -#include <stdio.h> -#include <ListTable.hxx> #include <ConversionHelper.hxx> -#include <rtl/ustring.hxx> #ifdef DEBUG_DOMAINMAPPER #include <resourcemodel/QNameToString.hxx> @@ -54,8 +54,6 @@ struct SettingsTable_Impl DomainMapper& m_rDMapper; const uno::Reference< lang::XMultiServiceFactory > m_xTextFactory; - ListTablePtr m_pListTable; - ::rtl::OUString m_sCharacterSpacing; ::rtl::OUString m_sDecimalSymbol; ::rtl::OUString m_sListSeparatorForFields; //2.15.1.56 listSeparator (List Separator for Field Code Evaluation) @@ -99,13 +97,6 @@ struct SettingsTable_Impl , m_nCryptSpinCount(0) {} - ListTablePtr GetListTable() - { - if(!m_pListTable) - m_pListTable.reset( - new ListTable( m_rDMapper, m_xTextFactory )); - return m_pListTable; - } }; SettingsTable::SettingsTable(DomainMapper& rDMapper, const uno::Reference< lang::XMultiServiceFactory > xTextFactory) : @@ -197,14 +188,6 @@ void SettingsTable::sprm(Sprm& rSprm) } 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 */ -- cgit From 762a32d4815070199ca4398107b07ec8e864585a Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 5 Aug 2010 15:51:31 +0200 Subject: #i111033# factoryimpl_ns.xsl: better detection of resource for attributes, model.xml: ST_Percentage was undefined for wml. --- writerfilter/source/ooxml/factoryimpl_ns.xsl | 91 ++++++++++++++++++---------- writerfilter/source/ooxml/model.xml | 5 ++ 2 files changed, 65 insertions(+), 31 deletions(-) diff --git a/writerfilter/source/ooxml/factoryimpl_ns.xsl b/writerfilter/source/ooxml/factoryimpl_ns.xsl index 533c3d16ae23..4a3fda3622b3 100644 --- a/writerfilter/source/ooxml/factoryimpl_ns.xsl +++ b/writerfilter/source/ooxml/factoryimpl_ns.xsl @@ -143,6 +143,47 @@ OOXMLFactory_ns::Pointer_t </xsl:text> </xsl:text> </xsl:template> +<!-- + Returns resource for attribute. +--> + +<xsl:template name="resourceforattribute"> + <xsl:variable name="mynsid" select="generate-id(ancestor::namespace)"/> + <xsl:for-each select="rng:ref"> + <xsl:variable name="name" select="@name"/> + <xsl:variable name="resource1"> + <xsl:for-each select="key('context-resource', @name)[generate-id(ancestor::namespace) = $mynsid]"> + <xsl:value-of select="@resource"/> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <xsl:when test="string-length($resource1) > 0"> + <xsl:value-of select="$resource1"/> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:call-template name="resourceforattribute"/> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + <xsl:for-each select=".//rng:text"> + <xsl:text>String</xsl:text> + </xsl:for-each> + <xsl:for-each select=".//rng:data[@type='base64Binary']"> + <xsl:text>String</xsl:text> + </xsl:for-each> + <xsl:for-each select=".//rng:data[@type='boolean']"> + <xsl:text>Boolean</xsl:text> + </xsl:for-each> + <xsl:for-each select=".//rng:data[@type='unsignedInt']"> + <xsl:text>Integer</xsl:text> + </xsl:for-each> + <xsl:for-each select=".//rng:data[@type='int']"> + <xsl:text>Integer</xsl:text> + </xsl:for-each> +</xsl:template> + <!-- creates code block in OOXMLFactory_<namespace>::createAttributeToResourceMap @@ -164,42 +205,30 @@ for a rng:define // </xsl:text> <xsl:value-of select="$defname"/> </xsl:if> - <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:for-each select=".//rng:data[@type='base64Binary']"> - <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:call-template name="resourceforattribute"/> </xsl:variable> <xsl:choose> <xsl:when test="string-length($resource) > 0"> + <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:text> (*pMap)[</xsl:text> <xsl:call-template name="fasttoken"/> diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index b7046a495bd8..f78c0be0b2f5 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -13962,6 +13962,11 @@ </choice> </list> </define> + <define name="ST_Percentage"> + <data type="int"> + <xs:documentation>Percentage</xs:documentation> + </data> + </define> <define name="CT_Zoom"> <optional> <attribute name="val"> -- cgit From cf56e8bec1f2a35f39cabcb121bb11485f077ddf Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 6 Aug 2010 13:26:50 +0200 Subject: writerfilter09: added debugging code for PositionHandler --- writerfilter/source/dmapper/GraphicHelpers.cxx | 37 ++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/writerfilter/source/dmapper/GraphicHelpers.cxx b/writerfilter/source/dmapper/GraphicHelpers.cxx index c77f2dd55d3e..af55bf2f41ca 100644 --- a/writerfilter/source/dmapper/GraphicHelpers.cxx +++ b/writerfilter/source/dmapper/GraphicHelpers.cxx @@ -8,6 +8,11 @@ #include <com/sun/star/text/RelOrientation.hpp> #include <com/sun/star/text/WrapTextMode.hpp> +#ifdef DEBUG_DOMAINMAPPER +#include <resourcemodel/QNameToString.hxx> +#include "dmapperloggers.hxx" +#endif + #include <iostream> using namespace std; @@ -30,6 +35,12 @@ PositionHandler::~PositionHandler( ) void PositionHandler::attribute( Id aName, Value& rVal ) { +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->startElement("PositionHandler.attribute"); + dmapper_logger->attribute("name", (*QNameToString::Instance())(aName)); + dmapper_logger->attribute("value", rVal.toString()); +#endif + sal_Int32 nIntValue = rVal.getInt( ); switch ( aName ) { @@ -85,12 +96,26 @@ void PositionHandler::attribute( Id aName, Value& rVal ) } } break; - default:; + default: +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("unhandled"); +#endif + break; } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("PositionHandler.attribute"); +#endif } void PositionHandler::sprm( Sprm& rSprm ) { +#ifdef DEBUG_DOMAINMAPPER + string sSprm = rSprm.toString(); + dmapper_logger->startElement("PositionHandler.sprm"); + dmapper_logger->attribute("sprm", sSprm); +#endif + Value::Pointer_t pValue = rSprm.getValue(); sal_Int32 nIntValue = pValue->getInt(); @@ -153,8 +178,16 @@ void PositionHandler::sprm( Sprm& rSprm ) case NS_ooxml::LN_CT_PosH_posOffset: case NS_ooxml::LN_CT_PosV_posOffset: m_nPosition = ConversionHelper::convertEMUToMM100( nIntValue ); - default:; + default: +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element("unhandled"); +#endif + break; } + +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->endElement("PositionHandler.sprm"); +#endif } WrapHandler::WrapHandler( ) : -- cgit From decb79d19d71f5250052c8b86e256f7f66fe2803 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Fri, 6 Aug 2010 16:36:58 +0200 Subject: writerfilter09: factory{impl}_ns.xsl: handle defines that have resource Value but no attribute --- writerfilter/source/ooxml/factory_ns.xsl | 7 +- writerfilter/source/ooxml/factoryimpl_ns.xsl | 114 ++++++++++++++++++++------- 2 files changed, 89 insertions(+), 32 deletions(-) diff --git a/writerfilter/source/ooxml/factory_ns.xsl b/writerfilter/source/ooxml/factory_ns.xsl index 44b5c824859f..53a1075130ca 100644 --- a/writerfilter/source/ooxml/factory_ns.xsl +++ b/writerfilter/source/ooxml/factory_ns.xsl @@ -69,19 +69,18 @@ <xsl:template name="factoryactiondecls"> <xsl:variable name="ns" select="@name"/> - <xsl:for-each select="resource/action"> + <xsl:for-each select="resource/action[not(@name='characters')]"> <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:text> + virtual void charactersAction(OOXMLFastContextHandler * pHandler, const ::rtl::OUString & sText);</xsl:text> </xsl:template> <!-- factorydecl --> diff --git a/writerfilter/source/ooxml/factoryimpl_ns.xsl b/writerfilter/source/ooxml/factoryimpl_ns.xsl index 4a3fda3622b3..2ec75b701205 100644 --- a/writerfilter/source/ooxml/factoryimpl_ns.xsl +++ b/writerfilter/source/ooxml/factoryimpl_ns.xsl @@ -570,42 +570,97 @@ CreateElementMapPointer </xsl:text> <!-- 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:param name="action"/> + <xsl:text>

</xsl:text> + <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>)
</xsl:text> + <xsl:text>{
</xsl:text> + <xsl:variable name="switch1block"> + <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:variable> + <xsl:variable name="switchblock2"> <xsl:if test="$action='characters'"> - <xsl:text>, const ::rtl::OUString & sText</xsl:text> + <xsl:for-each select="resource[@resource='Value']"> + <xsl:if test="count(attribute) = 0"> + <xsl:variable name="name" select="@name"/> + <xsl:text> </xsl:text> + <xsl:call-template name="caselabeldefine"/> + <xsl:text>
</xsl:text> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:for-each select="rng:ref"> + <xsl:call-template name="charactersactionforvalues"/> + </xsl:for-each> + </xsl:for-each> + <xsl:text> break;
</xsl:text> + </xsl:if> + </xsl:for-each> </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:variable> + <xsl:if test="string-length($switch1block) > 0 or string-length($switchblock2) > 0"> + <xsl:text> sal_uInt32 nDefine = pHandler->getDefine();
</xsl:text> + </xsl:if> + <xsl:if test="string-length($switch1block) > 0"> + <xsl:text> switch (nDefine)
</xsl:text> + <xsl:text> {
</xsl:text> + <xsl:value-of select="$switch1block"/> + <xsl:text> default:
</xsl:text> + <xsl:text> break;
</xsl:text> + <xsl:text> }
</xsl:text> + </xsl:if> + <xsl:if test="string-length($switchblock2) > 0"> + <xsl:text> OOXMLFastContextHandlerValue * pValueHandler = dynamic_cast<OOXMLFastContextHandlerValue *>(pHandler);
</xsl:text> + <xsl:text> switch (nDefine)
</xsl:text> + <xsl:text> {
</xsl:text> + <xsl:value-of select="$switchblock2"/> + <xsl:text> default:
</xsl:text> + <xsl:text> break;
</xsl:text> + <xsl:text> }
</xsl:text> + </xsl:if> + <xsl:text>}
</xsl:text> +</xsl:template> + +<xsl:template name="charactersactionforvalues"> + <xsl:variable name="name" select="@name"/> + <xsl:for-each select="ancestor::namespace/rng:grammar/rng:define[@name=$name]"> + <xsl:text> {
</xsl:text> + <xsl:text> // </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>
</xsl:text> + <xsl:for-each select="rng:data[@type='int']"> + <xsl:text> OOXMLValue::Pointer_t pValue(new OOXMLIntegerValue(sText));
</xsl:text> + <xsl:text> pValueHandler->setValue(pValue);
</xsl:text> </xsl:for-each> - <xsl:text> - default: - break; - } -} -</xsl:text> + <xsl:for-each select="rng:list"> + <xsl:text> ListValueMapPointer pListValueMap = getListValueMap(nDefine);
</xsl:text> + <xsl:text> if (pListValueMap.get() != NULL)
</xsl:text> + <xsl:text> {
</xsl:text> + <xsl:text> OOXMLValue::Pointer_t pValue(new OOXMLIntegerValue((*pListValueMap)[sText]));
</xsl:text> + <xsl:text> pValueHandler->setValue(pValue);</xsl:text> + <xsl:text> }
</xsl:text> + </xsl:for-each> + <xsl:text> }
</xsl:text> + </xsl:for-each> </xsl:template> <!-- factoryactions --> <xsl:template name="factoryactions"> <xsl:variable name="ns" select="@name"/> - <xsl:for-each select="resource/action"> + <xsl:for-each select="resource/action[not(@name='characters')]"> <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"/> @@ -616,6 +671,9 @@ void </xsl:text> </xsl:for-each> </xsl:if> </xsl:for-each> + <xsl:call-template name="factoryaction"> + <xsl:with-param name="action">characters</xsl:with-param> + </xsl:call-template> </xsl:template> <xsl:template name="factorygetdefinename"> -- cgit From a4c6cfeea8940aab8e9a42908be029bc00b1936c Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 9 Aug 2010 13:22:25 +0200 Subject: #i111652#: TableStyleSheetEntry::GetProperties: prevent endless recursion using stack of handled styles --- writerfilter/source/dmapper/StyleSheetTable.cxx | 20 ++++++++++++++++---- writerfilter/source/dmapper/StyleSheetTable.hxx | 7 ++++++- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 5f2e2268abb8..9dd5503693a7 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -180,17 +180,29 @@ void TableStyleSheetEntry::AddTblStylePr( TblStyleType nType, PropertyMapPtr pPr m_aStyles[nType] = pProps; } -PropertyMapPtr TableStyleSheetEntry::GetProperties( sal_Int32 nMask ) +PropertyMapPtr TableStyleSheetEntry::GetProperties( sal_Int32 nMask, StyleSheetEntryDequePtr pStack ) { PropertyMapPtr pProps( new PropertyMap ); // First get the parent properties StyleSheetEntryPtr pEntry = m_pStyleSheet->FindParentStyleSheet( sBaseStyleIdentifier ); - if ( pEntry.get( ) ) + if ( pEntry.get( )) { - TableStyleSheetEntry* pParent = static_cast<TableStyleSheetEntry *>( pEntry.get( ) ); - pProps->insert( pParent->GetProperties( nMask ) ); + if (pStack.get() == NULL) + pStack.reset(new StyleSheetEntryDeque()); + + StyleSheetEntryDeque::const_iterator aIt = find(pStack->begin(), pStack->end(), pEntry); + + if (aIt != pStack->end()) + { + pStack->push_back(pEntry); + + TableStyleSheetEntry* pParent = static_cast<TableStyleSheetEntry *>( pEntry.get( ) ); + pProps->insert( pParent->GetProperties( nMask ), pStack ); + + pStack->pop_back(); + } } // And finally get the mask ones diff --git a/writerfilter/source/dmapper/StyleSheetTable.hxx b/writerfilter/source/dmapper/StyleSheetTable.hxx index e4441bcb05fe..657b447fa979 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.hxx +++ b/writerfilter/source/dmapper/StyleSheetTable.hxx @@ -85,6 +85,8 @@ public: }; typedef boost::shared_ptr<StyleSheetEntry> StyleSheetEntryPtr; +typedef ::std::deque<StyleSheetEntryPtr> StyleSheetEntryDeque; +typedef boost::shared_ptr<StyleSheetEntryDeque> StyleSheetEntryDequePtr; class DomainMapper; class StyleSheetTable : @@ -146,7 +148,10 @@ public: // Gets all the properties // + corresponding to the mask, // + from the parent styles - PropertyMapPtr GetProperties( sal_Int32 nMask ); + // + // @param mask mask describing which properties to return + // @param pStack already processed StyleSheetEntries + PropertyMapPtr GetProperties( sal_Int32 nMask, StyleSheetEntryDequePtr pStack = StyleSheetEntryDequePtr()); #ifdef DEBUG_DOMAINMAPPER virtual XMLTag::Pointer_t toTag(); -- cgit From 60566277eb6bf40e9f72a95eed597d9b1b5d54dd Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 10 Aug 2010 17:12:32 +0200 Subject: writerfilter09: TagLogger: indented output, cleaning up --- writerfilter/inc/resourcemodel/TagLogger.hxx | 5 +- writerfilter/source/resourcemodel/TagLogger.cxx | 512 +++++++++++++----------- 2 files changed, 270 insertions(+), 247 deletions(-) diff --git a/writerfilter/inc/resourcemodel/TagLogger.hxx b/writerfilter/inc/resourcemodel/TagLogger.hxx index 055656832761..1692f3cd1c8d 100644 --- a/writerfilter/inc/resourcemodel/TagLogger.hxx +++ b/writerfilter/inc/resourcemodel/TagLogger.hxx @@ -86,7 +86,7 @@ namespace writerfilter const string & getTag() const; string toString() const; - ostream & output(ostream & o) const; + ostream & output(ostream & o, const string & sIndent = "") const; }; class WRITERFILTER_DLLPUBLIC TagLogger @@ -139,8 +139,7 @@ namespace writerfilter IdToString::Pointer_t mpIdToString; public: - PropertySetToTagHandler(IdToString::Pointer_t pIdToString) - : mpTag(new XMLTag("propertyset")), mpIdToString(pIdToString) {} + PropertySetToTagHandler(IdToString::Pointer_t pIdToString); virtual ~PropertySetToTagHandler(); XMLTag::Pointer_t getTag() const { return mpTag; } diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index f19bef7c01d1..3760923aa523 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -34,28 +34,28 @@ namespace writerfilter { - XMLTag::Pointer_t XMLTag::NIL(new XMLTag("NIL")); +XMLTag::Pointer_t XMLTag::NIL(new XMLTag("NIL")); - void XMLTag::addAttr(string sName, string sValue) - { - XMLAttribute aAttr(sName, sValue); +void XMLTag::addAttr(string sName, string sValue) +{ + XMLAttribute aAttr(sName, sValue); - mAttrs.push_back(aAttr); - } + 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, const ::rtl::OUString & sValue) +{ + addAttr(sName, + OUStringToOString + (sValue, RTL_TEXTENCODING_ASCII_US).getStr()); +} - void XMLTag::addAttr(string sName, sal_uInt32 nValue) - { - static char buffer[256]; - snprintf(buffer, sizeof(buffer), "%" SAL_PRIdINT32, nValue); - addAttr(sName, buffer); - } +void XMLTag::addAttr(string sName, sal_uInt32 nValue) +{ + static char buffer[256]; + snprintf(buffer, sizeof(buffer), "%" SAL_PRIdINT32, nValue); + addAttr(sName, buffer); +} void XMLTag::addAttr(string sName, uno::Any aAny) { @@ -111,322 +111,346 @@ void XMLTag::addAttr(string sName, uno::Any aAny) aTmpStrString); } - void XMLTag::addTag(XMLTag::Pointer_t pTag) - { - if (pTag != XMLTag::Pointer_t()) - mTags.push_back(pTag); - } +void XMLTag::addTag(XMLTag::Pointer_t pTag) +{ + if (pTag != XMLTag::Pointer_t()) + mTags.push_back(pTag); +} - void XMLTag::chars(const string & rChars) - { - mChars += rChars; - } +void XMLTag::chars(const string & rChars) +{ + mChars += rChars; +} void XMLTag::chars(const ::rtl::OUString & rChars) { chars(OUStringToOString(rChars, RTL_TEXTENCODING_ASCII_US).getStr()); } - const string & XMLTag::getTag() const - { - return mTag; - } +const string & XMLTag::getTag() const +{ + return mTag; +} - string XMLTag::toString() const - { - if (mChars.length() > 0) - return mChars; +string XMLTag::toString() const +{ + if (mChars.length() > 0) + return mChars; - string sResult; + string sResult; - if (mMode == START || mMode == COMPLETE) - { - sResult += "<" + mTag; + if (mMode == START || mMode == COMPLETE) + { + sResult += "<" + mTag; - XMLAttributes_t::const_iterator aIt = mAttrs.begin(); - while (aIt != mAttrs.end()) - { - sResult += " "; - sResult += aIt->mName; - sResult += "=\""; - sResult += xmlify(aIt->mValue); - sResult += "\""; + XMLAttributes_t::const_iterator aIt = mAttrs.begin(); + while (aIt != mAttrs.end()) + { + sResult += " "; + sResult += aIt->mName; + sResult += "=\""; + sResult += xmlify(aIt->mValue); + sResult += "\""; - aIt++; - } + aIt++; + } - sResult +=">"; + sResult +=">"; - if (mTags.size() > 0) + if (mTags.size() > 0) + { + XMLTags_t::const_iterator aItTags = mTags.begin(); + while (aItTags != mTags.end()) { - XMLTags_t::const_iterator aItTags = mTags.begin(); - while (aItTags != mTags.end()) - { - if ((*aItTags).get() != NULL) - sResult += (*aItTags)->toString(); - - aItTags++; - } + if ((*aItTags).get() != NULL) + sResult += (*aItTags)->toString(); + + aItTags++; } } + } - if (mMode == END || mMode == COMPLETE) - sResult += "</" + mTag + ">"; + if (mMode == END || mMode == COMPLETE) + sResult += "</" + mTag + ">"; - return sResult; - } + return sResult; +} + +ostream & XMLTag::output(ostream & o, const string & sIndent) const +{ + bool bHasContent = mChars.size() > 0 || mTags.size() > 0; - ostream & XMLTag::output(ostream & o) const + if (mMode == START || mMode == COMPLETE) { - if (mMode == START || mMode == COMPLETE) - { - o << "<" << mTag; + o << sIndent << "<" << mTag; - XMLAttributes_t::const_iterator aItAttrs(mAttrs.begin()); - while (aItAttrs != mAttrs.end()) - { - o << " " << aItAttrs->mName << "=\"" - << xmlify(aItAttrs->mValue) - << "\""; + XMLAttributes_t::const_iterator aItAttrs(mAttrs.begin()); + while (aItAttrs != mAttrs.end()) + { + o << " " << aItAttrs->mName << "=\"" + << xmlify(aItAttrs->mValue) + << "\""; - aItAttrs++; - } + aItAttrs++; + } + if (bHasContent) + { o << ">"; + string sNewIndent = sIndent + " "; XMLTags_t::const_iterator aItTags(mTags.begin()); while (aItTags != mTags.end()) { - (*aItTags)->output(o); + if (aItTags == mTags.begin()) + o << endl; + + (*aItTags)->output(o, sNewIndent); aItTags++; } o << mChars; } - - if (mMode == END || mMode == COMPLETE) - o << "</" << mTag << ">"; - - return o; } - struct eqstr + if (mMode == END || mMode == COMPLETE) { - bool operator()(const char* s1, const char* s2) const + if (bHasContent) { - return strcmp(s1, s2) == 0; - } - }; - - typedef hash_map<const char *, TagLogger::Pointer_t, hash<const char *>, eqstr> TagLoggerHashMap_t; - static TagLoggerHashMap_t * tagLoggers = NULL; + if (mTags.size() > 0) + o << sIndent; - TagLogger::TagLogger() - : mFileName("writerfilter") - { + o << "</" << mTag << ">" << endl; + } + else + o << "/>" << endl; } - TagLogger::~TagLogger() - { - } + return o; +} - void TagLogger::setFileName(const string & rName) +struct eqstr +{ + bool operator()(const char* s1, const char* s2) const { - mFileName = rName; + return strcmp(s1, s2) == 0; } +}; - TagLogger::Pointer_t TagLogger::getInstance(const char * name) - { - if (tagLoggers == NULL) - tagLoggers = new TagLoggerHashMap_t(); +typedef hash_map<const char *, TagLogger::Pointer_t, hash<const char *>, eqstr> TagLoggerHashMap_t; +static TagLoggerHashMap_t * tagLoggers = NULL; - TagLoggerHashMap_t::iterator aIt = tagLoggers->end(); +TagLogger::TagLogger() +: mFileName("writerfilter") +{ +} - if (! tagLoggers->empty()) - aIt = tagLoggers->find(name); +TagLogger::~TagLogger() +{ +} - if (aIt == tagLoggers->end()) - { - TagLogger::Pointer_t pTagLogger(new TagLogger()); - pair<const char *, TagLogger::Pointer_t> entry(name, pTagLogger); - aIt = tagLoggers->insert(entry).first; - } +void TagLogger::setFileName(const string & rName) +{ + mFileName = rName; +} - return aIt->second; - } +TagLogger::Pointer_t TagLogger::getInstance(const char * name) +{ + if (tagLoggers == NULL) + tagLoggers = new TagLoggerHashMap_t(); - XMLTag::Pointer_t TagLogger::currentTag() const - { - bool bEmpty=mTags.empty(); - if (!bEmpty) - return mTags.top(); + TagLoggerHashMap_t::iterator aIt = tagLoggers->end(); - return XMLTag::NIL; - } + if (! tagLoggers->empty()) + aIt = tagLoggers->find(name); - void TagLogger::startDocument() + if (aIt == tagLoggers->end()) { - XMLTag::Pointer_t pTag(new XMLTag("root")); - mTags.push(pTag); - mpRoot = pTag; + TagLogger::Pointer_t pTagLogger(new TagLogger()); + pair<const char *, TagLogger::Pointer_t> entry(name, pTagLogger); + aIt = tagLoggers->insert(entry).first; } - void TagLogger::element(const string & name) - { - startElement(name); - endElement(name); - } + return aIt->second; +} - void TagLogger::startElement(const string & name) - { - XMLTag::Pointer_t pTag(new XMLTag(name)); - currentTag()->addTag(pTag); - mTags.push(pTag); - } +XMLTag::Pointer_t TagLogger::currentTag() const +{ + bool bEmpty=mTags.empty(); + if (!bEmpty) + return mTags.top(); - void TagLogger::attribute(const string & name, const string & value) - { - currentTag()->addAttr(name, value); - } + return XMLTag::NIL; +} - void TagLogger::attribute(const string & name, const ::rtl::OUString & value) - { - currentTag()->addAttr(name, value); - } +void TagLogger::startDocument() +{ + XMLTag::Pointer_t pTag(new XMLTag("root")); + mTags.push(pTag); + mpRoot = pTag; +} - void TagLogger::attribute(const string & name, sal_uInt32 value) - { - currentTag()->addAttr(name, value); - } +void TagLogger::element(const string & name) +{ + startElement(name); + endElement(name); +} -void TagLogger::attribute(const string & name, const uno::Any aAny) +void TagLogger::startElement(const string & name) { - currentTag()->addAttr(name, aAny); + XMLTag::Pointer_t pTag(new XMLTag(name)); + currentTag()->addTag(pTag); + mTags.push(pTag); } - void TagLogger::addTag(XMLTag::Pointer_t pTag) - { - currentTag()->addTag(pTag); - } +void TagLogger::attribute(const string & name, const string & value) +{ + currentTag()->addAttr(name, value); +} - void TagLogger::chars(const string & rChars) - { - currentTag()->chars(xmlify(rChars)); - } +void TagLogger::attribute(const string & name, const ::rtl::OUString & value) +{ + currentTag()->addAttr(name, value); +} - void TagLogger::chars(const ::rtl::OUString & rChars) - { - chars(OUStringToOString(rChars, RTL_TEXTENCODING_ASCII_US).getStr()); - } +void TagLogger::attribute(const string & name, sal_uInt32 value) +{ + currentTag()->addAttr(name, value); +} - void TagLogger::endElement(const string & name) - { - string nameRemoved = currentTag()->getTag(); +void TagLogger::attribute(const string & name, const uno::Any aAny) +{ + currentTag()->addAttr(name, aAny); +} - if (name == nameRemoved) - mTags.pop(); - else { - XMLTag::Pointer_t pTag(new XMLTag("end.mismatch")); - pTag->addAttr("name", name); - pTag->addAttr("top", nameRemoved); +void TagLogger::addTag(XMLTag::Pointer_t pTag) +{ + currentTag()->addTag(pTag); +} - currentTag()->addTag(pTag); - } +void TagLogger::chars(const string & rChars) +{ + currentTag()->chars(xmlify(rChars)); +} - } +void TagLogger::chars(const ::rtl::OUString & rChars) +{ + chars(OUStringToOString(rChars, RTL_TEXTENCODING_ASCII_US).getStr()); +} - void TagLogger::endDocument() - { +void TagLogger::endElement(const string & name) +{ + 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); - ostream & TagLogger::output(ostream & o) const - { - return mpRoot->output(o); + currentTag()->addTag(pTag); } - void TagLogger::dump(const char * name) - { - TagLoggerHashMap_t::iterator aIt(tagLoggers->find(name)); - if (aIt != tagLoggers->end()) - { - string fileName; - char * temp = getenv("TAGLOGGERTMP"); - - if (temp != NULL) - fileName += temp; - else - fileName += "/tmp"; - - string sPrefix = aIt->second->mFileName; - size_t nLastSlash = sPrefix.find_last_of('/'); - size_t nLastBackslash = sPrefix.find_last_of('\\'); - size_t nCutPos = nLastSlash; - if (nLastBackslash < nCutPos) - nCutPos = nLastBackslash; - if (nCutPos < sPrefix.size()) - sPrefix = sPrefix.substr(nCutPos + 1); - - fileName += "/"; - fileName += sPrefix; - fileName +="."; - fileName += name; - fileName += ".xml"; - - ofstream dumpStream(fileName.c_str()); - aIt->second->output(dumpStream); - } - } +} - PropertySetToTagHandler::~PropertySetToTagHandler() - { +void TagLogger::endDocument() +{ + mTags.pop(); +} + +ostream & TagLogger::output(ostream & o) const +{ + return mpRoot->output(o); +} + +void TagLogger::dump(const char * name) +{ + TagLoggerHashMap_t::iterator aIt(tagLoggers->find(name)); + if (aIt != tagLoggers->end()) + { + string fileName; + char * temp = getenv("TAGLOGGERTMP"); + + if (temp != NULL) + fileName += temp; + else + fileName += "/tmp"; + + string sPrefix = aIt->second->mFileName; + size_t nLastSlash = sPrefix.find_last_of('/'); + size_t nLastBackslash = sPrefix.find_last_of('\\'); + size_t nCutPos = nLastSlash; + if (nLastBackslash < nCutPos) + nCutPos = nLastBackslash; + if (nCutPos < sPrefix.size()) + sPrefix = sPrefix.substr(nCutPos + 1); + + fileName += "/"; + fileName += sPrefix; + fileName +="."; + fileName += name; + fileName += ".xml"; + + ofstream dumpStream(fileName.c_str()); + aIt->second->output(dumpStream); } +} + +PropertySetToTagHandler::PropertySetToTagHandler(IdToString::Pointer_t pIdToString) +: mpTag(new XMLTag("propertyset")), mpIdToString(pIdToString) +{ +} + +PropertySetToTagHandler::~PropertySetToTagHandler() +{ +} - void PropertySetToTagHandler::resolve - (XMLTag & rTag, writerfilter::Reference<Properties>::Pointer_t pProps) +void PropertySetToTagHandler::resolve +(XMLTag & rTag, writerfilter::Reference<Properties>::Pointer_t pProps) +{ + if (pProps.get() != NULL) { - if (pProps.get() != NULL) - { - PropertySetToTagHandler aHandler(mpIdToString); - pProps->resolve(aHandler); - rTag.addTag(aHandler.getTag()); - } + PropertySetToTagHandler aHandler(mpIdToString); + pProps->resolve(aHandler); + rTag.addTag(aHandler.getTag()); } +} - void PropertySetToTagHandler::attribute(Id name, Value & val) - { - XMLTag::Pointer_t pTag(new XMLTag("attribute")); +void PropertySetToTagHandler::attribute(Id name, Value & val) +{ + XMLTag::Pointer_t pTag(new XMLTag("attribute")); - pTag->addAttr("name", (*QNameToString::Instance())(name)); - pTag->addAttr("value", val.toString()); + pTag->addAttr("name", (*QNameToString::Instance())(name)); + pTag->addAttr("value", val.toString()); - resolve(*pTag, val.getProperties()); + resolve(*pTag, val.getProperties()); - mpTag->addTag(pTag); - } + mpTag->addTag(pTag); +} - void PropertySetToTagHandler::sprm(Sprm & rSprm) - { - XMLTag::Pointer_t pTag(new XMLTag("sprm")); +void PropertySetToTagHandler::sprm(Sprm & rSprm) +{ + XMLTag::Pointer_t pTag(new XMLTag("sprm")); - string sName; + string sName; - if (mpIdToString != IdToString::Pointer_t()) - sName = mpIdToString->toString(rSprm.getId()); + if (mpIdToString != IdToString::Pointer_t()) + sName = mpIdToString->toString(rSprm.getId()); - pTag->addAttr("name", sName); + pTag->addAttr("name", sName); - static char sBuffer[256]; - snprintf(sBuffer, sizeof(sBuffer), - "0x%" SAL_PRIxUINT32 ", %" SAL_PRIuUINT32, rSprm.getId(), - rSprm.getId()); - pTag->addAttr("id", sBuffer); - pTag->addAttr("value", rSprm.getValue()->toString()); + static char sBuffer[256]; + snprintf(sBuffer, sizeof(sBuffer), + "0x%" SAL_PRIxUINT32 ", %" SAL_PRIuUINT32, rSprm.getId(), + rSprm.getId()); + pTag->addAttr("id", sBuffer); + pTag->addAttr("value", rSprm.getValue()->toString()); - resolve(*pTag, rSprm.getProps()); + resolve(*pTag, rSprm.getProps()); - mpTag->addTag(pTag); - } + mpTag->addTag(pTag); +} XMLTag::Pointer_t unoPropertySetToTag(uno::Reference<beans::XPropertySet> rPropSet) -- cgit From e033f3a57542ebec0a0f1e5cb3685525c61c775a Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 10 Aug 2010 17:14:42 +0200 Subject: writerfilter09: ooxml: refactoring debug output --- writerfilter/source/filter/ImportFilter.cxx | 4 +- writerfilter/source/ooxml/OOXMLFactory.cxx | 63 ++-- writerfilter/source/ooxml/OOXMLFactory.hxx | 3 + .../source/ooxml/OOXMLFastContextHandler.cxx | 362 ++++++++------------- .../source/ooxml/OOXMLFastContextHandler.hxx | 7 +- writerfilter/source/ooxml/OOXMLFastHelper.hxx | 84 +++-- writerfilter/source/ooxml/factory_ns.xsl | 4 + writerfilter/source/ooxml/factoryimpl.xsl | 24 +- writerfilter/source/ooxml/factoryimpl_ns.xsl | 19 ++ 9 files changed, 270 insertions(+), 300 deletions(-) diff --git a/writerfilter/source/filter/ImportFilter.cxx b/writerfilter/source/filter/ImportFilter.cxx index 10e7cefa591f..3ddfef5f33fd 100644 --- a/writerfilter/source/filter/ImportFilter.cxx +++ b/writerfilter/source/filter/ImportFilter.cxx @@ -86,7 +86,7 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes return sal_False; } -#ifdef DEBUG_ELEMENT +#ifdef DEBUG_IMPORT OUString sURL = aMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_URL(), OUString() ); ::std::string sURLc = OUStringToOString(sURL, RTL_TEXTENCODING_ASCII_US).getStr(); @@ -131,7 +131,7 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes pDocument->resolve(*pStream); } -#ifdef DEBUG_ELEMENT +#ifdef DEBUG_IMPORT writerfilter::TagLogger::dump("DOMAINMAPPER"); dmapperLogger->endDocument(); writerfilter::TagLogger::dump("DEBUG"); diff --git a/writerfilter/source/ooxml/OOXMLFactory.cxx b/writerfilter/source/ooxml/OOXMLFactory.cxx index 964d9e1cb5ee..a99811bf03fb 100755 --- a/writerfilter/source/ooxml/OOXMLFactory.cxx +++ b/writerfilter/source/ooxml/OOXMLFactory.cxx @@ -129,8 +129,8 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, if (pFactory.get() != NULL) { -#ifdef DEBUG_ATTRIBUTES - debug_logger->startElement("attributes"); +#ifdef DEBUG_FACTORY + debug_logger->startElement("factory.attributes"); debug_logger->attribute("define", pFactory->getDefineName(nDefine)); char sBuffer[256]; snprintf(sBuffer, sizeof(sBuffer), "%08" SAL_PRIxUINT32, nDefine); @@ -146,8 +146,8 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, for (aIt = pMap->begin(); aIt != aEndIt; aIt++) { Id nId = (*pTokenToIdMap)[aIt->first]; -#ifdef DEBUG_ATTRIBUTES - debug_logger->startElement("attribute"); +#ifdef DEBUG_FACTORY + debug_logger->startElement("factory.attribute"); debug_logger->attribute("name", fastTokenToId(aIt->first)); debug_logger->attribute("tokenid", (*QNameToString::Instance())(nId)); snprintf(sBuffer, sizeof(sBuffer), "%08" SAL_PRIxUINT32, nId); @@ -159,7 +159,7 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, { case RT_Boolean: { -#ifdef DEBUG_ATTRIBUTES +#ifdef DEBUG_FACTORY debug_logger->element("boolean"); #endif ::rtl::OUString aValue(Attribs->getValue(aIt->first)); @@ -171,7 +171,7 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, break; case RT_String: { -#ifdef DEBUG_ATTRIBUTES +#ifdef DEBUG_FACTORY debug_logger->element("string"); #endif ::rtl::OUString aValue(Attribs->getValue(aIt->first)); @@ -184,7 +184,7 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, break; case RT_Integer: { -#ifdef DEBUG_ATTRIBUTES +#ifdef DEBUG_FACTORY debug_logger->element("integer"); #endif ::rtl::OUString aValue(Attribs->getValue(aIt->first)); @@ -197,7 +197,7 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, break; case RT_Hex: { -#ifdef DEBUG_ATTRIBUTES +#ifdef DEBUG_FACTORY debug_logger->element("hex"); #endif ::rtl::OUString aValue(Attribs->getValue(aIt->first)); @@ -210,7 +210,7 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, break; case RT_List: { -#ifdef DEBUG_ATTRIBUTES +#ifdef DEBUG_FACTORY debug_logger->startElement("list"); #endif ListValueMapPointer pListValueMap = @@ -221,7 +221,7 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, ::rtl::OUString aValue(Attribs->getValue(aIt->first)); sal_uInt32 nValue = (*pListValueMap)[aValue]; -#ifdef DEBUG_ATTRIBUTES +#ifdef DEBUG_FACTORY debug_logger->attribute("value", aValue); debug_logger->attribute("value-num", nValue); #endif @@ -232,25 +232,25 @@ void OOXMLFactory::attributes(OOXMLFastContextHandler * pHandler, OOXMLValue::Pointer_t pValue(new OOXMLIntegerValue(nValue)); pFactory->attributeAction(pHandler, aIt->first, pValue); } -#ifdef DEBUG_ATTRIBUTES +#ifdef DEBUG_FACTORY debug_logger->endElement("list"); #endif } break; default: -#ifdef DEBUG_ATTRIBUTES +#ifdef DEBUG_FACTORY debug_logger->element("unknown-attribute-type"); #endif break; } } -#ifdef DEBUG_ATTRIBUTES - debug_logger->endElement("attribute"); +#ifdef DEBUG_FACTORY + debug_logger->endElement("factory.attribute"); #endif } -#ifdef DEBUG_ATTRIBUTES - debug_logger->endElement("attributes"); +#ifdef DEBUG_FACTORY + debug_logger->endElement("factory.attributes"); #endif } } @@ -259,6 +259,11 @@ uno::Reference< xml::sax::XFastContextHandler> OOXMLFactory::createFastChildContext(OOXMLFastContextHandler * pHandler, Token_t Element) { +#ifdef DEBUG_FACTORY + debug_logger->startElement("factory.createFastChildContext"); + debug_logger->attribute("token", fastTokenToId(Element)); +#endif + Id nDefine = pHandler->getDefine(); OOXMLFactory_ns::Pointer_t pFactory = getFactoryForNamespace(nDefine); @@ -269,12 +274,21 @@ OOXMLFactory::createFastChildContext(OOXMLFastContextHandler * pHandler, if ((Element & 0xffff) < OOXML_FAST_TOKENS_END) ret = createFastChildContextFromFactory(pHandler, pFactory, Element); +#ifdef DEBUG_FACTORY + debug_logger->endElement("factory.createFastChildContext"); +#endif + return ret; } void OOXMLFactory::characters(OOXMLFastContextHandler * pHandler, const ::rtl::OUString & rString) { +#ifdef DEBUG_FACTORY + debug_logger->startElement("factory.characters"); + debug_logger->chars(rString); +#endif + Id nDefine = pHandler->getDefine(); OOXMLFactory_ns::Pointer_t pFactory = getFactoryForNamespace(nDefine); @@ -282,6 +296,10 @@ void OOXMLFactory::characters(OOXMLFastContextHandler * pHandler, { pFactory->charactersAction(pHandler, rString); } + +#ifdef DEBUG_FACTORY + debug_logger->endElement("factory.characters"); +#endif } void OOXMLFactory::startAction(OOXMLFastContextHandler * pHandler, Token_t /*nToken*/) @@ -292,11 +310,11 @@ void OOXMLFactory::startAction(OOXMLFastContextHandler * pHandler, Token_t /*nTo if (pFactory.get() != NULL) { #ifdef DEBUG_ELEMENT - debug_logger->startElement("factory-startAction"); + debug_logger->startElement("factory.startAction"); #endif pFactory->startAction(pHandler); #ifdef DEBUG_ELEMENT - debug_logger->endElement("factory-startAction"); + debug_logger->endElement("factory.startAction"); #endif } } @@ -309,11 +327,11 @@ void OOXMLFactory::endAction(OOXMLFastContextHandler * pHandler, Token_t /*nToke if (pFactory.get() != NULL) { #ifdef DEBUG_ELEMENT - debug_logger->startElement("factory-endAction"); + debug_logger->startElement("factory.endAction"); #endif pFactory->endAction(pHandler); #ifdef DEBUG_ELEMENT - debug_logger->endElement("factory-endAction"); + debug_logger->endElement("factory.endAction"); #endif } } @@ -334,6 +352,11 @@ void OOXMLFactory_ns::attributeAction(OOXMLFastContextHandler *, Token_t, OOXMLV { } +string OOXMLFactory_ns::getName() const +{ + return "noname"; +} + } } diff --git a/writerfilter/source/ooxml/OOXMLFactory.hxx b/writerfilter/source/ooxml/OOXMLFactory.hxx index 0558436ab793..753fb3f658f7 100755 --- a/writerfilter/source/ooxml/OOXMLFactory.hxx +++ b/writerfilter/source/ooxml/OOXMLFactory.hxx @@ -114,6 +114,9 @@ public: virtual void endAction(OOXMLFastContextHandler * pHandler); virtual void attributeAction(OOXMLFastContextHandler * pHandler, Token_t nToken, OOXMLValue::Pointer_t pValue); virtual string getDefineName(Id nId) const; +#ifdef DEBUG_FACTORY + virtual string getName() const; +#endif AttributeToResourceMapPointer getAttributeToResourceMap(Id nId); ListValueMapPointer getListValueMap(Id nId); diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx index 20ee49258c00..6e08896a9ec0 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx @@ -182,51 +182,20 @@ OOXMLFastContextHandler::~OOXMLFastContextHandler() aSetContexts.erase(this); } -#ifdef DEBUG_MEMORY -void SAL_CALL OOXMLFastContextHandler::acquire() - throw () -{ - mnRefCount++; - - static char buffer[256]; - snprintf(buffer, sizeof(buffer), "%ld: %s: aquire(%ld)", mnInstanceNumber, - getType().c_str(), mnRefCount); - logger("MEMORY", buffer); - - cppu::WeakImplHelper1<com::sun::star::xml::sax::XFastContextHandler>::acquire(); -} - -void SAL_CALL OOXMLFastContextHandler::release() - throw () -{ - static char buffer[256]; - snprintf(buffer, sizeof(buffer), "%s: release(%ld)", mnInstanceNumber, - getType().c_str(), mnRefCount); - logger("MEMORY", buffer); - - cppu::WeakImplHelper1<com::sun::star::xml::sax::XFastContextHandler>::release(); - mnRefCount--; -} -#endif - // ::com::sun::star::xml::sax::XFastContextHandler: void SAL_CALL OOXMLFastContextHandler::startFastElement (Token_t Element, const uno::Reference< xml::sax::XFastAttributeList > & Attribs) throw (uno::RuntimeException, xml::sax::SAXException) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("element"); - debug_logger->attribute("token", fastTokenToId(Element)); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.element"); + string sToken = fastTokenToId(Element); + debug_logger->attribute("token", sToken); debug_logger->attribute("type",getType()); debug_logger->startElement("at-start"); debug_logger->addTag(toTag()); debug_logger->endElement("at-start"); -#endif -#ifdef DEBUG_MEMORY - static char buffer[256]; - snprintf(buffer, sizeof(buffer), "%ld: startFastElement", mnInstanceNumber); - logger("MEMORY", buffer); #endif attributes(Attribs); lcl_startFastElement(Element, Attribs); @@ -237,8 +206,8 @@ void SAL_CALL OOXMLFastContextHandler::startUnknownElement const uno::Reference< xml::sax::XFastAttributeList > & /*Attribs*/) throw (uno::RuntimeException, xml::sax::SAXException) { -#ifdef DEBUG_CONTEXT_STACK - debug_logger->startElement("unknown-element"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.unknown-element"); debug_logger->attribute("namespace", Namespace); debug_logger->attribute("name", Name); #else @@ -250,19 +219,18 @@ throw (uno::RuntimeException, xml::sax::SAXException) void SAL_CALL OOXMLFastContextHandler::endFastElement(Token_t Element) throw (uno::RuntimeException, xml::sax::SAXException) { +#ifdef DEBUG_CONTEXT_HANDLER + string sToken = fastTokenToId(Element); + (void) sToken; +#endif + lcl_endFastElement(Element); -#ifdef DEBUG_ELEMENT +#ifdef DEBUG_CONTEXT_HANDLER debug_logger->startElement("at-end"); debug_logger->addTag(toTag()); debug_logger->endElement("at-end"); - debug_logger->endElement("element"); -#endif -#ifdef DEBUG_MEMORY - static char buffer[256]; - snprintf(buffer, sizeof(buffer), "%ld: %s:endFastElement", mnInstanceNumber, - getType().c_str()); - logger("MEMORY", buffer); + debug_logger->endElement("contexthandler.element"); #endif } @@ -278,14 +246,6 @@ void OOXMLFastContextHandler::lcl_endFastElement (Token_t Element) throw (uno::RuntimeException, xml::sax::SAXException) { -#ifdef DEBUG_CONTEXT_STACK - debug_logger->startElement("endAction"); - debug_logger->endElement("endAction"); - debug_logger->startElement("token"); - debug_logger->chars(fastTokenToId(Element)); - debug_logger->endElement("token"); -#endif - OOXMLFactory::getInstance()->endAction(this, Element); } @@ -293,9 +253,8 @@ void SAL_CALL OOXMLFastContextHandler::endUnknownElement (const ::rtl::OUString & , const ::rtl::OUString & ) throw (uno::RuntimeException, xml::sax::SAXException) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("unknown-element"); - debug_logger->endElement("unknown-element"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.unknown-element"); #endif } @@ -305,8 +264,8 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL const uno::Reference< xml::sax::XFastAttributeList > & Attribs) throw (uno::RuntimeException, xml::sax::SAXException) { -#ifdef DEBUG_CONTEXT_STACK - debug_logger->startElement("createFastChildContext"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.createFastChildContext"); debug_logger->attribute("token", fastTokenToId(Element)); debug_logger->attribute("type", getType()); #endif @@ -314,8 +273,8 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL uno::Reference< xml::sax::XFastContextHandler > xResult (lcl_createFastChildContext(Element, Attribs)); -#ifdef DEBUG_CONTEXT_STACK - debug_logger->endElement("createFastChildContext"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.createFastChildContext"); #endif return xResult; @@ -337,11 +296,11 @@ OOXMLFastContextHandler::createUnknownChildContext const uno::Reference< xml::sax::XFastAttributeList > & /*Attribs*/) throw (uno::RuntimeException, xml::sax::SAXException) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("createUnknownChildContext"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.createUnknownChildContext"); debug_logger->attribute("namespace", Namespace); debug_logger->attribute("name", Name); - debug_logger->endElement("createUnknownChildContext"); + debug_logger->endElement("contexthandler.createUnknownChildContext"); #else (void) Namespace; (void) Name; @@ -404,12 +363,12 @@ void OOXMLFastContextHandler::attributes void OOXMLFastContextHandler::startAction(Token_t Element) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("startAction"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.startAction"); #endif lcl_startAction(Element); -#ifdef DEBUG_ELEMENT - debug_logger->endElement("startAction"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.startAction"); #endif } @@ -420,12 +379,12 @@ void OOXMLFastContextHandler::lcl_startAction(Token_t Element) void OOXMLFastContextHandler::endAction(Token_t Element) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("endAction"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.endAction"); #endif lcl_endAction(Element); -#ifdef DEBUG_ELEMENT - debug_logger->endElement("endAction"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.endAction"); #endif } @@ -493,15 +452,15 @@ string OOXMLFastContextHandler::getResourceString() const void OOXMLFastContextHandler::setId(Id rId) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("setId"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.setId"); static char sBuffer[256]; snprintf(sBuffer, sizeof(sBuffer), "%" SAL_PRIuUINT32, rId); debug_logger->attribute("id", sBuffer); - debug_logger->chars((*QNameToString::Instance())(rId)); - debug_logger->endElement("setId"); + debug_logger->attribute("name", (*QNameToString::Instance())(rId)); + debug_logger->endElement("contexthandler.setId"); #endif mId = rId; @@ -531,7 +490,7 @@ void OOXMLFastContextHandler::setToken(Token_t nToken) { mnToken = nToken; -#ifdef DEBUG_CONTEXT_STACK +#ifdef DEBUG_CONTEXT_HANDLER msTokenString = fastTokenToId(mnToken); #endif } @@ -547,11 +506,6 @@ void OOXMLFastContextHandler::mark(const Id & rId, OOXMLValue::Pointer_t pVal) OOXMLPropertyImpl::Pointer_t pProperty (new OOXMLPropertyImpl(rId, pVal, OOXMLPropertyImpl::ATTRIBUTE)); -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("mark"); - debug_logger->chars(xmlify(pProperty->toString())); - debug_logger->endElement("mark"); -#endif pPropSet->add(pProperty); mpStream->props(pPropSet); } @@ -571,8 +525,8 @@ OOXMLPropertySet * OOXMLFastContextHandler::getPicturePropSet void OOXMLFastContextHandler::sendTableDepth() const { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("sendTableDepth"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.sendTableDepth"); #endif if (mnTableDepth > 0) @@ -593,15 +547,10 @@ void OOXMLFastContextHandler::sendTableDepth() const pProps->add(pProp); } -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("props"); - debug_logger->chars(pProps->toString()); - debug_logger->endElement("props"); -#endif mpStream->props(writerfilter::Reference<Properties>::Pointer_t(pProps)); } -#ifdef DEBUG_ELEMENT - debug_logger->endElement("sendTableDepth"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.sendTableDepth"); #endif } @@ -613,6 +562,10 @@ void OOXMLFastContextHandler::setHandle() void OOXMLFastContextHandler::startCharacterGroup() { +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.startCharacterGroup"); +#endif + if (isForwardEvents()) { if (mpParserState->isInCharacterGroup()) @@ -623,10 +576,6 @@ void OOXMLFastContextHandler::startCharacterGroup() if (! mpParserState->isInCharacterGroup()) { -#ifdef DEBUG_ELEMENT - debug_logger->element("startCharacterGroup"); -#endif - mpStream->startCharacterGroup(); mpParserState->setInCharacterGroup(true); mpParserState->resolveCharacterProperties(*mpStream); @@ -636,12 +585,12 @@ void OOXMLFastContextHandler::startCharacterGroup() void OOXMLFastContextHandler::endCharacterGroup() { - if (isForwardEvents() && mpParserState->isInCharacterGroup()) - { -#ifdef DEBUG_ELEMENT - debug_logger->element("endCharacterGroup"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.endCharacterGroup"); #endif + if (isForwardEvents() && mpParserState->isInCharacterGroup()) + { mpStream->endCharacterGroup(); mpParserState->setInCharacterGroup(false); } @@ -649,6 +598,10 @@ void OOXMLFastContextHandler::endCharacterGroup() void OOXMLFastContextHandler::startParagraphGroup() { +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.startParagraphGroup"); +#endif + if (isForwardEvents()) { if (mpParserState->isInParagraphGroup()) @@ -659,10 +612,6 @@ void OOXMLFastContextHandler::startParagraphGroup() if (! mpParserState->isInParagraphGroup()) { -#ifdef DEBUG_ELEMENT - debug_logger->element("startParagraphGroup"); -#endif - mpStream->startParagraphGroup(); mpParserState->setInParagraphGroup(true); } @@ -671,6 +620,10 @@ void OOXMLFastContextHandler::startParagraphGroup() void OOXMLFastContextHandler::endParagraphGroup() { +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.endParagraphGroup"); +#endif + if (isForwardEvents()) { if (mpParserState->isInCharacterGroup()) @@ -678,9 +631,6 @@ void OOXMLFastContextHandler::endParagraphGroup() if (mpParserState->isInParagraphGroup()) { -#ifdef DEBUG_ELEMENT - debug_logger->element("endParagraphGroup"); -#endif mpStream->endParagraphGroup(); mpParserState->setInParagraphGroup(false); } @@ -689,6 +639,10 @@ void OOXMLFastContextHandler::endParagraphGroup() void OOXMLFastContextHandler::startSectionGroup() { +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.startSectionGroup"); +#endif + if (isForwardEvents()) { if (mpParserState->isInSectionGroup()) @@ -696,9 +650,6 @@ void OOXMLFastContextHandler::startSectionGroup() if (! mpParserState->isInSectionGroup()) { -#ifdef DEBUG_ELEMENT - debug_logger->element("startSectionGroup"); -#endif mpStream->info(mpParserState->getHandle()); mpStream->startSectionGroup(); mpParserState->setInSectionGroup(true); @@ -708,6 +659,10 @@ void OOXMLFastContextHandler::startSectionGroup() void OOXMLFastContextHandler::endSectionGroup() { +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.endSectionGroup"); +#endif + if (isForwardEvents()) { if (mpParserState->isInParagraphGroup()) @@ -715,9 +670,6 @@ void OOXMLFastContextHandler::endSectionGroup() if (mpParserState->isInSectionGroup()) { -#ifdef DEBUG_ELEMENT - debug_logger->element("endSectionGroup"); -#endif mpStream->endSectionGroup(); mpParserState->setInSectionGroup(false); } @@ -726,10 +678,6 @@ void OOXMLFastContextHandler::endSectionGroup() void OOXMLFastContextHandler::setLastParagraphInSection() { -#ifdef DEBUG_ELEMENT - debug_logger->element("setLastParagraphInSection"); -#endif - mpParserState->setLastParagraphInSection(true); mpStream->markLastParagraphInSection( ); } @@ -751,8 +699,8 @@ OOXMLPropertySet::Pointer_t OOXMLFastContextHandler::getPropertySet() const void OOXMLFastContextHandler::startField() { -#ifdef DEBUG_ELEMENT - debug_logger->element("startField"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.startField"); #endif startCharacterGroup(); if (isForwardEvents()) @@ -762,8 +710,8 @@ void OOXMLFastContextHandler::startField() void OOXMLFastContextHandler::fieldSeparator() { -#ifdef DEBUG_ELEMENT - debug_logger->element("fieldSeparator"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.fieldSeparator"); #endif startCharacterGroup(); if (isForwardEvents()) @@ -773,8 +721,8 @@ void OOXMLFastContextHandler::fieldSeparator() void OOXMLFastContextHandler::endField() { -#ifdef DEBUG_ELEMENT - debug_logger->element("endField"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.endField"); #endif startCharacterGroup(); if (isForwardEvents()) @@ -784,8 +732,8 @@ void OOXMLFastContextHandler::endField() void OOXMLFastContextHandler::ftnednref() { -#ifdef DEBUG_ELEMENT - debug_logger->element("ftnednref"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.ftnednref"); #endif if (isForwardEvents()) mpStream->utext(sFtnEdnRef, 1); @@ -793,8 +741,8 @@ void OOXMLFastContextHandler::ftnednref() void OOXMLFastContextHandler::ftnednsep() { -#ifdef DEBUG_ELEMENT - debug_logger->element("ftnednsep"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.ftnednsep"); #endif if (isForwardEvents()) mpStream->utext(sFtnEdnSep, 1); @@ -802,8 +750,8 @@ void OOXMLFastContextHandler::ftnednsep() void OOXMLFastContextHandler::ftnedncont() { -#ifdef DEBUG_ELEMENT - debug_logger->element("ftnedncont"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.ftnedncont"); #endif if (isForwardEvents()) mpStream->text(sFtnEdnCont, 1); @@ -811,8 +759,8 @@ void OOXMLFastContextHandler::ftnedncont() void OOXMLFastContextHandler::pgNum() { -#ifdef DEBUG_ELEMENT - debug_logger->element("pgNum"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.pgNum"); #endif if (isForwardEvents()) mpStream->utext((const sal_uInt8*)sPgNum, 1); @@ -820,8 +768,8 @@ void OOXMLFastContextHandler::pgNum() void OOXMLFastContextHandler::tab() { -#ifdef DEBUG_ELEMENT - debug_logger->element("tab"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.tab"); #endif if (isForwardEvents()) mpStream->utext((const sal_uInt8*)sTab, 1); @@ -829,8 +777,8 @@ void OOXMLFastContextHandler::tab() void OOXMLFastContextHandler::cr() { -#ifdef DEBUG_ELEMENT - debug_logger->element("cr"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.cr"); #endif if (isForwardEvents()) mpStream->utext((const sal_uInt8*)sCR, 1); @@ -838,8 +786,8 @@ void OOXMLFastContextHandler::cr() void OOXMLFastContextHandler::noBreakHyphen() { -#ifdef DEBUG_ELEMENT - debug_logger->element("noBreakHyphen"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.noBreakHyphen"); #endif if (isForwardEvents()) mpStream->utext((const sal_uInt8*)sNoBreakHyphen, 1); @@ -847,8 +795,8 @@ void OOXMLFastContextHandler::noBreakHyphen() void OOXMLFastContextHandler::softHyphen() { -#ifdef DEBUG_ELEMENT - debug_logger->element("softHyphen"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.softHyphen"); #endif if (isForwardEvents()) mpStream->utext((const sal_uInt8*)sSoftHyphen, 1); @@ -856,8 +804,8 @@ void OOXMLFastContextHandler::softHyphen() void OOXMLFastContextHandler::handleLastParagraphInSection() { -#ifdef DEBUG_ELEMENT - debug_logger->element("handleLastParagraphInSection"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.handleLastParagraphInSection"); #endif if (mpParserState->isLastParagraphInSection()) @@ -869,8 +817,8 @@ void OOXMLFastContextHandler::handleLastParagraphInSection() void OOXMLFastContextHandler::endOfParagraph() { -#ifdef DEBUG_ELEMENT - debug_logger->element("endOfParagraph"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.endOfParagraph"); #endif if (! mpParserState->isInCharacterGroup()) startCharacterGroup(); @@ -880,10 +828,10 @@ void OOXMLFastContextHandler::endOfParagraph() void OOXMLFastContextHandler::text(const ::rtl::OUString & sText) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("text"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.text"); debug_logger->chars(sText); - debug_logger->endElement("text"); + debug_logger->endElement("contexthandler.text"); #endif if (isForwardEvents()) mpStream->utext(reinterpret_cast < const sal_uInt8 * > @@ -893,10 +841,10 @@ void OOXMLFastContextHandler::text(const ::rtl::OUString & sText) void OOXMLFastContextHandler::propagateCharacterProperties() { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("propagateCharacterProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.propagateCharacterProperties"); debug_logger->addTag(toPropertiesTag(getPropertySet())); - debug_logger->endElement("propagateCharacterProperties"); + debug_logger->endElement("contexthandler.propagateCharacterProperties"); #endif mpParserState->setCharacterProperties(getPropertySet()); @@ -904,10 +852,10 @@ void OOXMLFastContextHandler::propagateCharacterProperties() void OOXMLFastContextHandler::propagateCharacterPropertiesAsSet(const Id & rId) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("propagateCharacterPropertiesAsSet"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.propagateCharacterPropertiesAsSet"); debug_logger->addTag(toPropertiesTag(getPropertySet())); - debug_logger->endElement("propagateCharacterPropertiesAsSet"); + debug_logger->endElement("contexthandler.propagateCharacterPropertiesAsSet"); #endif OOXMLValue::Pointer_t pValue(new OOXMLPropertySetValue(getPropertySet())); @@ -927,8 +875,8 @@ bool OOXMLFastContextHandler::propagatesProperties() const void OOXMLFastContextHandler::propagateCellProperties() { -#ifdef DEBUG_ELEMENT - debug_logger->element("propagateCellProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.propagateCellProperties"); #endif mpParserState->setCellProperties(getPropertySet()); @@ -936,8 +884,8 @@ void OOXMLFastContextHandler::propagateCellProperties() void OOXMLFastContextHandler::propagateRowProperties() { -#ifdef DEBUG_ELEMENT - debug_logger->element("propagateRowProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.propagateRowProperties"); #endif mpParserState->setRowProperties(getPropertySet()); @@ -946,10 +894,10 @@ void OOXMLFastContextHandler::propagateRowProperties() void OOXMLFastContextHandler::propagateTableProperties() { OOXMLPropertySet::Pointer_t pProps = getPropertySet(); -#ifdef DEBUG_ELEMENT - debug_logger->startElement("propagateTableProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.propagateTableProperties"); debug_logger->addTag(toPropertiesTag(pProps)); - debug_logger->endElement("propagateTableProperties"); + debug_logger->endElement("contexthandler.propagateTableProperties"); #endif mpParserState->setTableProperties(pProps); @@ -957,47 +905,47 @@ void OOXMLFastContextHandler::propagateTableProperties() void OOXMLFastContextHandler::sendCellProperties() { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("sendCellProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.sendCellProperties"); #endif mpParserState->resolveCellProperties(*mpStream); -#ifdef DEBUG_ELEMENT - debug_logger->endElement("sendCellProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.sendCellProperties"); #endif } void OOXMLFastContextHandler::sendRowProperties() { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("sendRowProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.sendRowProperties"); #endif mpParserState->resolveRowProperties(*mpStream); -#ifdef DEBUG_ELEMENT - debug_logger->endElement("sendRowProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.sendRowProperties"); #endif } void OOXMLFastContextHandler::sendTableProperties() { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("sendTableProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.sendTableProperties"); #endif mpParserState->resolveTableProperties(*mpStream); -#ifdef DEBUG_ELEMENT - debug_logger->endElement("sendTableProperties"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.sendTableProperties"); #endif } void OOXMLFastContextHandler::clearTableProps() { -#ifdef DEBUG_ELEMENT - debug_logger->element("clearTableProps"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.clearTableProps"); #endif mpParserState->setTableProperties(OOXMLPropertySet::Pointer_t @@ -1006,8 +954,8 @@ void OOXMLFastContextHandler::clearTableProps() void OOXMLFastContextHandler::sendPropertiesWithId(const Id & rId) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("sendPropertiesWithId"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.sendPropertiesWithId"); debug_logger->attribute("id", fastTokenToId(rId)); #endif @@ -1020,16 +968,16 @@ void OOXMLFastContextHandler::sendPropertiesWithId(const Id & rId) pPropertySet->add(pProp); mpStream->props(pPropertySet); -#ifdef DEBUG_ELEMENT +#ifdef DEBUG_CONTEXT_HANDLER debug_logger->addTag(toPropertiesTag(pPropertySet)); - debug_logger->endElement("sendPropertiesWithId"); + debug_logger->endElement("contexthandler.sendPropertiesWithId"); #endif } void OOXMLFastContextHandler::clearProps() { -#ifdef DEBUG_ELEMENT - debug_logger->element("clearProps"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->element("contexthandler.clearProps"); #endif setPropertySet(OOXMLPropertySet::Pointer_t(new OOXMLPropertySetImpl())); @@ -1063,15 +1011,15 @@ OOXMLDocument * OOXMLFastContextHandler::getDocument() void OOXMLFastContextHandler::setForwardEvents(bool bForwardEvents) { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("setForwardEvents"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.setForwardEvents"); if (bForwardEvents) debug_logger->chars("true"); else debug_logger->chars("false"); - debug_logger->endElement("setForwardEvents"); + debug_logger->endElement("contexthandler.setForwardEvents"); #endif mpParserState->setForwardEvents(bForwardEvents); @@ -1154,8 +1102,8 @@ void OOXMLFastContextHandler::resolvePropertySetAttrs() void OOXMLFastContextHandler::sendPropertyToParent() { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("sendPropertyToParent"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.sendPropertyToParent"); #endif if (mpParent != NULL) @@ -1169,21 +1117,21 @@ void OOXMLFastContextHandler::sendPropertyToParent() OOXMLPropertyImpl::SPRM)); pProps->add(pProp); -#ifdef DEBUG_ELEMENT +#ifdef DEBUG_CONTEXT_HANDLER debug_logger->addTag(toPropertiesTag(pProps)); #endif } } -#ifdef DEBUG_ELEMENT - debug_logger->endElement("sendPropertyToParent"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.sendPropertyToParent"); #endif } void OOXMLFastContextHandler::sendPropertiesToParent() { -#ifdef DEBUG_ELEMENT - debug_logger->startElement("sendPropertiesToParent"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.sendPropertiesToParent"); #endif if (mpParent != NULL) { @@ -1193,12 +1141,6 @@ void OOXMLFastContextHandler::sendPropertiesToParent() { 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 @@ -1207,24 +1149,12 @@ void OOXMLFastContextHandler::sendPropertiesToParent() 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"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.sendPropertiesToParent"); #endif } @@ -1263,11 +1193,11 @@ void OOXMLFastContextHandlerStream::newProperty(const Id & rId, void OOXMLFastContextHandlerStream::sendProperty(Id nId) { -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("sendProperty"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.sendProperty"); debug_logger->attribute("id", (*QNameToString::Instance())(nId)); debug_logger->chars(xmlify(getPropertySetAttrs()->toString())); - debug_logger->endElement("sendProperty"); + debug_logger->endElement("contexthandler.sendProperty"); #endif OOXMLPropertySetEntryToString aHandler(nId); @@ -1286,10 +1216,10 @@ OOXMLFastContextHandlerStream::getPropertySetAttrs() const void OOXMLFastContextHandlerStream::resolvePropertySetAttrs() { -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("resolvePropertySetAttrs"); +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.resolvePropertySetAttrs"); debug_logger->chars(mpPropertySetAttrs->toString()); - debug_logger->endElement("resolvePropertySetAttrs"); + debug_logger->endElement("contexthandler.resolvePropertySetAttrs"); #endif mpStream->props(mpPropertySetAttrs); } @@ -1339,13 +1269,7 @@ void OOXMLFastContextHandlerProperties::lcl_endFastElement { if (isForwardEvents()) { -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("sendproperties"); -#endif mpStream->props(mpPropertySet); -#ifdef DEBUG_PROPERTIES - debug_logger->endElement("sendproperties"); -#endif } } else diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx index 0c441f62a180..59ee2cc42080 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx @@ -230,18 +230,13 @@ public: virtual string toString() const; #endif -#ifdef DEBUG_MEMORY - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); -#endif - protected: OOXMLFastContextHandler * mpParent; Id mId; Id mnDefine; Token_t mnToken; -#ifdef DEBUG_CONTEXT_STACK +#ifdef DEBUG_CONTEXT_HANDLER string msTokenString; #endif diff --git a/writerfilter/source/ooxml/OOXMLFastHelper.hxx b/writerfilter/source/ooxml/OOXMLFastHelper.hxx index 5d4587922a54..9bfadf558d84 100644 --- a/writerfilter/source/ooxml/OOXMLFastHelper.hxx +++ b/writerfilter/source/ooxml/OOXMLFastHelper.hxx @@ -74,21 +74,22 @@ uno::Reference<XFastContextHandler> OOXMLFastHelper<T>::createAndSetParent (OOXMLFastContextHandler * pHandler, sal_uInt32 nToken, Id nId) { +#ifdef DEBUG_HELPER + debug_logger->startElement("helper.createAndSetParent"); + debug_logger->attribute("context", pHandler->getType()); + debug_logger->attribute("id", (*QNameToString::Instance())(nId)); +#endif + OOXMLFastContextHandler * pTmp = new T(pHandler); pTmp->setToken(nToken); pTmp->setId(nId); -#ifdef DEBUG_CREATE - debug_logger->startElement("createAndSetParent"); - debug_logger->attribute("context", pHandler->getType()); - debug_logger->attribute("token", fastTokenToId(pTmp->getToken())); - debug_logger->attribute("id", (*QNameToString::Instance())(nId)); - +#ifdef DEBUG_HELPER debug_logger->startElement("created"); debug_logger->addTag(pTmp->toTag()); debug_logger->endElement("created"); - debug_logger->endElement("createAndSetParent"); + debug_logger->endElement("helper.createAndSetParent"); #endif uno::Reference<XFastContextHandler> aResult(pTmp); @@ -101,27 +102,29 @@ 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"); +#ifdef DEBUG_HELPER + debug_logger->startElement("helper.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); +#endif + + OOXMLFastContextHandler * pTmp = new T(pHandler); + + pTmp->setToken(nToken); + pTmp->setId(nId); + pTmp->setDefine(nDefine); + +#ifdef DEBUG_HELPER debug_logger->startElement("created"); debug_logger->addTag(pTmp->toTag()); debug_logger->endElement("created"); - debug_logger->endElement("createAndSetParentAndDefine"); + debug_logger->endElement("helper.createAndSetParentAndDefine"); #endif uno::Reference<XFastContextHandler> aResult(pTmp); @@ -135,6 +138,12 @@ OOXMLFastHelper<T>::createAndSetParentRef (OOXMLFastContextHandler * pHandler, sal_uInt32 nToken, const uno::Reference < xml::sax::XFastAttributeList > & Attribs) { +#ifdef DEBUG_HELPER + debug_logger->startElement("helper.createAndSetParentRef"); + debug_logger->attribute("context", pHandler->getType()); + debug_logger->attribute("type", fastTokenToId(nToken)); +#endif + boost::shared_ptr<OOXMLFastContextHandler> pTmp(new T(pHandler)); uno::Reference<XFastContextHandler> xChild = @@ -149,15 +158,11 @@ OOXMLFastHelper<T>::createAndSetParentRef } -#ifdef DEBUG_CREATE - debug_logger->startElement("createAndSetParentRef"); - debug_logger->attribute("context", pHandler->getType()); - debug_logger->attribute("type", fastTokenToId(nToken)); - +#ifdef DEBUG_HELPER debug_logger->startElement("created"); - debug_logger->chars(pTmp->getType()); + debug_logger->addTag(pTmp->toTag()); debug_logger->endElement("created"); - debug_logger->endElement("createAndSetParentRef"); + debug_logger->endElement("helper.createAndSetParentRef"); #endif return xChild; @@ -170,7 +175,7 @@ void OOXMLFastHelper<T>::newProperty(OOXMLFastContextHandler * pHandler, { OOXMLValue::Pointer_t pVal(new T(rValue)); -#ifdef DEBUG_PROPERTIES +#ifdef DEBUG_HELPER string aStr = (*QNameToString::Instance())(nId); debug_logger->startElement("newProperty-from-string"); @@ -182,11 +187,14 @@ void OOXMLFastHelper<T>::newProperty(OOXMLFastContextHandler * pHandler, if (aStr.size() == 0) debug_logger->addTag(XMLTag::Pointer_t(new XMLTag("unknown-qname"))); +#endif + pHandler->newProperty(nId, pVal); + +#ifdef DEBUG_HELPER debug_logger->endElement("newProperty-from-string"); #endif - pHandler->newProperty(nId, pVal); } template <class T> @@ -196,17 +204,17 @@ void OOXMLFastHelper<T>::newProperty(OOXMLFastContextHandler * pHandler, { OOXMLValue::Pointer_t pVal(new T(nVal)); -#ifdef DEBUG_PROPERTIES +#ifdef DEBUG_HELPER string aStr = (*QNameToString::Instance())(nId); - debug_logger->startElement("newProperty-from-int"); + debug_logger->startElement("helper.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-from-int"); + debug_logger->endElement("helper.newProperty-from-int"); #endif pHandler->newProperty(nId, pVal); @@ -221,8 +229,8 @@ void OOXMLFastHelper<T>::mark(OOXMLFastContextHandler * pHandler, string aStr = (*QNameToString::Instance())(nId); -#ifdef DEBUG_PROPERTIES - debug_logger->startElement("mark"); +#ifdef DEBUG_HELPER + debug_logger->startElement("helper.mark"); debug_logger->attribute("name", aStr); debug_logger->attribute ("value", @@ -232,22 +240,10 @@ void OOXMLFastHelper<T>::mark(OOXMLFastContextHandler * pHandler, if (aStr.size() == 0) debug_logger->addTag(XMLTag::Pointer_t(new XMLTag("unknown-qname"))); - debug_logger->endElement("mark"); + debug_logger->endElement("helper.mark"); #endif pHandler->mark(nId, pVal); } - -template <class T> -void OOXMLFastHelper<T>::attributes -(OOXMLFastContextHandler * pContext, - const uno::Reference < xml::sax::XFastAttributeList > & Attribs) - { - T aContext(pContext); - - aContext.setPropertySet(pContext->getPropertySet()); - aContext.attributes(Attribs); -} - }} #endif // INCLUDED_FAST_HELPER_HXX diff --git a/writerfilter/source/ooxml/factory_ns.xsl b/writerfilter/source/ooxml/factory_ns.xsl index 53a1075130ca..0349d832128d 100644 --- a/writerfilter/source/ooxml/factory_ns.xsl +++ b/writerfilter/source/ooxml/factory_ns.xsl @@ -105,6 +105,10 @@ public: 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); + +#ifdef DEBUG_FACTORY + virtual string getName() const; +#endif <xsl:text> virtual ~</xsl:text> diff --git a/writerfilter/source/ooxml/factoryimpl.xsl b/writerfilter/source/ooxml/factoryimpl.xsl index 8eecf4aba813..781883b761e5 100644 --- a/writerfilter/source/ooxml/factoryimpl.xsl +++ b/writerfilter/source/ooxml/factoryimpl.xsl @@ -78,6 +78,10 @@ uno::Reference< xml::sax::XFastContextHandler > OOXMLFactory::createFastCh uno::Reference < xml::sax::XFastContextHandler > aResult; Id nDefine = pHandler->getDefine(); +#ifdef DEBUG_FACTORY + debug_logger->startElement("factory.createFastChildContextFromFactory"); +#endif + if (pFactory.get() != NULL) { CreateElementMapPointer pMap = pFactory->getCreateElementMap(nDefine); @@ -86,12 +90,13 @@ uno::Reference< xml::sax::XFastContextHandler > OOXMLFactory::createFastCh if (pMap.get() != NULL) { Id nId = (*pTokenMap)[Element]; -#ifdef DEBUG_CREATE +#ifdef DEBUG_FACTORY + string sFactoryName(pFactory->getName()); string sDefine(pFactory->getDefineName(nDefine)); string sElement(fastTokenToId(Element)); string sQName((*QNameToString::Instance())(nId)); - debug_logger->startElement("createFastChildContextFromFactory"); + debug_logger->attribute("factory-name", sFactoryName); debug_logger->attribute("define", sDefine); debug_logger->attribute("element", sElement); debug_logger->attribute("qname", sQName); @@ -134,12 +139,13 @@ uno::Reference< xml::sax::XFastContextHandler > OOXMLFactory::createFastCh break; } -#ifdef DEBUG_CREATE - debug_logger->endElement("createFastChildContextFromFactory"); -#endif } } +#ifdef DEBUG_FACTORY + debug_logger->endElement("factory.createFastChildContextFromFactory"); +#endif + return aResult; } </xsl:text> @@ -178,8 +184,8 @@ OOXMLFactory_ns::Pointer_t OOXMLFactory::getFactoryForNamespace(Id nId) uno::Reference< xml::sax::XFastContextHandler > OOXMLFactory::createFastChildContextFromStart (OOXMLFastContextHandler * pHandler, Token_t Element) { -#ifdef DEBUG_CREATE - debug_logger->startElement("createFastChildContextFromStart"); +#ifdef DEBUG_FACTORY + debug_logger->startElement("factory.createFastChildContextFromStart"); #endif uno::Reference < xml::sax::XFastContextHandler > aResult; @@ -198,8 +204,8 @@ uno::Reference< xml::sax::XFastContextHandler > OOXMLFactory::createFastCh </xsl:for-each> <xsl:text> -#ifdef DEBUG_CREATE - debug_logger->endElement("createFastChildContextFromStart"); +#ifdef DEBUG_FACTORY + debug_logger->endElement("factory.createFastChildContextFromStart"); #endif return aResult; } diff --git a/writerfilter/source/ooxml/factoryimpl_ns.xsl b/writerfilter/source/ooxml/factoryimpl_ns.xsl index 2ec75b701205..d5dfeeac25ab 100644 --- a/writerfilter/source/ooxml/factoryimpl_ns.xsl +++ b/writerfilter/source/ooxml/factoryimpl_ns.xsl @@ -881,6 +881,22 @@ void </xsl:text> </xsl:choose> </xsl:template> +<xsl:template name="factorygetname"> + <xsl:param name="ns"/> + <xsl:text> +#ifdef DEBUG_FACTORY +string </xsl:text> +<xsl:call-template name="factoryclassname"/> +<xsl:text>::getName() const +{ + return "</xsl:text> + <xsl:value-of select="$ns"/> + <xsl:text>"; +} +#endif +</xsl:text> +</xsl:template> + <xsl:template match="/"> <xsl:variable name="ns" select="substring-before(substring-after($file, 'OOXMLFactory_'), '.cxx')"/> <xsl:text> @@ -910,6 +926,9 @@ namespace ooxml { <xsl:call-template name="factorygetdefinename"/> <xsl:call-template name="factorytokentoidmap"/> <xsl:call-template name="factoryattributeaction"/> + <xsl:call-template name="factorygetname"> + <xsl:with-param name="ns" select="$ns"/> + </xsl:call-template> </xsl:for-each> <xsl:text> /// @endcond -- cgit From 5913346323dc551dd316a5a5dd96988251858e39 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 10 Aug 2010 17:44:17 +0200 Subject: writerfilter09: debugging output for OOXMLFastContextHandler::setValue, refactor debugging code for OOXMLPropertySet --- writerfilter/source/ooxml/OOXMLFastContextHandler.cxx | 9 +++++++++ writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx | 11 ++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx index 6e08896a9ec0..1f5181e03055 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx @@ -1468,7 +1468,16 @@ OOXMLFastContextHandlerValue::~OOXMLFastContextHandlerValue() void OOXMLFastContextHandlerValue::setValue(OOXMLValue::Pointer_t pValue) { +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->startElement("contexthandler.setValue"); + debug_logger->attribute("value", pValue->toString()); +#endif + mpValue = pValue; + +#ifdef DEBUG_CONTEXT_HANDLER + debug_logger->endElement("contexthandler.setValue"); +#endif } OOXMLValue::Pointer_t OOXMLFastContextHandlerValue::getValue() const diff --git a/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx b/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx index f106972b23c0..6e0bcaf763cd 100644 --- a/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx +++ b/writerfilter/source/ooxml/OOXMLPropertySetImpl.cxx @@ -34,8 +34,6 @@ #include <ooxml/OOXMLFastTokens.hxx> #include "ooxmlLoggers.hxx" -//#define DEBUG_RESOLVE - namespace writerfilter { namespace ooxml { @@ -474,15 +472,22 @@ string OOXMLPropertySetImpl::getType() const void OOXMLPropertySetImpl::add(OOXMLProperty::Pointer_t pProperty) { +#ifdef DEBUG_PROPERTY_SET + debug_logger->startElement("propertyset.add"); + debug_logger->chars(pProperty->toString()); +#endif + if (pProperty.get() != NULL && pProperty->getId() != 0x0) { mProperties.push_back(pProperty); } -#ifdef DEBUG_PROPERTIES +#ifdef DEBUG_PROPERTY_SET else { debug_logger->element("warning.property_not_added"); } + + debug_logger->endElement("propertyset.add"); #endif } -- cgit From 308b7dd63832016ef7c06c9f1652833cd61c4628 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 10 Aug 2010 17:56:55 +0200 Subject: writerfilter09: missed a #ifdef DEBUG_FACTORY --- writerfilter/source/ooxml/OOXMLFactory.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/writerfilter/source/ooxml/OOXMLFactory.cxx b/writerfilter/source/ooxml/OOXMLFactory.cxx index a99811bf03fb..78c82d5dac3e 100755 --- a/writerfilter/source/ooxml/OOXMLFactory.cxx +++ b/writerfilter/source/ooxml/OOXMLFactory.cxx @@ -352,10 +352,12 @@ void OOXMLFactory_ns::attributeAction(OOXMLFastContextHandler *, Token_t, OOXMLV { } +#ifdef DEBUG_FACTORY string OOXMLFactory_ns::getName() const { return "noname"; } +#endif } } -- cgit From cd20b831f0876e70def0e1eac2525fef977c1b12 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 13:29:28 +0200 Subject: writerfilter09: added LoggedResources for Stream, Properties and Table --- writerfilter/inc/resourcemodel/LoggedResources.hxx | 114 +++++++++ .../source/resourcemodel/LoggedResources.cxx | 275 +++++++++++++++++++++ writerfilter/source/resourcemodel/makefile.mk | 11 +- 3 files changed, 395 insertions(+), 5 deletions(-) create mode 100644 writerfilter/inc/resourcemodel/LoggedResources.hxx create mode 100644 writerfilter/source/resourcemodel/LoggedResources.cxx diff --git a/writerfilter/inc/resourcemodel/LoggedResources.hxx b/writerfilter/inc/resourcemodel/LoggedResources.hxx new file mode 100644 index 000000000000..43b8a0e74776 --- /dev/null +++ b/writerfilter/inc/resourcemodel/LoggedResources.hxx @@ -0,0 +1,114 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#ifndef INCLUDED_LOGGED_RESOURCES_HXX +#define INCLUDED_LOGGED_RESOURCES_HXX + +#include "WW8ResourceModel.hxx" +#include "TagLogger.hxx" + +namespace writerfilter +{ + +class LoggedStream : public Stream +{ +public: + explicit LoggedStream(TagLogger::Pointer_t pLogger, const string & sPrefix); + virtual ~LoggedStream(); + + void startSectionGroup(); + void endSectionGroup(); + void startParagraphGroup(); + void endParagraphGroup(); + void startCharacterGroup(); + void endCharacterGroup(); + void startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); + void endShape(); + void text(const sal_uInt8 * data, size_t len); + void utext(const sal_uInt8 * data, size_t len); + void props(writerfilter::Reference<Properties>::Pointer_t ref); + void table(Id name, writerfilter::Reference<Table>::Pointer_t ref); + void substream(Id name, writerfilter::Reference<Stream>::Pointer_t ref); + void info(const string & info); + +protected: + virtual void lcl_startSectionGroup() = 0; + virtual void lcl_endSectionGroup() = 0; + virtual void lcl_startParagraphGroup() = 0; + virtual void lcl_endParagraphGroup() = 0; + virtual void lcl_startCharacterGroup() = 0; + virtual void lcl_endCharacterGroup() = 0; + virtual void lcl_startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ) = 0; + virtual void lcl_endShape() = 0; + virtual void lcl_text(const sal_uInt8 * data, size_t len) = 0; + virtual void lcl_utext(const sal_uInt8 * data, size_t len) = 0; + virtual void lcl_props(writerfilter::Reference<Properties>::Pointer_t ref) = 0; + virtual void lcl_table(Id name, writerfilter::Reference<Table>::Pointer_t ref) = 0; + virtual void lcl_substream(Id name, writerfilter::Reference<Stream>::Pointer_t ref) = 0; + virtual void lcl_info(const string & info) = 0; + +private: + TagLogger::Pointer_t mpLogger; + string msPrefix; +}; + +class LoggedProperties : public Properties +{ +public: + explicit LoggedProperties(TagLogger::Pointer_t pLogger, const string & sPrefix); + virtual ~LoggedProperties(); + + void attribute(Id name, Value & val); + void sprm(Sprm & sprm); + +protected: + virtual void lcl_attribute(Id name, Value & val) = 0; + virtual void lcl_sprm(Sprm & sprm) = 0; + +private: + TagLogger::Pointer_t mpLogger; + string msPrefix; +}; + +class LoggedTable : public Table +{ +public: + explicit LoggedTable(TagLogger::Pointer_t pLogger, const string & sPrefix); + virtual ~LoggedTable(); + + void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); + +protected: + virtual void lcl_entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref) = 0; + +private: + TagLogger::Pointer_t mpLogger; + string msPrefix; +}; + +} +#endif // INCLUDED_LOGGED_RESOURCES_HXX diff --git a/writerfilter/source/resourcemodel/LoggedResources.cxx b/writerfilter/source/resourcemodel/LoggedResources.cxx new file mode 100644 index 000000000000..d2019af2b14f --- /dev/null +++ b/writerfilter/source/resourcemodel/LoggedResources.cxx @@ -0,0 +1,275 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#include <rtl/ustrbuf.hxx> +#include <resourcemodel/LoggedResources.hxx> +#include <resourcemodel/QNameToString.hxx> + +namespace writerfilter +{ + +// class: LoggedStream + +LoggedStream::LoggedStream(TagLogger::Pointer_t pLogger, const string & sPrefix) +: mpLogger(pLogger), msPrefix(sPrefix) +{ +} + +LoggedStream::~LoggedStream() +{ +} + +void LoggedStream::startSectionGroup() +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".section"); +#endif + + lcl_startSectionGroup(); +} + +void LoggedStream::endSectionGroup() +{ + lcl_endSectionGroup(); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".section"); +#endif +} + +void LoggedStream::startParagraphGroup() +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".paragraph"); +#endif + + lcl_startParagraphGroup(); +} + +void LoggedStream::endParagraphGroup() +{ + lcl_endParagraphGroup(); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".paragraph"); +#endif +} + + +void LoggedStream::startCharacterGroup() +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".charactergroup"); +#endif + + lcl_startCharacterGroup(); +} + +void LoggedStream::endCharacterGroup() +{ + lcl_endCharacterGroup(); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".charactergroup"); +#endif +} + +void LoggedStream::startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".shape"); +#endif + + lcl_startShape(xShape); +} + +void LoggedStream::endShape() +{ + lcl_endShape(); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".shape"); +#endif +} + +void LoggedStream::text(const sal_uInt8 * data, size_t len) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".text"); + + ::rtl::OUString sText( (const sal_Char*) data, len, RTL_TEXTENCODING_MS_1252 ); + + mpLogger->startElement(msPrefix + ".data"); + mpLogger->chars(sText); + mpLogger->endElement(msPrefix + ".data"); +#endif + + lcl_text(data, len); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".text"); +#endif +} + +void LoggedStream::utext(const sal_uInt8 * data, size_t len) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".utext"); + mpLogger->startElement(msPrefix + ".data"); + + ::rtl::OUString sText; + ::rtl::OUStringBuffer aBuffer = ::rtl::OUStringBuffer(len); + aBuffer.append( (const sal_Unicode *) data, len); + sText = aBuffer.makeStringAndClear(); + + mpLogger->chars(sText); + + mpLogger->endElement(msPrefix + ".data"); +#endif + + lcl_utext(data, len); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".utext"); +#endif +} + +void LoggedStream::props(writerfilter::Reference<Properties>::Pointer_t ref) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".props"); +#endif + + lcl_props(ref); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".props"); +#endif +} + +void LoggedStream::table(Id name, writerfilter::Reference<Table>::Pointer_t ref) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".table"); + mpLogger->attribute("name", (*QNameToString::Instance())(name)); +#endif + + lcl_table(name, ref); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".table"); +#endif +} + +void LoggedStream::substream(Id name, writerfilter::Reference<Stream>::Pointer_t ref) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".substream"); + mpLogger->attribute("name", name); +#endif + + lcl_substream(name, ref); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".substream"); +#endif +} + +void LoggedStream::info(const string & info) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".info"); + mpLogger->attribute("text", info); +#endif + + lcl_info(info); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".info"); +#endif +} + +// class LoggedProperties +LoggedProperties::LoggedProperties(TagLogger::Pointer_t pLogger, const string & sPrefix) +: mpLogger(pLogger), msPrefix(sPrefix) +{ +} + +LoggedProperties::~LoggedProperties() +{ +} + +void LoggedProperties::attribute(Id name, Value & val) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".attribute"); + mpLogger->attribute("name", (*QNameToString::Instance())(name)); + mpLogger->attribute("value", val.toString()); + mpLogger->endElement(msPrefix + ".attribute"); +#endif + + lcl_attribute(name, val); +} + +void LoggedProperties::sprm(Sprm & sprm) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".sprm"); + mpLogger->chars(sprm.toString()); +#endif + + lcl_sprm(sprm); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".sprm"); +#endif +} + +LoggedTable::LoggedTable(TagLogger::Pointer_t pLogger, const string & sPrefix) +: mpLogger(pLogger), msPrefix(sPrefix) +{ +} + +LoggedTable::~LoggedTable() +{ +} + +void LoggedTable::entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref) +{ +#ifdef DEBUG_LOGGING + mpLogger->startElement(msPrefix + ".entry"); + mpLogger->attribute("pos", pos); +#endif + + lcl_entry(pos, ref); + +#ifdef DEBUG_LOGGING + mpLogger->endElement(msPrefix + ".entry"); +#endif +} + +} diff --git a/writerfilter/source/resourcemodel/makefile.mk b/writerfilter/source/resourcemodel/makefile.mk index bb5bc05ac1bd..204c524856ff 100644 --- a/writerfilter/source/resourcemodel/makefile.mk +++ b/writerfilter/source/resourcemodel/makefile.mk @@ -49,14 +49,15 @@ NOOPTFILES= \ $(SLO)$/qnametostr.obj SLOFILES= \ + $(SLO)$/LoggedResources.obj \ + $(SLO)$/Protocol.obj \ + $(SLO)$/ResourceModelHelper.obj \ + $(SLO)$/TagLogger.obj \ + $(SLO)$/WW8Analyzer.obj \ $(SLO)$/qnametostr.obj \ - $(SLO)$/sprmcodetostr.obj \ $(SLO)$/resourcemodel.obj \ + $(SLO)$/sprmcodetostr.obj \ $(SLO)$/util.obj \ - $(SLO)$/TagLogger.obj \ - $(SLO)$/ResourceModelHelper.obj \ - $(SLO)$/WW8Analyzer.obj \ - $(SLO)$/Protocol.obj # linux 64 bit: compiler (gcc 4.2.3) fails with 'out of memory' .IF "$(OUTPATH)"=="unxlngx6" -- cgit From bb22544122c56c7bf9518d03e316283209334288 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 13:31:13 +0200 Subject: writerfilter09: use logged resources for DomainMapper --- writerfilter/inc/dmapper/DomainMapper.hxx | 62 +++++----- writerfilter/source/dmapper/DomainMapper.cxx | 153 ++++-------------------- writerfilter/source/dmapper/GraphicImport.cxx | 4 - writerfilter/source/dmapper/StyleSheetTable.cxx | 2 +- writerfilter/source/dmapper/dmapperLoggers.hxx | 3 +- 5 files changed, 60 insertions(+), 164 deletions(-) diff --git a/writerfilter/inc/dmapper/DomainMapper.hxx b/writerfilter/inc/dmapper/DomainMapper.hxx index 99602ceab924..d7f6c005a5c4 100644 --- a/writerfilter/inc/dmapper/DomainMapper.hxx +++ b/writerfilter/inc/dmapper/DomainMapper.hxx @@ -28,7 +28,7 @@ #define INCLUDED_DOMAINMAPPER_HXX #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/text/FontEmphasis.hpp> #include <com/sun/star/style/TabAlign.hpp> @@ -77,8 +77,8 @@ enum SourceDocumentType DOCUMENT_OOXML, DOCUMENT_RTF }; -class WRITERFILTER_DLLPUBLIC DomainMapper : public Properties, public Table, - public BinaryObj, public Stream +class WRITERFILTER_DLLPUBLIC DomainMapper : public LoggedProperties, public LoggedTable, + public BinaryObj, public LoggedStream { DomainMapper_Impl *m_pImpl; @@ -89,38 +89,14 @@ public: SourceDocumentType eDocumentType ); virtual ~DomainMapper(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - - // Table - virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); + // Stream + virtual void markLastParagraphInSection(); // BinaryObj virtual void data(const sal_uInt8* buf, size_t len, writerfilter::Reference<Properties>::Pointer_t ref); - // Stream - virtual void startSectionGroup(); - virtual void endSectionGroup(); - virtual void startParagraphGroup(); - virtual void endParagraphGroup(); - virtual void markLastParagraphInSection(); - virtual void startCharacterGroup(); - virtual void endCharacterGroup(); - virtual void startShape( ::com::sun::star::uno::Reference< com::sun::star::drawing::XShape > xShape ); - virtual void endShape( ); - - 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 & info); - - void sprm( Sprm& sprm, ::boost::shared_ptr<PropertyMap> pContext, SprmType = SPRM_DEFAULT ); + void sprmWithProps( Sprm& sprm, ::boost::shared_ptr<PropertyMap> pContext, SprmType = SPRM_DEFAULT ); void PushStyleSheetProperties( ::boost::shared_ptr<PropertyMap> pStyleProperties, bool bAffectTableMngr = false ); void PopStyleSheetProperties( bool bAffectTableMngr = false ); @@ -138,6 +114,32 @@ public: boost::shared_ptr< StyleSheetTable > GetStyleSheetTable( ); private: + // Stream + virtual void lcl_startSectionGroup(); + virtual void lcl_endSectionGroup(); + virtual void lcl_startParagraphGroup(); + virtual void lcl_endParagraphGroup(); + virtual void lcl_startCharacterGroup(); + virtual void lcl_endCharacterGroup(); + virtual void lcl_startShape( ::com::sun::star::uno::Reference< com::sun::star::drawing::XShape > xShape ); + virtual void lcl_endShape( ); + + virtual void lcl_text(const sal_uInt8 * data, size_t len); + virtual void lcl_utext(const sal_uInt8 * data, size_t len); + virtual void lcl_props(writerfilter::Reference<Properties>::Pointer_t ref); + virtual void lcl_table(Id name, + writerfilter::Reference<Table>::Pointer_t ref); + virtual void lcl_substream(Id name, + ::writerfilter::Reference<Stream>::Pointer_t ref); + virtual void lcl_info(const string & info); + + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + + // Table + virtual void lcl_entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); + void handleUnderlineType(const sal_Int32 nIntValue, const ::boost::shared_ptr<PropertyMap> pContext); void handleParaJustification(const sal_Int32 nIntValue, const ::boost::shared_ptr<PropertyMap> pContext, const bool bExchangeLeftRight); bool getColorFromIndex(const sal_Int32 nIndex, sal_Int32 &nColor); diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 65dfb4c5fcec..7364ec3eaaff 100755 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -86,15 +86,11 @@ #include <vector> #include <iostream> -#ifdef DEBUG_DOMAINMAPPER -#include <resourcemodel/QNameToString.hxx> -#include <resourcemodel/util.hxx> -#include <resourcemodel/TagLogger.hxx> -#endif #if OSL_DEBUG_LEVEL > 0 #include <resourcemodel/QNameToString.hxx> #endif +#include <resourcemodel/TagLogger.hxx> using namespace ::com::sun::star; using namespace ::rtl; @@ -106,9 +102,7 @@ using resourcemodel::resolveAttributeProperties; namespace dmapper{ -#ifdef DEBUG_DOMAINMAPPER TagLogger::Pointer_t dmapper_logger(TagLogger::getInstance("DOMAINMAPPER")); -#endif /* ---- Fridrich's mess begins here ---- */ struct _PageSz @@ -129,8 +123,11 @@ DomainMapper::DomainMapper( const uno::Reference< uno::XComponentContext >& xCon uno::Reference< io::XInputStream > xInputStream, uno::Reference< lang::XComponent > xModel, SourceDocumentType eDocumentType) : - m_pImpl( new DomainMapper_Impl( *this, xContext, xModel, eDocumentType )), - mnBackgroundColor(0), mbIsHighlightSet(false) +LoggedProperties(dmapper_logger, "DomainMapper"), +LoggedTable(dmapper_logger, "DomainMapper"), +LoggedStream(dmapper_logger, "DomainMapper"), +m_pImpl( new DomainMapper_Impl( *this, xContext, xModel, eDocumentType )), +mnBackgroundColor(0), mbIsHighlightSet(false) { // #i24363# tab stops relative to indent m_pImpl->SetDocumentSettingsProperty( @@ -193,14 +190,8 @@ DomainMapper::~DomainMapper() /*-- 09.06.2006 09:52:12--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::attribute(Id nName, Value & val) +void DomainMapper::lcl_attribute(Id nName, Value & val) { -#ifdef DEBUG_DOMAINMAPPER - 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(); rtl::OUString sStringValue = val.getString(); @@ -2195,20 +2186,16 @@ void DomainMapper::attribute(Id nName, Value & val) /*-- 09.06.2006 09:52:12--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::sprm(Sprm & rSprm) +void DomainMapper::lcl_sprm(Sprm & rSprm) { if( !m_pImpl->getTableManager().sprm(rSprm)) - DomainMapper::sprm( rSprm, m_pImpl->GetTopContext() ); + sprmWithProps( rSprm, m_pImpl->GetTopContext() ); } /*-- 20.06.2006 09:58:33--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmType ) +void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmType ) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("DomainMapper.sprm"); - dmapper_logger->chars(rSprm.toString()); -#endif OSL_ENSURE(rContext.get(), "PropertyMap has to be valid!"); if(!rContext.get()) return ; @@ -2885,12 +2872,6 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp { uno::Any aBold( uno::makeAny( nIntValue ? awt::FontWeight::BOLD : awt::FontWeight::NORMAL ) ); -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("charWeight"); - dmapper_logger->attribute("weight", nIntValue ? awt::FontWeight::BOLD : awt::FontWeight::NORMAL); - dmapper_logger->endElement("charWeight"); -#endif - rContext->Insert(ePropertyId, true, aBold ); if( nSprmId != NS_sprm::LN_CFBoldBi ) // sprmCFBoldBi rContext->Insert(PROP_CHAR_WEIGHT_ASIAN, true, aBold ); @@ -4246,27 +4227,14 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp #endif } } - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->addTag(rContext->toTag()); - dmapper_logger->endElement("DomainMapper.sprm"); -#endif } /*-- 09.06.2006 09:52:13--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::entry(int /*pos*/, - writerfilter::Reference<Properties>::Pointer_t ref) +void DomainMapper::lcl_entry(int /*pos*/, + writerfilter::Reference<Properties>::Pointer_t ref) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("DomainMapper.entry"); -#endif - ref->resolve(*this); - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("DomainMapper.entry"); -#endif } /*-- 09.06.2006 09:52:13--------------------------------------------------- @@ -4278,17 +4246,14 @@ void DomainMapper::data(const sal_uInt8* /*buf*/, size_t /*len*/, /*-- 09.06.2006 09:52:13--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::startSectionGroup() +void DomainMapper::lcl_startSectionGroup() { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("section"); -#endif m_pImpl->PushProperties(CONTEXT_SECTION); } /*-- 09.06.2006 09:52:13--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::endSectionGroup() +void DomainMapper::lcl_endSectionGroup() { PropertyMapPtr pContext = m_pImpl->GetTopContextOfType(CONTEXT_SECTION); SectionPropertyMap* pSectionContext = dynamic_cast< SectionPropertyMap* >( pContext.get() ); @@ -4296,20 +4261,12 @@ void DomainMapper::endSectionGroup() if(pSectionContext) pSectionContext->CloseSectionGroup( *m_pImpl ); m_pImpl->PopProperties(CONTEXT_SECTION); - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("section"); -#endif } /*-- 09.06.2006 09:52:13--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::startParagraphGroup() +void DomainMapper::lcl_startParagraphGroup() { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("paragraph"); -#endif - m_pImpl->getTableManager().startParagraphGroup(); m_pImpl->PushProperties(CONTEXT_PARAGRAPH); static ::rtl::OUString sDefault( ::rtl::OUString::createFromAscii("Standard") ); @@ -4326,40 +4283,27 @@ void DomainMapper::startParagraphGroup() /*-- 09.06.2006 09:52:14--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::endParagraphGroup() +void DomainMapper::lcl_endParagraphGroup() { m_pImpl->PopProperties(CONTEXT_PARAGRAPH); m_pImpl->getTableManager().endParagraphGroup(); //frame conversion has to be executed after table conversion m_pImpl->ExecuteFrameConversion(); -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("paragraph"); -#endif } void DomainMapper::markLastParagraphInSection( ) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->element( "markLastParagraphInSection" ); -#endif m_pImpl->SetIsLastParagraphInSection( true ); } -void DomainMapper::startShape( uno::Reference< drawing::XShape > xShape ) +void DomainMapper::lcl_startShape( uno::Reference< drawing::XShape > xShape ) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("shape"); -#endif m_pImpl->PushShapeContext( xShape ); } -void DomainMapper::endShape( ) +void DomainMapper::lcl_endShape( ) { m_pImpl->PopShapeContext( ); - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("shape"); -#endif } /*-- 13.06.2007 16:15:55--------------------------------------------------- @@ -4401,12 +4345,8 @@ void DomainMapper::PopListProperties() -----------------------------------------------------------------------*/ -void DomainMapper::startCharacterGroup() +void DomainMapper::lcl_startCharacterGroup() { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("charactergroup"); -#endif - m_pImpl->PushProperties(CONTEXT_CHARACTER); DomainMapperTableManager& rTableManager = m_pImpl->getTableManager(); if( rTableManager.getTableStyleName().getLength() ) @@ -4418,27 +4358,17 @@ void DomainMapper::startCharacterGroup() /*-- 09.06.2006 09:52:14--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::endCharacterGroup() +void DomainMapper::lcl_endCharacterGroup() { m_pImpl->PopProperties(CONTEXT_CHARACTER); - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("charactergroup"); -#endif } /*-- 09.06.2006 09:52:14--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::text(const sal_uInt8 * data_, size_t len) +void DomainMapper::lcl_text(const sal_uInt8 * data_, size_t len) { //TODO: Determine the right text encoding (FIB?) ::rtl::OUString sText( (const sal_Char*) data_, len, RTL_TEXTENCODING_MS_1252 ); -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("text"); - dmapper_logger->chars(sText); - dmapper_logger->endElement("text"); -#endif - try { if(len == 1) @@ -4515,19 +4445,13 @@ void DomainMapper::text(const sal_uInt8 * data_, size_t len) /*-- 09.06.2006 09:52:15--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::utext(const sal_uInt8 * data_, size_t len) +void DomainMapper::lcl_utext(const sal_uInt8 * data_, size_t len) { OUString sText; 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); @@ -4585,12 +4509,8 @@ void DomainMapper::utext(const sal_uInt8 * data_, size_t len) /*-- 09.06.2006 09:52:15--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::props(writerfilter::Reference<Properties>::Pointer_t ref) +void DomainMapper::lcl_props(writerfilter::Reference<Properties>::Pointer_t ref) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("props"); -#endif - string sType = ref->getType(); if( sType == "PICF" ) { @@ -4602,21 +4522,12 @@ void DomainMapper::props(writerfilter::Reference<Properties>::Pointer_t ref) } else ref->resolve(*this); - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("props"); -#endif } /*-- 09.06.2006 09:52:15--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::table(Id name, writerfilter::Reference<Table>::Pointer_t ref) +void DomainMapper::lcl_table(Id name, writerfilter::Reference<Table>::Pointer_t ref) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("table"); - dmapper_logger->attribute("id", (*QNameToString::Instance())(name)); -#endif - // printf ( "DomainMapper::table(0x%.4x)\n", (unsigned int)name); m_pImpl->SetAnyTableImport(true); /* WRITERFILTERSTATUS: table: attributedata */ @@ -4666,20 +4577,12 @@ void DomainMapper::table(Id name, writerfilter::Reference<Table>::Pointer_t ref) OSL_ENSURE( false, "which table is to be filled here?"); } m_pImpl->SetAnyTableImport(false); - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("table"); -#endif } /*-- 09.06.2006 09:52:16--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::substream(Id rName, ::writerfilter::Reference<Stream>::Pointer_t ref) +void DomainMapper::lcl_substream(Id rName, ::writerfilter::Reference<Stream>::Pointer_t ref) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("substream"); -#endif - m_pImpl->appendTableManager( ); m_pImpl->getTableManager().startLevel(); @@ -4751,15 +4654,11 @@ void DomainMapper::substream(Id rName, ::writerfilter::Reference<Stream>::Pointe m_pImpl->getTableManager().endLevel(); m_pImpl->popTableManager( ); - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("substream"); -#endif } /*-- 09.06.2006 09:52:16--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::info(const string & /*info_*/) +void DomainMapper::lcl_info(const string & /*info_*/) { } diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 14a54c640626..79f94b9d1873 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -69,10 +69,6 @@ namespace dmapper using namespace ::std; using namespace ::com::sun::star; -#ifdef DEBUG_DOMAINMAPPER -extern TagLogger::Pointer_t dmapper_logger; -#endif - class XInputStreamHelper : public cppu::WeakImplHelper1 < io::XInputStream > { diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 9dd5503693a7..26b863e38cab 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -709,7 +709,7 @@ void StyleSheetTable::sprm(Sprm & rSprm) m_pImpl->m_rDMapper.PushStyleSheetProperties( m_pImpl->m_pCurrentEntry->pProperties ); PropertyMapPtr pProps(new PropertyMap()); - m_pImpl->m_rDMapper.sprm( rSprm, pProps ); + m_pImpl->m_rDMapper.sprmWithProps( rSprm, pProps ); m_pImpl->m_pCurrentEntry->pProperties->insert(pProps); diff --git a/writerfilter/source/dmapper/dmapperLoggers.hxx b/writerfilter/source/dmapper/dmapperLoggers.hxx index fd9ed722de4a..8b30c491c384 100644 --- a/writerfilter/source/dmapper/dmapperLoggers.hxx +++ b/writerfilter/source/dmapper/dmapperLoggers.hxx @@ -31,7 +31,6 @@ #ifndef INCLUDED_DMAPPER_LOGGERS_HXX #define INCLUDED_DMAPPER_LOGGERS_HXX -#ifdef DEBUG #include <resourcemodel/TagLogger.hxx> namespace writerfilter { @@ -39,5 +38,5 @@ namespace writerfilter { extern TagLogger::Pointer_t dmapper_logger; } } -#endif // DEBUG + #endif // INCLUDED_DMAPPER_LOGGERS_HXX -- cgit From c7463f8d0762af49387953cdf4acd1de6bdb284b Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 14:24:29 +0200 Subject: writerfilter09: new: LoggedResourceHelper --- writerfilter/inc/resourcemodel/LoggedResources.hxx | 32 +++-- .../source/resourcemodel/LoggedResources.cxx | 130 ++++++++++++++------- 2 files changed, 111 insertions(+), 51 deletions(-) diff --git a/writerfilter/inc/resourcemodel/LoggedResources.hxx b/writerfilter/inc/resourcemodel/LoggedResources.hxx index 43b8a0e74776..be30c32fd85e 100644 --- a/writerfilter/inc/resourcemodel/LoggedResources.hxx +++ b/writerfilter/inc/resourcemodel/LoggedResources.hxx @@ -34,6 +34,26 @@ namespace writerfilter { +class LoggedResourcesHelper +{ +public: + explicit LoggedResourcesHelper(TagLogger::Pointer_t pLogger, const string & sPrefix); + virtual ~LoggedResourcesHelper(); + + void startElement(const string & sElement); + void endElement(const string & sElement); + void chars(const ::rtl::OUString & rChars); + void chars(const string & rChars); + void attribute(const string & rName, const string & rValue); + void attribute(const string & rName, sal_uInt32 nValue); + + void setPrefix(const string & rPrefix); + +private: + TagLogger::Pointer_t mpLogger; + string msPrefix; +}; + class LoggedStream : public Stream { public: @@ -71,9 +91,7 @@ protected: virtual void lcl_substream(Id name, writerfilter::Reference<Stream>::Pointer_t ref) = 0; virtual void lcl_info(const string & info) = 0; -private: - TagLogger::Pointer_t mpLogger; - string msPrefix; + LoggedResourcesHelper mHelper; }; class LoggedProperties : public Properties @@ -89,9 +107,7 @@ protected: virtual void lcl_attribute(Id name, Value & val) = 0; virtual void lcl_sprm(Sprm & sprm) = 0; -private: - TagLogger::Pointer_t mpLogger; - string msPrefix; + LoggedResourcesHelper mHelper; }; class LoggedTable : public Table @@ -105,9 +121,7 @@ public: protected: virtual void lcl_entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref) = 0; -private: - TagLogger::Pointer_t mpLogger; - string msPrefix; + LoggedResourcesHelper mHelper; }; } diff --git a/writerfilter/source/resourcemodel/LoggedResources.cxx b/writerfilter/source/resourcemodel/LoggedResources.cxx index d2019af2b14f..9079a682bd07 100644 --- a/writerfilter/source/resourcemodel/LoggedResources.cxx +++ b/writerfilter/source/resourcemodel/LoggedResources.cxx @@ -32,10 +32,56 @@ namespace writerfilter { +// class: LoggedResourcesHelper + +LoggedResourcesHelper::LoggedResourcesHelper(TagLogger::Pointer_t pLogger, const string & sPrefix) +: mpLogger(pLogger), msPrefix(sPrefix) +{ +} + +LoggedResourcesHelper::~LoggedResourcesHelper() +{ +} + +void LoggedResourcesHelper::startElement(const string & sElement) +{ + mpLogger->startElement(msPrefix + "." + sElement); +} + +void LoggedResourcesHelper::endElement(const string & sElement) +{ + mpLogger->endElement(msPrefix + "." + sElement); +} + +void LoggedResourcesHelper::chars(const ::rtl::OUString & rChars) +{ + mpLogger->chars(rChars); +} + +void LoggedResourcesHelper::chars(const string & rChars) +{ + mpLogger->chars(rChars); +} + +void LoggedResourcesHelper::attribute(const string & rName, const string & rValue) +{ + mpLogger->attribute(rName, rValue); +} + +void LoggedResourcesHelper::attribute(const string & rName, sal_uInt32 nValue) +{ + mpLogger->attribute(rName, nValue); +} + +void LoggedResourcesHelper::setPrefix(const string & rPrefix) +{ + msPrefix = rPrefix; +} + // class: LoggedStream LoggedStream::LoggedStream(TagLogger::Pointer_t pLogger, const string & sPrefix) -: mpLogger(pLogger), msPrefix(sPrefix) +: mHelper(pLogger, sPrefix) { } @@ -46,7 +92,7 @@ LoggedStream::~LoggedStream() void LoggedStream::startSectionGroup() { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".section"); + mHelper.startElement("section"); #endif lcl_startSectionGroup(); @@ -57,14 +103,14 @@ void LoggedStream::endSectionGroup() lcl_endSectionGroup(); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".section"); + mHelper.endElement("section"); #endif } void LoggedStream::startParagraphGroup() { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".paragraph"); + mHelper.startElement("paragraph"); #endif lcl_startParagraphGroup(); @@ -75,7 +121,7 @@ void LoggedStream::endParagraphGroup() lcl_endParagraphGroup(); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".paragraph"); + mHelper.endElement("paragraph"); #endif } @@ -83,7 +129,7 @@ void LoggedStream::endParagraphGroup() void LoggedStream::startCharacterGroup() { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".charactergroup"); + mHelper.startElement("charactergroup"); #endif lcl_startCharacterGroup(); @@ -94,14 +140,14 @@ void LoggedStream::endCharacterGroup() lcl_endCharacterGroup(); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".charactergroup"); + mHelper.endElement("charactergroup"); #endif } void LoggedStream::startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".shape"); + mHelper.startElement("shape"); #endif lcl_startShape(xShape); @@ -112,110 +158,110 @@ void LoggedStream::endShape() lcl_endShape(); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".shape"); + mHelper.endElement("shape"); #endif } void LoggedStream::text(const sal_uInt8 * data, size_t len) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".text"); + mHelper.startElement("text"); ::rtl::OUString sText( (const sal_Char*) data, len, RTL_TEXTENCODING_MS_1252 ); - mpLogger->startElement(msPrefix + ".data"); - mpLogger->chars(sText); - mpLogger->endElement(msPrefix + ".data"); + mHelper.startElement("data"); + mHelper.chars(sText); + mHelper.endElement("data"); #endif lcl_text(data, len); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".text"); + mHelper.endElement("text"); #endif } void LoggedStream::utext(const sal_uInt8 * data, size_t len) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".utext"); - mpLogger->startElement(msPrefix + ".data"); + mHelper.startElement("utext"); + mHelper.startElement("data"); ::rtl::OUString sText; ::rtl::OUStringBuffer aBuffer = ::rtl::OUStringBuffer(len); aBuffer.append( (const sal_Unicode *) data, len); sText = aBuffer.makeStringAndClear(); - mpLogger->chars(sText); + mHelper.chars(sText); - mpLogger->endElement(msPrefix + ".data"); + mHelper.endElement("data"); #endif lcl_utext(data, len); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".utext"); + mHelper.endElement("utext"); #endif } void LoggedStream::props(writerfilter::Reference<Properties>::Pointer_t ref) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".props"); + mHelper.startElement("props"); #endif lcl_props(ref); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".props"); + mHelper.endElement("props"); #endif } void LoggedStream::table(Id name, writerfilter::Reference<Table>::Pointer_t ref) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".table"); - mpLogger->attribute("name", (*QNameToString::Instance())(name)); + mHelper.startElement("table"); + mHelper.attribute("name", (*QNameToString::Instance())(name)); #endif lcl_table(name, ref); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".table"); + mHelper.endElement("table"); #endif } void LoggedStream::substream(Id name, writerfilter::Reference<Stream>::Pointer_t ref) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".substream"); - mpLogger->attribute("name", name); + mHelper.startElement("substream"); + mHelper.attribute("name", (*QNameToString::Instance())(name)); #endif lcl_substream(name, ref); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".substream"); + mHelper.endElement("substream"); #endif } void LoggedStream::info(const string & info) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".info"); - mpLogger->attribute("text", info); + mHelper.startElement("info"); + mHelper.attribute("text", info); #endif lcl_info(info); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".info"); + mHelper.endElement("info"); #endif } // class LoggedProperties LoggedProperties::LoggedProperties(TagLogger::Pointer_t pLogger, const string & sPrefix) -: mpLogger(pLogger), msPrefix(sPrefix) +: mHelper(pLogger, sPrefix) { } @@ -226,10 +272,10 @@ LoggedProperties::~LoggedProperties() void LoggedProperties::attribute(Id name, Value & val) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".attribute"); - mpLogger->attribute("name", (*QNameToString::Instance())(name)); - mpLogger->attribute("value", val.toString()); - mpLogger->endElement(msPrefix + ".attribute"); + mHelper.startElement("attribute"); + mHelper.attribute("name", (*QNameToString::Instance())(name)); + mHelper.attribute("value", val.toString()); + mHelper.endElement("attribute"); #endif lcl_attribute(name, val); @@ -238,19 +284,19 @@ void LoggedProperties::attribute(Id name, Value & val) void LoggedProperties::sprm(Sprm & sprm) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".sprm"); - mpLogger->chars(sprm.toString()); + mHelper.startElement("sprm"); + mHelper.chars(sprm.toString()); #endif lcl_sprm(sprm); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".sprm"); + mHelper.endElement("sprm"); #endif } LoggedTable::LoggedTable(TagLogger::Pointer_t pLogger, const string & sPrefix) -: mpLogger(pLogger), msPrefix(sPrefix) +: mHelper(pLogger, sPrefix) { } @@ -261,14 +307,14 @@ LoggedTable::~LoggedTable() void LoggedTable::entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref) { #ifdef DEBUG_LOGGING - mpLogger->startElement(msPrefix + ".entry"); - mpLogger->attribute("pos", pos); + mHelper.startElement("entry"); + mHelper.attribute("pos", pos); #endif lcl_entry(pos, ref); #ifdef DEBUG_LOGGING - mpLogger->endElement(msPrefix + ".entry"); + mHelper.endElement("entry"); #endif } -- cgit From 492d8821e4de7677b1741432dc7b356d6d532b9e Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 14:24:59 +0200 Subject: writerfilter09: StyleSheetTable: use logged resources --- writerfilter/source/dmapper/StyleSheetTable.cxx | 119 ++---------------------- writerfilter/source/dmapper/StyleSheetTable.hxx | 32 ++----- 2 files changed, 18 insertions(+), 133 deletions(-) diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 26b863e38cab..4f8478c80904 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -47,10 +47,7 @@ #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 { @@ -82,32 +79,11 @@ 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( ), m_pStyleSheet( pStyles ) { + bIsDefaultStyle = rEntry.bIsDefaultStyle; bInvalidHeight = rEntry.bInvalidHeight; bHasUPE = rEntry.bHasUPE; @@ -128,13 +104,6 @@ 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, @@ -211,24 +180,6 @@ PropertyMapPtr TableStyleSheetEntry::GetProperties( sal_Int32 nMask, StyleSheetE 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[] = @@ -410,8 +361,10 @@ StyleSheetTable_Impl::StyleSheetTable_Impl(DomainMapper& rDMapper, uno::Referenc /*-- 19.06.2006 12:04:32--------------------------------------------------- -----------------------------------------------------------------------*/ -StyleSheetTable::StyleSheetTable(DomainMapper& rDMapper, uno::Reference< text::XTextDocument> xTextDocument) : - m_pImpl( new StyleSheetTable_Impl(rDMapper, xTextDocument) ) +StyleSheetTable::StyleSheetTable(DomainMapper& rDMapper, uno::Reference< text::XTextDocument> xTextDocument) +: LoggedProperties(dmapper_logger, "StyleSheetTable") +, LoggedTable(dmapper_logger, "StyleSheetTable") +, m_pImpl( new StyleSheetTable_Impl(rDMapper, xTextDocument) ) { } /*-- 19.06.2006 12:04:33--------------------------------------------------- @@ -424,14 +377,8 @@ StyleSheetTable::~StyleSheetTable() /*-- 19.06.2006 12:04:33--------------------------------------------------- -----------------------------------------------------------------------*/ -void StyleSheetTable::attribute(Id Name, Value & val) +void StyleSheetTable::lcl_attribute(Id Name, Value & val) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("StyleSheetTable.attribute"); - dmapper_logger->attribute("name", (*QNameToString::Instance())(Name)); - dmapper_logger->attribute("value", val.toString()); -#endif - OSL_ENSURE( m_pImpl->m_pCurrentEntry, "current entry has to be set here"); if(!m_pImpl->m_pCurrentEntry) return ; @@ -553,21 +500,12 @@ 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) +void StyleSheetTable::lcl_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; @@ -718,20 +656,12 @@ void StyleSheetTable::sprm(Sprm & rSprm) } break; } - -#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) +void StyleSheetTable::lcl_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"); @@ -751,16 +681,8 @@ 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 @@ -820,10 +742,6 @@ uno::Sequence< ::rtl::OUString > PropValVector::getNames() -----------------------------------------------------------------------*/ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("applyStyleSheets"); -#endif - try { uno::Reference< style::XStyleFamiliesSupplier > xStylesSupplier( m_pImpl->m_xTextDocument, uno::UNO_QUERY_THROW ); @@ -982,24 +900,13 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) PropValVector aSortedPropVals; for( sal_Int32 nProp = 0; nProp < aPropValues.getLength(); ++nProp) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("propvalue"); - dmapper_logger->attribute("name", aPropValues[nProp].Name); - dmapper_logger->attribute("value", aPropValues[nProp].Value); -#endif // Don't add the style name properties bool bIsParaStyleName = aPropValues[nProp].Name.equalsAscii( "ParaStyleName" ); bool bIsCharStyleName = aPropValues[nProp].Name.equalsAscii( "CharStyleName" ); if ( !bIsParaStyleName && !bIsCharStyleName ) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->element("insert"); -#endif aSortedPropVals.Insert( aPropValues[nProp] ); } -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("propvalue"); -#endif } if(bAddFollowStyle) { @@ -1050,12 +957,6 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) if(bInsert) { xStyles->insertByName( sConvertedStyleName, uno::makeAny( xStyle) ); -#ifdef DEBUG_DOMAINMAPPER - uno::Reference<beans::XPropertySet> xProps(xStyle, uno::UNO_QUERY); - dmapper_logger->startElement("insertStyle"); - dmapper_logger->addTag(unoPropertySetToTag(xProps)); - dmapper_logger->endElement("insertStyle"); -#endif } } ++aIt; @@ -1067,10 +968,6 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) (void)rEx; OSL_ENSURE( false, "Styles could not be imported completely"); } - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("applyStyleSheets"); -#endif } /*-- 22.06.2006 15:56:56--------------------------------------------------- diff --git a/writerfilter/source/dmapper/StyleSheetTable.hxx b/writerfilter/source/dmapper/StyleSheetTable.hxx index 657b447fa979..f6a8b44efa5d 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.hxx +++ b/writerfilter/source/dmapper/StyleSheetTable.hxx @@ -34,11 +34,7 @@ #include <com/sun/star/lang/XComponent.hpp> #include <PropertyMap.hxx> #include <FontTable.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> - -#ifdef DEBUG_DOMAINMAPPER -#include <resourcemodel/TagLogger.hxx> -#endif +#include <resourcemodel/LoggedResources.hxx> namespace com{ namespace sun { namespace star { namespace text{ class XTextDocument; @@ -76,10 +72,6 @@ public: PropertyMapPtr pProperties; ::rtl::OUString sConvertedStyleName; -#ifdef DEBUG_DOMAINMAPPER - virtual XMLTag::Pointer_t toTag(); -#endif - StyleSheetEntry(); virtual ~StyleSheetEntry(); }; @@ -90,8 +82,8 @@ typedef boost::shared_ptr<StyleSheetEntryDeque> StyleSheetEntryDequePtr; class DomainMapper; class StyleSheetTable : - public Properties, - public Table + public LoggedProperties, + public LoggedTable { StyleSheetTable_Impl *m_pImpl; @@ -100,13 +92,6 @@ public: ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextDocument> xTextDocument ); virtual ~StyleSheetTable(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - - // Table - virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); - void ApplyStyleSheets( FontTablePtr rFontTable ); const StyleSheetEntryPtr FindStyleSheetByISTD(const ::rtl::OUString& sIndex); const StyleSheetEntryPtr FindStyleSheetByStyleName(const ::rtl::OUString& rIndex); @@ -120,6 +105,13 @@ public: ::rtl::OUString getOrCreateCharStyle( PropertyValueVector_t& rCharProperties ); private: + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + + // Table + virtual void lcl_entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); + void resolveAttributeProperties(Value & val); void resolveSprmProps(Sprm & sprm_); void applyDefaults(bool bParaProperties); @@ -153,10 +145,6 @@ public: // @param pStack already processed StyleSheetEntries PropertyMapPtr GetProperties( sal_Int32 nMask, StyleSheetEntryDequePtr pStack = StyleSheetEntryDequePtr()); -#ifdef DEBUG_DOMAINMAPPER - virtual XMLTag::Pointer_t toTag(); -#endif - TableStyleSheetEntry( StyleSheetEntry& aEntry, StyleSheetTable* pStyles ); virtual ~TableStyleSheetEntry( ); -- cgit From 7241d7d4bcb5d782b09cc89c4a8699cf0296cc70 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 14:36:56 +0200 Subject: writerfilter09: SettingTable: use logged resources --- writerfilter/source/dmapper/SettingsTable.cxx | 33 ++++++--------------------- writerfilter/source/dmapper/SettingsTable.hxx | 19 +++++++-------- 2 files changed, 17 insertions(+), 35 deletions(-) diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index 38dbacceb989..facd3f9cb40e 100755 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -37,10 +37,7 @@ #include <ooxml/resourceids.hxx> #include <ConversionHelper.hxx> -#ifdef DEBUG_DOMAINMAPPER -#include <resourcemodel/QNameToString.hxx> #include "dmapperLoggers.hxx" -#endif namespace writerfilter { @@ -99,8 +96,10 @@ struct SettingsTable_Impl }; -SettingsTable::SettingsTable(DomainMapper& rDMapper, const uno::Reference< lang::XMultiServiceFactory > xTextFactory) : -m_pImpl( new SettingsTable_Impl(rDMapper, xTextFactory) ) +SettingsTable::SettingsTable(DomainMapper& rDMapper, const uno::Reference< lang::XMultiServiceFactory > xTextFactory) +: LoggedProperties(dmapper_logger, "SettingsTable") +, LoggedTable(dmapper_logger, "SettingsTable") +, m_pImpl( new SettingsTable_Impl(rDMapper, xTextFactory) ) { // printf("SettingsTable::SettingsTable()\n"); } @@ -110,14 +109,8 @@ SettingsTable::~SettingsTable() delete m_pImpl; } -void SettingsTable::attribute(Id nName, Value & val) +void SettingsTable::lcl_attribute(Id nName, Value & val) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("SettingsTable.attribute"); - dmapper_logger->attribute("name", (*QNameToString::Instance())(nName)); - dmapper_logger->attribute("value", val.toString()); -#endif - (void) nName; int nIntValue = val.getInt(); (void)nIntValue; @@ -137,18 +130,10 @@ void SettingsTable::attribute(Id nName, Value & val) } } #endif -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("SettingsTable.attribute"); -#endif } -void SettingsTable::sprm(Sprm& rSprm) +void SettingsTable::lcl_sprm(Sprm& rSprm) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("SettingsTable.sprm"); - dmapper_logger->chars(rSprm.toString()); -#endif - sal_uInt32 nSprmId = rSprm.getId(); Value::Pointer_t pValue = rSprm.getValue(); @@ -240,13 +225,9 @@ void SettingsTable::sprm(Sprm& rSprm) OSL_ENSURE( false, "unknown sprmid in SettingsTable::sprm()"); } } - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("SettingsTable.sprm"); -#endif } -void SettingsTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) +void SettingsTable::lcl_entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) { // printf ( "SettingsTable::entry\n"); ref->resolve(*this); diff --git a/writerfilter/source/dmapper/SettingsTable.hxx b/writerfilter/source/dmapper/SettingsTable.hxx index cb3e7913c5e7..64034c83559b 100755 --- a/writerfilter/source/dmapper/SettingsTable.hxx +++ b/writerfilter/source/dmapper/SettingsTable.hxx @@ -32,7 +32,7 @@ #define INCLUDED_SETTINGSTABLE_HXX #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/text/XTextDocument.hpp> #include <map> @@ -53,7 +53,7 @@ using namespace std; struct SettingsTable_Impl; -class WRITERFILTER_DLLPRIVATE SettingsTable : public Properties, public Table +class WRITERFILTER_DLLPRIVATE SettingsTable : public LoggedProperties, public LoggedTable { SettingsTable_Impl *m_pImpl; @@ -63,18 +63,19 @@ class WRITERFILTER_DLLPRIVATE SettingsTable : public Properties, public Table ); virtual ~SettingsTable(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - - // Table - virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); - //returns default TabStop in 1/100th mm int GetDefaultTabStop() const; void ApplyProperties( uno::Reference< text::XTextDocument > xDoc ); + private: + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + + // Table + virtual void lcl_entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); + }; typedef boost::shared_ptr< SettingsTable > SettingsTablePtr; }} -- cgit From 84d9d6784496f19df58beaa0392340b61b8c0631 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 14:45:14 +0200 Subject: writerfilter09: FontTable: use logged resources --- writerfilter/source/dmapper/FontTable.cxx | 43 ++++++++++++----------- writerfilter/source/dmapper/FontTable.hxx | 57 +++++++++++++++---------------- 2 files changed, 52 insertions(+), 48 deletions(-) diff --git a/writerfilter/source/dmapper/FontTable.cxx b/writerfilter/source/dmapper/FontTable.cxx index 20f3d602156b..63e7057bccd7 100644 --- a/writerfilter/source/dmapper/FontTable.cxx +++ b/writerfilter/source/dmapper/FontTable.cxx @@ -33,6 +33,8 @@ #include <vector> #include <stdio.h> +#include "dmapperLoggers.hxx" + namespace writerfilter { namespace dmapper { @@ -46,8 +48,11 @@ struct FontTable_Impl /*-- 19.06.2006 12:04:32--------------------------------------------------- -----------------------------------------------------------------------*/ -FontTable::FontTable() : - m_pImpl( new FontTable_Impl ) +FontTable::FontTable() +: LoggedProperties(dmapper_logger, "FontTable") +, LoggedTable(dmapper_logger, "FontTable") +, LoggedStream(dmapper_logger, "FontTable") +, m_pImpl( new FontTable_Impl ) { } /*-- 19.06.2006 12:04:33--------------------------------------------------- @@ -60,7 +65,7 @@ FontTable::~FontTable() /*-- 19.06.2006 12:04:33--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::attribute(Id Name, Value & val) +void FontTable::lcl_attribute(Id Name, Value & val) { OSL_ENSURE( m_pImpl->pCurrentEntry, "current entry has to be set here"); if(!m_pImpl->pCurrentEntry) @@ -533,7 +538,7 @@ void FontTable::attribute(Id Name, Value & val) /*-- 19.06.2006 12:04:33--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::sprm(Sprm& rSprm) +void FontTable::lcl_sprm(Sprm& rSprm) { OSL_ENSURE( m_pImpl->pCurrentEntry, "current entry has to be set here"); if(!m_pImpl->pCurrentEntry) @@ -561,7 +566,7 @@ void FontTable::sprm(Sprm& rSprm) /*-- 19.06.2006 12:04:33--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) +void FontTable::lcl_entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) { //create a new font entry OSL_ENSURE( !m_pImpl->pCurrentEntry, "current entry has to be NULL here"); @@ -574,81 +579,81 @@ void FontTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_ /*-- 19.06.2006 12:04:34--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::startSectionGroup() +void FontTable::lcl_startSectionGroup() { } /*-- 19.06.2006 12:04:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::endSectionGroup() +void FontTable::lcl_endSectionGroup() { } /*-- 19.06.2006 12:04:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::startParagraphGroup() +void FontTable::lcl_startParagraphGroup() { } /*-- 19.06.2006 12:04:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::endParagraphGroup() +void FontTable::lcl_endParagraphGroup() { } /*-- 19.06.2006 12:04:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::startCharacterGroup() +void FontTable::lcl_startCharacterGroup() { } /*-- 19.06.2006 12:04:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::endCharacterGroup() +void FontTable::lcl_endCharacterGroup() { } /*-- 19.06.2006 12:04:36--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::text(const sal_uInt8*, size_t ) +void FontTable::lcl_text(const sal_uInt8*, size_t ) { } /*-- 19.06.2006 12:04:36--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::utext(const sal_uInt8* , size_t) +void FontTable::lcl_utext(const sal_uInt8* , size_t) { } /*-- 19.06.2006 12:04:37--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::props(writerfilter::Reference<Properties>::Pointer_t) +void FontTable::lcl_props(writerfilter::Reference<Properties>::Pointer_t) { } /*-- 19.06.2006 12:04:37--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::table(Id, writerfilter::Reference<Table>::Pointer_t) +void FontTable::lcl_table(Id, writerfilter::Reference<Table>::Pointer_t) { } /*-- 19.06.2006 12:04:38--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::substream(Id, ::writerfilter::Reference<Stream>::Pointer_t) +void FontTable::lcl_substream(Id, ::writerfilter::Reference<Stream>::Pointer_t) { } /*-- 19.06.2006 12:04:39--------------------------------------------------- -----------------------------------------------------------------------*/ -void FontTable::info(const string& ) +void FontTable::lcl_info(const string& ) { } -void FontTable::startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > ) +void FontTable::lcl_startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > ) { } -void FontTable::endShape( ) +void FontTable::lcl_endShape( ) { } diff --git a/writerfilter/source/dmapper/FontTable.hxx b/writerfilter/source/dmapper/FontTable.hxx index a2fa967d85fe..cc8e9458f7da 100644 --- a/writerfilter/source/dmapper/FontTable.hxx +++ b/writerfilter/source/dmapper/FontTable.hxx @@ -30,7 +30,7 @@ #include <boost/shared_ptr.hpp> #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <com/sun/star/lang/XComponent.hpp> namespace writerfilter { @@ -62,46 +62,45 @@ struct FontEntry nAltFontIndex( 0 ) {} }; -class WRITERFILTER_DLLPRIVATE FontTable : public Properties, public Table - /*,public BinaryObj*/, public Stream + +class WRITERFILTER_DLLPRIVATE FontTable : public LoggedProperties, public LoggedTable + /*,public BinaryObj*/, public LoggedStream { FontTable_Impl *m_pImpl; -public: + public: FontTable(); virtual ~FontTable(); + sal_uInt32 size(); + const FontEntry::Pointer_t getFontEntry(sal_uInt32 nIndex); + + private: // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); // Table - virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); - - // BinaryObj -// virtual void data(const sal_Int8* buf, size_t len, -// writerfilter::Reference<Properties>::Pointer_t ref); + virtual void lcl_entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); // Stream - 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 & info); - virtual void startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); - virtual void endShape( ); + virtual void lcl_startSectionGroup(); + virtual void lcl_endSectionGroup(); + virtual void lcl_startParagraphGroup(); + virtual void lcl_endParagraphGroup(); + virtual void lcl_startCharacterGroup(); + virtual void lcl_endCharacterGroup(); + virtual void lcl_text(const sal_uInt8 * data, size_t len); + virtual void lcl_utext(const sal_uInt8 * data, size_t len); + virtual void lcl_props(writerfilter::Reference<Properties>::Pointer_t ref); + virtual void lcl_table(Id name, + writerfilter::Reference<Table>::Pointer_t ref); + virtual void lcl_substream(Id name, + ::writerfilter::Reference<Stream>::Pointer_t ref); + virtual void lcl_info(const string & info); + virtual void lcl_startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); + virtual void lcl_endShape( ); - const FontEntry::Pointer_t getFontEntry(sal_uInt32 nIndex); - sal_uInt32 size(); }; typedef boost::shared_ptr< FontTable > FontTablePtr; }} -- cgit From 46ac754898fb5f9971f2f91034ad0a023abadecc Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:00:13 +0200 Subject: writerfilter09: GraphicImport: use logged resources --- writerfilter/source/dmapper/GraphicImport.cxx | 70 +++++++++------------------ writerfilter/source/dmapper/GraphicImport.hxx | 58 +++++++++++----------- 2 files changed, 54 insertions(+), 74 deletions(-) diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 79f94b9d1873..5bfba0f8212d 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -54,14 +54,7 @@ #include <com/sun/star/drawing/XShape.hpp> #include <rtl/ustrbuf.hxx> - -#include <iostream> -#include <resourcemodel/QNameToString.hxx> -#include <string.h> - -#ifdef DEBUG_DOMAINMAPPER -#include <resourcemodel/TagLogger.hxx> -#endif +#include "dmapperLoggers.hxx" namespace writerfilter { namespace dmapper @@ -350,9 +343,12 @@ GraphicImport::GraphicImport(uno::Reference < uno::XComponentContext > xCompo uno::Reference< lang::XMultiServiceFactory > xTextFactory, DomainMapper& rDMapper, GraphicImportType eImportType ) -: m_pImpl( new GraphicImport_Impl( eImportType, rDMapper )) - ,m_xComponentContext( xComponentContext ) - ,m_xTextFactory( xTextFactory) +: LoggedProperties(dmapper_logger, "GraphicImport") +, LoggedTable(dmapper_logger, "GraphicImport") +, LoggedStream(dmapper_logger, "GraphicImport") +, m_pImpl( new GraphicImport_Impl( eImportType, rDMapper )) +, m_xComponentContext( xComponentContext ) +, m_xTextFactory( xTextFactory) { } /*-- 01.11.2006 09:42:42--------------------------------------------------- @@ -365,12 +361,8 @@ GraphicImport::~GraphicImport() /*-- 01.11.2006 09:45:01--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::attribute(Id nName, Value & val) +void GraphicImport::lcl_attribute(Id nName, Value & val) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("attribute"); - dmapper_logger->attribute("name", (*QNameToString::Instance())(nName)); -#endif sal_Int32 nIntValue = val.getInt(); /* WRITERFILTERSTATUS: table: PICFattribute */ switch( nName ) @@ -1135,9 +1127,6 @@ void GraphicImport::attribute(Id nName, Value & val) #endif ; } -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("attribute"); -#endif } uno::Reference<text::XTextContent> GraphicImport::GetGraphicObject() @@ -1353,13 +1342,8 @@ void GraphicImport::ProcessShapeOptions(Value& val) /*-- 01.11.2006 09:45:02--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::sprm(Sprm & rSprm) +void GraphicImport::lcl_sprm(Sprm & rSprm) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("sprm"); - dmapper_logger->chars(rSprm.toString()); -#endif - sal_uInt32 nSprmId = rSprm.getId(); Value::Pointer_t pValue = rSprm.getValue(); @@ -1477,17 +1461,11 @@ void GraphicImport::sprm(Sprm & rSprm) #endif ; } - - - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("sprm"); -#endif } /*-- 01.11.2006 09:45:02--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t /*ref*/) +void GraphicImport::lcl_entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t /*ref*/) { } /*-- 16.11.2006 16:14:32--------------------------------------------------- @@ -1743,81 +1721,81 @@ void GraphicImport::data(const sal_uInt8* buf, size_t len, writerfilter::Referen /*-- 01.11.2006 09:45:03--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::startSectionGroup() +void GraphicImport::lcl_startSectionGroup() { } /*-- 01.11.2006 09:45:03--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::endSectionGroup() +void GraphicImport::lcl_endSectionGroup() { } /*-- 01.11.2006 09:45:03--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::startParagraphGroup() +void GraphicImport::lcl_startParagraphGroup() { } /*-- 01.11.2006 09:45:03--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::endParagraphGroup() +void GraphicImport::lcl_endParagraphGroup() { } /*-- 01.11.2006 09:45:03--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::startCharacterGroup() +void GraphicImport::lcl_startCharacterGroup() { } /*-- 01.11.2006 09:45:04--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::endCharacterGroup() +void GraphicImport::lcl_endCharacterGroup() { } /*-- 01.11.2006 09:45:04--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::text(const sal_uInt8 * /*_data*/, size_t /*len*/) +void GraphicImport::lcl_text(const sal_uInt8 * /*_data*/, size_t /*len*/) { } /*-- 01.11.2006 09:45:05--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::utext(const sal_uInt8 * /*_data*/, size_t /*len*/) +void GraphicImport::lcl_utext(const sal_uInt8 * /*_data*/, size_t /*len*/) { } /*-- 01.11.2006 09:45:05--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::props(writerfilter::Reference<Properties>::Pointer_t /*ref*/) +void GraphicImport::lcl_props(writerfilter::Reference<Properties>::Pointer_t /*ref*/) { } /*-- 01.11.2006 09:45:06--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::table(Id /*name*/, writerfilter::Reference<Table>::Pointer_t /*ref*/) +void GraphicImport::lcl_table(Id /*name*/, writerfilter::Reference<Table>::Pointer_t /*ref*/) { } /*-- 01.11.2006 09:45:07--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::substream(Id /*name*/, ::writerfilter::Reference<Stream>::Pointer_t /*ref*/) +void GraphicImport::lcl_substream(Id /*name*/, ::writerfilter::Reference<Stream>::Pointer_t /*ref*/) { } /*-- 01.11.2006 09:45:07--------------------------------------------------- -----------------------------------------------------------------------*/ -void GraphicImport::info(const string & /*info*/) +void GraphicImport::lcl_info(const string & /*info*/) { } -void GraphicImport::startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > /*xShape*/ ) +void GraphicImport::lcl_startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > /*xShape*/ ) { } -void GraphicImport::endShape( ) +void GraphicImport::lcl_endShape( ) { } diff --git a/writerfilter/source/dmapper/GraphicImport.hxx b/writerfilter/source/dmapper/GraphicImport.hxx index 14f512a3d4ee..8ca6b18d5d55 100644 --- a/writerfilter/source/dmapper/GraphicImport.hxx +++ b/writerfilter/source/dmapper/GraphicImport.hxx @@ -30,7 +30,7 @@ //#ifndef INCLUDED_WRITERFILTERDLLAPI_H //#include <WriterFilterDllApi.hxx> //#endif -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> //#include <com/sun/star/lang/XComponent.hpp> namespace com{ namespace sun { namespace star { namespace uno{ @@ -69,8 +69,8 @@ enum GraphicImportType IMPORT_AS_DETECTED_ANCHOR }; -class WRITERFILTER_DLLPRIVATE GraphicImport : public Properties, public Table - ,public BinaryObj, public Stream +class WRITERFILTER_DLLPRIVATE GraphicImport : public LoggedProperties, public LoggedTable + ,public BinaryObj, public LoggedStream { GraphicImport_Impl* m_pImpl; ::com::sun::star::uno::Reference < ::com::sun::star::uno::XComponentContext > m_xComponentContext; @@ -91,37 +91,39 @@ public: GraphicImportType eGraphicImportType); virtual ~GraphicImport(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - - // Table - virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); - // BinaryObj virtual void data(const sal_uInt8* buf, size_t len, writerfilter::Reference<Properties>::Pointer_t ref); - // Stream - 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 & info); - virtual void startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); - virtual void endShape( ); - ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextContent > GetGraphicObject(); bool IsGraphic() const; + + private: + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + + // Table + virtual void lcl_entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); + + // Stream + virtual void lcl_startSectionGroup(); + virtual void lcl_endSectionGroup(); + virtual void lcl_startParagraphGroup(); + virtual void lcl_endParagraphGroup(); + virtual void lcl_startCharacterGroup(); + virtual void lcl_endCharacterGroup(); + virtual void lcl_text(const sal_uInt8 * data, size_t len); + virtual void lcl_utext(const sal_uInt8 * data, size_t len); + virtual void lcl_props(writerfilter::Reference<Properties>::Pointer_t ref); + virtual void lcl_table(Id name, + writerfilter::Reference<Table>::Pointer_t ref); + virtual void lcl_substream(Id name, + ::writerfilter::Reference<Stream>::Pointer_t ref); + virtual void lcl_info(const string & info); + virtual void lcl_startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); + virtual void lcl_endShape( ); }; + typedef boost::shared_ptr< GraphicImport > GraphicImportPtr; }} -- cgit From ddd9d4c30513a845f4982564984d0b13fce30bae Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:10:17 +0200 Subject: writerfilter09: ThemeTable: use logged resources --- writerfilter/source/dmapper/ThemeTable.cxx | 40 ++++++------------------------ writerfilter/source/dmapper/ThemeTable.hxx | 15 +++++------ 2 files changed, 15 insertions(+), 40 deletions(-) diff --git a/writerfilter/source/dmapper/ThemeTable.cxx b/writerfilter/source/dmapper/ThemeTable.cxx index 0f0becf06552..ef870b3bae15 100755 --- a/writerfilter/source/dmapper/ThemeTable.cxx +++ b/writerfilter/source/dmapper/ThemeTable.cxx @@ -30,11 +30,7 @@ #include <doctok/resourceids.hxx> #include <ooxml/resourceids.hxx> #endif -#include <stdio.h> -#ifdef DEBUG_DOMAINMAPPER #include "dmapperLoggers.hxx" -#include <resourcemodel/QNameToString.hxx> -#endif namespace writerfilter { namespace dmapper @@ -50,8 +46,10 @@ struct ThemeTable_Impl std::map<sal_uInt32, ::rtl::OUString> m_currentFontThemeEntry; }; -ThemeTable::ThemeTable() : - m_pImpl( new ThemeTable_Impl ) +ThemeTable::ThemeTable() +: LoggedProperties(dmapper_logger, "ThemeTable") +, LoggedTable(dmapper_logger, "ThemeTable") +, m_pImpl( new ThemeTable_Impl ) { // printf("ThemeTable::ThemeTable()\n"); } @@ -61,13 +59,8 @@ ThemeTable::~ThemeTable() delete m_pImpl; } -void ThemeTable::attribute(Id Name, Value & val) +void ThemeTable::lcl_attribute(Id Name, Value & val) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("ThemeTable.attribute"); - dmapper_logger->attribute("name", (*QNameToString::Instance())(Name)); - dmapper_logger->attribute("value", val.toString()); -#endif // int nIntValue = val.getInt(); ::rtl::OUString sValue = val.getString(); // printf ( "ThemeTable::attribute(0x%.4x, 0x%.4x) [%s]\n", (unsigned int)Name, (unsigned int)nIntValue, ::rtl::OUStringToOString(sValue, RTL_TEXTENCODING_DONTKNOW).getStr()); @@ -86,18 +79,10 @@ void ThemeTable::attribute(Id Name, Value & val) #endif } } -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("ThemeTable.attribute"); -#endif } -void ThemeTable::sprm(Sprm& rSprm) +void ThemeTable::lcl_sprm(Sprm& rSprm) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("ThemeTable.sprm"); - dmapper_logger->chars(rSprm.toString()); -#endif - sal_uInt32 nSprmId = rSprm.getId(); (void)nSprmId; @@ -151,22 +136,11 @@ void ThemeTable::sprm(Sprm& rSprm) #endif } } -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("ThemeTable.sprm"); -#endif } -void ThemeTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) +void ThemeTable::lcl_entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("ThemeTable.entry"); -#endif - ref->resolve(*this); - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("ThemeTable.entry"); -#endif } const ::rtl::OUString ThemeTable::getFontNameForTheme(const Id id) const diff --git a/writerfilter/source/dmapper/ThemeTable.hxx b/writerfilter/source/dmapper/ThemeTable.hxx index b79877703c58..1396c4cee8c9 100644 --- a/writerfilter/source/dmapper/ThemeTable.hxx +++ b/writerfilter/source/dmapper/ThemeTable.hxx @@ -29,7 +29,7 @@ #define INCLUDED_THEMETABLE_HXX #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <com/sun/star/lang/XComponent.hpp> #include <map> @@ -39,7 +39,7 @@ namespace dmapper struct ThemeTable_Impl; -class WRITERFILTER_DLLPRIVATE ThemeTable : public Properties, public Table +class WRITERFILTER_DLLPRIVATE ThemeTable : public LoggedProperties, public LoggedTable { ThemeTable_Impl *m_pImpl; @@ -47,14 +47,15 @@ public: ThemeTable(); virtual ~ThemeTable(); + const ::rtl::OUString getFontNameForTheme(const Id id) const; + + private: // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); // Table - virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); - - const ::rtl::OUString getFontNameForTheme(const Id id) const; + virtual void lcl_entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); }; typedef boost::shared_ptr< ThemeTable > ThemeTablePtr; }} -- cgit From 394a1eb553cbc9234c3b7dae41cdb6843f682da2 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:18:13 +0200 Subject: writerfilter09: GraphicHelpers: use logged resources --- writerfilter/source/dmapper/GraphicHelpers.cxx | 35 +++++--------------------- writerfilter/source/dmapper/GraphicHelpers.hxx | 16 ++++++------ 2 files changed, 15 insertions(+), 36 deletions(-) diff --git a/writerfilter/source/dmapper/GraphicHelpers.cxx b/writerfilter/source/dmapper/GraphicHelpers.cxx index af55bf2f41ca..505b1af1680a 100644 --- a/writerfilter/source/dmapper/GraphicHelpers.cxx +++ b/writerfilter/source/dmapper/GraphicHelpers.cxx @@ -8,10 +8,7 @@ #include <com/sun/star/text/RelOrientation.hpp> #include <com/sun/star/text/WrapTextMode.hpp> -#ifdef DEBUG_DOMAINMAPPER -#include <resourcemodel/QNameToString.hxx> #include "dmapperloggers.hxx" -#endif #include <iostream> using namespace std; @@ -22,7 +19,7 @@ namespace dmapper { using namespace com::sun::star; PositionHandler::PositionHandler( ) : - Properties( ) +LoggedProperties(dmapper_logger, "PositionHandler") { m_nOrient = text::VertOrientation::NONE; m_nRelation = text::RelOrientation::FRAME; @@ -33,14 +30,8 @@ PositionHandler::~PositionHandler( ) { } -void PositionHandler::attribute( Id aName, Value& rVal ) +void PositionHandler::lcl_attribute( Id aName, Value& rVal ) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("PositionHandler.attribute"); - dmapper_logger->attribute("name", (*QNameToString::Instance())(aName)); - dmapper_logger->attribute("value", rVal.toString()); -#endif - sal_Int32 nIntValue = rVal.getInt( ); switch ( aName ) { @@ -102,20 +93,10 @@ void PositionHandler::attribute( Id aName, Value& rVal ) #endif break; } - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("PositionHandler.attribute"); -#endif } -void PositionHandler::sprm( Sprm& rSprm ) +void PositionHandler::lcl_sprm( Sprm& rSprm ) { -#ifdef DEBUG_DOMAINMAPPER - string sSprm = rSprm.toString(); - dmapper_logger->startElement("PositionHandler.sprm"); - dmapper_logger->attribute("sprm", sSprm); -#endif - Value::Pointer_t pValue = rSprm.getValue(); sal_Int32 nIntValue = pValue->getInt(); @@ -184,14 +165,10 @@ void PositionHandler::sprm( Sprm& rSprm ) #endif break; } - -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("PositionHandler.sprm"); -#endif } WrapHandler::WrapHandler( ) : - Properties( ), +LoggedProperties(dmapper_logger, "WrapHandler"), m_nType( 0 ), m_nSide( 0 ) { @@ -201,7 +178,7 @@ WrapHandler::~WrapHandler( ) { } -void WrapHandler::attribute( Id aName, Value& rVal ) +void WrapHandler::lcl_attribute( Id aName, Value& rVal ) { switch ( aName ) { @@ -215,7 +192,7 @@ void WrapHandler::attribute( Id aName, Value& rVal ) } } -void WrapHandler::sprm( Sprm& ) +void WrapHandler::lcl_sprm( Sprm& ) { } diff --git a/writerfilter/source/dmapper/GraphicHelpers.hxx b/writerfilter/source/dmapper/GraphicHelpers.hxx index fb8f8b2455ee..7127ccf22c1f 100644 --- a/writerfilter/source/dmapper/GraphicHelpers.hxx +++ b/writerfilter/source/dmapper/GraphicHelpers.hxx @@ -4,7 +4,7 @@ #include "PropertyMap.hxx" #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> @@ -12,7 +12,7 @@ namespace writerfilter { namespace dmapper { -class WRITERFILTER_DLLPRIVATE PositionHandler: public Properties +class WRITERFILTER_DLLPRIVATE PositionHandler: public LoggedProperties { public: PositionHandler( ); @@ -22,12 +22,13 @@ public: sal_Int16 m_nRelation; sal_Int32 m_nPosition; - virtual void attribute( Id aName, Value& rVal ); - virtual void sprm( Sprm& rSprm ); + private: + virtual void lcl_attribute( Id aName, Value& rVal ); + virtual void lcl_sprm( Sprm& rSprm ); }; typedef boost::shared_ptr<PositionHandler> PositionHandlerPtr; -class WRITERFILTER_DLLPRIVATE WrapHandler: public Properties +class WRITERFILTER_DLLPRIVATE WrapHandler: public LoggedProperties { public: WrapHandler( ); @@ -38,8 +39,9 @@ public: sal_Int32 getWrapMode( ); - virtual void attribute( Id aName, Value& rVal ); - virtual void sprm( Sprm& rSprm ); + private: + virtual void lcl_attribute( Id aName, Value& rVal ); + virtual void lcl_sprm( Sprm& rSprm ); }; typedef boost::shared_ptr<WrapHandler> WrapHandlerPtr; -- cgit From cac5eef5c6d5343596d70ae164add34d6d62d795 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:23:04 +0200 Subject: writerfilter09: BorderHandler: use logged resources --- writerfilter/source/dmapper/BorderHandler.cxx | 33 ++++++++------------------- writerfilter/source/dmapper/BorderHandler.hxx | 12 +++++----- 2 files changed, 15 insertions(+), 30 deletions(-) diff --git a/writerfilter/source/dmapper/BorderHandler.cxx b/writerfilter/source/dmapper/BorderHandler.cxx index df2503793884..218a2bebb3bf 100644 --- a/writerfilter/source/dmapper/BorderHandler.cxx +++ b/writerfilter/source/dmapper/BorderHandler.cxx @@ -44,12 +44,13 @@ using namespace ::com::sun::star; -----------------------------------------------------------------------*/ BorderHandler::BorderHandler( bool bOOXML ) : - m_nCurrentBorderPosition( BORDER_TOP ), - m_nLineWidth(0), - m_nLineType(0), - m_nLineColor(0), - m_nLineDistance(0), - m_bOOXML( bOOXML ) +LoggedProperties(dmapper_logger, "BorderHandler"), +m_nCurrentBorderPosition( BORDER_TOP ), +m_nLineWidth(0), +m_nLineType(0), +m_nLineColor(0), +m_nLineDistance(0), +m_bOOXML( bOOXML ) { } /*-- 24.04.2007 09:06:35--------------------------------------------------- @@ -61,14 +62,8 @@ BorderHandler::~BorderHandler() /*-- 24.04.2007 09:06:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void BorderHandler::attribute(Id rName, Value & rVal) +void BorderHandler::lcl_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 ) @@ -120,13 +115,8 @@ void BorderHandler::attribute(Id rName, Value & rVal) /*-- 24.04.2007 09:06:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void BorderHandler::sprm(Sprm & rSprm) +void BorderHandler::lcl_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()) { @@ -154,11 +144,6 @@ 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/BorderHandler.hxx b/writerfilter/source/dmapper/BorderHandler.hxx index 0fc722227191..fe6e3549feba 100644 --- a/writerfilter/source/dmapper/BorderHandler.hxx +++ b/writerfilter/source/dmapper/BorderHandler.hxx @@ -28,7 +28,7 @@ #define INCLUDED_BORDERHANDLER_HXX #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> #include <com/sun/star/table/BorderLine.hpp> @@ -36,7 +36,7 @@ namespace writerfilter { namespace dmapper { class PropertyMap; -class WRITERFILTER_DLLPRIVATE BorderHandler : public Properties +class WRITERFILTER_DLLPRIVATE BorderHandler : public LoggedProperties { public: //todo: order is a guess @@ -63,14 +63,14 @@ private: bool m_aFilledLines[BORDER_COUNT]; ::com::sun::star::table::BorderLine m_aBorderLines[BORDER_COUNT]; + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + public: BorderHandler( bool bOOXML ); virtual ~BorderHandler(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - ::boost::shared_ptr<PropertyMap> getProperties(); ::com::sun::star::table::BorderLine getBorderLine(); sal_Int32 getLineDistance() const { return m_nLineDistance;} -- cgit From 76af059b7a287758b07916a946a89f90d4024168 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:26:39 +0200 Subject: writerfilter09: CellColorHandler: use logged resources --- writerfilter/source/dmapper/CellColorHandler.cxx | 14 ++++++++------ writerfilter/source/dmapper/CellColorHandler.hxx | 12 ++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/writerfilter/source/dmapper/CellColorHandler.cxx b/writerfilter/source/dmapper/CellColorHandler.cxx index 2de4554e06dc..f72d4dd0d66b 100644 --- a/writerfilter/source/dmapper/CellColorHandler.cxx +++ b/writerfilter/source/dmapper/CellColorHandler.cxx @@ -29,6 +29,7 @@ #include <doctok/resourceids.hxx> #include <ConversionHelper.hxx> #include <ooxml/resourceids.hxx> +#include "dmapperLoggers.hxx" #define OOXML_COLOR_AUTO 0x0a //todo: AutoColor needs symbol @@ -43,10 +44,11 @@ using namespace ::writerfilter; -----------------------------------------------------------------------*/ CellColorHandler::CellColorHandler() : - m_nShadowType( 0 ), - m_nColor( 0xffffffff ), - m_nFillColor( 0xffffffff ), - m_bParagraph( false ) +LoggedProperties(dmapper_logger, "CellColorHandler"), +m_nShadowType( 0 ), +m_nColor( 0xffffffff ), +m_nFillColor( 0xffffffff ), +m_bParagraph( false ) { } /*-- 24.04.2007 09:06:35--------------------------------------------------- @@ -58,7 +60,7 @@ CellColorHandler::~CellColorHandler() /*-- 24.04.2007 09:06:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void CellColorHandler::attribute(Id rName, Value & rVal) +void CellColorHandler::lcl_attribute(Id rName, Value & rVal) { sal_Int32 nIntValue = rVal.getInt(); (void)nIntValue; @@ -119,7 +121,7 @@ void CellColorHandler::attribute(Id rName, Value & rVal) /*-- 24.04.2007 09:06:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void CellColorHandler::sprm(Sprm & rSprm) +void CellColorHandler::lcl_sprm(Sprm & rSprm) { (void)rSprm; } diff --git a/writerfilter/source/dmapper/CellColorHandler.hxx b/writerfilter/source/dmapper/CellColorHandler.hxx index 3e6b1bb2db70..102449258550 100644 --- a/writerfilter/source/dmapper/CellColorHandler.hxx +++ b/writerfilter/source/dmapper/CellColorHandler.hxx @@ -28,7 +28,7 @@ #define INCLUDED_CELLCOLORHANDLER_HXX #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> //#include <com/sun/star/table/TableBorder.hpp> #include <com/sun/star/table/BorderLine.hpp> @@ -37,23 +37,23 @@ namespace writerfilter { namespace dmapper { class TablePropertyMap; -class WRITERFILTER_DLLPRIVATE CellColorHandler : public Properties +class WRITERFILTER_DLLPRIVATE CellColorHandler : public LoggedProperties { public: sal_Int32 m_nShadowType; sal_Int32 m_nColor; sal_Int32 m_nFillColor; bool m_bParagraph; + private: + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); public: CellColorHandler( ); virtual ~CellColorHandler(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - ::boost::shared_ptr<TablePropertyMap> getProperties(); void setParagraph() { m_bParagraph = true; } -- cgit From a3af0ceb2984cca95fa8352d820a6531d7272e00 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:30:41 +0200 Subject: writerfilter09: CellMarginHandler: use logged resources --- writerfilter/source/dmapper/CellMarginHandler.cxx | 24 ++++++++++++----------- writerfilter/source/dmapper/CellMarginHandler.hxx | 12 ++++++------ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/writerfilter/source/dmapper/CellMarginHandler.cxx b/writerfilter/source/dmapper/CellMarginHandler.cxx index bfea8a6b25f9..645755cc4c63 100644 --- a/writerfilter/source/dmapper/CellMarginHandler.cxx +++ b/writerfilter/source/dmapper/CellMarginHandler.cxx @@ -29,6 +29,7 @@ #include <doctok/resourceids.hxx> #include <ConversionHelper.hxx> #include <ooxml/resourceids.hxx> +#include "dmapperLoggers.hxx" namespace writerfilter { namespace dmapper { @@ -41,15 +42,16 @@ using namespace ::writerfilter; -----------------------------------------------------------------------*/ CellMarginHandler::CellMarginHandler() : - m_nValue( 0 ), - m_nLeftMargin( 0 ), - m_bLeftMarginValid( false ), - m_nRightMargin( 0 ), - m_bRightMarginValid( false ), - m_nTopMargin( 0 ), - m_bTopMarginValid( false ), - m_nBottomMargin( 0 ), - m_bBottomMarginValid( false ) +LoggedProperties(dmapper_logger, "CellMarginHandler"), +m_nValue( 0 ), +m_nLeftMargin( 0 ), +m_bLeftMarginValid( false ), +m_nRightMargin( 0 ), +m_bRightMarginValid( false ), +m_nTopMargin( 0 ), +m_bTopMarginValid( false ), +m_nBottomMargin( 0 ), +m_bBottomMarginValid( false ) { } /*-- 18.02.2008 12:36:51--------------------------------------------------- @@ -61,7 +63,7 @@ CellMarginHandler::~CellMarginHandler() /*-- 18.02.2008 12:36:51--------------------------------------------------- -----------------------------------------------------------------------*/ -void CellMarginHandler::attribute(Id rName, Value & rVal) +void CellMarginHandler::lcl_attribute(Id rName, Value & rVal) { sal_Int32 nIntValue = rVal.getInt(); (void)nIntValue; @@ -82,7 +84,7 @@ void CellMarginHandler::attribute(Id rName, Value & rVal) /*-- 18.02.2008 12:36:51--------------------------------------------------- -----------------------------------------------------------------------*/ -void CellMarginHandler::sprm(Sprm & rSprm) +void CellMarginHandler::lcl_sprm(Sprm & rSprm) { writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps(); if( pProperties.get()) diff --git a/writerfilter/source/dmapper/CellMarginHandler.hxx b/writerfilter/source/dmapper/CellMarginHandler.hxx index 5f01df47a347..3d2512675683 100644 --- a/writerfilter/source/dmapper/CellMarginHandler.hxx +++ b/writerfilter/source/dmapper/CellMarginHandler.hxx @@ -30,18 +30,22 @@ #ifndef INCLUDED_WRITERFILTERDLLAPI_H #include <WriterFilterDllApi.hxx> #endif -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> namespace writerfilter { namespace dmapper { class TablePropertyMap; -class WRITERFILTER_DLLPRIVATE CellMarginHandler : public Properties +class WRITERFILTER_DLLPRIVATE CellMarginHandler : public LoggedProperties { private: sal_Int32 m_nValue; + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + public: sal_Int32 m_nLeftMargin; bool m_bLeftMarginValid; @@ -56,10 +60,6 @@ public: CellMarginHandler( ); virtual ~CellMarginHandler(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - ::boost::shared_ptr<TablePropertyMap> getProperties(); }; -- cgit From 65b3def683f46d3c0d252a61bb8f00487d7af7b4 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:34:32 +0200 Subject: writerfilter09: FFDataHandler: use logged resources --- writerfilter/source/dmapper/FFDataHandler.cxx | 44 +++++++++------------------ writerfilter/source/dmapper/FFDataHandler.hxx | 14 +++++---- 2 files changed, 23 insertions(+), 35 deletions(-) diff --git a/writerfilter/source/dmapper/FFDataHandler.cxx b/writerfilter/source/dmapper/FFDataHandler.cxx index 9f9430401161..6decd84d2786 100644 --- a/writerfilter/source/dmapper/FFDataHandler.cxx +++ b/writerfilter/source/dmapper/FFDataHandler.cxx @@ -30,10 +30,8 @@ #include "FFDataHandler.hxx" #include <ooxml/resourceids.hxx> -#ifdef DEBUG_DOMAINMAPPER -#include <resourcemodel/QNameToString.hxx> #include "dmapperLoggers.hxx" -#endif + namespace writerfilter { namespace dmapper { @@ -41,17 +39,18 @@ namespace dmapper { * class: FFDataHandler * ************************/ -FFDataHandler::FFDataHandler() -: m_bEnabled(false), - m_bCalcOnExit(false), - m_nHelpTextType(0), - m_nStatusTextType(0), - m_nCheckboxHeight(0), - m_bCheckboxAutoHeight(false), - m_bCheckboxDefault(false), - m_bCheckboxChecked(false), - m_nTextType(0), - m_nTextMaxLength(0) +FFDataHandler::FFDataHandler() : +LoggedProperties(dmapper_logger, "FFDataHandler"), +m_bEnabled(false), +m_bCalcOnExit(false), +m_nHelpTextType(0), +m_nStatusTextType(0), +m_nCheckboxHeight(0), +m_bCheckboxAutoHeight(false), +m_bCheckboxDefault(false), +m_bCheckboxChecked(false), +m_nTextType(0), +m_nTextMaxLength(0) { } @@ -286,12 +285,8 @@ const rtl::OUString & FFDataHandler::getTextFormat() const } -void FFDataHandler::sprm(Sprm & r_Sprm) +void FFDataHandler::lcl_sprm(Sprm & r_Sprm) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("FFDataHandler.sprm"); - dmapper_logger->chars(r_Sprm.toString()); -#endif switch(r_Sprm.getId()) { case NS_ooxml::LN_CT_FFData_name: @@ -426,9 +421,6 @@ void FFDataHandler::sprm(Sprm & r_Sprm) #endif break; } -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("FFDataHandler.sprm"); -#endif } void FFDataHandler::resolveSprm(Sprm & r_Sprm) @@ -438,14 +430,8 @@ void FFDataHandler::resolveSprm(Sprm & r_Sprm) pProperties->resolve(*this); } -void FFDataHandler::attribute(Id name, Value & val) +void FFDataHandler::lcl_attribute(Id name, Value & val) { -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->startElement("FFDataHandler.attribute"); - dmapper_logger->attribute("name", (*QNameToString::Instance())(name)); - dmapper_logger->attribute("value", val.toString()); - dmapper_logger->endElement("FFDataHandler.attribute"); -#endif switch (name) { case NS_ooxml::LN_CT_FFHelpText_type: diff --git a/writerfilter/source/dmapper/FFDataHandler.hxx b/writerfilter/source/dmapper/FFDataHandler.hxx index fb7a4ccee950..b1c7ff2ea7fb 100644 --- a/writerfilter/source/dmapper/FFDataHandler.hxx +++ b/writerfilter/source/dmapper/FFDataHandler.hxx @@ -29,11 +29,11 @@ ************************************************************************/ #ifndef INCLUDED_FFDataHandler_HXX #define INCLUDED_FFDataHandler_HXX -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <rtl/ustring.hxx> namespace writerfilter { namespace dmapper { -class FFDataHandler : public Properties +class FFDataHandler : public LoggedProperties { public: // typedefs @@ -127,12 +127,8 @@ public: const rtl::OUString & getTextFormat() const; // sprm - void sprm(Sprm & r_sprm); void resolveSprm(Sprm & r_sprm); - // attribute - void attribute(Id name, Value & val); - private: rtl::OUString m_sName; bool m_bEnabled; @@ -154,6 +150,12 @@ private: sal_uInt32 m_nTextMaxLength; rtl::OUString m_sTextDefault; rtl::OUString m_sTextFormat; + + // sprm + void lcl_sprm(Sprm & r_sprm); + + // attribute + void lcl_attribute(Id name, Value & val); }; -- cgit From 9892370e9a967e2f32ba3b3c32148694079f6932 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:37:27 +0200 Subject: writerfilter09: MeasureHandler: use logged resources --- writerfilter/source/dmapper/MeasureHandler.cxx | 12 +++++++----- writerfilter/source/dmapper/MeasureHandler.hxx | 12 ++++++------ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/writerfilter/source/dmapper/MeasureHandler.cxx b/writerfilter/source/dmapper/MeasureHandler.cxx index 58f3980063ee..e34a6896ea0d 100644 --- a/writerfilter/source/dmapper/MeasureHandler.cxx +++ b/writerfilter/source/dmapper/MeasureHandler.cxx @@ -30,6 +30,7 @@ #include <ConversionHelper.hxx> #include <ooxml/resourceids.hxx> #include <com/sun/star/text/SizeType.hpp> +#include "dmapperLoggers.hxx" namespace writerfilter { namespace dmapper { @@ -40,9 +41,10 @@ using namespace ::com::sun::star; -----------------------------------------------------------------------*/ MeasureHandler::MeasureHandler() : - m_nMeasureValue( 0 ), - m_nUnit( -1 ), - m_nRowHeightSizeType( text::SizeType::MIN ) +LoggedProperties(dmapper_logger, "MeasureHandler"), +m_nMeasureValue( 0 ), +m_nUnit( -1 ), +m_nRowHeightSizeType( text::SizeType::MIN ) { } /*-- 24.04.2007 09:06:35--------------------------------------------------- @@ -54,7 +56,7 @@ MeasureHandler::~MeasureHandler() /*-- 24.04.2007 09:06:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void MeasureHandler::attribute(Id rName, Value & rVal) +void MeasureHandler::lcl_attribute(Id rName, Value & rVal) { sal_Int32 nIntValue = rVal.getInt(); (void)rName; @@ -99,7 +101,7 @@ void MeasureHandler::attribute(Id rName, Value & rVal) /*-- 24.04.2007 09:06:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void MeasureHandler::sprm(Sprm & rSprm) +void MeasureHandler::lcl_sprm(Sprm & rSprm) { (void)rSprm; } diff --git a/writerfilter/source/dmapper/MeasureHandler.hxx b/writerfilter/source/dmapper/MeasureHandler.hxx index 574685f8ed27..25a38a4862f3 100644 --- a/writerfilter/source/dmapper/MeasureHandler.hxx +++ b/writerfilter/source/dmapper/MeasureHandler.hxx @@ -28,7 +28,7 @@ #define INCLUDED_MEASUREHANDLER_HXX #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> namespace writerfilter { @@ -39,20 +39,20 @@ class PropertyMap; - Left indent of tables - Preferred width of tables */ -class WRITERFILTER_DLLPRIVATE MeasureHandler : public Properties +class WRITERFILTER_DLLPRIVATE MeasureHandler : public LoggedProperties { sal_Int32 m_nMeasureValue; sal_Int32 m_nUnit; sal_Int16 m_nRowHeightSizeType; //table row height type + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + public: MeasureHandler(); virtual ~MeasureHandler(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - sal_Int32 getMeasureValue() const; //at least tables can have automatic width bool isAutoWidth() const; -- cgit From 112dbd0bdb8988a26d7e61bbec521b1014b69763 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:43:39 +0200 Subject: writerfilter09: NumberingManager: use logged resources --- writerfilter/source/dmapper/NumberingManager.cxx | 20 ++++++++++++-------- writerfilter/source/dmapper/NumberingManager.hxx | 20 ++++++++++---------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx index 8cc031ea1d09..5c08d17a3367 100644 --- a/writerfilter/source/dmapper/NumberingManager.cxx +++ b/writerfilter/source/dmapper/NumberingManager.cxx @@ -19,6 +19,8 @@ #include <stdio.h> #endif +#include "dmapperLoggers.hxx" + using namespace rtl; using namespace com::sun::star; @@ -614,10 +616,12 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper, //------------------------------------- NumberingManager implementation -ListsManager::ListsManager( DomainMapper& rDMapper, - const uno::Reference< lang::XMultiServiceFactory > xFactory ) : - m_rDMapper( rDMapper ), - m_xFactory( xFactory ) +ListsManager::ListsManager(DomainMapper& rDMapper, + const uno::Reference< lang::XMultiServiceFactory > xFactory) : +LoggedProperties(dmapper_logger, "ListsManager"), +LoggedTable(dmapper_logger, "ListsManager"), +m_rDMapper( rDMapper ), +m_xFactory( xFactory ) { } @@ -625,7 +629,7 @@ ListsManager::~ListsManager( ) { } -void ListsManager::attribute( Id nName, Value& rVal ) +void ListsManager::lcl_attribute( Id nName, Value& rVal ) { OSL_ENSURE( m_pCurrentDefinition.get(), "current entry has to be set here"); if(!m_pCurrentDefinition.get()) @@ -764,7 +768,7 @@ void ListsManager::attribute( Id nName, Value& rVal ) } } -void ListsManager::sprm( Sprm& rSprm ) +void ListsManager::lcl_sprm( Sprm& rSprm ) { //fill the attributes of the style sheet sal_uInt32 nSprmId = rSprm.getId(); @@ -939,8 +943,8 @@ void ListsManager::sprm( Sprm& rSprm ) } } -void ListsManager::entry( int /* pos */, - writerfilter::Reference<Properties>::Pointer_t ref ) +void ListsManager::lcl_entry( int /* pos */, + writerfilter::Reference<Properties>::Pointer_t ref ) { if( m_rDMapper.IsOOXMLImport() ) { diff --git a/writerfilter/source/dmapper/NumberingManager.hxx b/writerfilter/source/dmapper/NumberingManager.hxx index a7970fca531c..dbe05e1b20ac 100644 --- a/writerfilter/source/dmapper/NumberingManager.hxx +++ b/writerfilter/source/dmapper/NumberingManager.hxx @@ -5,7 +5,7 @@ #include <WriterFilterDllApi.hxx> #include <dmapper/DomainMapper.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <com/sun/star/container/XIndexReplace.hpp> @@ -170,8 +170,8 @@ public: /** This class provides access to the defined numbering styles. */ class ListsManager : - public Properties, - public Table + public LoggedProperties, + public LoggedTable { private: @@ -190,6 +190,13 @@ private: AbstractListDef::Pointer GetAbstractList( sal_Int32 nId ); + // Properties + virtual void lcl_attribute( Id nName, Value & rVal ); + virtual void lcl_sprm(Sprm & sprm); + + // Table + virtual void lcl_entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); + public: ListsManager( @@ -199,13 +206,6 @@ public: typedef boost::shared_ptr< ListsManager > Pointer; - // Properties - virtual void attribute( Id nName, Value & rVal ); - virtual void sprm(Sprm & sprm); - - // Table - virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref); - // Config methods void SetLFOImport( bool bLFOImport ) { m_bIsLFOImport = bLFOImport; }; -- cgit From feebb2d88591fba32ed2c94f1970c828bb16b9d5 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:45:53 +0200 Subject: writerfilter09: OLEHandler: use logged resources --- writerfilter/source/dmapper/OLEHandler.cxx | 13 ++++++++----- writerfilter/source/dmapper/OLEHandler.hxx | 13 +++++++------ 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/writerfilter/source/dmapper/OLEHandler.cxx b/writerfilter/source/dmapper/OLEHandler.cxx index 65f76f11cbfc..89ee01ecb9a0 100644 --- a/writerfilter/source/dmapper/OLEHandler.cxx +++ b/writerfilter/source/dmapper/OLEHandler.cxx @@ -44,6 +44,8 @@ #include <com/sun/star/text/XTextDocument.hpp> #include <com/sun/star/uno/XComponentContext.hpp> +#include "dmapperLoggers.hxx" + namespace writerfilter { namespace dmapper { @@ -52,9 +54,10 @@ using namespace ::com::sun::star; -----------------------------------------------------------------------*/ OLEHandler::OLEHandler() : - m_nDxaOrig(0), - m_nDyaOrig(0), - m_nWrapMode(0) +LoggedProperties(dmapper_logger, "OLEHandler"), +m_nDxaOrig(0), +m_nDyaOrig(0), +m_nWrapMode(0) { } /*-- 23.04.2008 10:46:14--------------------------------------------------- @@ -66,7 +69,7 @@ OLEHandler::~OLEHandler() /*-- 23.04.2008 10:46:14--------------------------------------------------- -----------------------------------------------------------------------*/ -void OLEHandler::attribute(Id rName, Value & rVal) +void OLEHandler::lcl_attribute(Id rName, Value & rVal) { rtl::OUString sStringValue = rVal.getString(); (void)rName; @@ -141,7 +144,7 @@ void OLEHandler::attribute(Id rName, Value & rVal) /*-- 23.04.2008 10:46:14--------------------------------------------------- -----------------------------------------------------------------------*/ -void OLEHandler::sprm(Sprm & rSprm) +void OLEHandler::lcl_sprm(Sprm & rSprm) { sal_uInt32 nSprmId = rSprm.getId(); switch( nSprmId ) diff --git a/writerfilter/source/dmapper/OLEHandler.hxx b/writerfilter/source/dmapper/OLEHandler.hxx index f9059fb6a35a..cddbac5475bc 100644 --- a/writerfilter/source/dmapper/OLEHandler.hxx +++ b/writerfilter/source/dmapper/OLEHandler.hxx @@ -30,7 +30,7 @@ #ifndef INCLUDED_WRITERFILTERDLLAPI_H #include <WriterFilterDllApi.hxx> #endif -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> #include <com/sun/star/awt/Size.hpp> #include <com/sun/star/awt/Point.hpp> @@ -60,7 +60,7 @@ namespace dmapper //class PropertyMap; /** Handler for OLE objects */ -class WRITERFILTER_DLLPRIVATE OLEHandler : public Properties +class WRITERFILTER_DLLPRIVATE OLEHandler : public LoggedProperties { ::rtl::OUString m_sObjectType; ::rtl::OUString m_sProgId; @@ -81,14 +81,15 @@ class WRITERFILTER_DLLPRIVATE OLEHandler : public Properties ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > m_xReplacement; ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > m_xInputStream; + + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + public: OLEHandler(); virtual ~OLEHandler(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - inline ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > getShape( ) { return m_xShape; }; inline bool isOLEObject( ) { return m_xInputStream.is( ); }; -- cgit From bc590a010e3530a9835a8f1af842292a0c1e5fd0 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:49:55 +0200 Subject: writerfilter09: PageBordersHandler: use logged resources --- writerfilter/source/dmapper/PageBordersHandler.cxx | 11 +++++++---- writerfilter/source/dmapper/PageBordersHandler.hxx | 12 ++++++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/writerfilter/source/dmapper/PageBordersHandler.cxx b/writerfilter/source/dmapper/PageBordersHandler.cxx index 725502843982..21798d684b5d 100644 --- a/writerfilter/source/dmapper/PageBordersHandler.cxx +++ b/writerfilter/source/dmapper/PageBordersHandler.cxx @@ -2,6 +2,8 @@ #include <ooxml/resourceids.hxx> +#include "dmapperLoggers.hxx" + namespace writerfilter { namespace dmapper { @@ -16,8 +18,9 @@ _PgBorder::~_PgBorder( ) } PageBordersHandler::PageBordersHandler( ) : - m_nDisplay( 0 ), - m_nOffset( 0 ) +LoggedProperties(dmapper_logger, "PageBordersHandler"), +m_nDisplay( 0 ), +m_nOffset( 0 ) { } @@ -25,7 +28,7 @@ PageBordersHandler::~PageBordersHandler( ) { } -void PageBordersHandler::attribute( Id eName, Value& rVal ) +void PageBordersHandler::lcl_attribute( Id eName, Value& rVal ) { int nIntValue = rVal.getInt( ); switch ( eName ) @@ -65,7 +68,7 @@ void PageBordersHandler::attribute( Id eName, Value& rVal ) } } -void PageBordersHandler::sprm( Sprm& rSprm ) +void PageBordersHandler::lcl_sprm( Sprm& rSprm ) { switch ( rSprm.getId( ) ) { diff --git a/writerfilter/source/dmapper/PageBordersHandler.hxx b/writerfilter/source/dmapper/PageBordersHandler.hxx index 327ccfc4f8d6..621f239b3038 100644 --- a/writerfilter/source/dmapper/PageBordersHandler.hxx +++ b/writerfilter/source/dmapper/PageBordersHandler.hxx @@ -5,7 +5,7 @@ #include "PropertyMap.hxx" #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> #include <com/sun/star/table/BorderLine.hpp> @@ -27,7 +27,7 @@ public: ~_PgBorder( ); }; -class WRITERFILTER_DLLPRIVATE PageBordersHandler : public Properties +class WRITERFILTER_DLLPRIVATE PageBordersHandler : public LoggedProperties { private: @@ -36,14 +36,14 @@ private: sal_Int32 m_nOffset; vector<_PgBorder> m_aBorders; + // Properties + virtual void lcl_attribute( Id eName, Value& rVal ); + virtual void lcl_sprm( Sprm& rSprm ); + public: PageBordersHandler( ); ~PageBordersHandler( ); - // Properties - virtual void attribute( Id eName, Value& rVal ); - virtual void sprm( Sprm& rSprm ); - inline sal_Int32 GetDisplayOffset( ) { return ( m_nOffset << 5 ) + m_nDisplay; -- cgit From 4e23431df0680edbc971ef4a8973a764ed137cd5 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:52:20 +0200 Subject: writerfilter09: SectionColumnHandler: use logged resources --- writerfilter/source/dmapper/SectionColumnHandler.cxx | 15 +++++++++------ writerfilter/source/dmapper/SectionColumnHandler.hxx | 12 ++++++------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/writerfilter/source/dmapper/SectionColumnHandler.cxx b/writerfilter/source/dmapper/SectionColumnHandler.cxx index 5ad3e51fb8b7..e00b0c7558fa 100644 --- a/writerfilter/source/dmapper/SectionColumnHandler.cxx +++ b/writerfilter/source/dmapper/SectionColumnHandler.cxx @@ -30,6 +30,8 @@ #include <ConversionHelper.hxx> #include <ooxml/resourceids.hxx> +#include "dmapperLoggers.hxx" + namespace writerfilter { namespace dmapper { @@ -40,10 +42,11 @@ using namespace ::com::sun::star; -----------------------------------------------------------------------*/ SectionColumnHandler::SectionColumnHandler() : - bEqualWidth( false ), - nSpace( 0 ), - nNum( 0 ), - bSep( false ) +LoggedProperties(dmapper_logger, "SectionColumnHandler"), +bEqualWidth( false ), +nSpace( 0 ), +nNum( 0 ), +bSep( false ) { } /*-- 02.06.2008 13:36:24--------------------------------------------------- @@ -55,7 +58,7 @@ SectionColumnHandler::~SectionColumnHandler() /*-- 02.06.2008 13:36:24--------------------------------------------------- -----------------------------------------------------------------------*/ -void SectionColumnHandler::attribute(Id rName, Value & rVal) +void SectionColumnHandler::lcl_attribute(Id rName, Value & rVal) { sal_Int32 nIntValue = rVal.getInt(); /* WRITERFILTERSTATUS: table: SectionColumnHandler_attributedata */ @@ -93,7 +96,7 @@ void SectionColumnHandler::attribute(Id rName, Value & rVal) /*-- 02.06.2008 13:36:24--------------------------------------------------- -----------------------------------------------------------------------*/ -void SectionColumnHandler::sprm(Sprm & rSprm) +void SectionColumnHandler::lcl_sprm(Sprm & rSprm) { /* WRITERFILTERSTATUS: table: SectionColumnHandler_sprm */ switch( rSprm.getId()) diff --git a/writerfilter/source/dmapper/SectionColumnHandler.hxx b/writerfilter/source/dmapper/SectionColumnHandler.hxx index 452895b50194..7742f5d4a22b 100644 --- a/writerfilter/source/dmapper/SectionColumnHandler.hxx +++ b/writerfilter/source/dmapper/SectionColumnHandler.hxx @@ -28,7 +28,7 @@ #define INCLUDED_SECTIONCOLUMNHANDLER_HXX #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> @@ -44,7 +44,7 @@ struct _Column }; -class WRITERFILTER_DLLPRIVATE SectionColumnHandler : public Properties +class WRITERFILTER_DLLPRIVATE SectionColumnHandler : public LoggedProperties { bool bEqualWidth; sal_Int32 nSpace; @@ -54,14 +54,14 @@ class WRITERFILTER_DLLPRIVATE SectionColumnHandler : public Properties _Column aTempColumn; + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + public: SectionColumnHandler(); virtual ~SectionColumnHandler(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - bool IsEqualWidth() const { return bEqualWidth; } sal_Int32 GetSpace() const { return nSpace; } sal_Int32 GetNum() const { return nNum; } -- cgit From 8133f8b9ec7f486afeba024cb7b1812c21307890 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:56:27 +0200 Subject: writerfilter09: TblStylePrHandler: use logged resources --- writerfilter/source/dmapper/TblStylePrHandler.cxx | 15 +++++++++------ writerfilter/source/dmapper/TblStylePrHandler.hxx | 12 ++++++------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/writerfilter/source/dmapper/TblStylePrHandler.cxx b/writerfilter/source/dmapper/TblStylePrHandler.cxx index 53838353c3b0..02d134786357 100644 --- a/writerfilter/source/dmapper/TblStylePrHandler.cxx +++ b/writerfilter/source/dmapper/TblStylePrHandler.cxx @@ -4,14 +4,17 @@ #include <dmapperLoggers.hxx> #include <resourcemodel/QNameToString.hxx> +#include "dmapperLoggers.hxx" + namespace writerfilter { namespace dmapper { TblStylePrHandler::TblStylePrHandler( DomainMapper & rDMapper ) : - m_rDMapper( rDMapper ), - m_pTablePropsHandler( new TablePropertiesHandler( true ) ), - m_nType( TBL_STYLE_UNKNOWN ), - m_pProperties( new PropertyMap ) +LoggedProperties(dmapper_logger, "TblStylePrHandler"), +m_rDMapper( rDMapper ), +m_pTablePropsHandler( new TablePropertiesHandler( true ) ), +m_nType( TBL_STYLE_UNKNOWN ), +m_pProperties( new PropertyMap ) { } @@ -20,7 +23,7 @@ TblStylePrHandler::~TblStylePrHandler( ) delete m_pTablePropsHandler, m_pTablePropsHandler = NULL; } -void TblStylePrHandler::attribute(Id rName, Value & rVal) +void TblStylePrHandler::lcl_attribute(Id rName, Value & rVal) { #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("TblStylePrHandler.attribute"); @@ -41,7 +44,7 @@ void TblStylePrHandler::attribute(Id rName, Value & rVal) } } -void TblStylePrHandler::sprm(Sprm & rSprm) +void TblStylePrHandler::lcl_sprm(Sprm & rSprm) { #ifdef DEBUG_DOMAINMAPPER dmapper_logger->startElement("TblStylePrHandler.sprm"); diff --git a/writerfilter/source/dmapper/TblStylePrHandler.hxx b/writerfilter/source/dmapper/TblStylePrHandler.hxx index dd8d2da97690..b76782b0edfe 100644 --- a/writerfilter/source/dmapper/TblStylePrHandler.hxx +++ b/writerfilter/source/dmapper/TblStylePrHandler.hxx @@ -5,7 +5,7 @@ #include <dmapper/DomainMapper.hxx> #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> namespace writerfilter { @@ -32,7 +32,7 @@ enum TblStyleType TBL_STYLE_SWCELL }; -class WRITERFILTER_DLLPRIVATE TblStylePrHandler : public Properties +class WRITERFILTER_DLLPRIVATE TblStylePrHandler : public LoggedProperties { private: DomainMapper & m_rDMapper; @@ -41,14 +41,14 @@ private: TblStyleType m_nType; PropertyMapPtr m_pProperties; + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + public: TblStylePrHandler( DomainMapper & rDMapper ); virtual ~TblStylePrHandler( ); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - inline PropertyMapPtr getProperties() { return m_pProperties; }; inline TblStyleType getType() { return m_nType; }; -- cgit From 215ae1c02d942a37fc8d567559c0bd50976242ef Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 15:58:57 +0200 Subject: writerfilter09: TDefTableHandler: use logged resources --- writerfilter/source/dmapper/TDefTableHandler.cxx | 17 ++++++++++------- writerfilter/source/dmapper/TDefTableHandler.hxx | 13 +++++++------ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/writerfilter/source/dmapper/TDefTableHandler.cxx b/writerfilter/source/dmapper/TDefTableHandler.cxx index c65ce2cdb784..fd63fe378c76 100644 --- a/writerfilter/source/dmapper/TDefTableHandler.cxx +++ b/writerfilter/source/dmapper/TDefTableHandler.cxx @@ -33,6 +33,8 @@ #include <com/sun/star/text/TableColumnSeparator.hpp> #include <com/sun/star/text/VertOrientation.hpp> +#include "dmapperLoggers.hxx" + namespace writerfilter { namespace dmapper { @@ -42,11 +44,12 @@ using namespace ::com::sun::star; -----------------------------------------------------------------------*/ TDefTableHandler::TDefTableHandler(bool bOOXML) : - m_nLineWidth(0), - m_nLineType(0), - m_nLineColor(0), - m_nLineDistance(0), - m_bOOXML( bOOXML ) +LoggedProperties(dmapper_logger, "TDefTableHandler"), +m_nLineWidth(0), +m_nLineType(0), +m_nLineColor(0), +m_nLineDistance(0), +m_bOOXML( bOOXML ) { } /*-- 24.04.2007 09:06:35--------------------------------------------------- @@ -58,7 +61,7 @@ TDefTableHandler::~TDefTableHandler() /*-- 24.04.2007 09:06:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void TDefTableHandler::attribute(Id rName, Value & rVal) +void TDefTableHandler::lcl_attribute(Id rName, Value & rVal) { sal_Int32 nIntValue = rVal.getInt(); (void)nIntValue; @@ -214,7 +217,7 @@ void TDefTableHandler::localResolve(Id rName, writerfilter::Reference<Properties /*-- 24.04.2007 09:06:35--------------------------------------------------- -----------------------------------------------------------------------*/ -void TDefTableHandler::sprm(Sprm & rSprm) +void TDefTableHandler::lcl_sprm(Sprm & rSprm) { /* WRITERFILTERSTATUS: table: TDefTable_sprm */ switch( rSprm.getId() ) diff --git a/writerfilter/source/dmapper/TDefTableHandler.hxx b/writerfilter/source/dmapper/TDefTableHandler.hxx index 993b49251a77..3bd25adeb6ea 100644 --- a/writerfilter/source/dmapper/TDefTableHandler.hxx +++ b/writerfilter/source/dmapper/TDefTableHandler.hxx @@ -28,7 +28,7 @@ #define INCLUDED_TDEFTABLEHANDLER_HXX #include <WriterFilterDllApi.hxx> -#include <resourcemodel/WW8ResourceModel.hxx> +#include <resourcemodel/LoggedResources.hxx> #include <boost/shared_ptr.hpp> #include <com/sun/star/table/BorderLine.hpp> #include <vector> @@ -41,7 +41,7 @@ namespace dmapper { class PropertyMap; class TablePropertyMap; -class WRITERFILTER_DLLPRIVATE TDefTableHandler : public Properties +class WRITERFILTER_DLLPRIVATE TDefTableHandler : public LoggedProperties { public: @@ -67,14 +67,15 @@ private: bool m_bOOXML; void localResolve(Id Name, writerfilter::Reference<Properties>::Pointer_t pProperties); + + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + public: TDefTableHandler( bool bOOXML ); virtual ~TDefTableHandler(); - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - size_t getCellCount() const; void fillCellProperties( size_t nCell, ::boost::shared_ptr< TablePropertyMap > pCellProperties) const; ::boost::shared_ptr<PropertyMap> getRowProperties() const; -- cgit From 4e51135bca5cc9685b71b6a8b6130c1352724266 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 17:22:07 +0200 Subject: writerfilter09: refactoring of debugging code in PropertyMap and DomainMapperTableHandler.cxx --- .../source/dmapper/DomainMapperTableHandler.cxx | 65 ++++++++++------------ writerfilter/source/dmapper/PropertyMap.cxx | 62 ++++++++++++--------- writerfilter/source/dmapper/PropertyMap.hxx | 5 -- 3 files changed, 63 insertions(+), 69 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index 958a96fbff7d..1a5f45fe5bac 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -32,7 +32,7 @@ #include <com/sun/star/text/HoriOrientation.hpp> #include <dmapperLoggers.hxx> -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER #include <PropertyMapHelper.hxx> #endif @@ -45,7 +45,7 @@ using namespace ::std; #define DEF_BORDER_DIST 190 //0,19cm #define DEFAULT_CELL_MARGIN 108 //default cell margin, not documented -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER static void lcl_printProperties( PropertyMapPtr pProps ) { if( pProps.get() ) @@ -104,7 +104,7 @@ void DomainMapperTableHandler::startTable(unsigned int nRows, m_pTableSeq = TableSequencePointer_t(new TableSequence_t(nRows)); m_nRowIndex = 0; -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("tablehandler.table"); dmapper_logger->attribute("rows", nRows); @@ -118,11 +118,6 @@ 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()) { @@ -136,10 +131,6 @@ PropertyMapPtr lcl_SearchParentStyleSheetAndMergeProperties(const StyleSheetEntr pRet->insert( pStyleSheet->pProperties, true ); -#ifdef DEBUG_DOMAINMAPPER - dmapper_logger->endElement("lcl_SearchParentStyleSheetAndMergeProperties"); -#endif - return pRet; } @@ -241,7 +232,7 @@ void lcl_computeCellBorders( PropertyMapPtr pTableBorders, PropertyMapPtr pCellP } } -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER void lcl_debug_BorderLine(table::BorderLine & rLine) { @@ -334,7 +325,7 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo PropertyMapPtr pMergedProperties = lcl_SearchParentStyleSheetAndMergeProperties(pStyleSheet, pStyleSheetTable); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("mergedProps"); dmapper_logger->addTag(pMergedProperties->toTag()); dmapper_logger->endElement("mergedProps"); @@ -343,7 +334,7 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo m_aTableProperties->insert( pMergedProperties ); m_aTableProperties->insert( pTableProps ); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("TableProperties"); dmapper_logger->addTag(m_aTableProperties->toTag()); dmapper_logger->endElement("TableProperties"); @@ -354,7 +345,7 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo // Set the table default attributes for the cells rInfo.pTableDefaults->insert( m_aTableProperties ); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("TableDefaults"); dmapper_logger->addTag(rInfo.pTableDefaults->toTag()); dmapper_logger->endElement("TableDefaults"); @@ -472,7 +463,7 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo m_aTableProperties->Insert( PROP_TABLE_BORDER, false, uno::makeAny( aTableBorder ) ); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER lcl_debug_TableBorder(aTableBorder); #endif @@ -501,7 +492,7 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo rInfo.aTableProperties = m_aTableProperties->GetPropertyValues(); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("debug.tableprops"); dmapper_logger->addTag(m_aTableProperties->toTag()); dmapper_logger->endElement("debug.tableprops"); @@ -514,7 +505,7 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(TableInfo & rInfo) { -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("getCellProperties"); #endif @@ -593,7 +584,7 @@ CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(Tabl pAllCellProps->insert( *aCellIterator ); aCellIterator->get( )->swap( *pAllCellProps.get( ) ); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("cell"); dmapper_logger->attribute("cell", nCell); dmapper_logger->attribute("row", nRow); @@ -626,14 +617,14 @@ CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(Tabl uno::makeAny((sal_Int32) rInfo.nBottomBorderDistance ) ); pSingleCellProperties[nCell] = aCellIterator->get()->GetPropertyValues(); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->endElement("cell"); #endif } ++nCell; ++aCellIterator; } -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER //-->debug cell properties { ::rtl::OUString sNames; @@ -660,7 +651,7 @@ CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(Tabl ++aRowOfCellsIterator; } -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->endElement("getCellProperties"); #endif @@ -669,7 +660,7 @@ CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(Tabl RowPropertyValuesSeq_t DomainMapperTableHandler::endTableGetRowProperties() { -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("getRowProperties"); #endif @@ -679,7 +670,7 @@ RowPropertyValuesSeq_t DomainMapperTableHandler::endTableGetRowProperties() sal_Int32 nRow = 0; while( aRowIter != aRowIterEnd ) { -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("rowProps.row"); #endif if( aRowIter->get() ) @@ -689,19 +680,19 @@ RowPropertyValuesSeq_t DomainMapperTableHandler::endTableGetRowProperties() aRowIter->get()->Insert( PROP_IS_SPLIT_ALLOWED, false, uno::makeAny(sal_True ) ); aRowProperties[nRow] = (*aRowIter)->GetPropertyValues(); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->addTag((*aRowIter)->toTag()); dmapper_logger->addTag(lcl_PropertyValuesToTag(aRowProperties[nRow])); #endif } ++nRow; ++aRowIter; -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->endElement("rowProps.row"); #endif } -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->endElement("getRowProperties"); #endif @@ -710,7 +701,7 @@ RowPropertyValuesSeq_t DomainMapperTableHandler::endTableGetRowProperties() void DomainMapperTableHandler::endTable() { -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("tablehandler.endTable"); #endif @@ -722,7 +713,7 @@ void DomainMapperTableHandler::endTable() RowPropertyValuesSeq_t aRowProperties = endTableGetRowProperties(); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->addTag(lcl_PropertyValueSeqToTag(aRowProperties)); #endif @@ -739,11 +730,11 @@ void DomainMapperTableHandler::endTable() } catch (lang::IllegalArgumentException e) { -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->chars("failed to import table!"); #endif } -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER catch ( uno::Exception e ) { dmapper_logger->startElement("exception"); @@ -757,7 +748,7 @@ void DomainMapperTableHandler::endTable() m_aCellProperties.clear(); m_aRowProperties.clear(); -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->endElement("tablehandler.endTable"); dmapper_logger->endElement("tablehandler.table"); #endif @@ -769,7 +760,7 @@ void DomainMapperTableHandler::startRow(unsigned int nCells, m_aRowProperties.push_back( pProps ); m_aCellProperties.push_back( PropertyMapVector1() ); -#if DEBUG_DOMAINMAPPER +#if DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("table.row"); dmapper_logger->attribute("cells", nCells); if (pProps != NULL) @@ -785,7 +776,7 @@ void DomainMapperTableHandler::endRow() (*m_pTableSeq)[m_nRowIndex] = *m_pRowSeq; ++m_nRowIndex; m_nCellIndex = 0; -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->endElement("table.row"); #endif } @@ -804,7 +795,7 @@ void DomainMapperTableHandler::startCell(const Handle_t & start, m_aCellProperties[nRow - 1].push_back( pEmptyProps ); } -#if DEBUG_DOMAINMAPPER +#if DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("table.cell"); dmapper_logger->startElement("table.cell.start"); dmapper_logger->chars(toString(start)); @@ -824,7 +815,7 @@ void DomainMapperTableHandler::startCell(const Handle_t & start, void DomainMapperTableHandler::endCell(const Handle_t & end) { -#ifdef DEBUG_DOMAINMAPPER +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("table.cell.end"); dmapper_logger->chars(toString(end)); dmapper_logger->endElement("table.cell.end"); diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 11930fb01972..9438e645a37f 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -112,13 +112,43 @@ uno::Sequence< beans::PropertyValue > PropertyMap::GetPropertyValues() } return m_aValues; } -/*------------------------------------------------------------------------- - -----------------------------------------------------------------------*/ +void lcl_AnyToTag(XMLTag::Pointer_t pTag, const uno::Any & rAny) +{ + try { + sal_Int32 aInt; + rAny >>= aInt; + pTag->addAttr("value", aInt); + + sal_uInt32 auInt; + rAny >>= auInt; + pTag->addAttr("unsignedValue", auInt); + + float aFloat; + rAny >>= aFloat; + pTag->addAttr("floatValue", aFloat); + + ::rtl::OUString aStr; + rAny >>= aStr; + pTag->addAttr("stringValue", aStr); + } + catch (...) { + } +} + void PropertyMap::Insert( PropertyIds eId, bool bIsTextProperty, const uno::Any& rAny, bool bOverwrite ) { -// const ::rtl::OUString& rInsert = PropertyNameSupplier:: -// GetPropertyNameSupplier().GetName(eId); +#ifdef DEBUG_DMAPPER_PROPERTY_MAP + const ::rtl::OUString& rInsert = PropertyNameSupplier:: + GetPropertyNameSupplier().GetName(eId); + + XMLTag::Pointer_t pTag(new XMLTag("propertyMap.insert")); + pTag->addAttr("name", rInsert); + lcl_AnyToTag(pTag, rAny); + + dmapper_logger->addTag(pTag); +#endif + PropertyMap::iterator aElement = find(PropertyDefinition( eId, bIsTextProperty ) ); if( aElement != end()) { @@ -132,7 +162,6 @@ void PropertyMap::Insert( PropertyIds eId, bool bIsTextProperty, const uno::Any& Invalidate(); } -#ifdef DEBUG_DOMAINMAPPER XMLTag::Pointer_t PropertyMap::toTag() const { XMLTag::Pointer_t pResult(new XMLTag("PropertyMap")); @@ -151,27 +180,7 @@ XMLTag::Pointer_t PropertyMap::toTag() const pTag->addTag(lcl_TableColumnSeparatorsToTag(aMapIter->second)); break; default: - { - try { - sal_Int32 aInt; - aMapIter->second >>= aInt; - pTag->addAttr("value", aInt); - - sal_uInt32 auInt; - aMapIter->second >>= auInt; - pTag->addAttr("unsignedValue", auInt); - - float aFloat; - aMapIter->second >>= aFloat; - pTag->addAttr("floatValue", aFloat); - - ::rtl::OUString aStr; - aMapIter->second >>= auInt; - pTag->addAttr("stringValue", aStr); - } - catch (...) { - } - } + lcl_AnyToTag(pTag, aMapIter->second); break; } @@ -182,7 +191,6 @@ XMLTag::Pointer_t PropertyMap::toTag() const return pResult; } -#endif /*-- 13.12.2006 10:46:42--------------------------------------------------- diff --git a/writerfilter/source/dmapper/PropertyMap.hxx b/writerfilter/source/dmapper/PropertyMap.hxx index 16886530f324..b6dcad6d63b2 100644 --- a/writerfilter/source/dmapper/PropertyMap.hxx +++ b/writerfilter/source/dmapper/PropertyMap.hxx @@ -39,9 +39,7 @@ #include <map> #include <vector> -#ifdef DEBUG_DOMAINMAPPER #include <resourcemodel/TagLogger.hxx> -#endif namespace com{namespace sun{namespace star{ namespace beans{ @@ -136,10 +134,7 @@ public: virtual void insertTableProperties( const PropertyMap* ); -#ifdef DEBUG_DOMAINMAPPER virtual XMLTag::Pointer_t toTag() const; -#endif - }; typedef boost::shared_ptr<PropertyMap> PropertyMapPtr; -- cgit From 339560939e81d098408a8040d8655e683c69881c Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 11 Aug 2010 17:35:14 +0200 Subject: writerfilter09: LoggedProperties::sprm: send sprm id as attribute --- writerfilter/source/resourcemodel/LoggedResources.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/writerfilter/source/resourcemodel/LoggedResources.cxx b/writerfilter/source/resourcemodel/LoggedResources.cxx index 9079a682bd07..36761688a166 100644 --- a/writerfilter/source/resourcemodel/LoggedResources.cxx +++ b/writerfilter/source/resourcemodel/LoggedResources.cxx @@ -285,6 +285,7 @@ void LoggedProperties::sprm(Sprm & sprm) { #ifdef DEBUG_LOGGING mHelper.startElement("sprm"); + mHelper.attribute("name", (*QNameToString::Instance())(sprm.getId())); mHelper.chars(sprm.toString()); #endif -- cgit From 64a8bd7bb1bee1b3523473e71b5bc1ef24f64fc3 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Thu, 12 Aug 2010 12:12:42 +0200 Subject: writerfilter09: make buildable without debug=t --- writerfilter/inc/resourcemodel/TagLogger.hxx | 3 --- writerfilter/source/dmapper/GraphicImport.cxx | 8 ++------ writerfilter/source/dmapper/PropertyMap.cxx | 6 +++--- writerfilter/source/dmapper/PropertyMapHelper.cxx | 3 +-- writerfilter/source/dmapper/PropertyMapHelper.hxx | 3 +-- writerfilter/source/dmapper/SettingsTable.cxx | 4 +++- writerfilter/source/resourcemodel/TagLogger.cxx | 2 -- 7 files changed, 10 insertions(+), 19 deletions(-) diff --git a/writerfilter/inc/resourcemodel/TagLogger.hxx b/writerfilter/inc/resourcemodel/TagLogger.hxx index 1692f3cd1c8d..a2c8290e0c4b 100644 --- a/writerfilter/inc/resourcemodel/TagLogger.hxx +++ b/writerfilter/inc/resourcemodel/TagLogger.hxx @@ -28,8 +28,6 @@ #ifndef INCLUDED_TAG_LOGGER_HXX #define INCLUDED_TAG_LOGGER_HXX -#ifdef DEBUG - #include <rtl/ustring.hxx> #include <com/sun/star/beans/XPropertySet.hpp> #include <WriterFilterDllApi.hxx> @@ -154,5 +152,4 @@ namespace writerfilter WRITERFILTER_DLLPUBLIC XMLTag::Pointer_t unoPropertySetToTag(uno::Reference<beans::XPropertySet> rPropSet); } -#endif // DEBUG #endif // INCLUDED_TAG_LOGGER_HXX diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 5bfba0f8212d..486c5ced7f03 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -1118,12 +1118,8 @@ void GraphicImport::lcl_attribute(Id nName, Value & val) //TODO: does it need to be handled? break; default: -#if OSL_DEBUG_LEVEL > 0 - ::rtl::OString sMessage( "GraphicImport::attribute() - Id: "); - sMessage += ::rtl::OString::valueOf( sal_Int32( nName ), 10 ); - sMessage += ::rtl::OString(" / 0x"); - sMessage += ::rtl::OString::valueOf( sal_Int32( nName ), 16 ); - OSL_ENSURE( false, sMessage.getStr()) +#ifdef DEBUG_DMAPPER_GRAPHIC_IMPORT + dmapper_logger->element("unhandled"); #endif ; } diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 9438e645a37f..9a5999b4f353 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -116,15 +116,15 @@ uno::Sequence< beans::PropertyValue > PropertyMap::GetPropertyValues() void lcl_AnyToTag(XMLTag::Pointer_t pTag, const uno::Any & rAny) { try { - sal_Int32 aInt; + sal_Int32 aInt = 0; rAny >>= aInt; pTag->addAttr("value", aInt); - sal_uInt32 auInt; + sal_uInt32 auInt = 0; rAny >>= auInt; pTag->addAttr("unsignedValue", auInt); - float aFloat; + float aFloat = 0.0f; rAny >>= aFloat; pTag->addAttr("floatValue", aFloat); diff --git a/writerfilter/source/dmapper/PropertyMapHelper.cxx b/writerfilter/source/dmapper/PropertyMapHelper.cxx index 4fb4c759289d..fa5972d217da 100644 --- a/writerfilter/source/dmapper/PropertyMapHelper.cxx +++ b/writerfilter/source/dmapper/PropertyMapHelper.cxx @@ -32,7 +32,6 @@ #include <resourcemodel/TagLogger.hxx> #include "PropertyMapHelper.hxx" -#ifdef DEBUG namespace writerfilter { namespace dmapper @@ -128,4 +127,4 @@ XMLTag::Pointer_t lcl_PropertyValueSeqSeqToTag(PropertyValueSeqSeq_t rPropValSeq } } -#endif // DEBUG + diff --git a/writerfilter/source/dmapper/PropertyMapHelper.hxx b/writerfilter/source/dmapper/PropertyMapHelper.hxx index 4a528f1736c0..a5a25a2f357a 100644 --- a/writerfilter/source/dmapper/PropertyMapHelper.hxx +++ b/writerfilter/source/dmapper/PropertyMapHelper.hxx @@ -28,7 +28,6 @@ * ************************************************************************/ -#ifdef DEBUG #include "PropertyMap.hxx" #include <com/sun/star/beans/PropertyValues.hpp> @@ -47,4 +46,4 @@ typedef uno::Sequence<PropertyValueSeq_t> PropertyValueSeqSeq_t; XMLTag::Pointer_t lcl_PropertyValueSeqSeqToTag(PropertyValueSeqSeq_t & rPropValSeqSeq); } } -#endif // DEBUG + diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index facd3f9cb40e..94a4eb5b74b3 100755 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -222,7 +222,9 @@ void SettingsTable::lcl_sprm(Sprm& rSprm) break; default: { - OSL_ENSURE( false, "unknown sprmid in SettingsTable::sprm()"); +#ifdef DEBUG_DMAPPER_SETTINGS_TABLE + dmapper_logger->element("unhandled"); +#endif } } } diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index 3760923aa523..0a6f2d1aea1d 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -25,7 +25,6 @@ * ************************************************************************/ -#ifdef DEBUG #include <fstream> #include <string.h> #include <resourcemodel/TagLogger.hxx> @@ -488,4 +487,3 @@ XMLTag::Pointer_t unoPropertySetToTag(uno::Reference<beans::XPropertySet> rPropS } } -#endif // DEBUG -- cgit From 98e01f2726e01bd618821573c894d5304e00f103 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 17 Aug 2010 11:17:17 +0200 Subject: writerfilter09: new class WrapPolygonHandler --- writerfilter/source/dmapper/WrapPolygonHandler.cxx | 112 +++++++++++++++++++++ writerfilter/source/dmapper/WrapPolygonHandler.hxx | 62 ++++++++++++ 2 files changed, 174 insertions(+) create mode 100644 writerfilter/source/dmapper/WrapPolygonHandler.cxx create mode 100644 writerfilter/source/dmapper/WrapPolygonHandler.hxx diff --git a/writerfilter/source/dmapper/WrapPolygonHandler.cxx b/writerfilter/source/dmapper/WrapPolygonHandler.cxx new file mode 100644 index 000000000000..14a750388e30 --- /dev/null +++ b/writerfilter/source/dmapper/WrapPolygonHandler.cxx @@ -0,0 +1,112 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#include <com/sun/star/drawing/PointSequence.hpp> + +#include <ooxml/resourceids.hxx> +#include <resourcemodel/ResourceModelHelper.hxx> + +#include "ConversionHelper.hxx"ConversionHelper::convertTwipToMM100( +#include "WrapPolygonHandler.hxx" +#include "dmapperLoggers.hxx" + +namespace writerfilter { + +using resourcemodel::resolveSprmProps; + +namespace dmapper { + +WrapPolygonHandler::WrapPolygonHandler() +: LoggedProperties(dmapper_logger, "WrapPolygonHandler") +{ +} + +WrapPolygonHandler::~WrapPolygonHandler() +{ +} + +void WrapPolygonHandler::lcl_attribute(Id Name, Value & val) +{ + sal_Int32 nIntValue = val.getInt(); + + switch(Name) + { + case NS_ooxml::LN_CT_Point2D_x: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + mnX = nIntValue; + break; + case NS_ooxml::LN_CT_Point2D_y: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + mnY = nIntValue; + break; + default: +#ifdef DEBUG_WRAP_POLYGON_HANDLER + dmapper_logger->element("unhandled"); +#endif + break; + } +} + +void WrapPolygonHandler::lcl_sprm(Sprm & sprm) +{ + switch (sprm.getId()) + { + case NS_ooxml::LN_CT_WrapPath_lineTo: + case NS_ooxml::LN_CT_WrapPath_start: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + { + resolveSprmProps(*this, sprm); + + awt::Point aPoint(mnX, mnY); + mPoints.push_back(aPoint); + } + break; + default: +#ifdef DEBUG_WRAP_POLYGON_HANDLER + dmapper_logger->element("unhandled"); +#endif + break; + } +} + +drawing::PointSequenceSequence WrapPolygonHandler::getPolygon() +{ + drawing::PointSequenceSequence aPolyPolygon(1L); + drawing::PointSequence * pPolygon = aPolyPolygon.getArray(); + pPolygon->realloc(mPoints.size()); + + sal_uInt32 n = 0; + for (Points_t::const_iterator aIt = mPoints.begin(); aIt != mPoints.end(); aIt++) + { + (*pPolygon)[n] = *aIt; + ++n; + } + + return aPolyPolygon; +} + +}} diff --git a/writerfilter/source/dmapper/WrapPolygonHandler.hxx b/writerfilter/source/dmapper/WrapPolygonHandler.hxx new file mode 100644 index 000000000000..5bbeab891859 --- /dev/null +++ b/writerfilter/source/dmapper/WrapPolygonHandler.hxx @@ -0,0 +1,62 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#ifndef WRAP_POLYGON_HANDLER_HXX +#define WRAP_POLYGON_HANDLER_HXX + +#include <com/sun/star/drawing/PointSequenceSequence.hpp> +#include <resourcemodel/LoggedResources.hxx> + +namespace writerfilter { +namespace dmapper { + +using namespace ::com::sun::star; + +class WrapPolygonHandler : public LoggedProperties +{ +public: + WrapPolygonHandler(); + virtual ~WrapPolygonHandler(); + + drawing::PointSequenceSequence getPolygon(); + +private: + typedef ::std::deque<awt::Point> Points_t; + Points_t mPoints; + + sal_uInt32 mnX; + sal_uInt32 mnY; + + // Properties + virtual void lcl_attribute(Id Name, Value & val); + virtual void lcl_sprm(Sprm & sprm); + +}; + +}} + +#endif // WRAP_POLYGON_HANDLER_HXX -- cgit From 0ddda96e69eefbc284f5678c08644b46525ad853 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 17 Aug 2010 11:17:52 +0200 Subject: writerfilter09: new class Fraction --- writerfilter/inc/resourcemodel/Fraction.hxx | 53 +++++++++++ writerfilter/source/resourcemodel/Fraction.cxx | 118 +++++++++++++++++++++++++ writerfilter/source/resourcemodel/makefile.mk | 1 + 3 files changed, 172 insertions(+) create mode 100644 writerfilter/inc/resourcemodel/Fraction.hxx create mode 100644 writerfilter/source/resourcemodel/Fraction.cxx diff --git a/writerfilter/inc/resourcemodel/Fraction.hxx b/writerfilter/inc/resourcemodel/Fraction.hxx new file mode 100644 index 000000000000..1916bd433651 --- /dev/null +++ b/writerfilter/inc/resourcemodel/Fraction.hxx @@ -0,0 +1,53 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ +#ifndef INCLUDED_FRACTION_HXX +#define INCLUDED_FRACTION_HXX + +#include <sal/types.h> + +namespace writerfilter { +namespace resourcemodel { + +class Fraction +{ + explicit Fraction(sal_Int32 nNumerator, sal_Int32 nDenominator = 1); + virtual ~Fraction(); + + Fraction operator=(const Fraction & rFraction) const; + Fraction operator+(const Fraction & rFraction) const; + Fraction operator-(const Fraction & rFraction) const; + Fraction operator*(const Fraction & rFraction) const; + Fraction operator/(const Fraction & rFraction) const; + operator sal_Int32() const; + operator float() const; + +private: + sal_Int32 mnNumerator; + sal_Int32 mnDenominator; +}; +}} +#endif // INCLUDED_FRACTION_HXX diff --git a/writerfilter/source/resourcemodel/Fraction.cxx b/writerfilter/source/resourcemodel/Fraction.cxx new file mode 100644 index 000000000000..2fea20772878 --- /dev/null +++ b/writerfilter/source/resourcemodel/Fraction.cxx @@ -0,0 +1,118 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#include <resourcemodel/Fraction.hxx> + +namespace writerfilter { +namespace resourcemodel { + +sal_uInt32 gcd(sal_uInt32 a, sal_uInt32 b) +{ + if (a == 0 || b == 0) + return a | b; + + sal_uInt32 nShift = 0; + while (((a | b) & 1) == 0) + { + a >>= 1; + b >>= 1; + ++nShift; + } + + while ((a & 1) == 0) + a >>= 1; + + do + { + while ((b & 1) == 0) + b >>= 1; + + if (a < b) + { + a -= b; + } + else + { + sal_uInt32 nDiff = a - b; + a = b; + b = nDiff; + } + + b >>= 1; + } + while (b != 0); + + return a << nShift; +} + +sal_uInt32 lcm(sal_Int32 a, sal_Int32 b) +{ + return abs(a * b) / gcd(a, b); +} + +Fraction::Fraction(sal_Int32 nNumerator, sal_Int32 nDenominator) +{ + sal_uInt32 nGCD = gcd(nNumerator, nDenominator); + + mnNumerator = nNumerator / nGCD; + mnDenominator = nDenominator / nGCD; +} + +Fraction::~Fraction() +{ +} + +Fraction Fraction::operator + (const Fraction & rFraction) const +{ + sal_uInt32 nLCM = lcm(mnDenominator, rFraction.mnDenominator); + + return Fraction(mnNumerator * nLCM / mnDenominator + rFraction.mnNumerator * nLCM / rFraction.mnDenominator, nLCM); +} + +Fraction Fraction::operator - (const Fraction & rFraction) const +{ + sal_uInt32 nLCM = lcm(mnDenominator, rFraction.mnDenominator); + + return Fraction(mnNumerator * nLCM / mnDenominator - rFraction.mnNumerator * nLCM / rFraction.mnDenominator, nLCM); +} + +Fraction Fraction::operator * (const Fraction & rFraction) const +{ + return Fraction(mnNumerator * rFraction.mnNumerator, mnDenominator * rFraction.mnDenominator); +} + +Fraction::operator sal_Int32() const +{ + return mnNumerator / mnDenominator; +} + +Fraction::operator float() const +{ + return mnNumerator / mnDenominator; +} + +}} diff --git a/writerfilter/source/resourcemodel/makefile.mk b/writerfilter/source/resourcemodel/makefile.mk index 204c524856ff..71f730e77303 100644 --- a/writerfilter/source/resourcemodel/makefile.mk +++ b/writerfilter/source/resourcemodel/makefile.mk @@ -49,6 +49,7 @@ NOOPTFILES= \ $(SLO)$/qnametostr.obj SLOFILES= \ + $(SLO)$/Fraction.obj \ $(SLO)$/LoggedResources.obj \ $(SLO)$/Protocol.obj \ $(SLO)$/ResourceModelHelper.obj \ -- cgit From 86898639d4144a078ed295d0a8bef406868802cb Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 17 Aug 2010 11:18:40 +0200 Subject: writerfilter09: use WrapPolygonHandler --- writerfilter/source/dmapper/GraphicImport.cxx | 65 ++++++++++++++++++--------- writerfilter/source/dmapper/makefile.mk | 8 ++-- 2 files changed, 48 insertions(+), 25 deletions(-) diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 486c5ced7f03..6988ac7752c7 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -25,38 +25,44 @@ * ************************************************************************/ -#include "GraphicImport.hxx" -#include "GraphicHelpers.hxx" - -#include <dmapper/DomainMapper.hxx> -#include <PropertyMap.hxx> -#include <doctok/resourceids.hxx> -#include <ooxml/resourceids.hxx> -#include <ConversionHelper.hxx> -#include <com/sun/star/uno/XComponentContext.hpp> -#include <com/sun/star/io/XInputStream.hpp> -#include <cppuhelper/implbase1.hxx> #include <com/sun/star/awt/Size.hpp> #include <com/sun/star/container/XNamed.hpp> #include <com/sun/star/drawing/ColorMode.hpp> - -#include <com/sun/star/graphic/XGraphicProvider.hpp> +#include <com/sun/star/drawing/PointSequenceSequence.hpp> +#include <com/sun/star/drawing/XShape.hpp> #include <com/sun/star/graphic/XGraphic.hpp> +#include <com/sun/star/graphic/XGraphicProvider.hpp> +#include <com/sun/star/io/XInputStream.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/table/BorderLine.hpp> #include <com/sun/star/text/GraphicCrop.hpp> -#include <com/sun/star/text/XTextContent.hpp> -#include <com/sun/star/text/TextContentAnchorType.hpp> #include <com/sun/star/text/HoriOrientation.hpp> #include <com/sun/star/text/RelOrientation.hpp> +#include <com/sun/star/text/TextContentAnchorType.hpp> #include <com/sun/star/text/VertOrientation.hpp> #include <com/sun/star/text/WrapTextMode.hpp> -#include <com/sun/star/drawing/XShape.hpp> +#include <com/sun/star/text/XTextContent.hpp> +#include <com/sun/star/uno/XComponentContext.hpp> + +#include <cppuhelper/implbase1.hxx> #include <rtl/ustrbuf.hxx> +#include <dmapper/DomainMapper.hxx> +#include <doctok/resourceids.hxx> +#include <ooxml/resourceids.hxx> +#include <resourcemodel/ResourceModelHelper.hxx> + +#include "ConversionHelper.hxx" +#include "GraphicHelpers.hxx" +#include "GraphicImport.hxx" +#include "PropertyMap.hxx" +#include "WrapPolygonHandler.hxx" #include "dmapperLoggers.hxx" namespace writerfilter { + +using resourcemodel::resolveSprmProps; + namespace dmapper { using namespace ::std; @@ -219,6 +225,7 @@ public: sal_Int32 nWrap; bool bOpaque; bool bContour; + drawing::PointSequenceSequence mContourPolyPolygon; bool bIgnoreWRK; sal_Int32 nLeftMargin; @@ -281,6 +288,7 @@ public: ,nWrap(0) ,bOpaque( true ) ,bContour(false) + ,mContourPolyPolygon(0) ,bIgnoreWRK(true) ,nLeftMargin(319) ,nRightMargin(319) @@ -1004,6 +1012,7 @@ void GraphicImport::lcl_attribute(Id nName, Value & val) } break; case NS_ooxml::LN_CT_WrapTight_wrapText: // 90934; + case NS_ooxml::LN_CT_WrapThrough_wrapText: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->bContour = true; //no break; @@ -1362,12 +1371,12 @@ void GraphicImport::lcl_sprm(Sprm & rSprm) case NS_ooxml::LN_CT_Anchor_effectExtent: // 90979; case NS_ooxml::LN_EG_WrapType_wrapSquare: // 90945; case NS_ooxml::LN_EG_WrapType_wrapTight: // 90946; + case NS_ooxml::LN_EG_WrapType_wrapThrough: case NS_ooxml::LN_CT_Anchor_docPr: // 90980; case NS_ooxml::LN_CT_Anchor_cNvGraphicFramePr: // 90981; case NS_ooxml::LN_CT_Anchor_a_graphic: // 90982; case NS_ooxml::LN_CT_WrapPath_start: // 90924; case NS_ooxml::LN_CT_WrapPath_lineTo: // 90925; - 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 */ @@ -1379,6 +1388,17 @@ void GraphicImport::lcl_sprm(Sprm & rSprm) } } break; + case NS_ooxml::LN_CT_WrapTight_wrapPolygon: + case NS_ooxml::LN_CT_WrapThrough_wrapPolygon: + /* WRITERFILTERSTATUS: done: 100, planned: 4, spent: 2 */ + { + WrapPolygonHandler aHandler; + + resolveSprmProps(aHandler, rSprm); + + m_pImpl->mContourPolyPolygon = aHandler.getPolygon(); + } + break; case NS_ooxml::LN_CT_Anchor_positionH: // 90976; { // Use a special handler for the positionning @@ -1429,10 +1449,6 @@ void GraphicImport::lcl_sprm(Sprm & rSprm) /* 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: case 0xf011: //ignore - doesn't contain useful members @@ -1620,8 +1636,13 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_BOTTOM_MARGIN ), uno::makeAny(m_pImpl->nBottomMargin)); + uno::Any aContourPolyPolygon; + if (m_pImpl->mContourPolyPolygon.getLength() >0) + aContourPolyPolygon <<= m_pImpl->mContourPolyPolygon; + xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_CONTOUR_POLY_POLYGON), - uno::Any()); + aContourPolyPolygon); + if( m_pImpl->eColorMode == drawing::ColorMode_STANDARD && m_pImpl->nContrast == -70 && m_pImpl->nBrightness == 70 ) diff --git a/writerfilter/source/dmapper/makefile.mk b/writerfilter/source/dmapper/makefile.mk index 300dfb31d959..a4b000411b4e 100755 --- a/writerfilter/source/dmapper/makefile.mk +++ b/writerfilter/source/dmapper/makefile.mk @@ -48,13 +48,13 @@ SLOFILES= \ $(SLO)$/DomainMapperTableManager.obj \ $(SLO)$/DomainMapper_Impl.obj \ $(SLO)$/FFDataHandler.obj \ - $(SLO)$/FormControlHelper.obj \ $(SLO)$/FontTable.obj \ + $(SLO)$/FormControlHelper.obj \ $(SLO)$/GraphicHelpers.obj \ $(SLO)$/GraphicImport.obj \ - $(SLO)$/NumberingManager.obj \ $(SLO)$/MeasureHandler.obj \ $(SLO)$/ModelEventListener.obj \ + $(SLO)$/NumberingManager.obj \ $(SLO)$/OLEHandler.obj \ $(SLO)$/PageBordersHandler.obj \ $(SLO)$/PropertyIds.obj \ @@ -66,7 +66,9 @@ SLOFILES= \ $(SLO)$/TDefTableHandler.obj \ $(SLO)$/TablePropertiesHandler.obj \ $(SLO)$/TblStylePrHandler.obj \ - $(SLO)$/ThemeTable.obj + $(SLO)$/ThemeTable.obj \ + $(SLO)$/WrapPolygonHandler.obj \ + # --- Targets ---------------------------------- -- cgit From 1fd3d9c3074b80f59279189d1b06f138990d8075 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 17 Aug 2010 16:44:32 +0200 Subject: writerfilter09: Fraction: constructor from Fractions, init, assign, inverse, operator= --- writerfilter/inc/resourcemodel/Fraction.hxx | 9 +++++- writerfilter/source/resourcemodel/Fraction.cxx | 40 +++++++++++++++++++++++--- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/writerfilter/inc/resourcemodel/Fraction.hxx b/writerfilter/inc/resourcemodel/Fraction.hxx index 1916bd433651..a038d25c98f1 100644 --- a/writerfilter/inc/resourcemodel/Fraction.hxx +++ b/writerfilter/inc/resourcemodel/Fraction.hxx @@ -34,10 +34,17 @@ namespace resourcemodel { class Fraction { +public: explicit Fraction(sal_Int32 nNumerator, sal_Int32 nDenominator = 1); + explicit Fraction(const Fraction & a, const Fraction & b); virtual ~Fraction(); - Fraction operator=(const Fraction & rFraction) const; + void init(sal_Int32 nNumerator, sal_Int32 nDenominator); + void assign(const Fraction & rFraction); + + Fraction inverse() const; + + Fraction operator=(const Fraction & rFraction); Fraction operator+(const Fraction & rFraction) const; Fraction operator-(const Fraction & rFraction) const; Fraction operator*(const Fraction & rFraction) const; diff --git a/writerfilter/source/resourcemodel/Fraction.cxx b/writerfilter/source/resourcemodel/Fraction.cxx index 2fea20772878..98892a759bfb 100644 --- a/writerfilter/source/resourcemodel/Fraction.cxx +++ b/writerfilter/source/resourcemodel/Fraction.cxx @@ -53,7 +53,7 @@ sal_uInt32 gcd(sal_uInt32 a, sal_uInt32 b) if (a < b) { - a -= b; + b -= a; } else { @@ -71,19 +71,39 @@ sal_uInt32 gcd(sal_uInt32 a, sal_uInt32 b) sal_uInt32 lcm(sal_Int32 a, sal_Int32 b) { - return abs(a * b) / gcd(a, b); + return abs(a * b) / gcd(abs(a), abs(b)); } Fraction::Fraction(sal_Int32 nNumerator, sal_Int32 nDenominator) +{ + init(nNumerator, nDenominator); +} + +Fraction::Fraction(const Fraction & a, const Fraction & b) +{ + init(a.mnNumerator * b.mnDenominator, a.mnDenominator * b.mnNumerator); +} + +Fraction::~Fraction() +{ +} + +void Fraction::init(sal_Int32 nNumerator, sal_Int32 nDenominator) { sal_uInt32 nGCD = gcd(nNumerator, nDenominator); - mnNumerator = nNumerator / nGCD; + mnNumerator = nNumerator/ nGCD; mnDenominator = nDenominator / nGCD; } -Fraction::~Fraction() +void Fraction::assign(const Fraction & rFraction) { + init(rFraction.mnNumerator, rFraction.mnDenominator); +} + +Fraction Fraction::inverse() const +{ + return Fraction(mnDenominator, mnNumerator); } Fraction Fraction::operator + (const Fraction & rFraction) const @@ -105,6 +125,18 @@ Fraction Fraction::operator * (const Fraction & rFraction) const return Fraction(mnNumerator * rFraction.mnNumerator, mnDenominator * rFraction.mnDenominator); } +Fraction Fraction::operator / (const Fraction & rFraction) const +{ + return *this * rFraction.inverse(); +} + +Fraction Fraction::operator = (const Fraction & rFraction) +{ + assign(rFraction); + + return *this; +} + Fraction::operator sal_Int32() const { return mnNumerator / mnDenominator; -- cgit From 4548b7649d46d5a3153963bb37c7c3842edce6ae Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 17 Aug 2010 16:46:10 +0200 Subject: writerfilter09: WrapPolygonHandler: use WrapPolygon and correctWordWrapPolygon --- writerfilter/source/dmapper/GraphicImport.cxx | 29 +++-- writerfilter/source/dmapper/WrapPolygonHandler.cxx | 132 ++++++++++++++++++--- writerfilter/source/dmapper/WrapPolygonHandler.hxx | 35 +++++- 3 files changed, 169 insertions(+), 27 deletions(-) diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 6988ac7752c7..39382a009f2b 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -225,7 +225,7 @@ public: sal_Int32 nWrap; bool bOpaque; bool bContour; - drawing::PointSequenceSequence mContourPolyPolygon; + WrapPolygon::Pointer_t mpWrapPolygon; bool bIgnoreWRK; sal_Int32 nLeftMargin; @@ -288,7 +288,6 @@ public: ,nWrap(0) ,bOpaque( true ) ,bContour(false) - ,mContourPolyPolygon(0) ,bIgnoreWRK(true) ,nLeftMargin(319) ,nRightMargin(319) @@ -1396,7 +1395,7 @@ void GraphicImport::lcl_sprm(Sprm & rSprm) resolveSprmProps(aHandler, rSprm); - m_pImpl->mContourPolyPolygon = aHandler.getPolygon(); + m_pImpl->mpWrapPolygon = aHandler.getPolygon(); } break; case NS_ooxml::LN_CT_Anchor_positionH: // 90976; @@ -1636,13 +1635,6 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_BOTTOM_MARGIN ), uno::makeAny(m_pImpl->nBottomMargin)); - uno::Any aContourPolyPolygon; - if (m_pImpl->mContourPolyPolygon.getLength() >0) - aContourPolyPolygon <<= m_pImpl->mContourPolyPolygon; - - xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_CONTOUR_POLY_POLYGON), - aContourPolyPolygon); - if( m_pImpl->eColorMode == drawing::ColorMode_STANDARD && m_pImpl->nContrast == -70 && m_pImpl->nBrightness == 70 ) @@ -1670,16 +1662,31 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_HORI_MIRRORED_ON_ODD_PAGES ), uno::makeAny( m_pImpl->bHoriFlip )); } + if( m_pImpl->bVertFlip ) xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_VERT_MIRRORED ), uno::makeAny( m_pImpl->bVertFlip )); xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_BACK_COLOR ), uno::makeAny( m_pImpl->nFillColor )); + //there seems to be no way to detect the original size via _real_ API uno::Reference< beans::XPropertySet > xGraphicProperties( xGraphic, uno::UNO_QUERY_THROW ); awt::Size aGraphicSize, aGraphicSizePixel; xGraphicProperties->getPropertyValue(rPropNameSupplier.GetName( PROP_SIZE100th_M_M )) >>= aGraphicSize; xGraphicProperties->getPropertyValue(rPropNameSupplier.GetName( PROP_SIZE_PIXEL )) >>= aGraphicSizePixel; + + uno::Any aContourPolyPolygon; + if( aGraphicSize.Width && aGraphicSize.Height && + m_pImpl->mpWrapPolygon.get() != NULL) + { + awt::Size aDstSize(m_pImpl->getXSize(), m_pImpl->getYSize()); + WrapPolygon::Pointer_t pCorrected = m_pImpl->mpWrapPolygon->correctWordWrapPolygon(aGraphicSize, aDstSize); + aContourPolyPolygon <<= pCorrected->getPointSequenceSequence(); + } + + xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_CONTOUR_POLY_POLYGON), + aContourPolyPolygon); + if( aGraphicSize.Width && aGraphicSize.Height ) { //todo: i71651 graphic size is not provided by the GraphicDescriptor @@ -1688,9 +1695,11 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b lcl_CalcCrop( m_pImpl->nLeftCrop, aGraphicSize.Width ); lcl_CalcCrop( m_pImpl->nRightCrop, aGraphicSize.Width ); + xGraphicProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_GRAPHIC_CROP ), uno::makeAny(text::GraphicCrop(m_pImpl->nTopCrop, m_pImpl->nBottomCrop, m_pImpl->nLeftCrop, m_pImpl->nRightCrop))); } + } if(m_pImpl->eGraphicImportType == IMPORT_AS_DETECTED_INLINE || m_pImpl->eGraphicImportType == IMPORT_AS_DETECTED_ANCHOR) diff --git a/writerfilter/source/dmapper/WrapPolygonHandler.cxx b/writerfilter/source/dmapper/WrapPolygonHandler.cxx index 14a750388e30..452eb9d66473 100644 --- a/writerfilter/source/dmapper/WrapPolygonHandler.cxx +++ b/writerfilter/source/dmapper/WrapPolygonHandler.cxx @@ -40,8 +40,123 @@ using resourcemodel::resolveSprmProps; namespace dmapper { +WrapPolygon::WrapPolygon() +{ +} + +WrapPolygon::~WrapPolygon() +{ +} + +void WrapPolygon::addPoint(const awt::Point & rPoint) +{ + mPoints.push_back(rPoint); +} + +WrapPolygon::Points_t::const_iterator WrapPolygon::begin() const +{ + return mPoints.begin(); +} + +WrapPolygon::Points_t::const_iterator WrapPolygon::end() const +{ + return mPoints.end(); +} + +WrapPolygon::Points_t::iterator WrapPolygon::begin() +{ + return mPoints.begin(); +} + +WrapPolygon::Points_t::iterator WrapPolygon::end() +{ + return mPoints.end(); +} + +size_t WrapPolygon::size() const +{ + return mPoints.size(); +} + +WrapPolygon::Pointer_t WrapPolygon::move(const awt::Point & rPoint) +{ + WrapPolygon::Pointer_t pResult(new WrapPolygon); + + Points_t::iterator aIt = begin(); + Points_t::iterator aItEnd = end(); + + while (aIt != aItEnd) + { + awt::Point aPoint(aIt->X + rPoint.X, aIt->Y + rPoint.Y); + pResult->addPoint(aPoint); + aIt++; + } + + return pResult; +} + +WrapPolygon::Pointer_t WrapPolygon::scale(const Fraction & rFractionX, const Fraction & rFractionY) +{ + WrapPolygon::Pointer_t pResult(new WrapPolygon); + + Points_t::iterator aIt = begin(); + Points_t::iterator aItEnd = end(); + + while (aIt != aItEnd) + { + awt::Point aPoint(Fraction(aIt->X) * rFractionX, Fraction(aIt->Y) * rFractionY); + pResult->addPoint(aPoint); + aIt++; + } + + return pResult; +} + +WrapPolygon::Pointer_t WrapPolygon::correctWordWrapPolygon(const awt::Size & rSrcSize, const awt::Size & rDstSize) +{ + WrapPolygon::Pointer_t pResult; + + const sal_uInt32 nWrap100Percent = 21600; + + Fraction aMove(nWrap100Percent, rSrcSize.Width); + aMove = aMove * Fraction(15, 1); + awt::Point aMovePoint(aMove, 0); + pResult = move(aMovePoint); + + Fraction aScaleX(nWrap100Percent, Fraction(nWrap100Percent) + aMove); + Fraction aScaleY(nWrap100Percent, Fraction(nWrap100Percent) - aMove); + pResult = pResult->scale(aScaleX, aScaleY); + + Fraction aScaleDestX(rDstSize.Width, nWrap100Percent); + Fraction aScaleDestY(rDstSize.Height, nWrap100Percent); + pResult = pResult->scale(aScaleDestX, aScaleDestY); + + return pResult; +} + +drawing::PointSequenceSequence WrapPolygon::getPointSequenceSequence() const +{ + drawing::PointSequenceSequence aPolyPolygon(1L); + drawing::PointSequence * pPolygon = aPolyPolygon.getArray(); + pPolygon->realloc(size()); + + sal_uInt32 n = 0; + Points_t::const_iterator aIt = begin(); + Points_t::const_iterator aItEnd = end(); + + while (aIt != aItEnd) + { + (*pPolygon)[n] = *aIt; + ++n; + aIt++; + } + + return aPolyPolygon; +} + WrapPolygonHandler::WrapPolygonHandler() : LoggedProperties(dmapper_logger, "WrapPolygonHandler") +, mpPolygon(new WrapPolygon) { } @@ -82,7 +197,7 @@ void WrapPolygonHandler::lcl_sprm(Sprm & sprm) resolveSprmProps(*this, sprm); awt::Point aPoint(mnX, mnY); - mPoints.push_back(aPoint); + mpPolygon->addPoint(aPoint); } break; default: @@ -93,20 +208,9 @@ void WrapPolygonHandler::lcl_sprm(Sprm & sprm) } } -drawing::PointSequenceSequence WrapPolygonHandler::getPolygon() +WrapPolygon::Pointer_t WrapPolygonHandler::getPolygon() { - drawing::PointSequenceSequence aPolyPolygon(1L); - drawing::PointSequence * pPolygon = aPolyPolygon.getArray(); - pPolygon->realloc(mPoints.size()); - - sal_uInt32 n = 0; - for (Points_t::const_iterator aIt = mPoints.begin(); aIt != mPoints.end(); aIt++) - { - (*pPolygon)[n] = *aIt; - ++n; - } - - return aPolyPolygon; + return mpPolygon; } }} diff --git a/writerfilter/source/dmapper/WrapPolygonHandler.hxx b/writerfilter/source/dmapper/WrapPolygonHandler.hxx index 5bbeab891859..05161096f81a 100644 --- a/writerfilter/source/dmapper/WrapPolygonHandler.hxx +++ b/writerfilter/source/dmapper/WrapPolygonHandler.hxx @@ -30,11 +30,41 @@ #include <com/sun/star/drawing/PointSequenceSequence.hpp> #include <resourcemodel/LoggedResources.hxx> +#include <resourcemodel/Fraction.hxx> namespace writerfilter { namespace dmapper { using namespace ::com::sun::star; +using resourcemodel::Fraction; + +class WrapPolygon +{ +public: + typedef ::std::deque<awt::Point> Points_t; + typedef ::boost::shared_ptr<WrapPolygon> Pointer_t; + +private: + Points_t mPoints; + +public: + WrapPolygon(); + virtual ~WrapPolygon(); + + void addPoint(const awt::Point & rPoint); + + Points_t::const_iterator begin() const; + Points_t::const_iterator end() const; + Points_t::iterator begin(); + Points_t::iterator end(); + + size_t size() const; + + WrapPolygon::Pointer_t move(const awt::Point & rMove); + WrapPolygon::Pointer_t scale(const Fraction & rFractionX, const Fraction & rFractionY); + WrapPolygon::Pointer_t correctWordWrapPolygon(const awt::Size & rSrcSize, const awt::Size & rDstSize); + drawing::PointSequenceSequence getPointSequenceSequence() const; +}; class WrapPolygonHandler : public LoggedProperties { @@ -42,11 +72,10 @@ public: WrapPolygonHandler(); virtual ~WrapPolygonHandler(); - drawing::PointSequenceSequence getPolygon(); + WrapPolygon::Pointer_t getPolygon(); private: - typedef ::std::deque<awt::Point> Points_t; - Points_t mPoints; + WrapPolygon::Pointer_t mpPolygon; sal_uInt32 mnX; sal_uInt32 mnY; -- cgit From 3fbaee30ee7832d79b02f21f6f1a14a70e735bd9 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 17 Aug 2010 17:31:32 +0200 Subject: writerfilter09: handle 'wrap tight' and 'wrap through' differently --- writerfilter/source/dmapper/GraphicImport.cxx | 58 ++++++++++++++++++--------- writerfilter/source/dmapper/GraphicImport.hxx | 2 + 2 files changed, 41 insertions(+), 19 deletions(-) diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 39382a009f2b..6bbfcbd68665 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -225,6 +225,7 @@ public: sal_Int32 nWrap; bool bOpaque; bool bContour; + bool bContourOutside; WrapPolygon::Pointer_t mpWrapPolygon; bool bIgnoreWRK; @@ -288,6 +289,7 @@ public: ,nWrap(0) ,bOpaque( true ) ,bContour(false) + ,bContourOutside(true) ,bIgnoreWRK(true) ,nLeftMargin(319) ,nRightMargin(319) @@ -365,6 +367,27 @@ GraphicImport::~GraphicImport() { delete m_pImpl; } + +void GraphicImport::handleWrapTextValue(sal_uInt32 nVal) +{ + switch (nVal) + { + case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_bothSides: // 90920; + m_pImpl->nWrap = text::WrapTextMode_PARALLEL; + break; + case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_left: // 90921; + m_pImpl->nWrap = text::WrapTextMode_LEFT; + break; + case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_right: // 90922; + m_pImpl->nWrap = text::WrapTextMode_RIGHT; + break; + case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_largest: // 90923; + m_pImpl->nWrap = text::WrapTextMode_DYNAMIC; + break; + default:; + } +} + /*-- 01.11.2006 09:45:01--------------------------------------------------- -----------------------------------------------------------------------*/ @@ -1011,29 +1034,26 @@ void GraphicImport::lcl_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; + m_pImpl->bContourOutside = true; + + handleWrapTextValue(val.getInt()); + + break; case NS_ooxml::LN_CT_WrapThrough_wrapText: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ m_pImpl->bContour = true; - //no break; + m_pImpl->bContourOutside = false; + + handleWrapTextValue(val.getInt()); + + 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; - m_pImpl->nWrap = text::WrapTextMode_PARALLEL; - break; - case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_left: // 90921; - m_pImpl->nWrap = text::WrapTextMode_LEFT; - break; - case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_right: // 90922; - m_pImpl->nWrap = text::WrapTextMode_RIGHT; - break; - case NS_ooxml::LN_Value_wordprocessingDrawing_ST_WrapText_largest: // 90923; - m_pImpl->nWrap = text::WrapTextMode_DYNAMIC; - break; - default:; - } - break; + + handleWrapTextValue(val.getInt()); + break; case NS_ooxml::LN_shape: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { @@ -1625,7 +1645,7 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_SURROUND_CONTOUR ), uno::makeAny(m_pImpl->bContour)); xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_CONTOUR_OUTSIDE ), - uno::makeAny(true)); + uno::makeAny(m_pImpl->bContourOutside)); xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_LEFT_MARGIN ), uno::makeAny(m_pImpl->nLeftMargin)); xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_RIGHT_MARGIN ), diff --git a/writerfilter/source/dmapper/GraphicImport.hxx b/writerfilter/source/dmapper/GraphicImport.hxx index 8ca6b18d5d55..87e99ce975b6 100644 --- a/writerfilter/source/dmapper/GraphicImport.hxx +++ b/writerfilter/source/dmapper/GraphicImport.hxx @@ -122,6 +122,8 @@ public: virtual void lcl_info(const string & info); virtual void lcl_startShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); virtual void lcl_endShape( ); + + void handleWrapTextValue(sal_uInt32 nVal); }; typedef boost::shared_ptr< GraphicImport > GraphicImportPtr; -- cgit From eb51984cee2d08c943680983ecdc5fede61a4c94 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 18 Aug 2010 14:42:28 +0200 Subject: writerfilter09: handle CT_DocDefaults as defaults, too --- writerfilter/source/dmapper/StyleSheetTable.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 4f8478c80904..86d02a026542 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -549,7 +549,7 @@ void StyleSheetTable::lcl_sprm(Sprm & rSprm) break; 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_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 */ @@ -579,6 +579,7 @@ void StyleSheetTable::lcl_sprm(Sprm & rSprm) break; } case NS_ooxml::LN_CT_PPrDefault_pPr: + case NS_ooxml::LN_CT_DocDefaults_pPrDefault: /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_rDMapper.PushStyleSheetProperties( m_pImpl->m_pDefaultParaProps ); m_pImpl->m_rDMapper.sprm( rSprm ); @@ -586,6 +587,7 @@ void StyleSheetTable::lcl_sprm(Sprm & rSprm) applyDefaults( true ); break; case NS_ooxml::LN_CT_RPrDefault_rPr: + case NS_ooxml::LN_CT_DocDefaults_rPrDefault: /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ m_pImpl->m_rDMapper.PushStyleSheetProperties( m_pImpl->m_pDefaultCharProps ); m_pImpl->m_rDMapper.sprm( rSprm ); @@ -626,6 +628,7 @@ void StyleSheetTable::lcl_sprm(Sprm & rSprm) pTEntry->m_nColBandSize = nIntValue; } } + break; case NS_ooxml::LN_CT_TblPrBase_tblCellMar: //no cell margins in styles break; -- cgit From 99c348b9cdbe13be097789a187f05e9ff9e92e67 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 23 Aug 2010 10:46:33 +0200 Subject: #i114011# added license headers for NumberingManager --- writerfilter/source/dmapper/NumberingManager.cxx | 26 ++++++++++++++++++++++++ writerfilter/source/dmapper/NumberingManager.hxx | 26 ++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx index 5c08d17a3367..9e66e1a467c3 100644 --- a/writerfilter/source/dmapper/NumberingManager.cxx +++ b/writerfilter/source/dmapper/NumberingManager.cxx @@ -1,3 +1,29 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ #include "ConversionHelper.hxx" #include "NumberingManager.hxx" #include "StyleSheetTable.hxx" diff --git a/writerfilter/source/dmapper/NumberingManager.hxx b/writerfilter/source/dmapper/NumberingManager.hxx index dbe05e1b20ac..3285bc85f416 100644 --- a/writerfilter/source/dmapper/NumberingManager.hxx +++ b/writerfilter/source/dmapper/NumberingManager.hxx @@ -1,3 +1,29 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ #ifndef INCLUDED_NUMBERINGMANAGER_HXX #define INCLUDED_NUMBERINGMANAGER_HXX -- cgit From 2de8e26ed7284f7b5e5526778d478ff36aab19eb Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 8 Sep 2010 13:02:09 +0200 Subject: annotated model.xml with tags and used tags to calculate left efforts --- writerfilter/source/ooxml/analyzemodel.xsl | 1 + writerfilter/source/ooxml/effort.xsl | 59 +-- writerfilter/source/ooxml/model.xml | 666 ++++++++++++++--------------- 3 files changed, 367 insertions(+), 359 deletions(-) diff --git a/writerfilter/source/ooxml/analyzemodel.xsl b/writerfilter/source/ooxml/analyzemodel.xsl index d887a9a178a6..3cce9795a947 100644 --- a/writerfilter/source/ooxml/analyzemodel.xsl +++ b/writerfilter/source/ooxml/analyzemodel.xsl @@ -98,6 +98,7 @@ </xsl:for-each> </xsl:when> </xsl:choose> + <xsl:copy-of select="@tag"/> </xsl:for-each> </xsl:template> </xsl:stylesheet> \ No newline at end of file diff --git a/writerfilter/source/ooxml/effort.xsl b/writerfilter/source/ooxml/effort.xsl index 47f278a63f4f..3dfc102e0780 100644 --- a/writerfilter/source/ooxml/effort.xsl +++ b/writerfilter/source/ooxml/effort.xsl @@ -7,33 +7,40 @@ <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:text>Namespace,Define,Name,Tag,Done,Planned,qname-count
</xsl:text> + <xsl:for-each select="/todo/attribute|/todo/element"> + <xsl:variable name="namespace" select="@namespace"/> + <xsl:variable name="define" select="@define"/> + <xsl:variable name="name" select="@name"/> + <xsl:variable name="tag" select="@tag"/> + + <xsl:for-each select=".//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>,</xsl:text> + <xsl:value-of select="$tag"/> + <xsl:text>,</xsl:text> + <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>,</xsl:text> + <xsl:value-of select="$tag"/> + <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/model.xml b/writerfilter/source/ooxml/model.xml index f78c0be0b2f5..3aa5741ad576 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -191,11 +191,11 @@ </define> </grammar> <resource name="CT_OfficeStyleSheet" resource="Table" tokenid="ooxml:THEMETABLE"/> - <resource name="theme" resource="Stream"> + <resource name="theme" resource="Stream" tag="theme"> <element name="theme" tokenid="ooxml:THEMETABLE"/> </resource> - <resource name="themeOverride" resource="Stream"/> - <resource name="themeManager" resource="Stream"/> + <resource name="themeOverride" resource="Stream" tag="theme"/> + <resource name="themeManager" resource="Stream" tag="theme"/> </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"> @@ -1114,7 +1114,7 @@ <value name="hlink" tokenid="ooxml:Value_drawingml_ST_ColorSchemeIndex_hlink">hlink</value> <value name="folHlink" tokenid="ooxml:Value_drawingml_ST_ColorSchemeIndex_folHlink">folHlink</value> </resource> - <resource name="CT_ColorScheme" resource="Properties"> + <resource name="CT_ColorScheme" resource="Properties" tag="theme"> <element name="dk1" tokenid="ooxml:CT_ColorScheme_dk1"/> <element name="lt1" tokenid="ooxml:CT_ColorScheme_lt1"/> <element name="dk2" tokenid="ooxml:CT_ColorScheme_dk2"/> @@ -1130,39 +1130,39 @@ <element name="extLst" tokenid="ooxml:CT_ColorScheme_extLst"/> <attribute name="name" tokenid="ooxml:CT_ColorScheme_name"/> </resource> - <resource name="CT_SupplementalFont" resource="Properties"> + <resource name="CT_SupplementalFont" resource="Properties" tag="theme"> <attribute name="script" tokenid="ooxml:CT_SupplementalFont_script"/> <attribute name="typeface" tokenid="ooxml:CT_SupplementalFont_typeface"/> </resource> - <resource name="CT_FontCollection" resource="Properties"> + <resource name="CT_FontCollection" resource="Properties" tag="theme"> <element name="latin" tokenid="ooxml:CT_FontCollection_latin"/> <element name="ea" tokenid="ooxml:CT_FontCollection_ea"/> <element name="cs" tokenid="ooxml:CT_FontCollection_cs"/> <element name="font" tokenid="ooxml:CT_FontCollection_font"/> <element name="extLst" tokenid="ooxml:CT_FontCollection_extLst"/> </resource> - <resource name="CT_FontScheme" resource="Properties"> + <resource name="CT_FontScheme" resource="Properties" tag="theme"> <element name="majorFont" tokenid="ooxml:CT_FontScheme_majorFont"/> <element name="minorFont" tokenid="ooxml:CT_FontScheme_minorFont"/> <element name="extLst" tokenid="ooxml:CT_FontScheme_extLst"/> <attribute name="name" tokenid="ooxml:CT_FontScheme_name"/> </resource> - <resource name="CT_FillStyleList" resource="Properties"/> - <resource name="CT_LineStyleList" resource="Properties"> + <resource name="CT_FillStyleList" resource="Properties" tag="theme"/> + <resource name="CT_LineStyleList" resource="Properties" tag="theme"> <element name="ln" tokenid="ooxml:CT_LineStyleList_ln"/> </resource> - <resource name="CT_EffectStyleList" resource="Properties"> + <resource name="CT_EffectStyleList" resource="Properties" tag="theme"> <element name="effectStyle" tokenid="ooxml:CT_EffectStyleList_effectStyle"/> </resource> - <resource name="CT_BackgroundFillStyleList" resource="Properties"/> - <resource name="CT_StyleMatrix" resource="Properties"> + <resource name="CT_BackgroundFillStyleList" resource="Properties" tag="theme"/> + <resource name="CT_StyleMatrix" resource="Properties" tag="theme"> <element name="fillStyleLst" tokenid="ooxml:CT_StyleMatrix_fillStyleLst"/> <element name="lnStyleLst" tokenid="ooxml:CT_StyleMatrix_lnStyleLst"/> <element name="effectStyleLst" tokenid="ooxml:CT_StyleMatrix_effectStyleLst"/> <element name="bgFillStyleLst" tokenid="ooxml:CT_StyleMatrix_bgFillStyleLst"/> <attribute name="name" tokenid="ooxml:CT_StyleMatrix_name"/> </resource> - <resource name="CT_BaseStyles" resource="Properties"> + <resource name="CT_BaseStyles" resource="Properties" tag="theme"> <element name="clrScheme" tokenid="ooxml:CT_BaseStyles_clrScheme"/> <element name="fontScheme" tokenid="ooxml:CT_BaseStyles_fontScheme"/> <element name="fmtScheme" tokenid="ooxml:CT_BaseStyles_fmtScheme"/> @@ -1541,7 +1541,7 @@ <resource name="ST_TextFontSize" resource="Integer" generated="yes"/> <resource name="ST_Panose" resource="Hex" generated="yes"/> <resource name="ST_TextTypeface" resource="String" generated="yes"/> - <resource name="CT_TextFont" resource="Properties"> + <resource name="CT_TextFont" resource="Properties" tag="character"> <attribute name="typeface" tokenid="ooxml:CT_TextFont_typeface"/> <attribute name="panose" tokenid="ooxml:CT_TextFont_panose"/> <attribute name="pitchFamily" tokenid="ooxml:CT_TextFont_pitchFamily"/> @@ -2738,7 +2738,7 @@ <value name="shdw19" tokenid="ooxml:Value_drawingml_ST_PresetShadowVal_shdw19">shdw19</value> <value name="shdw20" tokenid="ooxml:Value_drawingml_ST_PresetShadowVal_shdw20">shdw20</value> </resource> - <resource name="CT_SolidColorFillProperties" resource="Properties"/> + <resource name="CT_SolidColorFillProperties" resource="Properties" tag="shape"/> <resource name="ST_PathShadeType" resource="List" generated="yes"> <value name="shape" tokenid="ooxml:Value_drawingml_ST_PathShadeType_shape">shape</value> <value name="circle" tokenid="ooxml:Value_drawingml_ST_PathShadeType_circle">circle</value> @@ -2750,7 +2750,7 @@ <value name="y" tokenid="ooxml:Value_drawingml_ST_TileFlipMode_y">y</value> <value name="xy" tokenid="ooxml:Value_drawingml_ST_TileFlipMode_xy">xy</value> </resource> - <resource name="CT_GradientStop" resource="Properties"> + <resource name="CT_GradientStop" resource="Properties" tag="shape"> <attribute name="pos" tokenid="ooxml:CT_GradientStop_pos"/> </resource> <resource name="CT_TileInfoProperties" resource="Properties"> @@ -2761,10 +2761,10 @@ <attribute name="flip" tokenid="ooxml:CT_TileInfoProperties_flip"/> <attribute name="algn" tokenid="ooxml:CT_TileInfoProperties_algn"/> </resource> - <resource name="CT_StretchInfoProperties" resource="Properties"> + <resource name="CT_StretchInfoProperties" resource="Properties" tag="shape"> <element name="fillRect" tokenid="ooxml:CT_StretchInfoProperties_fillRect"/> </resource> - <resource name="EG_FillModeProperties" resource="Properties"> + <resource name="EG_FillModeProperties" resource="Properties" tag="shape"> <element name="tile" tokenid="ooxml:EG_FillModeProperties_tile"/> <element name="stretch" tokenid="ooxml:EG_FillModeProperties_stretch"/> </resource> @@ -2775,7 +2775,7 @@ <value name="hqprint" tokenid="ooxml:Value_drawingml_ST_BlipCompression_hqprint">hqprint</value> <value name="none" tokenid="ooxml:Value_drawingml_ST_BlipCompression_none">none</value> </resource> - <resource name="CT_Blip" resource="Properties"> + <resource name="CT_Blip" resource="Properties" tag="shape"> <element name="alphaBiLevel" tokenid="ooxml:CT_Blip_alphaBiLevel"/> <element name="alphaCeiling" tokenid="ooxml:CT_Blip_alphaCeiling"/> <element name="alphaFloor" tokenid="ooxml:CT_Blip_alphaFloor"/> @@ -2796,7 +2796,7 @@ <element name="extLst" tokenid="ooxml:CT_Blip_extLst"/> <attribute name="cstate" tokenid="ooxml:CT_Blip_cstate"/> </resource> - <resource name="CT_BlipFillProperties" resource="Properties"> + <resource name="CT_BlipFillProperties" resource="Properties" tag="shape"> <element name="blip" tokenid="ooxml:CT_BlipFillProperties_blip"/> <element name="srcRect" tokenid="ooxml:CT_BlipFillProperties_srcRect"/> <attribute name="dpi" tokenid="ooxml:CT_BlipFillProperties_dpi"/> @@ -2865,7 +2865,7 @@ <value name="darken" tokenid="ooxml:Value_drawingml_ST_BlendMode_darken">darken</value> <value name="lighten" tokenid="ooxml:Value_drawingml_ST_BlendMode_lighten">lighten</value> </resource> - <resource name="EG_Effect" resource="Properties"> + <resource name="EG_Effect" resource="Properties" tag="shape"> <element name="cont" tokenid="ooxml:EG_Effect_cont"/> <element name="effect" tokenid="ooxml:EG_Effect_effect"/> <element name="alphaBiLevel" tokenid="ooxml:EG_Effect_alphaBiLevel"/> @@ -2901,7 +2901,7 @@ <value name="sib" tokenid="ooxml:Value_drawingml_ST_EffectContainerType_sib">sib</value> <value name="tree" tokenid="ooxml:Value_drawingml_ST_EffectContainerType_tree">tree</value> </resource> - <resource name="CT_EffectContainer" resource="Properties"> + <resource name="CT_EffectContainer" resource="Properties" tag="shape"> <attribute name="type" tokenid="ooxml:CT_EffectContainer_type"/> <attribute name="name" tokenid="ooxml:CT_EffectContainer_name"/> </resource> @@ -3197,12 +3197,12 @@ <value name="med" tokenid="ooxml:Value_drawingml_ST_LineEndLength_med">med</value> <value name="lg" tokenid="ooxml:Value_drawingml_ST_LineEndLength_lg">lg</value> </resource> - <resource name="CT_LineEndProperties" resource="Properties"> + <resource name="CT_LineEndProperties" resource="Properties" tag="shape"> <attribute name="type" tokenid="ooxml:CT_LineEndProperties_type"/> <attribute name="w" tokenid="ooxml:CT_LineEndProperties_w"/> <attribute name="len" tokenid="ooxml:CT_LineEndProperties_len"/> </resource> - <resource name="EG_LineFillProperties" resource="Properties"> + <resource name="EG_LineFillProperties" resource="Properties" tag="shape"> <element name="noFill" tokenid="ooxml:EG_LineFillProperties_noFill"/> <element name="solidFill" tokenid="ooxml:EG_LineFillProperties_solidFill"/> <element name="gradFill" tokenid="ooxml:EG_LineFillProperties_gradFill"/> @@ -3237,7 +3237,7 @@ <value name="thinThick" tokenid="ooxml:Value_drawingml_ST_CompoundLine_thinThick">thinThick</value> <value name="tri" tokenid="ooxml:Value_drawingml_ST_CompoundLine_tri">tri</value> </resource> - <resource name="CT_LineProperties" resource="Properties"> + <resource name="CT_LineProperties" resource="Properties" tag="shape"> <element name="headEnd" tokenid="ooxml:CT_LineProperties_headEnd"/> <element name="tailEnd" tokenid="ooxml:CT_LineProperties_tailEnd"/> <element name="extLst" tokenid="ooxml:CT_LineProperties_extLst"/> @@ -3331,7 +3331,7 @@ </optional> </define> </grammar> - <resource name="CT_ShapeProperties" resource="Properties"> + <resource name="CT_ShapeProperties" resource="Properties" tag="shape"> <element name="xfrm" tokenid="ooxml:CT_ShapeProperties_xfrm"/> <element name="ln" tokenid="ooxml:CT_ShapeProperties_ln"/> <element name="scene3d" tokenid="ooxml:CT_ShapeProperties_scene3d"/> @@ -4429,41 +4429,41 @@ <attribute name="val" tokenid="ooxml:CT_Angle_val" action="setValue"/> <action name="start" action="setDefaultIntegerValue"/> </resource> - <resource name="CT_PositiveFixedAngle" resource="Value" generated="yes"> + <resource name="CT_PositiveFixedAngle" resource="Value" generated="yes" tag="attribute"> <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"> + <resource name="CT_Percentage" resource="Value" generated="yes" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_Percentage_val" action="setValue"/> <action name="start" action="setDefaultIntegerValue"/> </resource> - <resource name="CT_PositivePercentage" resource="Value" generated="yes"> + <resource name="CT_PositivePercentage" resource="Value" generated="yes" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_PositivePercentage_val" action="setValue"/> </resource> - <resource name="CT_FixedPercentage" resource="Value" generated="yes"> + <resource name="CT_FixedPercentage" resource="Value" generated="yes" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_FixedPercentage_val" action="setValue"/> </resource> - <resource name="CT_PositiveFixedPercentage" resource="Value" generated="yes"> + <resource name="CT_PositiveFixedPercentage" resource="Value" generated="yes" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_PositiveFixedPercentage_val" action="setValue"/> </resource> - <resource name="CT_Point2D" resource="Properties"> + <resource name="CT_Point2D" resource="Properties" tag="shape"> <attribute name="x" tokenid="ooxml:CT_Point2D_x"/> <attribute name="y" tokenid="ooxml:CT_Point2D_y"/> </resource> - <resource name="CT_PositiveSize2D" resource="Properties"> + <resource name="CT_PositiveSize2D" resource="Properties" tag="shape"> <attribute name="cx" tokenid="ooxml:CT_PositiveSize2D_cx"/> <attribute name="cy" tokenid="ooxml:CT_PositiveSize2D_cy"/> </resource> - <resource name="CT_ScRgbColor" resource="Properties"> + <resource name="CT_ScRgbColor" resource="Properties" tag="shape"> <attribute name="r" tokenid="ooxml:CT_ScRgbColor_r"/> <attribute name="g" tokenid="ooxml:CT_ScRgbColor_g"/> <attribute name="b" tokenid="ooxml:CT_ScRgbColor_b"/> </resource> <resource name="ST_HexBinary3" resource="Hex" generated="yes"/> - <resource name="CT_SRgbColor" resource="Properties"> + <resource name="CT_SRgbColor" resource="Properties" tag="shape"> <attribute name="val" tokenid="ooxml:CT_SRgbColor_val"/> </resource> - <resource name="CT_HslColor" resource="Properties"> + <resource name="CT_HslColor" resource="Properties" tag="shape"> <attribute name="hue" tokenid="ooxml:CT_HslColor_hue"/> <attribute name="sat" tokenid="ooxml:CT_HslColor_sat"/> <attribute name="lum" tokenid="ooxml:CT_HslColor_lum"/> @@ -4500,7 +4500,7 @@ <value name="menuHighlight" tokenid="ooxml:Value_drawingml_ST_SystemColorVal_menuHighlight">menuHighlight</value> <value name="menuBar" tokenid="ooxml:Value_drawingml_ST_SystemColorVal_menuBar">menuBar</value> </resource> - <resource name="CT_SystemColor" resource="Properties"> + <resource name="CT_SystemColor" resource="Properties" tag="shape"> <attribute name="val" tokenid="ooxml:CT_SystemColor_val"/> <attribute name="lastClr" tokenid="ooxml:CT_SytemColor_lastClr"/> </resource> @@ -4523,7 +4523,7 @@ <value name="dk2" tokenid="ooxml:Value_drawingml_ST_SchemeColorVal_dk2">dk2</value> <value name="lt2" tokenid="ooxml:Value_drawingml_ST_SchemeColorVal_lt2">lt2</value> </resource> - <resource name="CT_SchemeColor" resource="Properties"> + <resource name="CT_SchemeColor" resource="Properties" tag="shape"> <attribute name="val" tokenid="ooxml:CT_SchemeColor_val"/> </resource> <resource name="ST_PresetColorVal" resource="List"> @@ -4668,10 +4668,10 @@ <value tokenid="0xffff00">yellow</value> <value tokenid="0x9acd32">yellowGreen</value> </resource> - <resource name="CT_PresetColor" resource="Properties"> + <resource name="CT_PresetColor" resource="Properties" tag="shape"> <attribute name="val" tokenid="ooxml:CT_PresetColor_val"/> </resource> - <resource name="CT_Transform2D" resource="Properties"> + <resource name="CT_Transform2D" resource="Properties" tag="shape"> <element name="off" tokenid="ooxml:CT_Transform2D_off"/> <element name="ext" tokenid="ooxml:CT_Transform2D_ext"/> <attribute name="rot" tokenid="ooxml:CT_Transform2D_rot"/> @@ -4690,7 +4690,7 @@ <value name="br" tokenid="ooxml:Value_drawingml_ST_RectAlignment_br">br</value> </resource> <resource name="ST_Guid" resource="String" generated="yes"/> - <resource name="EG_ColorChoice" resource="Properties"> + <resource name="EG_ColorChoice" resource="Properties" tag="shape"> <element name="scrgbClr" tokenid="ooxml:EG_ColorChoice_scrgbClr"/> <element name="srgbClr" tokenid="ooxml:EG_ColorChoice_srgbClr"/> <element name="hslClr" tokenid="ooxml:EG_ColorChoice_hslClr"/> @@ -4698,8 +4698,8 @@ <element name="schemeClr" tokenid="ooxml:EG_ColorChoice_schemeClr"/> <element name="prstClr" tokenid="ooxml:EG_ColorChoice_prstClr"/> </resource> - <resource name="CT_Color" resource="Properties"/> - <resource name="CT_ColorMRU" resource="Properties"/> + <resource name="CT_Color" resource="Properties" tag="shape"/> + <resource name="CT_ColorMRU" resource="Properties" tag="shape"/> <resource name="ST_BlackWhiteMode" resource="List" generated="yes"> <value name="clr" tokenid="ooxml:Value_drawingml_ST_BlackWhiteMode_clr">clr</value> <value name="auto" tokenid="ooxml:Value_drawingml_ST_BlackWhiteMode_auto">auto</value> @@ -4713,7 +4713,7 @@ <value name="white" tokenid="ooxml:Value_drawingml_ST_BlackWhiteMode_white">white</value> <value name="hidden" tokenid="ooxml:Value_drawingml_ST_BlackWhiteMode_hidden">hidden</value> </resource> - <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="AG_Blob" resource="Properties"> + <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="AG_Blob" resource="Properties" tag="shape"> <attribute name="r:embed" tokenid="ooxml:AG_Blob_r_embed"/> <attribute name="r:link" tokenid="ooxml:AG_Blob_r_link"/> </resource> @@ -5100,7 +5100,7 @@ </optional> </define> </grammar> - <resource name="CT_GraphicalObjectFrameLocking" resource="Properties"> + <resource name="CT_GraphicalObjectFrameLocking" resource="Properties" tag="shape"> <element name="extLst" tokenid="ooxml:CT_GraphicalObjectFrameLocking_extLst"/> <attribute name="noGrp" tokenid="ooxml:CT_GraphicalObjectFrameLocking_noGrp"/> <attribute name="noDrilldown" tokenid="ooxml:CT_GraphicalObjectFrameLocking_noDrilldown"/> @@ -5109,7 +5109,7 @@ <attribute name="noMove" tokenid="ooxml:CT_GraphicalObjectFrameLocking_noMove"/> <attribute name="noResize" tokenid="ooxml:CT_GraphicalObjectFrameLocking_noResize"/> </resource> - <resource name="CT_NonVisualDrawingProps" resource="Properties"> + <resource name="CT_NonVisualDrawingProps" resource="Properties" tag="shape"> <element name="hlinkClick" tokenid="ooxml:CT_NonVisualDrawingProps_hlinkClick"/> <element name="hlinkHover" tokenid="ooxml:CT_NonVisualDrawingProps_hlinkHover"/> <element name="extLst" tokenid="ooxml:CT_NonVisualDrawingProps_extLst"/> @@ -5118,12 +5118,12 @@ <attribute name="descr" tokenid="ooxml:CT_NonVisualDrawingProps_descr"/> <attribute name="hidden" tokenid="ooxml:CT_NonVisualDrawingProps_hidden"/> </resource> - <resource name="CT_NonVisualPictureProperties" resource="Properties"> + <resource name="CT_NonVisualPictureProperties" resource="Properties" tag="shape"> <element name="picLocks" tokenid="ooxml:CT_NonVisualPictureProperties_picLocks"/> <element name="extLst" tokenid="ooxml:CT_NonVisualPictureProperties_extLst"/> <attribute name="preferRelativeResize" tokenid="ooxml:CT_NonVisualPictureProperties_preferRelativeResize"/> </resource> - <resource name="CT_NonVisualGraphicFrameProperties" resource="Properties"> + <resource name="CT_NonVisualGraphicFrameProperties" resource="Properties" tag="shape"> <element name="graphicFrameLocks" tokenid="ooxml:CT_NonVisualGraphicFrameProperties_graphicFrameLocks"/> <element name="extLst" tokenid="ooxml:CT_NonVisualGraphicFrameProperties_extLst"/> </resource> @@ -5159,14 +5159,14 @@ </element> </define> </grammar> - <resource name="CT_GraphicalObjectData" resource="Properties"> + <resource name="CT_GraphicalObjectData" resource="Properties" tag="shape"> <element name="pic" tokenid="ooxml:CT_GraphicalObjectData_pic"/> <attribute name="uri" tokenid="ooxml:CT_GraphicalObjectData_uri"/> </resource> - <resource name="CT_GraphicalObject" resource="Properties"> + <resource name="CT_GraphicalObject" resource="Properties" tag="shape"> <element name="graphicData" tokenid="ooxml:CT_GraphicalObject_graphicData"/> </resource> - <resource name="graphic" resource="Properties"> + <resource name="graphic" resource="Properties" tag="shape"> <element name="graphic" tokenid="ooxml:graphic_graphic"/> </resource> </namespace> @@ -6271,7 +6271,7 @@ </resource> <resource name="ST_GeomGuideName" resource="String" generated="yes"/> <resource name="ST_GeomGuideFormula" resource="String" generated="yes"/> - <resource name="CT_GeomGuideList" resource="Properties"> + <resource name="CT_GeomGuideList" resource="Properties" tag="shape"> <element name="gd" tokenid="ooxml:CT_GeomGuideList_gd"/> </resource> <resource name="ST_PathFillMode" resource="List" generated="yes"> @@ -6282,11 +6282,11 @@ <value name="darken" tokenid="ooxml:Value_drawingml_ST_PathFillMode_darken">darken</value> <value name="darkenLess" tokenid="ooxml:Value_drawingml_ST_PathFillMode_darkenLess">darkenLess</value> </resource> - <resource name="CT_PresetGeometry2D" resource="Properties"> + <resource name="CT_PresetGeometry2D" resource="Properties" tag="shape"> <element name="avLst" tokenid="ooxml:CT_PresetGeometry2D_avLst"/> <attribute name="prst" tokenid="ooxml:CT_PresetGeometry2D_prst"/> </resource> - <resource name="CT_CustomGeometry2D" resource="Properties"> + <resource name="CT_CustomGeometry2D" resource="Properties" tag="shape"> <element name="avLst" tokenid="ooxml:CT_CustomGeometry2D_avLst"/> <element name="gdLst" tokenid="ooxml:CT_CustomGeometry2D_gdLst"/> <element name="ahLst" tokenid="ooxml:CT_CustomGeometry2D_ahLst"/> @@ -6294,7 +6294,7 @@ <element name="rect" tokenid="ooxml:CT_CustomGeometry2D_rect"/> <element name="pathLst" tokenid="ooxml:CT_CustomGeometry2D_pathLst"/> </resource> - <resource name="EG_Geometry" resource="Properties"> + <resource name="EG_Geometry" resource="Properties" tag="shape"> <element name="custGeom" tokenid="ooxml:EG_Geometry_custGeom"/> <element name="prstGeom" tokenid="ooxml:EG_Geometry_prstGeom"/> </resource> @@ -6764,14 +6764,14 @@ </element> </define> </grammar> - <resource name="CT_EffectExtent" resource="Properties"> + <resource name="CT_EffectExtent" resource="Properties" tag="shape"> <attribute name="l" tokenid="ooxml:CT_EffectExtent_l"/> <attribute name="t" tokenid="ooxml:CT_EffectExtent_t"/> <attribute name="r" tokenid="ooxml:CT_EffectExtent_r"/> <attribute name="b" tokenid="ooxml:CT_EffectExtent_b"/> </resource> <resource name="ST_WrapDistance" resource="Integer" generated="yes"/> - <resource xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="CT_Inline" resource="Properties"> + <resource xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="CT_Inline" resource="Properties" tag="shape"> <element name="extent" tokenid="ooxml:CT_Inline_extent"/> <element name="effectExtent" tokenid="ooxml:CT_Inline_effectExtent"/> <element name="docPr" tokenid="ooxml:CT_Inline_docPr"/> @@ -6788,13 +6788,13 @@ <value name="right" tokenid="ooxml:Value_wordprocessingDrawing_ST_WrapText_right">right</value> <value name="largest" tokenid="ooxml:Value_wordprocessingDrawing_ST_WrapText_largest">largest</value> </resource> - <resource name="CT_WrapPath" resource="Properties"> + <resource name="CT_WrapPath" resource="Properties" tag="shape"> <element name="start" tokenid="ooxml:CT_WrapPath_start"/> <element name="lineTo" tokenid="ooxml:CT_WrapPath_lineTo"/> <attribute name="edited" tokenid="ooxml:CT_WrapPath_edited"/> </resource> - <resource name="CT_WrapNone" resource="Properties"/> - <resource name="CT_WrapSquare" resource="Properties"> + <resource name="CT_WrapNone" resource="Properties" tag="shape"/> + <resource name="CT_WrapSquare" resource="Properties" tag="shape"> <element name="effectExtent" tokenid="ooxml:CT_WrapSquare_effectExtent"/> <attribute name="wrapText" tokenid="ooxml:CT_WrapSquare_wrapText"/> <attribute name="distT" tokenid="ooxml:CT_WrapSquare_distT"/> @@ -6802,34 +6802,34 @@ <attribute name="distL" tokenid="ooxml:CT_WrapSquare_distL"/> <attribute name="distR" tokenid="ooxml:CT_WrapSquare_distR"/> </resource> - <resource name="CT_WrapTight" resource="Properties"> + <resource name="CT_WrapTight" resource="Properties" tag="shape"> <element name="wrapPolygon" tokenid="ooxml:CT_WrapTight_wrapPolygon"/> <attribute name="wrapText" tokenid="ooxml:CT_WrapTight_wrapText"/> <attribute name="distL" tokenid="ooxml:CT_WrapTight_distL"/> <attribute name="distR" tokenid="ooxml:CT_WrapTight_distR"/> </resource> - <resource name="CT_WrapThrough" resource="Properties"> + <resource name="CT_WrapThrough" resource="Properties" tag="shape"> <element name="wrapPolygon" tokenid="ooxml:CT_WrapThrough_wrapPolygon"/> <attribute name="wrapText" tokenid="ooxml:CT_WrapThrough_wrapText"/> <attribute name="distL" tokenid="ooxml:CT_WrapThrough_distL"/> <attribute name="distR" tokenid="ooxml:CT_WrapThrough_distR"/> </resource> - <resource name="CT_WrapTopBottom" resource="Properties"> + <resource name="CT_WrapTopBottom" resource="Properties" tag="shape"> <element name="effectExtent" tokenid="ooxml:CT_WrapTopBottom_effectExtent"/> <attribute name="distT" tokenid="ooxml:CT_WrapTopBottom_distT"/> <attribute name="distB" tokenid="ooxml:CT_WrapTopBottom_distB"/> </resource> - <resource name="EG_WrapType" resource="Properties"> + <resource name="EG_WrapType" resource="Properties" tag="shape"> <element name="wrapNone" tokenid="ooxml:EG_WrapType_wrapNone"/> <element name="wrapSquare" tokenid="ooxml:EG_WrapType_wrapSquare"/> <element name="wrapTight" tokenid="ooxml:EG_WrapType_wrapTight"/> <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="CT_PositionOffset" resource="Value" tag="shape"/> <resource name="ST_PositionOffset" resource="Integer" generated="yes"/> - <resource name="CT_AlignH" resource="Value"/> - <resource name="ST_AlignH" resource="List" generated="yes"> + <resource name="CT_AlignH" resource="Value" tag="shape"/> + <resource name="ST_AlignH" resource="List" generated="yes" tag="shape"> <value name="left" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_left">left</value> <value name="right" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_right">right</value> <value name="center" tokenid="ooxml:Value_wordprocessingDrawing_ST_AlignH_center">center</value> @@ -6846,12 +6846,12 @@ <value name="insideMargin" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromH_insideMargin">insideMargin</value> <value name="outsideMargin" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromH_outsideMargin">outsideMargin</value> </resource> - <resource name="CT_PosH" resource="Properties"> + <resource name="CT_PosH" resource="Properties" tag="shape"> <element name="align" tokenid="ooxml:CT_PosH_align"/> <element name="posOffset" tokenid="ooxml:CT_PosH_posOffset"/> <attribute name="relativeFrom" tokenid="ooxml:CT_PosH_relativeFrom"/> </resource> - <resource name="CT_AlignV" resource="Value"/> + <resource name="CT_AlignV" resource="Value" tag="shape"/> <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> @@ -6869,12 +6869,12 @@ <value name="insideMargin" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromV_insideMargin">insideMargin</value> <value name="outsideMargin" tokenid="ooxml:Value_wordprocessingDrawing_ST_RelFromV_outsideMargin">outsideMargin</value> </resource> - <resource name="CT_PosV" resource="Properties"> + <resource name="CT_PosV" resource="Properties" tag="shape"> <element name="align" tokenid="ooxml:CT_PosV_align"/> <element name="posOffset" tokenid="ooxml:CT_PosV_posOffset"/> <attribute name="relativeFrom" tokenid="ooxml:CT_PosV_relativeFrom"/> </resource> - <resource xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="CT_Anchor" resource="Properties"> + <resource xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="CT_Anchor" resource="Properties" tag="shape"> <element name="simplePos" tokenid="ooxml:CT_Anchor_simplePos_elem"/> <element name="positionH" tokenid="ooxml:CT_Anchor_positionH"/> <element name="positionV" tokenid="ooxml:CT_Anchor_positionV"/> @@ -6895,10 +6895,10 @@ <attribute name="hidden" tokenid="ooxml:CT_Anchor_hidden"/> <attribute name="allowOverlap" tokenid="ooxml:CT_Anchor_allowOverlap"/> </resource> - <resource name="inline" resource="Properties"> + <resource name="inline" resource="Properties" tag="shape"> <element name="inline" tokenid="ooxml:inline_inline"/> </resource> - <resource name="anchor" resource="Properties"> + <resource name="anchor" resource="Properties" tag="shape"> <element name="anchor" tokenid="ooxml:anchor_anchor"/> </resource> </namespace> @@ -8202,27 +8202,27 @@ </define> </grammar> <resource name="ST_Integer255" resource="Integer" generated="yes"/> - <resource name="CT_Integer255" resource="Value" generated="yes"> + <resource name="CT_Integer255" resource="Value" generated="yes" tag="attribute"> <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"> + <resource name="CT_Integer2" resource="Value" generated="yes" tag="attribute"> <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"> + <resource name="CT_SpacingRule" resource="Value" generated="yes" tag="attribute"> <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"> + <resource name="CT_UnSignedInteger" resource="Value" generated="yes" tag="attribute"> <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"> + <resource name="CT_Char" resource="Value" generated="yes" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_Char_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -8230,12 +8230,12 @@ <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="Value"> + <resource name="CT_OnOff" resource="Value" tag="attribute"> <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"> + <resource name="CT_String" resource="Value" generated="yes" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_String_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -8244,7 +8244,7 @@ <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"> + <resource name="CT_XAlign" resource="Value" generated="yes" tag="math"> <attribute name="val" tokenid="ooxml:CT_XAlign_val" action="setValue"/> </resource> <resource name="ST_YAlign" resource="List" generated="yes"> @@ -8252,14 +8252,14 @@ <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"> + <resource name="CT_YAlign" resource="Value" generated="yes" tag="math"> <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"> + <resource name="CT_Shp" resource="Value" generated="yes" tag="math"> <attribute name="val" tokenid="ooxml:CT_Shp_val" action="setValue"/> </resource> <resource name="ST_FType" resource="List" generated="yes"> @@ -8268,21 +8268,21 @@ <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"> + <resource name="CT_FType" resource="Value" generated="yes" tag="math"> <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"> + <resource name="CT_LimLoc" resource="Value" generated="yes" tag="math"> <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"> + <resource name="CT_TopBot" resource="Value" generated="yes" tag="math"> <attribute name="val" tokenid="ooxml:CT_TopBot_val" action="setValue"/> </resource> <resource name="ST_Script" resource="List" generated="yes"> @@ -8293,7 +8293,7 @@ <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"> + <resource name="CT_Script" resource="Value" generated="yes" tag="math"> <attribute name="val" tokenid="ooxml:CT_Script_val" action="setValue"/> </resource> <resource name="ST_Style" resource="List"> @@ -8302,7 +8302,7 @@ <value tokenid="ooxml:Value_ST_Style_i">i</value> <value tokenid="ooxml:Value_ST_Style_p">p</value> </resource> - <resource name="CT_Style" resource="Value"> + <resource name="CT_Style" resource="Value" tag="math"> <attribute name="val" tokenid="ooxml:CT_Style_val" action="setValue"/> </resource> <resource name="ST_Jc" resource="List" generated="yes"> @@ -8311,11 +8311,11 @@ <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"> + <resource name="CT_OMathJc" resource="Value" generated="yes" tag="math"> <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"> + <resource name="CT_TwipsMeasure" resource="Value" generated="yes" tag="math"> <attribute name="val" tokenid="ooxml:CT_TwipsMeasure_val" action="setValue"/> <action name="start" action="setDefaultIntegerValue"/> </resource> @@ -8324,7 +8324,7 @@ <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"> + <resource name="CT_BreakBin" resource="Value" generated="yes" tag="math"> <attribute name="val" tokenid="ooxml:CT_BreakBin_val" action="setValue"/> </resource> <resource name="ST_BreakBinSub" resource="List" generated="yes"> @@ -8332,7 +8332,7 @@ <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"> + <resource name="CT_BreakBinSub" resource="Value" generated="yes" tag="math"> <attribute name="val" tokenid="ooxml:CT_BreakBinSub_val" action="setValue"/> </resource> </namespace> @@ -8418,16 +8418,16 @@ </element> </define> </grammar> - <resource name="CT_PictureNonVisual" resource="Properties"> + <resource name="CT_PictureNonVisual" resource="Properties" tag="shape"> <element name="cNvPr" tokenid="ooxml:CT_PictureNonVisual_cNvPr"/> <element name="cNvPicPr" tokenid="ooxml:CT_PictureNonVisual_cNvPicPr"/> </resource> - <resource name="CT_Picture" resource="Shape"> + <resource name="CT_Picture" resource="Shape" tag="shape"> <element name="nvPicPr" tokenid="ooxml:CT_Picture_nvPicPr"/> <element name="blipFill" tokenid="ooxml:CT_Picture_blipFill"/> <element name="spPr" tokenid="ooxml:CT_Picture_spPr"/> </resource> - <resource name="pic" resource="Properties"> + <resource name="pic" resource="Properties" tag="shape"> <element name="pic" tokenid="ooxml:pic_pic"/> </resource> </namespace> @@ -11939,10 +11939,10 @@ </zeroOrMore> </define> </grammar> - <resource name="OLEObject" resource="Properties"> + <resource name="OLEObject" resource="Properties" tag="ole"> <element name="OLEObject" tokenid="ooxml:OLEObject_OLEObject"/> </resource> - <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_OLEObject" resource="Properties"> + <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_OLEObject" resource="Properties" tag="ole"> <element name="LinkType" tokenid="ooxml:CT_OLEObject_LinkType"/> <element name="LockedField" tokenid="ooxml:CT_OLEObject_LockedField"/> <element name="FieldCodes" tokenid="ooxml:CT_OLEObject_FieldCodes"/> @@ -12320,10 +12320,10 @@ </list> </define> </grammar> - <resource name="wrap" resource="Properties"> + <resource name="wrap" resource="Properties" tag="shape"> <element name="wrap" tokenid="ooxml:wrap_wrap"/> </resource> - <resource name="CT_Wrap" resource="Properties"> + <resource name="CT_Wrap" resource="Properties" tag="shape"> <attribute name="type" tokenid="ooxml:CT_Wrap_type"/> <attribute name="side" tokenid="ooxml:CT_Wrap_side"/> <attribute name="anchorx" tokenid="ooxml:CT_Wrap_anchorx"/> @@ -21048,77 +21048,77 @@ </zeroOrMore> </define> </grammar> - <resource name="CT_Empty" resource="Stream"> + <resource name="CT_Empty" resource="Stream" tag="content"> <action name="end" tokenid="ooxml:EG_RunInnerContent_noBreakHyphen" action="noBreakHyphen"/> <action name="end" tokenid="ooxml:EG_RunInnerContent_softHyphen" action="softHyphen"/> <action name="end" tokenid="ooxml:EG_RunInnerContent_cr" action="cr"/> </resource> <resource name="ST_OnOff" resource="Boolean"/> - <resource name="CT_OnOff" resource="Value"> + <resource name="CT_OnOff" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_LongHexNumber" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_ShortHexNumber" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_UcharHexNumber" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_DecimalNumber" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_TwipsMeasure" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_SignedTwipsMeasure" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_PixelsMeasure" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_HpsMeasure" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_SignedHpsMeasure" resource="Value" tag="attribute"> <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="Value" generated="yes"> + <resource name="CT_MacroName" resource="Value" generated="yes" tag="attribute"> <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="Value"> + <resource name="CT_String" resource="Value" tag="attribute" > <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="Value"> + <resource name="CT_TextScale" resource="Value" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_TextScale_val" action="setValue"/> <action name="start" action="setDefaultIntegerValue"/> </resource> @@ -21141,7 +21141,7 @@ <value tokenid="16">lightGray</value> <value tokenid="0">none</value> </resource> - <resource name="CT_Highlight" resource="Value"> + <resource name="CT_Highlight" resource="Value" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_Highlight_val" action="setValue"/> </resource> <resource name="ST_HexColorAuto" resource="List"> @@ -21149,7 +21149,7 @@ </resource> <resource name="ST_HexColorRGB" resource="Hex"/> <resource name="ST_HexColor" resource="Hex"/> - <resource name="CT_Color" resource="Properties"> + <resource name="CT_Color" resource="Properties" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_Color_val"/> <attribute name="themeColor" tokenid="ooxml:CT_Color_themeColor"/> <attribute name="themeTint" tokenid="ooxml:CT_Color_themeTint"/> @@ -21157,12 +21157,12 @@ </resource> <resource name="ST_LangCode" resource="Hex" generated="yes"/> <resource name="ST_Lang" resource="String"/> - <resource name="CT_Lang" resource="Value"> + <resource name="CT_Lang" resource="Value" tag="attribute"> <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="Value"> + <resource name="CT_Guid" resource="Value" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_Guid_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -21186,7 +21186,7 @@ <value tokenid="43">wavyDouble</value> <value tokenid="0">none</value> </resource> - <resource name="CT_Underline" resource="Properties"> + <resource name="CT_Underline" resource="Properties" tag="character"> <attribute name="val" tokenid="ooxml:CT_Underline_val" default="single"/> <attribute name="color" tokenid="ooxml:CT_Underline_color"/> <attribute name="themeColor" tokenid="ooxml:CT_Underline_themeColor"/> @@ -21202,7 +21202,7 @@ <value tokenid="5">antsRed</value> <value tokenid="6">shimmer</value> </resource> - <resource name="CT_TextEffect" resource="Value"> + <resource name="CT_TextEffect" resource="Value" tag="character"> <attribute name="val" tokenid="ooxml:CT_TextEffect_val" action="setValue"/> </resource> <resource name="ST_Border" resource="List"> @@ -21398,7 +21398,7 @@ <value tokenid="226">zigZag</value> <value tokenid="227">zigZagStitch</value> </resource> - <resource name="CT_Border" resource="Properties"> + <resource name="CT_Border" resource="Properties" tag="attribute"> <attribute name="val" tokenid="rtf:BRCTYPE"/> <attribute name="color" tokenid="ooxml:CT_Border_color"/> <attribute name="themeColor" tokenid="ooxml:CT_Border_themeColor"/> @@ -21449,7 +21449,7 @@ <value tokenid="13">pct90</value> <value tokenid="60">pct95</value> </resource> - <resource name="CT_Shd" resource="Properties"> + <resource name="CT_Shd" resource="Properties" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_Shd_val"/> <attribute name="color" tokenid="ooxml:CT_Shd_color"/> <attribute name="themeColor" tokenid="ooxml:CT_Shd_themeColor"/> @@ -21460,16 +21460,16 @@ <attribute name="themeFillTint" tokenid="ooxml:CT_Shd_themeFillTint"/> <attribute name="themeFillShade" tokenid="ooxml:CT_Shd_themeFillShade"/> </resource> - <resource name="ST_VerticalAlignRun" resource="List" generated="yes"> + <resource name="ST_VerticalAlignRun" resource="List" generated="yes" tag="character"> <value name="baseline" tokenid="ooxml:Value_wordprocessingml_ST_VerticalAlignRun_baseline">baseline</value> <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="Value" generated="yes"> + <resource name="CT_VerticalAlignRun" resource="Value" generated="yes" tag="character"> <attribute name="val" tokenid="ooxml:CT_VerticalAlignRun_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_FitText" resource="Properties"> + <resource name="CT_FitText" resource="Properties" tag="paragraph"> <attribute name="val" tokenid="ooxml:CT_FitText_val"/> <attribute name="id" tokenid="ooxml:CT_FitText_id"/> </resource> @@ -21480,10 +21480,10 @@ <value tokenid="3">circle</value> <value tokenid="4">underDot</value> </resource> - <resource name="CT_Em" resource="Value"> + <resource name="CT_Em" resource="Value" tag="character"> <attribute name="val" tokenid="ooxml:CT_Em_val" action="setValue"/> </resource> - <resource name="CT_Language" resource="Properties"> + <resource name="CT_Language" resource="Properties" tag="character"> <attribute name="val" tokenid="ooxml:CT_Language_val"/> <attribute name="eastAsia" tokenid="ooxml:CT_Language_eastAsia"/> <attribute name="bidi" tokenid="ooxml:CT_Language_bidi"/> @@ -21495,7 +21495,7 @@ <value tokenid="3">angle</value> <value tokenid="4">curly</value> </resource> - <resource name="CT_EastAsianLayout" resource="Properties"> + <resource name="CT_EastAsianLayout" resource="Properties" tag="character"> <attribute name="id" tokenid="ooxml:CT_EastAsianLayout_id"/> <attribute name="combine" tokenid="ooxml:CT_EastAsianLayout_combine"/> <attribute name="combineBrackets" tokenid="ooxml:CT_EastAsianLayout_combineBrackets"/> @@ -21545,7 +21545,7 @@ <value name="drop" tokenid="ooxml:Value_wordprocessingml_ST_DropCap_drop">drop</value> <value name="margin" tokenid="ooxml:Value_wordprocessingml_ST_DropCap_margin">margin</value> </resource> - <resource name="CT_FramePr" resource="Properties"> + <resource name="CT_FramePr" resource="Properties" tag="frame"> <kind name="paragraph"/> <attribute name="dropCap" tokenid="ooxml:CT_FramePr_dropCap"/> <attribute name="lines" tokenid="ooxml:CT_FramePr_lines"/> @@ -21580,7 +21580,7 @@ <value tokenid="4">heavy</value> <value tokenid="ooxml:Value_ST_TabTlc_middleDot">middleDot</value> </resource> - <resource name="CT_TabStop" resource="Properties"> + <resource name="CT_TabStop" resource="Properties" tag="paragraph"> <attribute name="val" tokenid="ooxml:CT_TabStop_val"/> <attribute name="leader" tokenid="ooxml:CT_TabStop_leader"/> <attribute name="pos" tokenid="ooxml:CT_TabStop_pos"/> @@ -21590,7 +21590,7 @@ <value name="exact" tokenid="ooxml:Value_wordprocessingml_ST_LineSpacingRule_exact">exact</value> <value name="atLeast" tokenid="ooxml:Value_wordprocessingml_ST_LineSpacingRule_atLeast">atLeast</value> </resource> - <resource name="CT_Spacing" resource="Properties"> + <resource name="CT_Spacing" resource="Properties" tag="paragraüh"> <attribute name="before" tokenid="ooxml:CT_Spacing_before"/> <attribute name="beforeLines" tokenid="ooxml:CT_Spacing_beforeLines"/> <attribute name="beforeAutospacing" tokenid="ooxml:CT_Spacing_beforeAutospacing"/> @@ -21600,7 +21600,7 @@ <attribute name="line" tokenid="ooxml:CT_Spacing_line"/> <attribute name="lineRule" tokenid="ooxml:CT_Spacing_lineRule"/> </resource> - <resource name="CT_Ind" resource="Properties"> + <resource name="CT_Ind" resource="Properties" tag="paragraph"> <attribute name="left" tokenid="ooxml:CT_Ind_left"/> <attribute name="leftChars" tokenid="ooxml:CT_Ind_leftChars"/> <attribute name="right" tokenid="ooxml:CT_Ind_right"/> @@ -21622,7 +21622,7 @@ <value tokenid="ooxml:Value_ST_Jc_lowKashida">lowKashida</value> <value tokenid="ooxml:Value_ST_Jc_thaiDistribute">thaiDistribute</value> </resource> - <resource name="CT_Jc" resource="Value"> + <resource name="CT_Jc" resource="Value" tag="character"> <attribute name="val" tokenid="ooxml:CT_Jc_val" action="setValue"/> </resource> <resource name="ST_View" resource="List" generated="yes"> @@ -21633,7 +21633,7 @@ <value name="normal" tokenid="ooxml:Value_wordprocessingml_ST_View_normal">normal</value> <value name="web" tokenid="ooxml:Value_wordprocessingml_ST_View_web">web</value> </resource> - <resource name="CT_View" resource="Properties"> + <resource name="CT_View" resource="Properties" tag="settings"> <attribute name="val" tokenid="ooxml:CT_View_val"/> </resource> <resource name="ST_Zoom" resource="List" generated="yes"> @@ -21642,11 +21642,11 @@ <value name="bestFit" tokenid="ooxml:Value_wordprocessingml_ST_Zoom_bestFit">bestFit</value> <value name="textFit" tokenid="ooxml:Value_wordprocessingml_ST_Zoom_textFit">textFit</value> </resource> - <resource name="CT_Zoom" resource="Properties"> + <resource name="CT_Zoom" resource="Properties" tag="settings"> <attribute name="val" tokenid="ooxml:CT_Zoom_val"/> <attribute name="percent" tokenid="ooxml:CT_Zoom_percent"/> </resource> - <resource name="CT_WritingStyle" resource="Properties"> + <resource name="CT_WritingStyle" resource="Properties" tag="settings"> <attribute name="lang" tokenid="ooxml:CT_WritingStyle_lang"/> <attribute name="vendorID" tokenid="ooxml:CT_WritingStyle_vendorID"/> <attribute name="dllVersion" tokenid="ooxml:CT_WritingStyle_dllVersion"/> @@ -21658,7 +21658,7 @@ <value name="clean" tokenid="ooxml:Value_wordprocessingml_ST_Proof_clean">clean</value> <value name="dirty" tokenid="ooxml:Value_wordprocessingml_ST_Proof_dirty">dirty</value> </resource> - <resource name="CT_Proof" resource="Properties"> + <resource name="CT_Proof" resource="Properties" tag="redline"> <attribute name="spelling" tokenid="ooxml:CT_Proof_spelling"/> <attribute name="grammar" tokenid="ooxml:CT_Proof_grammar"/> </resource> @@ -21667,7 +21667,7 @@ <value name="letter" tokenid="ooxml:Value_wordprocessingml_ST_DocType_letter">letter</value> <value name="eMail" tokenid="ooxml:Value_wordprocessingml_ST_DocType_eMail">eMail</value> </resource> - <resource name="CT_DocType" resource="Properties"> + <resource name="CT_DocType" resource="Properties" tag="document"> <attribute name="val" tokenid="ooxml:CT_DocType_val"/> </resource> <resource name="ST_DocProtect" resource="List" generated="yes"> @@ -21701,7 +21701,7 @@ <attribute name="hash" tokenid="ooxml:AG_Password_hash"/> <attribute name="salt" tokenid="ooxml:AG_Password_salt"/> </resource> - <resource name="CT_DocProtect" resource="Properties"> + <resource name="CT_DocProtect" resource="Properties" tag="document"> <attribute name="edit" tokenid="ooxml:CT_DocProtect_edit"/> <attribute name="formatting" tokenid="ooxml:CT_DocProtect_formatting"/> <attribute name="enforcement" tokenid="ooxml:CT_DocProtect_enforcement"/> @@ -21714,7 +21714,7 @@ <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="Value" generated="yes"> + <resource name="CT_MailMergeDocType" resource="Value" generated="yes" tag="mailmerge"> <attribute name="val" tokenid="ooxml:CT_MailMergeDocType_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -21726,7 +21726,7 @@ <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="Value" generated="yes"> + <resource name="CT_MailMergeDataType" resource="Value" generated="yes" tag="mailmerge"> <attribute name="val" tokenid="ooxml:CT_MailMergeDataType_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -21736,7 +21736,7 @@ <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="Value" generated="yes"> + <resource name="CT_MailMergeDest" resource="Value" generated="yes" tag="mailmerge"> <attribute name="val" tokenid="ooxml:CT_MailMergeDest_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -21744,18 +21744,18 @@ <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="Value" generated="yes"> + <resource name="CT_MailMergeOdsoFMDFieldType" resource="Value" generated="yes" tag="mailmerge"> <attribute name="val" tokenid="ooxml:CT_MailMergeOdsoFMDFieldType_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_TrackChangesView" resource="Properties"> + <resource name="CT_TrackChangesView" resource="Properties" tag="redline"> <attribute name="markup" tokenid="ooxml:CT_TrackChangesView_markup"/> <attribute name="comments" tokenid="ooxml:CT_TrackChangesView_comments"/> <attribute name="insDel" tokenid="ooxml:CT_TrackChangesView_insDel"/> <attribute name="formatting" tokenid="ooxml:CT_TrackChangesView_formatting"/> <attribute name="inkAnnotations" tokenid="ooxml:CT_TrackChangesView_inkAnnotations"/> </resource> - <resource name="CT_Kinsoku" resource="Properties"> + <resource name="CT_Kinsoku" resource="Properties" tag="character"> <attribute name="lang" tokenid="ooxml:CT_Kinsoku_lang"/> <attribute name="val" tokenid="ooxml:CT_Kinsoku_val"/> </resource> @@ -21767,7 +21767,7 @@ <value tokenid="5">tbRlV</value> <value tokenid="ooxml:Value_ST_TextDirection_tbLrV">tbLrV</value> </resource> - <resource name="CT_TextDirection" resource="Value"> + <resource name="CT_TextDirection" resource="Value" tag="paragraph"> <attribute name="val" tokenid="ooxml:CT_TextDirection_val" action="setValue"/> </resource> <resource name="ST_TextAlignment" resource="List" generated="yes"> @@ -21777,7 +21777,7 @@ <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"> + <resource name="CT_TextAlignment" resource="Value" generated="yes" tag="paragraph"> <attribute name="val" tokenid="ooxml:CT_TextAlignment_val" action="setValue"/> </resource> <resource name="ST_DisplacedByCustomXml" resource="List" generated="yes"> @@ -21788,80 +21788,80 @@ <value name="cont" tokenid="ooxml:Value_wordprocessingml_ST_AnnotationVMerge_cont">cont</value> <value name="rest" tokenid="ooxml:Value_wordprocessingml_ST_AnnotationVMerge_rest">rest</value> </resource> - <resource name="CT_Markup" resource="Properties"> + <resource name="CT_Markup" resource="Properties" tag="redline"> <attribute name="id" tokenid="ooxml:CT_Markup_id"/> </resource> - <resource name="CT_TrackChange" resource="Properties"> + <resource name="CT_TrackChange" resource="Properties" tag="redline"> <attribute name="author" tokenid="ooxml:CT_TrackChange_author"/> <attribute name="date" tokenid="ooxml:CT_TrackChange_date"/> </resource> - <resource name="CT_CellMergeTrackChange" resource="Properties"> + <resource name="CT_CellMergeTrackChange" resource="Properties" tag="redline"> <attribute name="vMerge" tokenid="ooxml:CT_CellMergeTrackChange_vMerge"/> <attribute name="vMergeOrig" tokenid="ooxml:CT_CellMergeTrackChange_vMergeOrig"/> </resource> - <resource name="CT_TrackChangeRange" resource="Properties"> + <resource name="CT_TrackChangeRange" resource="Properties" tag="redline"> <attribute name="displacedByCustomXml" tokenid="ooxml:CT_TrackChangeRange_displacedByCustomXml"/> </resource> - <resource name="CT_MarkupRange" resource="Properties"> + <resource name="CT_MarkupRange" resource="Properties" tag="redline"> <attribute name="displacedByCustomXml" tokenid="ooxml:CT_MarkupRange_displacedByCustomXml"/> </resource> - <resource name="CT_MarkupRangeBookmark" resource="Properties"> + <resource name="CT_MarkupRangeBookmark" resource="Properties" tag="redline"> <attribute name="id" tokenid="rtf:IBKL"/> </resource> - <resource name="CT_BookmarkRange" resource="Properties"> + <resource name="CT_BookmarkRange" resource="Properties" tag="reference"> <type name="Bookmark"/> <attribute name="colFirst" tokenid="ooxml:CT_BookmarkRange_colFirst"/> <attribute name="colLast" tokenid="ooxml:CT_BookmarkRange_colLast"/> </resource> - <resource name="CT_Bookmark" resource="Properties"> + <resource name="CT_Bookmark" resource="Properties" tag="reference"> <type name="Bookmark"/> <attribute name="name" tokenid="rtf:BOOKMARKNAME"/> </resource> - <resource name="CT_MoveBookmark" resource="Properties"> + <resource name="CT_MoveBookmark" resource="Properties" tag="reference"> <attribute name="author" tokenid="ooxml:CT_MoveBookmark_author"/> <attribute name="date" tokenid="ooxml:CT_MoveBookmark_date"/> </resource> - <resource name="CT_Comment" resource="XNote"> + <resource name="CT_Comment" resource="XNote" tag="content"> <attribute name="id" action="checkId"/> <attribute name="initials" tokenid="ooxml:CT_Comment_initials"/> </resource> - <resource name="CT_TrackChangeNumbering" resource="Properties"> + <resource name="CT_TrackChangeNumbering" resource="Properties" tag="numbering"> <attribute name="original" tokenid="ooxml:CT_TrackChangeNumbering_original"/> </resource> - <resource name="CT_TblPrExChange" resource="Properties"> + <resource name="CT_TblPrExChange" resource="Properties" tag="table"> <element name="tblPrEx" tokenid="ooxml:CT_TblPrExChange_tblPrEx"/> </resource> - <resource name="CT_TcPrChange" resource="Properties"> + <resource name="CT_TcPrChange" resource="Properties" tag="table"> <element name="tcPr" tokenid="ooxml:CT_TcPrChange_tcPr"/> </resource> - <resource name="CT_TrPrChange" resource="Properties"> + <resource name="CT_TrPrChange" resource="Properties" tag="table"> <element name="trPr" tokenid="ooxml:CT_TrPrChange_trPr"/> </resource> - <resource name="CT_TblGridChange" resource="Properties"> + <resource name="CT_TblGridChange" resource="Properties" tag="table"> <element name="tblGrid" tokenid="ooxml:CT_TblGridChange_tblGrid"/> </resource> - <resource name="CT_TblPrChange" resource="Properties"> + <resource name="CT_TblPrChange" resource="Properties" tag="table"> <element name="tblPr" tokenid="ooxml:CT_TblPrChange_tblPr"/> </resource> - <resource name="CT_SectPrChange" resource="Properties"> + <resource name="CT_SectPrChange" resource="Properties" tag="section"> <element name="sectPr" tokenid="ooxml:CT_SectPrChange_sectPr"/> </resource> - <resource name="CT_PPrChange" resource="Properties"> + <resource name="CT_PPrChange" resource="Properties" tag="paragraph"> <element name="pPr" tokenid="ooxml:CT_PPrChange_pPr"/> </resource> - <resource name="CT_RPrChange" resource="Properties"> + <resource name="CT_RPrChange" resource="Properties" tag="character"> <element name="rPr" tokenid="ooxml:CT_RPrChange_rPr"/> </resource> - <resource name="CT_ParaRPrChange" resource="Properties"> + <resource name="CT_ParaRPrChange" resource="Properties" tag="character"> <element name="rPr" tokenid="ooxml:CT_ParaRPrChange_rPr"/> </resource> - <resource name="CT_RunTrackChange" resource="Stream"> + <resource name="CT_RunTrackChange" resource="Stream" tag="redlines"> <action name="start" action="tokenproperty"/> <action name="start" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:trackchange"/> <action name="start" action="clearProps"/> <action name="end" action="mark" sendtokenid="ooxml:endtrackchange"/> </resource> - <resource name="EG_RangeMarkupElements" resource="Properties"> + <resource name="EG_RangeMarkupElements" resource="Properties" tag="redlines"> <element name="bookmarkStart" tokenid="ooxml:EG_RangeMarkupElements_bookmarkStart"/> <element name="bookmarkEnd" tokenid="ooxml:EG_RangeMarkupElements_bookmarkEnd"/> <element name="moveFromRangeStart" tokenid="ooxml:EG_RangeMarkupElements_moveFromRangeStart"/> @@ -21879,14 +21879,14 @@ <element name="customXmlMoveToRangeStart" tokenid="ooxml:EG_RangeMarkupElements_customXmlMoveToRangeStart"/> <element name="customXmlMoveToRangeEnd" tokenid="ooxml:EG_RangeMarkupElements_customXmlMoveToRangeEnd"/> </resource> - <resource name="CT_NumPr" resource="Properties"> + <resource name="CT_NumPr" resource="Properties" tag="numbering"> <kind name="paragraph"/> <element name="ilvl" tokenid="sprm:PIlvl"/> <element name="numId" tokenid="sprm:PIlfo"/> <element name="numberingChange" tokenid="ooxml:CT_NumPr_numberingChange"/> <element name="ins" tokenid="ooxml:CT_NumPr_ins"/> </resource> - <resource name="CT_PBdr" resource="Properties"> + <resource name="CT_PBdr" resource="Properties" tag="paragraph"> <kind name="paragraph"/> <element name="top" tokenid="sprm:PBrcTop"/> <element name="left" tokenid="sprm:PBrcLeft"/> @@ -21895,7 +21895,7 @@ <element name="between" tokenid="sprm:PBrcBetween"/> <element name="bar" tokenid="sprm:PBrcBar"/> </resource> - <resource name="CT_Tabs" resource="Properties"> + <resource name="CT_Tabs" resource="Properties" tag="paragraph"> <element name="tab" tokenid="ooxml:CT_Tabs_tab"/> </resource> <resource name="ST_TextboxTightWrap" resource="List" generated="yes"> @@ -21905,11 +21905,11 @@ <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="Value" generated="yes"> + <resource name="CT_TextboxTightWrap" resource="Value" generated="yes" tag="textbox"> <attribute name="val" tokenid="ooxml:CT_TextboxTightWrap_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_PPrBase" resource="Properties"> + <resource name="CT_PPrBase" resource="Properties" tag="paragraph"> <kind name="paragraph"/> <element name="pStyle" tokenid="ooxml:CT_PPrBase_pStyle"/> <element name="keepNext" tokenid="sprm:PFKeepFollow"/> @@ -21945,12 +21945,12 @@ <element name="divId" tokenid="ooxml:CT_PPrBase_divId"/> <element name="cnfStyle" tokenid="ooxml:CT_PPrBase_cnfStyle"/> </resource> - <resource name="CT_PPr" resource="Properties"> + <resource name="CT_PPr" resource="Properties" tag="paragraph"> <element name="rPr" tokenid="ooxml:CT_PPr_rPr"/> <element name="sectPr" tokenid="ooxml:CT_PPr_sectPr"/> <element name="pPrChange" tokenid="ooxml:CT_PPr_pPrChange"/> </resource> - <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Control" resource="Properties"> + <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Control" resource="Properties" tag="control"> <attribute name="name" tokenid="ooxml:CT_Control_name"/> <attribute name="shapeid" tokenid="ooxml:CT_Control_shapeid"/> <attribute name="r:id" tokenid="ooxml:CT_Control_r_id"/> @@ -21964,24 +21964,24 @@ <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Rel" resource="Properties"> <attribute name="r:id" tokenid="ooxml:CT_Rel_id"/> </resource> - <resource name="CT_PictureBase" resource="Properties"/> - <resource name="CT_Object" resource="Shape"> + <resource name="CT_PictureBase" resource="Properties" tag="shape"/> + <resource name="CT_Object" resource="Shape" tag="shape"> <element name="control" tokenid="ooxml:CT_Object_control"/> <attribute name="dxaOrig" tokenid="ooxml:CT_Object_dxaOrig"/> <attribute name="dyaOrig" tokenid="ooxml:CT_Object_dyaOrig"/> <action name="end" action="sendPropertiesWithId" sendtokenid="ooxml:object"/> <action name="end" action="clearProps"/> </resource> - <resource name="CT_Picture" resource="Shape"> + <resource name="CT_Picture" resource="Shape" tag="shape"> <element name="movie" tokenid="ooxml:CT_Picture_movie"/> <element name="control" tokenid="ooxml:CT_Picture_control"/> <action name="end" action="sendPropertiesWithId" sendtokenid="ooxml:object"/> <action name="end" action="clearProps"/> </resource> - <resource name="CT_Drawing" resource="Properties"> + <resource name="CT_Drawing" resource="Properties" tag="shape"> <action name="end" action="handlePicture"/> </resource> - <resource name="CT_SimpleField" resource="Stream"> + <resource name="CT_SimpleField" resource="Stream" tag="field"> <element name="fldData" tokenid="ooxml:CT_SimpleField_fldData"/> <attribute name="instr" tokenid="ooxml:CT_SimpleField_instr"/> <attribute name="fldLock" tokenid="ooxml:CT_SimpleField_fldLock"/> @@ -22013,15 +22013,15 @@ <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="Value" generated="yes"> + <resource name="CT_FFTextType" resource="Value" generated="yes" tag="field"> <attribute name="val" tokenid="ooxml:CT_FFTextType_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_FFName" resource="Value" generated="yes"> + <resource name="CT_FFName" resource="Value" generated="yes" tag="field"> <attribute name="val" tokenid="ooxml:CT_FFName_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_FldChar" resource="Stream"> + <resource name="CT_FldChar" resource="Stream" tag="field"> <element name="fldData" tokenid="ooxml:CT_FldChar_fldData"/> <element name="ffData" tokenid="ooxml:CT_FldChar_ffData"/> <element name="numberingChange" tokenid="ooxml:CT_FldChar_numberingChange"/> @@ -22038,7 +22038,7 @@ <cond tokenid="ooxml:CT_FldChar_fldCharType" value="ooxml:Value_ST_FldCharType_end"/> </action> </resource> - <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Hyperlink" resource="Stream"> + <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_Hyperlink" resource="Stream" tag="link"> <attribute name="tgtFrame" tokenid="ooxml:CT_Hyperlink_tgtFrame"/> <attribute name="tooltip" tokenid="ooxml:CT_Hyperlink_tooltip"/> <attribute name="docLocation" tokenid="ooxml:CT_Hyperlink_docLocation"/> @@ -22050,7 +22050,7 @@ <action name="start" action="fieldsep"/> <action name="end" action="fieldend"/> </resource> - <resource name="CT_FFData" resource="Properties"> + <resource name="CT_FFData" resource="Properties" tag="field"> <element name="name" tokenid="ooxml:CT_FFData_name"/> <element name="enabled" tokenid="ooxml:CT_FFData_enabled"/> <element name="calcOnExit" tokenid="ooxml:CT_FFData_calcOnExit"/> @@ -22064,39 +22064,39 @@ <action name="end" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:ffdata"/> <action name="end" action="clearProps"/> </resource> - <resource name="CT_FFHelpText" resource="Properties"> + <resource name="CT_FFHelpText" resource="Properties" tag="field"> <attribute name="type" tokenid="ooxml:CT_FFHelpText_type"/> <attribute name="val" tokenid="ooxml:CT_FFHelpText_val"/> </resource> - <resource name="CT_FFStatusText" resource="Properties"> + <resource name="CT_FFStatusText" resource="Properties" tag="field"> <attribute name="type" tokenid="ooxml:CT_FFStatusText_type"/> <attribute name="val" tokenid="ooxml:CT_FFStatusText_val"/> </resource> - <resource name="CT_FFCheckBox" resource="Properties"> + <resource name="CT_FFCheckBox" resource="Properties" tag="field"> <element name="size" tokenid="ooxml:CT_FFCheckBox_size"/> <element name="sizeAuto" tokenid="ooxml:CT_FFCheckBox_sizeAuto"/> <element name="default" tokenid="ooxml:CT_FFCheckBox_default"/> <element name="checked" tokenid="ooxml:CT_FFCheckBox_checked"/> </resource> - <resource name="CT_FFDDList" resource="Properties"> + <resource name="CT_FFDDList" resource="Properties" tag="field"> <element name="result" tokenid="ooxml:CT_FFDDList_result"/> <element name="default" tokenid="ooxml:CT_FFDDList_default"/> <element name="listEntry" tokenid="ooxml:CT_FFDDList_listEntry"/> </resource> - <resource name="CT_FFTextInput" resource="Properties"> + <resource name="CT_FFTextInput" resource="Properties" tag="field"> <element name="type" tokenid="ooxml:CT_FFTextInput_type"/> <element name="default" tokenid="ooxml:CT_FFTextInput_default"/> <element name="maxLength" tokenid="ooxml:CT_FFTextInput_maxLength"/> <element name="format" tokenid="ooxml:CT_FFTextInput_format"/> </resource> - <resource name="ST_SectionMark" resource="List"> + <resource name="ST_SectionMark" resource="List" tag="section"> <value tokenid="0">continuous</value> <value tokenid="1">nextColumn</value> <value tokenid="2">nextPage</value> <value tokenid="3">evenPage</value> <value tokenid="4">oddPage</value> </resource> - <resource name="CT_SectType" resource="Value"> + <resource name="CT_SectType" resource="Value" tag="section"> <attribute name="val" tokenid="ooxml:CT_SectType_val" action="setValue"/> </resource> <resource name="ST_NumberFormat" resource="List"> @@ -22165,13 +22165,13 @@ <value tokenid="0">portrait</value> <value tokenid="1">landscape</value> </resource> - <resource name="CT_PageSz" resource="Properties"> + <resource name="CT_PageSz" resource="Properties" tag="page"> <attribute name="w" tokenid="ooxml:CT_PageSz_w"/> <attribute name="h" tokenid="ooxml:CT_PageSz_h"/> <attribute name="orient" tokenid="ooxml:CT_PageSz_orient"/> <attribute name="code" tokenid="ooxml:CT_PageSz_code"/> </resource> - <resource name="CT_PageMar" resource="Properties"> + <resource name="CT_PageMar" resource="Properties" tag="page"> <attribute name="top" tokenid="ooxml:CT_PageMar_top"/> <attribute name="right" tokenid="ooxml:CT_PageMar_right"/> <attribute name="bottom" tokenid="ooxml:CT_PageMar_bottom"/> @@ -22193,7 +22193,7 @@ <value name="page" tokenid="ooxml:Value_wordprocessingml_ST_PageBorderOffset_page">page</value> <value name="text" tokenid="ooxml:Value_wordprocessingml_ST_PageBorderOffset_text">text</value> </resource> - <resource name="CT_PageBorders" resource="Properties"> + <resource name="CT_PageBorders" resource="Properties" tag="page"> <element name="top" tokenid="ooxml:CT_PageBorders_top"/> <element name="left" tokenid="ooxml:CT_PageBorders_left"/> <element name="bottom" tokenid="ooxml:CT_PageBorders_bottom"/> @@ -22214,23 +22214,23 @@ <value tokenid="1">newSection</value> <value tokenid="2">continuous</value> </resource> - <resource name="CT_LineNumber" resource="Properties"> + <resource name="CT_LineNumber" resource="Properties" tag="section"> <attribute name="countBy" tokenid="ooxml:CT_LineNumber_countBy"/> <attribute name="start" tokenid="ooxml:CT_LineNumber_start"/> <attribute name="distance" tokenid="ooxml:CT_LineNumber_distance"/> <attribute name="restart" tokenid="ooxml:CT_LineNumber_restart"/> </resource> - <resource name="CT_PageNumber" resource="Properties"> + <resource name="CT_PageNumber" resource="Properties" tag="page"> <attribute name="fmt" tokenid="ooxml:CT_PageNumber_fmt"/> <attribute name="start" tokenid="ooxml:CT_PageNumber_start"/> <attribute name="chapStyle" tokenid="ooxml:CT_PageNumber_chapStyle"/> <attribute name="chapSep" tokenid="ooxml:CT_PageNumber_chapSep"/> </resource> - <resource name="CT_Column" resource="Properties"> + <resource name="CT_Column" resource="Properties" tag="page"> <attribute name="space" tokenid="ooxml:CT_Column_space"/> <attribute name="w" tokenid="ooxml:CT_Column_w"/> </resource> - <resource name="CT_Columns" resource="Properties"> + <resource name="CT_Columns" resource="Properties" tag="page"> <attribute name="equalWidth" tokenid="ooxml:CT_Columns_equalWidth"/> <attribute name="space" tokenid="ooxml:CT_Columns_space"/> <attribute name="num" tokenid="ooxml:CT_Columns_num"/> @@ -22243,7 +22243,7 @@ <value tokenid="2">both</value> <value tokenid="3">bottom</value> </resource> - <resource name="CT_VerticalJc" resource="Value"> + <resource name="CT_VerticalJc" resource="Value" tag="page"> <attribute name="val" tokenid="ooxml:CT_VerticalJc_val" action="setValue"/> </resource> <resource name="ST_DocGrid" resource="List" generated="yes"> @@ -22252,7 +22252,7 @@ <value name="linesAndChars" tokenid="ooxml:Value_wordprocessingml_ST_DocGrid_linesAndChars">linesAndChars</value> <value name="snapToChars" tokenid="ooxml:Value_wordprocessingml_ST_DocGrid_snapToChars">snapToChars</value> </resource> - <resource name="CT_DocGrid" resource="Properties"> + <resource name="CT_DocGrid" resource="Properties" tag="document"> <attribute name="type" tokenid="ooxml:CT_DocGrid_type"/> <attribute name="linePitch" tokenid="ooxml:CT_DocGrid_linePitch"/> <attribute name="charSpace" tokenid="ooxml:CT_DocGrid_charSpace"/> @@ -22268,17 +22268,17 @@ <value name="continuationSeparator" tokenid="ooxml:Value_wordprocessingml_ST_FtnEdn_continuationSeparator">continuationSeparator</value> <value name="continuationNotice" tokenid="ooxml:Value_wordprocessingml_ST_FtnEdn_continuationNotice">continuationNotice</value> </resource> - <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_HdrFtrRef" resource="Properties"> + <resource xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" name="CT_HdrFtrRef" resource="Properties" tag="header"> <attribute name="type" tokenid="ooxml:CT_HdrFtrRef_type"/> <attribute name="r:id" tokenid="ooxml:CT_HdrFtrRef_id"/> <action name="end" action="handleHdrFtr"/> </resource> - <resource name="EG_HdrFtrReferences" resource="Properties"> + <resource name="EG_HdrFtrReferences" resource="Properties" tag="header"> <element name="headerReference" tokenid="ooxml:EG_HdrFtrReferences_headerReference"/> <element name="footerReference" tokenid="ooxml:EG_HdrFtrReferences_footerReference"/> </resource> - <resource name="CT_HdrFtr" resource="Stream"/> - <resource name="EG_SectPrContents" resource="Properties"> + <resource name="CT_HdrFtr" resource="Stream" tag="header"/> + <resource name="EG_SectPrContents" resource="Properties" tag="section"> <element name="bidi" tokenid="ooxml:EG_SectPrContents_bidi"/> <element name="cols" tokenid="ooxml:EG_SectPrContents_cols"/> <element name="docGrid" tokenid="ooxml:EG_SectPrContents_docGrid"/> @@ -22299,8 +22299,8 @@ <element name="type" tokenid="sprm:SBkc"/> <element name="vAlign" tokenid="ooxml:EG_SectPrContents_vAlign"/> </resource> - <resource name="CT_SectPrBase" resource="Properties"/> - <resource name="CT_SectPr" resource="Properties"> + <resource name="CT_SectPrBase" resource="Properties" tag="section"/> + <resource name="CT_SectPr" resource="Properties" tag="section"> <element name="sectPrChange" tokenid="ooxml:CT_SectPr_sectPrChange"/> <action name="start" action="setLastParagraphInSection"/> </resource> @@ -22315,7 +22315,7 @@ <value tokenid="ooxml:Value_ST_BrClear_right">right</value> <value tokenid="ooxml:Value_ST_BrClear_all">all</value> </resource> - <resource name="CT_Br" resource="Properties"> + <resource name="CT_Br" resource="Properties" tag="content"> <attribute name="type" tokenid="ooxml:CT_Br_type"/> <attribute name="clear" tokenid="ooxml:CT_Br_clear"/> <action name="end" action="handleBreak"/> @@ -22336,13 +22336,13 @@ <value tokenid="ooxml:Value_ST_PTabLeader_underscore">underscore</value> <value tokenid="ooxml:Value_ST_PTabLeader_middleDot">middleDot</value> </resource> - <resource name="CT_PTab" resource="Stream"> + <resource name="CT_PTab" resource="Stream" tag="paragraph"> <attribute name="alignment" tokenid="ooxml:CT_PTab_alignment"/> <attribute name="relativeTo" tokenid="ooxml:CT_PTab_relativeTo"/> <attribute name="leader" tokenid="ooxml:CT_PTab_leader"/> <action name="end" action="tab"/> </resource> - <resource name="CT_Sym" resource="Properties"> + <resource name="CT_Sym" resource="Properties" tag="character"> <attribute name="font" tokenid="ooxml:CT_Sym_font"/> <attribute name="char" tokenid="ooxml:CT_Sym_char"/> </resource> @@ -22361,29 +22361,29 @@ <value name="owners" tokenid="ooxml:Value_wordprocessingml_ST_EdGrp_owners">owners</value> <value name="current" tokenid="ooxml:Value_wordprocessingml_ST_EdGrp_current">current</value> </resource> - <resource name="CT_Text" resource="Stream"> + <resource name="CT_Text" resource="Stream" tag="content"> <attribute name="xml:space" tokenid="ooxml:CT_Text_space"/> <action name="characters" action="text"/> </resource> - <resource name="CT_FtnEdnRefChar" resource="Stream"> + <resource name="CT_FtnEdnRefChar" resource="Stream" tag="reference"> <action name="end" action="ftnednref"/> </resource> - <resource name="CT_FtnEdnSep" resource="Stream"> + <resource name="CT_FtnEdnSep" resource="Stream" tag="reference"> <action name="end" action="ftnednsep"/> </resource> - <resource name="CT_FtnEdnCont" resource="Stream"> + <resource name="CT_FtnEdnCont" resource="Stream" tag="reference"> <action name="end" action="ftnedncont"/> </resource> - <resource name="CT_PgNum" resource="Stream"> + <resource name="CT_PgNum" resource="Stream" tag="reference"> <action name="end" action="pgNum"/> </resource> - <resource name="CT_Cr" resource="Stream"> + <resource name="CT_Cr" resource="Stream" tag="content"> <action name="end" action="endOfParagraph"/> </resource> - <resource name="CT_Tab" resource="Stream"> + <resource name="CT_Tab" resource="Stream" tag="content"> <action name="end" action="tab"/> </resource> - <resource name="EG_RunInnerContent" resource="Stream"> + <resource name="EG_RunInnerContent" resource="Stream" tag="content"> <element name="br" tokenid="ooxml:EG_RunInnerContent_br"/> <element name="t" tokenid="ooxml:EG_RunInnerContent_t"/> <element name="delText" tokenid="ooxml:EG_RunInnerContent_delText"/> @@ -22417,7 +22417,7 @@ <element name="ptab" tokenid="ooxml:EG_RunInnerContent_ptab"/> <element name="lastRenderedPageBreak" tokenid="ooxml:EG_RunInnerContent_lastRenderedPageBreak"/> </resource> - <resource name="CT_R" resource="Stream"> + <resource name="CT_R" resource="Stream" tag="content"> <action name="start" action="startCharacterGroup"/> </resource> <resource name="ST_Hint" resource="List"> @@ -22435,7 +22435,7 @@ <value tokenid="ooxml:Value_ST_Theme_minorAscii">minorAscii</value> <value tokenid="ooxml:Value_ST_Theme_minorHAnsi">minorHAnsi</value> </resource> - <resource name="CT_Fonts" resource="Properties"> + <resource name="CT_Fonts" resource="Properties" tag="font"> <attribute name="hint" tokenid="ooxml:CT_Fonts_hint"/> <attribute name="ascii" tokenid="ooxml:CT_Fonts_ascii"/> <attribute name="hAnsi" tokenid="ooxml:CT_Fonts_hAnsi"/> @@ -22446,7 +22446,7 @@ <attribute name="eastAsiaTheme" tokenid="ooxml:CT_Fonts_eastAsiaTheme"/> <attribute name="cstheme" tokenid="ooxml:CT_Fonts_cstheme"/> </resource> - <resource name="EG_RPrBase" resource="Properties"> + <resource name="EG_RPrBase" resource="Properties" tag="paragraph"> <kind name="paragraph"/> <element name="rStyle" tokenid="ooxml:EG_RPrBase_rStyle"/> <element name="rFonts" tokenid="ooxml:EG_RPrBase_rFonts"/> @@ -22488,19 +22488,19 @@ <element name="specVanish" tokenid="0x818"/> <element name="oMath" tokenid="ooxml:EG_RPrBase_oMath"/> </resource> - <resource name="EG_RPrContent" resource="Properties"> + <resource name="EG_RPrContent" resource="Properties" tag="character"> <element name="rPrChange" tokenid="ooxml:EG_RPrContent_rPrChange"/> </resource> - <resource name="CT_RPr" resource="Properties"> + <resource name="CT_RPr" resource="Properties" tag="character"> </resource> - <resource name="CT_RPrOriginal" resource="Properties"/> - <resource name="CT_ParaRPrOriginal" resource="Properties"/> - <resource name="CT_ParaRPr" resource="Properties"> + <resource name="CT_RPrOriginal" resource="Properties" tag="character"/> + <resource name="CT_ParaRPrOriginal" resource="Properties" tag="paragraph"/> + <resource name="CT_ParaRPr" resource="Properties" tag="redline"> <element name="ins" tokenid="ooxml:CT_ParaRPr_ins"/> <element name="del" tokenid="ooxml:CT_ParaRPr_del"/> <element name="rPrChange" tokenid="ooxml:CT_ParaRPr_rPrChange"/> </resource> - <resource name="CT_ParaTrackChange" resource="Properties"> + <resource name="CT_ParaTrackChange" resource="Properties" tag="redline"> <action name="start" action="tokenproperty"/> <action name="start" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:paratrackchange"/> <action name="start" action="clearProps"/> @@ -22513,7 +22513,7 @@ <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="Value" generated="yes"> + <resource name="CT_RubyAlign" resource="Value" generated="yes" tag="character"> <attribute name="val" tokenid="ooxml:CT_RubyAlign_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -22523,7 +22523,7 @@ <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="Value" generated="yes"> + <resource name="CT_Lock" resource="Value" generated="yes" tag="content"> <attribute name="val" tokenid="ooxml:CT_Lock_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -22532,7 +22532,7 @@ <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="Value" generated="yes"> + <resource name="CT_SdtDateMappingType" resource="Value" generated="yes" tag="content"> <attribute name="val" tokenid="ooxml:CT_SdtDateMappingType_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -22548,32 +22548,32 @@ <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="Value" generated="yes"> + <resource name="CT_CalendarType" resource="Value" generated="yes" tag="content"> <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="Properties"> + <resource name="CT_SdtContentRun" resource="Properties" tag="content"/> + <resource name="CT_Attr" resource="Properties" tag="content"> <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"> + <resource name="CT_CustomXmlRun" resource="Properties" tag="content"> <element name="customXmlPr" tokenid="ooxml:CT_CustomXmlRun_customXmlPr"/> <attribute name="uri" tokenid="ooxml:CT_CustomXmlRun_uri"/> <attribute name="element" tokenid="ooxml:CT_CustomXmlRun_element"/> </resource> - <resource name="CT_SmartTagRun" resource="Properties"> + <resource name="CT_SmartTagRun" resource="Properties" tag="content"> <element name="smartTagPr" tokenid="ooxml:CT_SmartTagRun_smartTagPr"/> <attribute name="uri" tokenid="ooxml:CT_SmartTagRun_uri"/> <attribute name="element" tokenid="ooxml:CT_SmartTagRun_element"/> </resource> - <resource name="EG_PContent" resource="Properties"> + <resource name="EG_PContent" resource="Properties" tag="content"> <element name="fldSimple" tokenid="ooxml:EG_PContent_fldSimple"/> <element name="hyperlink" tokenid="ooxml:EG_PContent_hyperlink"/> <element name="subDoc" tokenid="ooxml:EG_PContent_subDoc"/> </resource> - <resource name="CT_P" resource="Stream"> + <resource name="CT_P" resource="Stream" tag="content"> <action name="start" action="handleLastParagraphInSection"/> <action name="start" action="startParagraphGroup"/> <action name="start" action="setHandle"/> @@ -22586,27 +22586,27 @@ <value tokenid="ooxml:Value_ST_TblWidth_dxa">dxa</value> <value tokenid="ooxml:Value_ST_TblWidth_auto">auto</value> </resource> - <resource name="CT_Height" resource="Properties"> + <resource name="CT_Height" resource="Properties" tag="attribute"> <attribute name="val" tokenid="ooxml:CT_Height_val"/> <attribute name="hRule" tokenid="ooxml:CT_Height_hRule"/> </resource> - <resource name="CT_TblWidth" resource="Properties"> + <resource name="CT_TblWidth" resource="Properties" tag="table"> <attribute name="w" tokenid="ooxml:CT_TblWidth_w"/> <attribute name="type" tokenid="ooxml:CT_TblWidth_type"/> </resource> - <resource name="CT_TblGridCol" resource="Value"> + <resource name="CT_TblGridCol" resource="Value" tag="table"> <attribute name="w" tokenid="ooxml:CT_TblGridCol_w" action="setValue"/> <action name="start" action="setDefaultIntegerValue"/> </resource> - <resource name="CT_TblGridBase" resource="Properties"> + <resource name="CT_TblGridBase" resource="Properties" tag="table"> <element name="gridCol" tokenid="ooxml:CT_TblGridBase_gridCol"/> </resource> - <resource name="CT_TblGrid" resource="Properties"> + <resource name="CT_TblGrid" resource="Properties" tag="table"> <element name="tblGridChange" tokenid="ooxml:CT_TblGrid_tblGridChange"/> <action name="end" action="propagateTableProperties"/> <action name="end" action="clearProps"/> </resource> - <resource name="CT_TcBorders" resource="Properties"> + <resource name="CT_TcBorders" resource="Properties" tag="table"> <kind name="table"/> <element name="top" tokenid="ooxml:CT_TcBorders_top"/> <element name="left" tokenid="ooxml:CT_TcBorders_left"/> @@ -22617,7 +22617,7 @@ <element name="tl2br" tokenid="ooxml:CT_TcBorders_tl2br"/> <element name="tr2bl" tokenid="ooxml:CT_TcBorders_tr2bl"/> </resource> - <resource name="CT_TcMar" resource="Properties"> + <resource name="CT_TcMar" resource="Properties" tag="table"> <kind name="table"/> <element name="top" tokenid="ooxml:CT_TcMar_top"/> <element name="left" tokenid="ooxml:CT_TcMar_left"/> @@ -22629,13 +22629,13 @@ <value tokenid="ooxml:Value_ST_Merge_restart">restart</value> <default tokenid="ooxml:Value_ST_Merge_continue"/> </resource> - <resource name="CT_VMerge" resource="Value"> + <resource name="CT_VMerge" resource="Value" tag="table"> <attribute name="val" tokenid="ooxml:CT_VMerge_val" action="setValue"/> </resource> - <resource name="CT_HMerge" resource="Value"> + <resource name="CT_HMerge" resource="Value" tag="table"> <attribute name="val" tokenid="ooxml:CT_HMerge_val" action="setValue"/> </resource> - <resource name="CT_TcPrBase" resource="Properties"> + <resource name="CT_TcPrBase" resource="Properties" tag="table"> <kind name="table"/> <element name="cnfStyle" tokenid="ooxml:CT_TcPrBase_cnfStyle"/> <element name="tcW" tokenid="ooxml:CT_TcPrBase_tcW"/> @@ -22651,12 +22651,12 @@ <element name="vAlign" tokenid="ooxml:CT_TcPrBase_vAlign"/> <element name="hideMark" tokenid="ooxml:CT_TcPrBase_hideMark"/> </resource> - <resource name="CT_TcPr" resource="Properties"> + <resource name="CT_TcPr" resource="Properties" tag="table"> <element name="tcPrChange" tokenid="ooxml:CT_TcPr_tcPrChange"/> <action name="end" action="propagateCellProperties"/> <action name="end" action="clearProps"/> </resource> - <resource name="CT_TcPrInner" resource="Properties"/> + <resource name="CT_TcPrInner" resource="Properties" tag="table"/> <resource name="CT_Tc" resource="TextTableCell"> <action name="start" action="startCell"/> <action name="end" action="endCell"/> @@ -22664,11 +22664,11 @@ <action name="end" action="endParagraphGroup"/> </resource> <resource name="ST_Cnf" resource="String" generated="yes"/> - <resource name="CT_Cnf" resource="Value" generated="yes"> + <resource name="CT_Cnf" resource="Value" generated="yes" tag="content"> <attribute name="val" tokenid="ooxml:CT_Cnf_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_TrPrBase" resource="Properties"> + <resource name="CT_TrPrBase" resource="Properties" tag="table"> <kind name="table"/> <element name="cnfStyle" tokenid="ooxml:CT_TrPrBase_cnfStyle"/> <element name="divId" tokenid="ooxml:CT_TrPrBase_divId"/> @@ -22683,7 +22683,7 @@ <element name="jc" tokenid="ooxml:CT_TrPrBase_jc"/> <element name="hidden" tokenid="ooxml:CT_TrPrBase_hidden"/> </resource> - <resource name="CT_TrPr" resource="Properties"> + <resource name="CT_TrPr" resource="Properties" tag="table"> <kind name="table"/> <element name="ins" tokenid="ooxml:CT_TrPr_ins"/> <element name="del" tokenid="ooxml:CT_TrPr_del"/> @@ -22691,7 +22691,7 @@ <action name="end" action="propagateRowProperties"/> <action name="end" action="clearProps"/> </resource> - <resource name="CT_Row" resource="TextTableRow"> + <resource name="CT_Row" resource="TextTableRow" tag="table"> <action name="start" action="startRow"/> <action name="end" action="sendRowProperties"/> <action name="end" action="sendTableProperties"/> @@ -22705,16 +22705,16 @@ <value tokenid="ooxml:Value_ST_TblOverlap_never">never</value> <value tokenid="ooxml:Value_ST_TblOverlap_overlap">overlap</value> </resource> - <resource name="CT_TblOverlap" resource="Value"> + <resource name="CT_TblOverlap" resource="Value" tag="table"> <attribute name="val" tokenid="ooxml:CT_TblOverlap_val" action="setValue"/> </resource> - <resource name="CT_TblCellMar" resource="Properties"> + <resource name="CT_TblCellMar" resource="Properties" tag="table"> <element name="top" tokenid="ooxml:CT_TblCellMar_top"/> <element name="left" tokenid="ooxml:CT_TblCellMar_left"/> <element name="bottom" tokenid="ooxml:CT_TblCellMar_bottom"/> <element name="right" tokenid="ooxml:CT_TblCellMar_right"/> </resource> - <resource name="CT_TblBorders" resource="Properties"> + <resource name="CT_TblBorders" resource="Properties" tag="table"> <kind name="table"/> <element name="top" tokenid="ooxml:CT_TblBorders_top"/> <element name="left" tokenid="ooxml:CT_TblBorders_left"/> @@ -22723,7 +22723,7 @@ <element name="insideH" tokenid="ooxml:CT_TblBorders_insideH"/> <element name="insideV" tokenid="ooxml:CT_TblBorders_insideV"/> </resource> - <resource name="CT_TblPrBase" resource="Properties"> + <resource name="CT_TblPrBase" resource="Properties" tag="table"> <kind name="table"/> <element name="tblStyle" tokenid="ooxml:CT_TblPrBase_tblStyle"/> <element name="tblpPr" tokenid="ooxml:CT_TblPrBase_tblpPr"/> @@ -22741,30 +22741,30 @@ <element name="tblCellMar" tokenid="ooxml:CT_TblPrBase_tblCellMar"/> <element name="tblLook" tokenid="ooxml:CT_TblPrBase_tblLook"/> </resource> - <resource name="CT_TblPr" resource="Properties"> + <resource name="CT_TblPr" resource="Properties" tag="table"> <kind name="table"/> <element name="tblPrChange" tokenid="ooxml:CT_TblPr_tblPrChange"/> <action name="end" action="propagateTableProperties"/> <action name="end" action="clearProps"/> </resource> - <resource name="CT_Tbl" resource="TextTable"/> + <resource name="CT_Tbl" resource="TextTable" tag="table"/> <resource name="ST_FtnPos" resource="List"> <value tokenid="ooxml:Value_ST_FtnPos_pageBottom">pageBottom</value> <value tokenid="ooxml:Value_ST_FtnPos_beneathText">beneathText</value> <value tokenid="ooxml:Value_ST_FtnPos_sectEnd">sectEnd</value> <value tokenid="ooxml:Value_ST_FtnPos_docEnd">docEnd</value> </resource> - <resource name="CT_FtnPos" resource="Value"> + <resource name="CT_FtnPos" resource="Value" tag="reference"> <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="Value"> + <resource name="CT_EdnPos" resource="Value" tag="reference"> <attribute name="val" tokenid="ooxml:CT_EdnPos_val" action="setValue"/> </resource> - <resource name="CT_NumFmt" resource="Value"> + <resource name="CT_NumFmt" resource="Value" tag="numbering"> <attribute name="val" tokenid="ooxml:CT_NumFmt_val" action="setValue"/> </resource> <resource name="ST_RestartNumber" resource="List"> @@ -22772,42 +22772,42 @@ <value tokenid="ooxml:Value_ST_RestartNumber_eachSect">eachSect</value> <value tokenid="ooxml:Value_ST_RestartNumber_eachPage">eachPage</value> </resource> - <resource name="CT_NumRestart" resource="Value"> + <resource name="CT_NumRestart" resource="Value" tag="numbering"> <attribute name="val" tokenid="ooxml:CT_NumRestart_val" action="setValue"/> </resource> - <resource name="CT_FtnEdnRef" resource="Properties"> + <resource name="CT_FtnEdnRef" resource="Properties" tag="reference"> <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"> + <resource name="CT_FtnEdnSepRef" resource="Properties" tag="reference"> <attribute name="id" tokenid="ooxml:CT_FtnEdnSepRef_id"/> </resource> - <resource name="CT_FtnEdn" resource="XNote"> + <resource name="CT_FtnEdn" resource="XNote" tag="reference"> <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"/> </resource> - <resource name="CT_CommentRef" resource="Properties"> + <resource name="CT_CommentRef" resource="Properties" tag="reference"> <action name="end" action="handleComment"/> </resource> - <resource name="EG_FtnEdnNumProps" resource="Properties"> + <resource name="EG_FtnEdnNumProps" resource="Properties" tag="reference"> <element name="numStart" tokenid="ooxml:EG_FtnEdnNumProps_numStart"/> <element name="numRestart" tokenid="ooxml:EG_FtnEdnNumProps_numRestart"/> </resource> - <resource name="CT_FtnProps" resource="Properties"> + <resource name="CT_FtnProps" resource="Properties" tag="reference"> <element name="pos" tokenid="ooxml:CT_FtnProps_pos"/> <element name="numFmt" tokenid="ooxml:CT_FtnProps_numFmt"/> </resource> - <resource name="CT_EdnProps" resource="Properties"> + <resource name="CT_EdnProps" resource="Properties" tag="reference"> <element name="pos" tokenid="ooxml:CT_EdnProps_pos"/> <element name="numFmt" tokenid="ooxml:CT_EdnProps_numFmt"/> </resource> - <resource name="CT_FtnDocProps" resource="Properties"> + <resource name="CT_FtnDocProps" resource="Properties" tag="reference"> <element name="footnote" tokenid="ooxml:CT_FtnDocProps_footnote"/> </resource> - <resource name="CT_EdnDocProps" resource="Properties"> + <resource name="CT_EdnDocProps" resource="Properties" tag="reference"> <element name="endnote" tokenid="ooxml:CT_EdnDocProps_endnote"/> </resource> <resource name="ST_MailMergeSourceType" resource="List" generated="yes"> @@ -22821,11 +22821,11 @@ <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="Value" generated="yes"> + <resource name="CT_MailMergeSourceType" resource="Value" generated="yes" tag="mailmerge"> <attribute name="val" tokenid="ooxml:CT_MailMergeSourceType_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_MailMerge" resource="Properties"> + <resource name="CT_MailMerge" resource="Properties" tag="mailmerge"> <element name="mainDocumentType" tokenid="ooxml:CT_MailMerge_mainDocumentType"/> <element name="linkToQuery" tokenid="ooxml:CT_MailMerge_linkToQuery"/> <element name="dataType" tokenid="ooxml:CT_MailMerge_dataType"/> @@ -22856,11 +22856,11 @@ <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="Value" generated="yes"> + <resource name="CT_TargetScreenSz" resource="Value" generated="yes" tag="settings"> <attribute name="val" tokenid="ooxml:CT_TargetScreenSz_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_Compat" resource="Properties"> + <resource name="CT_Compat" resource="Properties" tag="settings"> <element name="useSingleBorderforContiguousCells" tokenid="ooxml:CT_Compat_useSingleBorderforContiguousCells"/> <element name="wpJustification" tokenid="ooxml:CT_Compat_wpJustification"/> <element name="noTabHangInd" tokenid="ooxml:CT_Compat_noTabHangInd"/> @@ -22927,11 +22927,11 @@ <element name="useAnsiKerningPairs" tokenid="ooxml:CT_Compat_useAnsiKerningPairs"/> <element name="cachedColBalance" tokenid="ooxml:CT_Compat_cachedColBalance"/> </resource> - <resource name="CT_DocVar" resource="Properties"> + <resource name="CT_DocVar" resource="Properties" tag="document"> <attribute name="name" tokenid="ooxml:CT_DocVar_name"/> <attribute name="val" tokenid="ooxml:CT_DocVar_val"/> </resource> - <resource name="CT_DocRsids" resource="Properties"> + <resource name="CT_DocRsids" resource="Properties" tag="redline"> <element name="rsidRoot" tokenid="ooxml:CT_DocRsids_rsidRoot"/> <element name="rsid" tokenid="ooxml:CT_DocRsids_rsid"/> </resource> @@ -22940,21 +22940,21 @@ <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="Value" generated="yes"> + <resource name="CT_CharacterSpacing" resource="Value" generated="yes" tag="character"> <attribute name="val" tokenid="ooxml:CT_CharacterSpacing_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_SaveThroughXslt" resource="Properties"> + <resource name="CT_SaveThroughXslt" resource="Properties" tag="settings"> <attribute name="r:id" tokenid="ooxml:CT_SaveThroughXslt_r_id"/> <attribute name="solutionID" tokenid="ooxml:CT_SaveThroughXslt_solutionID"/> </resource> - <resource name="CT_RPrDefault" resource="Properties"> + <resource name="CT_RPrDefault" resource="Properties" tag="character"> <element name="rPr" tokenid="ooxml:CT_RPrDefault_rPr"/> </resource> - <resource name="CT_PPrDefault" resource="Properties"> + <resource name="CT_PPrDefault" resource="Properties" tag="paragraph"> <element name="pPr" tokenid="ooxml:CT_PPrDefault_pPr"/> </resource> - <resource name="CT_DocDefaults" resource="Properties"> + <resource name="CT_DocDefaults" resource="Properties" tag="document"> <element name="pPrDefault" tokenid="ooxml:CT_DocDefaults_pPrDefault"/> <element name="rPrDefault" tokenid="ooxml:CT_DocDefaults_rPrDefault"/> </resource> @@ -22978,10 +22978,10 @@ <attribute name="h" tokenid="ooxml:CT_ReadingModeInkLockDown_h"/> <attribute name="fontSz" tokenid="ooxml:CT_ReadingModeInkLockDown_fontSz"/> </resource> - <resource name="CT_WriteProtection" resource="Properties"> + <resource name="CT_WriteProtection" resource="Properties" tag="document"> <attribute name="recommended" tokenid="ooxml:CT_WriteProtection_recommended"/> </resource> - <resource name="CT_Settings" resource="PropertyTable" tokenid="ooxml:SETTINGS"> + <resource name="CT_Settings" resource="PropertyTable" tokenid="ooxml:SETTINGS" tag="settings"> <element name="writeProtection" tokenid="ooxml:CT_Settings_writeProtection"/> <element name="view" tokenid="ooxml:CT_Settings_view"/> <element name="zoom" tokenid="ooxml:CT_Settings_zoom"/> @@ -23085,7 +23085,7 @@ <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="Value" generated="yes"> + <resource name="CT_FrameScrollbar" resource="Value" generated="yes" tag="frame"> <attribute name="val" tokenid="ooxml:CT_FrameScrollbar_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -23094,7 +23094,7 @@ <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="Value" generated="yes"> + <resource name="CT_FrameLayout" resource="Value" generated="yes" tag="frame"> <attribute name="val" tokenid="ooxml:CT_FrameLayout_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -23103,20 +23103,20 @@ <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="Value" generated="yes"> + <resource name="CT_LevelSuffix" resource="Value" generated="yes" tag="numbering"> <attribute name="val" tokenid="ooxml:CT_LevelSuffix_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_LevelText" resource="Properties"> + <resource name="CT_LevelText" resource="Properties" tag="numbering"> <attribute name="val" tokenid="ooxml:CT_LevelText_val"/> <attribute name="null" tokenid="ooxml:CT_LevelText_null"/> </resource> - <resource name="CT_LvlLegacy" resource="Properties"> + <resource name="CT_LvlLegacy" resource="Properties" tag="numbering"> <attribute name="legacy" tokenid="ooxml:CT_LvlLegacy_legacy"/> <attribute name="legacySpace" tokenid="ooxml:CT_LvlLegacy_legacySpace"/> <attribute name="legacyIndent" tokenid="ooxml:CT_LvlLegacy_legacyIndent"/> </resource> - <resource name="CT_Lvl" resource="Properties"> + <resource name="CT_Lvl" resource="Properties" tag="numbering"> <kind name="paragraph"/> <element name="start" tokenid="rtf:ISTARTAT"/> <element name="numFmt" tokenid="rtf:NFC"/> @@ -23134,15 +23134,15 @@ <attribute name="tplc" tokenid="ooxml:CT_Lvl_tplc"/> <attribute name="tentative" tokenid="ooxml:CT_Lvl_tentative"/> </resource> - <resource name="ST_MultiLevelType" resource="List"> + <resource name="ST_MultiLevelType" resource="List" tag="numbering"> <value tokenid="ooxml:Value_ST_MultiLevelType_singleLevel">singleLevel</value> <value tokenid="ooxml:Value_ST_MultiLevelType_multilevel">multilevel</value> <value tokenid="ooxml:Value_ST_MultiLevelType_hybridMultilevel">hybridMultilevel</value> </resource> - <resource name="CT_MultiLevelType" resource="Value"> + <resource name="CT_MultiLevelType" resource="Value" tag="numbering"> <attribute name="val" tokenid="ooxml:CT_MultiLevelType_val" action="setValue"/> </resource> - <resource name="CT_AbstractNum" resource="Properties"> + <resource name="CT_AbstractNum" resource="Properties" tag="numbering"> <kind name="paragraph"/> <element name="nsid" tokenid="rtf:LSID"/> <element name="multiLevelType" tokenid="ooxml:CT_AbstractNum_multiLevelType"/> @@ -23153,19 +23153,19 @@ <element name="lvl" tokenid="ooxml:CT_AbstractNum_lvl"/> <attribute name="abstractNumId" tokenid="ooxml:CT_AbstractNum_abstractNumId"/> </resource> - <resource name="CT_NumLvl" resource="Properties"> + <resource name="CT_NumLvl" resource="Properties" tag="numbering"> <kind name="paragraph"/> <element name="startOverride" tokenid="ooxml:CT_NumLvl_startOverride"/> <element name="lvl" tokenid="ooxml:CT_NumLvl_lvl"/> <attribute name="ilvl" tokenid="ooxml:CT_NumLvl_ilvl"/> </resource> - <resource name="CT_Num" resource="Properties"> + <resource name="CT_Num" resource="Properties" tag="numbering"> <kind name="paragraph"/> <element name="abstractNumId" tokenid="ooxml:CT_Num_abstractNumId"/> <element name="lvlOverride" tokenid="ooxml:CT_Num_lvlOverride"/> <attribute name="numId" tokenid="ooxml:CT_Num_numId"/> </resource> - <resource name="CT_Numbering" resource="PropertyTable" tokenid="ooxml:NUMBERING"> + <resource name="CT_Numbering" resource="PropertyTable" tokenid="ooxml:NUMBERING" tag="numbering"> <kind name="paragraph"/> <element name="numPicBullet" tokenid="ooxml:CT_Numbering_numPicBullet"/> <element name="abstractNum" tokenid="ooxml:CT_Numbering_abstractNum"/> @@ -23187,7 +23187,7 @@ <value tokenid="12">seCell</value> <value tokenid="13">swCell</value> </resource> - <resource name="CT_Style_tblStylePr" resource="Properties"> + <resource name="CT_Style_tblStylePr" resource="Properties" tag="style"> <element name="pPr" tokenid="ooxml:CT_PPrBase"/> <element name="rPr" tokenid="ooxml:EG_RPrBase"/> <element name="tblPr" tokenid="ooxml:CT_TblPrBase"/> @@ -23201,7 +23201,7 @@ <value tokenid="3">table</value> <value tokenid="4">numbering</value> </resource> - <resource name="CT_Style" resource="Properties"> + <resource name="CT_Style" resource="Properties" tag="style"> <element name="name" tokenid="ooxml:CT_Style_name"/> <element name="aliases" tokenid="ooxml:CT_Style_aliases"/> <element name="basedOn" tokenid="ooxml:CT_Style_basedOn"/> @@ -23229,9 +23229,9 @@ <attribute name="default" tokenid="ooxml:CT_Style_default"/> <attribute name="customStyle" tokenid="ooxml:CT_Style_customStyle"/> </resource> - <resource name="CT_Styles" resource="Table" tokenid="rtf:STYLESHEET"/> + <resource name="CT_Styles" resource="Table" tokenid="rtf:STYLESHEET" tag="style"/> <resource name="ST_Panose" resource="Hex"/> - <resource name="CT_Panose" resource="Value"> + <resource name="CT_Panose" resource="Value" tag="font"> <attribute name="val" tokenid="ooxml:CT_Panose_val" action="setValue"/> <action name="start" action="setDefaultHexValue"/> </resource> @@ -23243,7 +23243,7 @@ <value tokenid="ooxml:Value_ST_FontFamily_swiss">swiss</value> <value tokenid="ooxml:Value_ST_FontFamily_auto">auto</value> </resource> - <resource name="CT_FontFamily" resource="Value"> + <resource name="CT_FontFamily" resource="Value" tag="font"> <attribute name="val" tokenid="ooxml:CT_FontFamily_val" action="setValue"/> </resource> <resource name="ST_Pitch" resource="List"> @@ -23251,10 +23251,10 @@ <value tokenid="ooxml:Value_ST_Pitch_variable">variable</value> <value tokenid="ooxml:Value_ST_Pitch_default">default</value> </resource> - <resource name="CT_Pitch" resource="Value"> + <resource name="CT_Pitch" resource="Value" tag="font"> <attribute name="val" tokenid="ooxml:CT_Pitch_val" action="setValue"/> </resource> - <resource name="CT_FontSig" resource="Properties"> + <resource name="CT_FontSig" resource="Properties" tag="font"> <attribute name="usb0" tokenid="ooxml:CT_FontSig_usb0"/> <attribute name="usb1" tokenid="ooxml:CT_FontSig_usb1"/> <attribute name="usb2" tokenid="ooxml:CT_FontSig_usb2"/> @@ -23262,11 +23262,11 @@ <attribute name="csb0" tokenid="ooxml:CT_FontSig_csb0"/> <attribute name="csb1" tokenid="ooxml:CT_FontSig_csb1"/> </resource> - <resource name="CT_FontRel" resource="Properties"> + <resource name="CT_FontRel" resource="Properties" tag="font"> <attribute name="fontKey" tokenid="ooxml:CT_FontRel_fontKey"/> <attribute name="subsetted" tokenid="ooxml:CT_FontRel_subsetted"/> </resource> - <resource name="CT_Font" resource="Properties"> + <resource name="CT_Font" resource="Properties" tag="font"> <kind name="character"/> <element name="altName" tokenid="ooxml:CT_Font_altName"/> <element name="panose1" tokenid="ooxml:CT_Font_panose1"/> @@ -23281,8 +23281,8 @@ <element name="embedBoldItalic" tokenid="ooxml:CT_Font_embedBoldItalic"/> <attribute name="name" tokenid="ooxml:CT_Font_name"/> </resource> - <resource name="CT_FontsList" resource="Table" tokenid="rtf:FONTTABLE"/> - <resource name="EG_RunLevelElts" resource="Stream"> + <resource name="CT_FontsList" resource="Table" tokenid="rtf:FONTTABLE" tag="font"/> + <resource name="EG_RunLevelElts" resource="Stream" tag="character"> <element name="proofErr" tokenid="ooxml:EG_RunLevelElts_proofErr"/> <element name="permStart" tokenid="ooxml:EG_RunLevelElts_permStart"/> <element name="permEnd" tokenid="ooxml:EG_RunLevelElts_permEnd"/> @@ -23293,7 +23293,7 @@ <element name="moveFrom" tokenid="ooxml:EG_RunLevelElts_moveFrom"/> <element name="moveTo" tokenid="ooxml:EG_RunLevelElts_moveTo"/> </resource> - <resource name="CT_Body" resource="Stream"> + <resource name="CT_Body" resource="Stream" tag="content"> <action name="start" action="startSectionGroup"/> <!-- <action name="start" action="footnoteSeparator"/> @@ -23305,7 +23305,7 @@ <action name="end" action="endParagraphGroup"/> <action name="end" action="endSectionGroup"/> </resource> - <resource xmlns:v="urn:schemas-microsoft-com:vml" name="CT_ShapeDefaults" resource="Properties"> + <resource xmlns:v="urn:schemas-microsoft-com:vml" name="CT_ShapeDefaults" resource="Properties" tag="shape"> <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"/> @@ -23320,15 +23320,15 @@ <attribute name="strokecolor" tokenid="ooxml:CT_ShapeDefaults_strokecolor"/> <attribute name="allowincell" tokenid="ooxml:CT_ShapeDefaults_allowincell"/> </resource> - <resource name="CT_Comments" resource="Stream"> + <resource name="CT_Comments" resource="Stream" tag="content"> <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"> + <resource name="CT_Footnotes" resource="Stream" tag="reference"/> + <resource name="footnotes" resource="Stream" tag="reference"/> + <resource name="CT_Endnotes" resource="Stream" tag="reference"/> + <resource name="endnotes" resource="Stream" tag="reference"/> + <resource name="CT_SmartTagType" resource="Properties" tag="content"> <attribute name="namespaceuri" tokenid="ooxml:CT_SmartTagType_namespaceuri"/> <attribute name="name" tokenid="ooxml:CT_SmartTagType_name"/> <attribute name="url" tokenid="ooxml:CT_SmartTagType_url"/> @@ -23357,7 +23357,7 @@ <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="Value" generated="yes"> + <resource name="CT_DocPartBehavior" resource="Value" generated="yes" tag="document"> <attribute name="val" tokenid="ooxml:CT_DocPartBehavior_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -23370,7 +23370,7 @@ <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="Value" generated="yes"> + <resource name="CT_DocPartType" resource="Value" generated="yes" tag="document"> <attribute name="val" tokenid="ooxml:CT_DocPartType_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> @@ -23414,24 +23414,24 @@ <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="Value" generated="yes"> + <resource name="CT_DocPartGallery" resource="Value" generated="yes" tag="document"> <attribute name="val" tokenid="ooxml:CT_DocPartGallery_val" action="setValue"/> <action name="start" action="setDefaultStringValue"/> </resource> - <resource name="CT_DocPartName" resource="Properties"> + <resource name="CT_DocPartName" resource="Properties" tag="document"> <attribute name="val" tokenid="ooxml:CT_DocPartName_val"/> <attribute name="decorated" tokenid="ooxml:CT_DocPartName_decorated"/> </resource> - <resource name="settings" resource="Stream"> + <resource name="settings" resource="Stream" tag="settings"> <element name="settings" tokenid="ooxml:settings_settings"/> </resource> - <resource name="fonts" resource="Stream"> + <resource name="fonts" resource="Stream" tag="font"> <element name="fonts" tokenid="rtf:FONTTABLE"/> </resource> - <resource name="numbering" resource="Stream"> + <resource name="numbering" resource="Stream" tag="numbering"> <element name="numbering" tokenid="ooxml:NUMBERING"/> </resource> - <resource name="styles" resource="Stream"> + <resource name="styles" resource="Stream" tag="style"> <element name="styles" tokenid="rtf:STYLESHEET"/> </resource> <resource name="ST_CaptionPos" resource="List" generated="yes"> @@ -23440,7 +23440,7 @@ <value name="left" tokenid="ooxml:Value_wordprocessingml_ST_CaptionPos_left">left</value> <value name="right" tokenid="ooxml:Value_wordprocessingml_ST_CaptionPos_right">right</value> </resource> - <resource name="CT_Caption" resource="Properties"> + <resource name="CT_Caption" resource="Properties" tag="content"> <attribute name="name" tokenid="ooxml:CT_Caption_name"/> <attribute name="pos" tokenid="ooxml:CT_Caption_pos"/> <attribute name="chapNum" tokenid="ooxml:CT_Caption_chapNum"/> @@ -23449,23 +23449,23 @@ <attribute name="numFmt" tokenid="ooxml:CT_Caption_numFmt"/> <attribute name="sep" tokenid="ooxml:CT_Caption_sep"/> </resource> - <resource name="CT_AutoCaption" resource="Properties"> + <resource name="CT_AutoCaption" resource="Properties" tag="content"> <attribute name="name" tokenid="ooxml:CT_AutoCaption_name"/> <attribute name="caption" tokenid="ooxml:CT_AutoCaption_caption"/> </resource> - <resource name="CT_AutoCaptions" resource="Properties"> + <resource name="CT_AutoCaptions" resource="Properties" tag="content"> <element name="autoCaption" tokenid="ooxml:CT_AutoCaptions_autoCaption"/> </resource> - <resource name="CT_Captions" resource="Properties"> + <resource name="CT_Captions" resource="Properties" tag="content"> <element name="caption" tokenid="ooxml:CT_Captions_caption"/> <element name="autoCaptions" tokenid="ooxml:CT_Captions_autoCaptions"/> </resource> - <resource name="CT_DocumentBase" resource="Properties"> + <resource name="CT_DocumentBase" resource="Properties" tag="content"> <element name="background" tokenid="ooxml:CT_DocumentBase_background"/> </resource> - <resource name="CT_Document" resource="Stream"/> - <resource name="CT_GlossaryDocument" resource="Stream"/> - <resource name="document" resource="Stream"/> - <resource name="glossaryDocument" resource="Stream"/> + <resource name="CT_Document" resource="Stream" tag="content"/> + <resource name="CT_GlossaryDocument" resource="Stream" tag="content"/> + <resource name="document" resource="Stream" tag="content"/> + <resource name="glossaryDocument" resource="Stream" tag="content"/> </namespace> </model> -- cgit From 8c244d7ee5c202c3bfe569d60560d2c9b29e4f2f Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Tue, 7 Dec 2010 15:40:49 +0100 Subject: resolved warnings on unxlngi6.pro --- writerfilter/source/dmapper/WrapPolygonHandler.cxx | 8 ++--- writerfilter/source/ooxml/factoryimpl_ns.xsl | 36 +++++++++++++--------- .../source/resourcemodel/LoggedResources.cxx | 12 ++++---- 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/writerfilter/source/dmapper/WrapPolygonHandler.cxx b/writerfilter/source/dmapper/WrapPolygonHandler.cxx index 452eb9d66473..2aabc1a375a9 100644 --- a/writerfilter/source/dmapper/WrapPolygonHandler.cxx +++ b/writerfilter/source/dmapper/WrapPolygonHandler.cxx @@ -30,7 +30,7 @@ #include <ooxml/resourceids.hxx> #include <resourcemodel/ResourceModelHelper.hxx> -#include "ConversionHelper.hxx"ConversionHelper::convertTwipToMM100( +#include "ConversionHelper.hxx" #include "WrapPolygonHandler.hxx" #include "dmapperLoggers.hxx" @@ -186,15 +186,15 @@ void WrapPolygonHandler::lcl_attribute(Id Name, Value & val) } } -void WrapPolygonHandler::lcl_sprm(Sprm & sprm) +void WrapPolygonHandler::lcl_sprm(Sprm & _sprm) { - switch (sprm.getId()) + switch (_sprm.getId()) { case NS_ooxml::LN_CT_WrapPath_lineTo: case NS_ooxml::LN_CT_WrapPath_start: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ { - resolveSprmProps(*this, sprm); + resolveSprmProps(*this, _sprm); awt::Point aPoint(mnX, mnY); mpPolygon->addPoint(aPoint); diff --git a/writerfilter/source/ooxml/factoryimpl_ns.xsl b/writerfilter/source/ooxml/factoryimpl_ns.xsl index d5dfeeac25ab..adc4c977e1f9 100644 --- a/writerfilter/source/ooxml/factoryimpl_ns.xsl +++ b/writerfilter/source/ooxml/factoryimpl_ns.xsl @@ -571,18 +571,7 @@ CreateElementMapPointer </xsl:text> <!-- factoryaction --> <xsl:template name="factoryaction"> <xsl:param name="action"/> - <xsl:text>

</xsl:text> - <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>)
</xsl:text> - <xsl:text>{
</xsl:text> - <xsl:variable name="switch1block"> + <xsl:variable name="switchblock1"> <xsl:for-each select="resource[action/@name=$action]"> <xsl:text> </xsl:text> @@ -611,13 +600,30 @@ CreateElementMapPointer </xsl:text> </xsl:for-each> </xsl:if> </xsl:variable> - <xsl:if test="string-length($switch1block) > 0 or string-length($switchblock2) > 0"> + <xsl:text>

</xsl:text> + <xsl:text>void </xsl:text> + <xsl:call-template name="factoryclassname"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$action"/> + <xsl:text>Action(OOXMLFastContextHandler*</xsl:text> + <xsl:if test="string-length($switchblock1) > 0 or string-length($switchblock2) > 0"> + <xsl:text> pHandler</xsl:text> + </xsl:if> + <xsl:if test="$action='characters'"> + <xsl:text>, const ::rtl::OUString &</xsl:text> + <xsl:if test="contains($switchblock1, 'sText') or contains($switchblock2, 'sText')"> + <xsl:text> sText</xsl:text> + </xsl:if> + </xsl:if> + <xsl:text>)
</xsl:text> + <xsl:text>{
</xsl:text> + <xsl:if test="string-length($switchblock1) > 0 or string-length($switchblock2) > 0"> <xsl:text> sal_uInt32 nDefine = pHandler->getDefine();
</xsl:text> </xsl:if> - <xsl:if test="string-length($switch1block) > 0"> + <xsl:if test="string-length($switchblock1) > 0"> <xsl:text> switch (nDefine)
</xsl:text> <xsl:text> {
</xsl:text> - <xsl:value-of select="$switch1block"/> + <xsl:value-of select="$switchblock1"/> <xsl:text> default:
</xsl:text> <xsl:text> break;
</xsl:text> <xsl:text> }
</xsl:text> diff --git a/writerfilter/source/resourcemodel/LoggedResources.cxx b/writerfilter/source/resourcemodel/LoggedResources.cxx index 36761688a166..f60b48b82b5b 100644 --- a/writerfilter/source/resourcemodel/LoggedResources.cxx +++ b/writerfilter/source/resourcemodel/LoggedResources.cxx @@ -245,14 +245,14 @@ void LoggedStream::substream(Id name, writerfilter::Reference<Stream>::Pointer_t #endif } -void LoggedStream::info(const string & info) +void LoggedStream::info(const string & _info) { #ifdef DEBUG_LOGGING mHelper.startElement("info"); - mHelper.attribute("text", info); + mHelper.attribute("text", _info); #endif - lcl_info(info); + lcl_info(_info); #ifdef DEBUG_LOGGING mHelper.endElement("info"); @@ -281,15 +281,15 @@ void LoggedProperties::attribute(Id name, Value & val) lcl_attribute(name, val); } -void LoggedProperties::sprm(Sprm & sprm) +void LoggedProperties::sprm(Sprm & _sprm) { #ifdef DEBUG_LOGGING mHelper.startElement("sprm"); - mHelper.attribute("name", (*QNameToString::Instance())(sprm.getId())); + mHelper.attribute("name", (*QNameToString::Instance())(_sprm.getId())); mHelper.chars(sprm.toString()); #endif - lcl_sprm(sprm); + lcl_sprm(_sprm); #ifdef DEBUG_LOGGING mHelper.endElement("sprm"); -- cgit From 94fae542b504dcde605cfa311ce997094ad9b553 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Mon, 13 Dec 2010 13:36:59 +0100 Subject: added include <string.h> --- writerfilter/source/dmapper/GraphicImport.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 6bbfcbd68665..beae39a68a29 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -25,6 +25,8 @@ * ************************************************************************/ +#include <string.h> + #include <com/sun/star/awt/Size.hpp> #include <com/sun/star/container/XNamed.hpp> #include <com/sun/star/drawing/ColorMode.hpp> -- cgit From f1896f1247ff93549a9e52dde90df8ade994daed Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 5 Jan 2011 13:41:21 +0100 Subject: new: XPathLogger --- writerfilter/inc/resourcemodel/XPathLogger.hxx | 65 ++++++++++++++++ .../source/ooxml/OOXMLFastContextHandler.cxx | 8 +- writerfilter/source/ooxml/OOXMLParserState.cxx | 5 ++ writerfilter/source/ooxml/OOXMLParserState.hxx | 5 ++ writerfilter/source/resourcemodel/XPathLogger.cxx | 89 ++++++++++++++++++++++ writerfilter/source/resourcemodel/makefile.mk | 1 + 6 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 writerfilter/inc/resourcemodel/XPathLogger.hxx create mode 100644 writerfilter/source/resourcemodel/XPathLogger.cxx diff --git a/writerfilter/inc/resourcemodel/XPathLogger.hxx b/writerfilter/inc/resourcemodel/XPathLogger.hxx new file mode 100644 index 000000000000..22e50fc15bb9 --- /dev/null +++ b/writerfilter/inc/resourcemodel/XPathLogger.hxx @@ -0,0 +1,65 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ +#ifndef INCLUDED_XPATH_LOGGER_HXX +#define INCLUDED_XPATH_LOGGER_HXX + +#include <hash_map> +#include <stack> +#include <string> +#include <vector> +#include <boost/shared_ptr.hpp> +#include <WriterFilterDllApi.hxx> + +namespace writerfilter +{ +using ::std::hash_map; +using ::std::stack; +using ::std::string; +using ::std::vector; + +class WRITERFILTER_DLLPUBLIC XPathLogger +{ + typedef hash_map<string, unsigned int> TokenMap_t; + typedef boost::shared_ptr<TokenMap_t> TokenMapPointer_t; + + TokenMapPointer_t mp_tokenMap; + stack<TokenMapPointer_t> m_tokenMapStack; + vector<string> m_path; + string m_currentPath; + + void updateCurrentPath(); + +public: + explicit XPathLogger(); + virtual ~XPathLogger(); + + string getXPath() const; + void startElement(string _token); + void endElement(); +}; +} +#endif // INCLUDED_XPATH_LOGGER_HXX diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx index 1f5181e03055..5e4d5604527f 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx @@ -31,6 +31,7 @@ #include <rtl/uuid.h> #include <com/sun/star/drawing/XShapes.hpp> #include <resourcemodel/QNameToString.hxx> +#include <resourcemodel/XPathLogger.hxx> #include <resourcemodel/util.hxx> #include <ooxml/resourceids.hxx> #include <doctok/sprmids.hxx> @@ -191,8 +192,10 @@ void SAL_CALL OOXMLFastContextHandler::startFastElement #ifdef DEBUG_CONTEXT_HANDLER debug_logger->startElement("contexthandler.element"); string sToken = fastTokenToId(Element); + mpParserState->getXPathLogger().startElement(sToken); debug_logger->attribute("token", sToken); - debug_logger->attribute("type",getType()); + debug_logger->attribute("type", getType()); + debug_logger->attribute("xpath", mpParserState->getXPathLogger().getXPath()); debug_logger->startElement("at-start"); debug_logger->addTag(toTag()); debug_logger->endElement("at-start"); @@ -210,6 +213,7 @@ throw (uno::RuntimeException, xml::sax::SAXException) debug_logger->startElement("contexthandler.unknown-element"); debug_logger->attribute("namespace", Namespace); debug_logger->attribute("name", Name); + mpParserState->getXPathLogger().startElement("unknown"); #else (void) Namespace; (void) Name; @@ -231,6 +235,7 @@ throw (uno::RuntimeException, xml::sax::SAXException) debug_logger->addTag(toTag()); debug_logger->endElement("at-end"); debug_logger->endElement("contexthandler.element"); + mpParserState->getXPathLogger().endElement(); #endif } @@ -255,6 +260,7 @@ throw (uno::RuntimeException, xml::sax::SAXException) { #ifdef DEBUG_CONTEXT_HANDLER debug_logger->endElement("contexthandler.unknown-element"); + mpParserState->getXPathLogger().endElement(); #endif } diff --git a/writerfilter/source/ooxml/OOXMLParserState.cxx b/writerfilter/source/ooxml/OOXMLParserState.cxx index fb347d02048e..41a3738ee7ab 100644 --- a/writerfilter/source/ooxml/OOXMLParserState.cxx +++ b/writerfilter/source/ooxml/OOXMLParserState.cxx @@ -320,6 +320,11 @@ XMLTag::Pointer_t OOXMLParserState::toTag() const return pTag; } + +XPathLogger & OOXMLParserState::getXPathLogger() +{ + return m_xPathLogger; +} #endif }} diff --git a/writerfilter/source/ooxml/OOXMLParserState.hxx b/writerfilter/source/ooxml/OOXMLParserState.hxx index 2dd118a5b96b..12a9876ce6eb 100644 --- a/writerfilter/source/ooxml/OOXMLParserState.hxx +++ b/writerfilter/source/ooxml/OOXMLParserState.hxx @@ -33,6 +33,7 @@ #ifdef DEBUG #include <resourcemodel/TagLogger.hxx> +#include <resourcemodel/XPathLogger.hxx> #endif namespace writerfilter { @@ -57,6 +58,9 @@ class OOXMLParserState stack<OOXMLPropertySet::Pointer_t> mCellProps; stack<OOXMLPropertySet::Pointer_t> mRowProps; stack<OOXMLPropertySet::Pointer_t> mTableProps; +#ifdef DEBUG + XPathLogger m_xPathLogger; +#endif public: typedef boost::shared_ptr<OOXMLParserState> Pointer_t; @@ -109,6 +113,7 @@ public: unsigned int getContextCount() const; string toString() const; XMLTag::Pointer_t toTag() const; + XPathLogger & getXPathLogger(); #endif }; diff --git a/writerfilter/source/resourcemodel/XPathLogger.cxx b/writerfilter/source/resourcemodel/XPathLogger.cxx new file mode 100644 index 000000000000..6e8ec701bc4a --- /dev/null +++ b/writerfilter/source/resourcemodel/XPathLogger.cxx @@ -0,0 +1,89 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#include <resourcemodel/XPathLogger.hxx> + +namespace writerfilter +{ +XPathLogger::XPathLogger() +: mp_tokenMap(new TokenMap_t) +{ +} + +XPathLogger::~XPathLogger() +{ +} + +string XPathLogger::getXPath() const +{ + return m_currentPath; +} + +void XPathLogger::updateCurrentPath() +{ + m_currentPath = ""; + + for (vector<string>::const_iterator aIt = m_path.begin(); + aIt != m_path.end(); + aIt++) + { + if (m_currentPath.size() > 0) + m_currentPath += "/"; + + m_currentPath += *aIt; + } +} + +void XPathLogger::startElement(string _token) +{ + TokenMap_t::const_iterator aIt = mp_tokenMap->find(_token); + + if (aIt == mp_tokenMap->end()) + (*mp_tokenMap)[_token] = 1; + else + (*mp_tokenMap)[_token]++; + + static char sBuffer[256]; + snprintf(sBuffer, sizeof(sBuffer), "[%d]", (*mp_tokenMap)[_token]); + m_path.push_back(_token + sBuffer); + + m_tokenMapStack.push(mp_tokenMap); + mp_tokenMap.reset(new TokenMap_t); + + updateCurrentPath(); +} + +void XPathLogger::endElement() +{ + mp_tokenMap = m_tokenMapStack.top(); + m_tokenMapStack.pop(); + m_path.pop_back(); + + updateCurrentPath(); +} + +} diff --git a/writerfilter/source/resourcemodel/makefile.mk b/writerfilter/source/resourcemodel/makefile.mk index 71f730e77303..1bc260455813 100644 --- a/writerfilter/source/resourcemodel/makefile.mk +++ b/writerfilter/source/resourcemodel/makefile.mk @@ -55,6 +55,7 @@ SLOFILES= \ $(SLO)$/ResourceModelHelper.obj \ $(SLO)$/TagLogger.obj \ $(SLO)$/WW8Analyzer.obj \ + $(SLO)$/XPathLogger.obj \ $(SLO)$/qnametostr.obj \ $(SLO)$/resourcemodel.obj \ $(SLO)$/sprmcodetostr.obj \ -- cgit From 7efe40c915619ac4f1ca5d5a26641a10aeafe418 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann <hbrinkm@openoffice.org> Date: Wed, 5 Jan 2011 13:43:48 +0100 Subject: DomainMapper_Impl::finishParagraph: check if pParaContext is valid DomainMapperTableHandler::endTable: catch all exceptions --- writerfilter/source/dmapper/DomainMapperTableHandler.cxx | 4 ++-- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index 1a5f45fe5bac..c6869aca5f2b 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -734,14 +734,14 @@ void DomainMapperTableHandler::endTable() dmapper_logger->chars("failed to import table!"); #endif } -#ifdef DEBUG_DMAPPER_TABLE_HANDLER catch ( uno::Exception e ) { +#ifdef DEBUG_DMAPPER_TABLE_HANDLER dmapper_logger->startElement("exception"); dmapper_logger->chars(rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr( )); dmapper_logger->endElement("exeception"); - } #endif + } } m_aTableProperties.reset(); diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 92349beaf70d..11d03655b5db 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -629,7 +629,7 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) dmapper_logger->attribute("isTextAppend", xTextAppend.is()); #endif - if(xTextAppend.is() && ! getTableManager( ).isIgnore()) + if(xTextAppend.is() && ! getTableManager( ).isIgnore() && pParaContext != NULL) { try { @@ -648,7 +648,10 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) old _and_ new DropCap must not occur */ - bool bIsDropCap = pParaContext->IsFrameMode() && sal::static_int_cast<Id>(pParaContext->GetDropCap()) != NS_ooxml::LN_Value_wordprocessingml_ST_DropCap_none; + bool bIsDropCap = + pParaContext->IsFrameMode() && + sal::static_int_cast<Id>(pParaContext->GetDropCap()) != NS_ooxml::LN_Value_wordprocessingml_ST_DropCap_none; + style::DropCapFormat aDrop; ParagraphPropertiesPtr pToBeSavedProperties; bool bKeepLastParagraphProperties = false; -- cgit From affe4202add09040ff714c03ed4d2107362e76fa Mon Sep 17 00:00:00 2001 From: hb <hbrinkm@openoffice.org> Date: Tue, 18 Jan 2011 10:34:17 +0100 Subject: XPathLogger.cxx: added include for <stdio.h> --- writerfilter/source/resourcemodel/XPathLogger.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/writerfilter/source/resourcemodel/XPathLogger.cxx b/writerfilter/source/resourcemodel/XPathLogger.cxx index 6e8ec701bc4a..89255c8311f8 100644 --- a/writerfilter/source/resourcemodel/XPathLogger.cxx +++ b/writerfilter/source/resourcemodel/XPathLogger.cxx @@ -25,6 +25,7 @@ * ************************************************************************/ +#include <stdio.h> #include <resourcemodel/XPathLogger.hxx> namespace writerfilter -- cgit