summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2019-09-29 19:40:09 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-10-07 21:31:17 +0200
commit36c965311f53dd9feae63ed4f8ab6de4cc449b99 (patch)
tree1598e4cd1cbe7b46cdd7facdd540fb88ca051a75
parentbe634d021229408bf9e30b4cb75be5debf9a3ffd (diff)
use FastParser in linguistic
Change-Id: Iee2254dc13ccc31d266009ba1eb00f2517484cc7 Reviewed-on: https://gerrit.libreoffice.org/79814 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--include/xmloff/xmltoken.hxx8
-rw-r--r--linguistic/Library_lng.mk1
-rw-r--r--linguistic/source/convdicxml.cxx181
-rw-r--r--linguistic/source/convdicxml.hxx46
-rw-r--r--xmloff/source/core/xmltoken.cxx8
-rw-r--r--xmloff/source/token/tokens.txt8
6 files changed, 144 insertions, 108 deletions
diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx
index 3276d0b8b9c2..751cd423556d 100644
--- a/include/xmloff/xmltoken.hxx
+++ b/include/xmloff/xmltoken.hxx
@@ -105,6 +105,8 @@ namespace xmloff { namespace token {
XML_N_FORM,
XML_NP_SCRIPT,
XML_N_SCRIPT,
+ XML_NP_TCD,
+ XML_N_TCD,
XML_NP_XFORMS_1_0,
XML_N_XFORMS_1_0,
XML_NP_XSD,
@@ -486,6 +488,7 @@ namespace xmloff { namespace token {
XML_CONTRAST,
XML_CONTROL,
XML_CONVERSION_MODE,
+ XML_CONVERSION_TYPE,
XML_COPY_BACK,
XML_COPY_FORMULAS,
XML_COPY_OUTLINE_LEVELS,
@@ -716,6 +719,7 @@ namespace xmloff { namespace token {
XML_ENDNOTE_REF,
XML_ENDNOTES_CONFIGURATION,
XML_ENGRAVED,
+ XML_ENTRY,
XML_EQ,
XML_EQUAL_AUTHOR,
XML_EQUAL_COMMENT,
@@ -1095,6 +1099,7 @@ namespace xmloff { namespace token {
XML_LABEL_STROKE_WIDTH,
XML_LAMBDA,
XML_LANDSCAPE,
+ XML_LANG,
XML_LANGUAGE,
XML_LANGUAGE_ASIAN,
XML_LANGUAGE_COMPLEX,
@@ -1107,6 +1112,7 @@ namespace xmloff { namespace token {
XML_LEADER_CHAR,
XML_LEFT,
XML_LEFT_OUTSIDE,
+ XML_LEFT_TEXT,
XML_LEFT_TOP_POSITION,
XML_LEFTARC,
XML_LEFTCIRCLE,
@@ -1557,6 +1563,7 @@ namespace xmloff { namespace token {
XML_RIDGE,
XML_RIGHT,
XML_RIGHT_OUTSIDE,
+ XML_RIGHT_TEXT,
XML_RIGHTARC,
XML_RIGHTCIRCLE,
XML_RING,
@@ -1869,6 +1876,7 @@ namespace xmloff { namespace token {
XML_TEXT_COMBINE_END_CHAR,
XML_TEXT_COMBINE_START_CHAR,
XML_TEXT_CONTENT,
+ XML_TEXT_CONVERSION_DICTIONARY,
XML_TEXT_CROSSING_OUT,
XML_TEXT_EMPHASIZE,
XML_TEXT_GLOBAL,
diff --git a/linguistic/Library_lng.mk b/linguistic/Library_lng.mk
index d00f7637e52c..39a908f7bd69 100644
--- a/linguistic/Library_lng.mk
+++ b/linguistic/Library_lng.mk
@@ -38,6 +38,7 @@ $(eval $(call gb_Library_use_libraries,lng,\
cppuhelper \
i18nlangtag \
sal \
+ sax \
svl \
tl \
ucbhelper \
diff --git a/linguistic/source/convdicxml.cxx b/linguistic/source/convdicxml.cxx
index f7320100dc3b..55f51404a929 100644
--- a/linguistic/source/convdicxml.cxx
+++ b/linguistic/source/convdicxml.cxx
@@ -82,10 +82,8 @@ class ConvDicXMLImportContext :
public SvXMLImportContext
{
public:
- ConvDicXMLImportContext(
- ConvDicXMLImport &rImport,
- sal_uInt16 nPrfx, const OUString& rLName ) :
- SvXMLImportContext( rImport, nPrfx, rLName )
+ ConvDicXMLImportContext( ConvDicXMLImport &rImport ) :
+ SvXMLImportContext( rImport )
{
}
@@ -96,7 +94,8 @@ public:
// SvXMLImportContext
virtual void Characters( const OUString &rChars ) override;
- virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName, const uno::Reference< xml::sax::XAttributeList > &rxAttrList) override;
+ virtual css::uno::Reference<XFastContextHandler> SAL_CALL createFastChildContext(
+ sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) override;
};
@@ -107,17 +106,17 @@ class ConvDicXMLDictionaryContext_Impl :
sal_Int16 nConversionType;
public:
- ConvDicXMLDictionaryContext_Impl( ConvDicXMLImport &rImport,
- sal_uInt16 nPrefix, const OUString& rLName) :
- ConvDicXMLImportContext( rImport, nPrefix, rLName )
+ ConvDicXMLDictionaryContext_Impl( ConvDicXMLImport &rImport ) :
+ ConvDicXMLImportContext( rImport )
{
nLanguage = LANGUAGE_NONE;
nConversionType = -1;
}
// SvXMLImportContext
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
- virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName, const uno::Reference< xml::sax::XAttributeList > &rxAttrList ) override;
+ virtual void SAL_CALL startFastElement( sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs ) override;
+ virtual css::uno::Reference<XFastContextHandler> SAL_CALL createFastChildContext(
+ sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) override;
};
@@ -127,16 +126,15 @@ class ConvDicXMLEntryTextContext_Impl :
OUString aLeftText;
public:
- ConvDicXMLEntryTextContext_Impl(
- ConvDicXMLImport &rImport,
- sal_uInt16 nPrefix, const OUString& rLName ) :
- ConvDicXMLImportContext( rImport, nPrefix, rLName )
+ ConvDicXMLEntryTextContext_Impl( ConvDicXMLImport &rImport ) :
+ ConvDicXMLImportContext( rImport )
{
}
// SvXMLImportContext
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
- virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName, const uno::Reference< xml::sax::XAttributeList > &rxAttrList ) override;
+ virtual void SAL_CALL startFastElement( sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs ) override;
+ virtual css::uno::Reference<XFastContextHandler> SAL_CALL createFastChildContext(
+ sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) override;
const OUString & GetLeftText() const { return aLeftText; }
};
@@ -151,16 +149,14 @@ class ConvDicXMLRightTextContext_Impl :
public:
ConvDicXMLRightTextContext_Impl(
ConvDicXMLImport &rImport,
- sal_uInt16 nPrefix, const OUString& rLName,
ConvDicXMLEntryTextContext_Impl &rParentContext ) :
- ConvDicXMLImportContext( rImport, nPrefix, rLName ),
+ ConvDicXMLImportContext( rImport ),
rEntryContext( rParentContext )
{
}
// SvXMLImportContext
- virtual void EndElement() override;
- virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName, const uno::Reference< xml::sax::XAttributeList > &rxAttrList ) override;
+ virtual void SAL_CALL endFastElement( sal_Int32 nElement ) override;
virtual void Characters( const OUString &rChars ) override;
const OUString & GetRightText() const { return aRightText; }
@@ -180,99 +176,95 @@ void ConvDicXMLImportContext::Characters(const OUString & /*rChars*/)
}
-SvXMLImportContextRef ConvDicXMLImportContext::CreateChildContext(
- sal_uInt16 nPrefix, const OUString& rLocalName,
- const uno::Reference< xml::sax::XAttributeList > & /*rxAttrList*/ )
+css::uno::Reference<XFastContextHandler> ConvDicXMLImportContext::createFastChildContext(
+ sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList > & /*xAttrList*/ )
{
- SvXMLImportContext *pContext = nullptr;
- if ( nPrefix == XML_NAMESPACE_TCD && rLocalName == "text-conversion-dictionary" )
- pContext = new ConvDicXMLDictionaryContext_Impl( GetConvDicImport(), nPrefix, rLocalName );
+ if ( Element == ConvDicXMLToken::TEXT_CONVERSION_DICTIONARY )
+ return new ConvDicXMLDictionaryContext_Impl( GetConvDicImport() );
else
- pContext = new SvXMLImportContext( GetImport(), nPrefix, rLocalName );
- return pContext;
+ return new SvXMLImportContext( GetImport() );
}
-void ConvDicXMLDictionaryContext_Impl::StartElement(
- const uno::Reference< xml::sax::XAttributeList > &rxAttrList )
+void ConvDicXMLDictionaryContext_Impl::startFastElement( sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& rxAttrList )
{
- sal_Int16 nAttrCount = rxAttrList.is() ? rxAttrList->getLength() : 0;
- for (sal_Int16 i = 0; i < nAttrCount; ++i)
+ if ( rxAttrList.is() )
{
- OUString aAttrName = rxAttrList->getNameByIndex(i);
- OUString aLocalName;
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().
- GetKeyByAttrName( aAttrName, &aLocalName );
- OUString aValue = rxAttrList->getValueByIndex(i);
-
- if ( nPrefix == XML_NAMESPACE_TCD && aLocalName == "lang" )
- nLanguage = LanguageTag::convertToLanguageType( aValue );
- else if ( nPrefix == XML_NAMESPACE_TCD && aLocalName == "conversion-type" )
- nConversionType = GetConversionTypeFromText( aValue );
+ sax_fastparser::FastAttributeList *pAttribList =
+ sax_fastparser::FastAttributeList::castToFastAttributeList( rxAttrList );
+
+ for (auto &aIter : *pAttribList)
+ {
+ switch (aIter.getToken())
+ {
+ case XML_NAMESPACE_TCD | XML_LANG:
+ nLanguage = LanguageTag::convertToLanguageType( aIter.toString() );
+ break;
+ case XML_NAMESPACE_TCD | XML_CONVERSION_TYPE:
+ nConversionType = GetConversionTypeFromText( aIter.toString() );
+ break;
+ default:
+ ;
+ }
+ }
}
GetConvDicImport().SetLanguage( nLanguage );
GetConvDicImport().SetConversionType( nConversionType );
}
-SvXMLImportContextRef ConvDicXMLDictionaryContext_Impl::CreateChildContext(
- sal_uInt16 nPrefix, const OUString& rLocalName,
- const uno::Reference< xml::sax::XAttributeList > & /*rxAttrList*/ )
+css::uno::Reference<XFastContextHandler> ConvDicXMLDictionaryContext_Impl::createFastChildContext(
+ sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList > & /*xAttrList*/ )
{
- SvXMLImportContext *pContext = nullptr;
- if ( nPrefix == XML_NAMESPACE_TCD && rLocalName == "entry" )
- pContext = new ConvDicXMLEntryTextContext_Impl( GetConvDicImport(), nPrefix, rLocalName );
+ if ( Element == ConvDicXMLToken::ENTRY )
+ return new ConvDicXMLEntryTextContext_Impl( GetConvDicImport() );
else
- pContext = new SvXMLImportContext( GetImport(), nPrefix, rLocalName );
- return pContext;
+ return new SvXMLImportContext(GetImport());
}
-
-SvXMLImportContextRef ConvDicXMLEntryTextContext_Impl::CreateChildContext(
- sal_uInt16 nPrefix, const OUString& rLocalName,
- const uno::Reference< xml::sax::XAttributeList > & /*rxAttrList*/ )
+css::uno::Reference<XFastContextHandler> ConvDicXMLEntryTextContext_Impl::createFastChildContext(
+ sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList > & /*xAttrList*/ )
{
- SvXMLImportContext *pContext = nullptr;
- if ( nPrefix == XML_NAMESPACE_TCD && rLocalName == "right-text" )
- pContext = new ConvDicXMLRightTextContext_Impl( GetConvDicImport(), nPrefix, rLocalName, *this );
+ if ( Element == ConvDicXMLToken::RIGHT_TEXT )
+ return new ConvDicXMLRightTextContext_Impl( GetConvDicImport(), *this );
else
- pContext = new SvXMLImportContext( GetImport(), nPrefix, rLocalName );
- return pContext;
+ return new SvXMLImportContext(GetImport());
}
-void ConvDicXMLEntryTextContext_Impl::StartElement(
- const uno::Reference< xml::sax::XAttributeList >& rxAttrList )
+void ConvDicXMLEntryTextContext_Impl::startFastElement(
+ sal_Int32 /*Element*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& rxAttrList )
{
- sal_Int16 nAttrCount = rxAttrList.is() ? rxAttrList->getLength() : 0;
- for (sal_Int16 i = 0; i < nAttrCount; ++i)
+ if ( rxAttrList.is() )
{
- OUString aAttrName = rxAttrList->getNameByIndex(i);
- OUString aLocalName;
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().
- GetKeyByAttrName( aAttrName, &aLocalName );
- OUString aValue = rxAttrList->getValueByIndex(i);
-
- if ( nPrefix == XML_NAMESPACE_TCD && aLocalName == "left-text" )
- aLeftText = aValue;
+ sax_fastparser::FastAttributeList *pAttribList =
+ sax_fastparser::FastAttributeList::castToFastAttributeList( rxAttrList );
+
+ for (auto &aIter : *pAttribList)
+ {
+ switch (aIter.getToken())
+ {
+ case XML_NAMESPACE_TCD | XML_LEFT_TEXT:
+ aLeftText = aIter.toString();
+ break;
+ default:
+ ;
+ }
+ }
}
}
-SvXMLImportContextRef ConvDicXMLRightTextContext_Impl::CreateChildContext(
- sal_uInt16 nPrefix, const OUString& rLocalName,
- const uno::Reference< xml::sax::XAttributeList > & /*rxAttrList*/ )
-{
- // leaf: return default (empty) context
- SvXMLImportContext *pContext = new SvXMLImportContext( GetImport(), nPrefix, rLocalName );
- return pContext;
-}
-
void ConvDicXMLRightTextContext_Impl::Characters( const OUString &rChars )
{
aRightText += rChars;
}
-void ConvDicXMLRightTextContext_Impl::EndElement()
+void ConvDicXMLRightTextContext_Impl::endFastElement( sal_Int32 /*nElement*/ )
{
ConvDic *pDic = GetConvDicImport().GetDic();
if (pDic)
@@ -359,25 +351,24 @@ void ConvDicXMLExport::ExportContent_()
}
}
-void SAL_CALL ConvDicXMLImport::startDocument()
+ //!! see comment for pDic member
+ConvDicXMLImport::ConvDicXMLImport( ConvDic *pConvDic ) :
+ SvXMLImport ( comphelper::getProcessComponentContext(), "com.sun.star.lingu2.ConvDicXMLImport", SvXMLImportFlags::ALL ),
+ pDic ( pConvDic )
{
- // register namespace at first possible opportunity
- GetNamespaceMap().Add( "tcd",
- XML_NAMESPACE_TCD_STRING, XML_NAMESPACE_TCD );
- SvXMLImport::startDocument();
+ nLanguage = LANGUAGE_NONE;
+ nConversionType = -1;
+ GetNamespaceMap().Add( GetXMLToken(XML_NP_TCD), GetXMLToken(XML_N_TCD), XML_NAMESPACE_TCD);
}
-SvXMLImportContext * ConvDicXMLImport::CreateDocumentContext(
- sal_uInt16 nPrefix,
- const OUString &rLocalName,
- const uno::Reference < xml::sax::XAttributeList > & /*rxAttrList*/ )
+SvXMLImportContext * ConvDicXMLImport::CreateFastContext(
+ sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList )
{
- SvXMLImportContext *pContext = nullptr;
- if ( nPrefix == XML_NAMESPACE_TCD && rLocalName == "text-conversion-dictionary" )
- pContext = new ConvDicXMLDictionaryContext_Impl( *this, nPrefix, rLocalName );
+ if( Element == ConvDicXMLToken::TEXT_CONVERSION_DICTIONARY )
+ return new ConvDicXMLDictionaryContext_Impl( *this );
else
- pContext = new SvXMLImportContext( *this, nPrefix, rLocalName );
- return pContext;
+ return SvXMLImport::CreateFastContext( Element, xAttrList );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/linguistic/source/convdicxml.hxx b/linguistic/source/convdicxml.hxx
index 9a2b3c776c37..70c9ab1e7691 100644
--- a/linguistic/source/convdicxml.hxx
+++ b/linguistic/source/convdicxml.hxx
@@ -24,9 +24,12 @@
#include <com/sun/star/util/MeasureUnit.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
+#include <com/sun/star/xml/sax/FastToken.hpp>
#include <comphelper/processfactory.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlimp.hxx>
+#include <xmloff/xmltoken.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <cppuhelper/interfacecontainer.h>
#include <rtl/ustring.hxx>
#include <linguistic/misc.hxx>
@@ -34,6 +37,8 @@
class ConvDic;
+using namespace css::xml::sax;
+using namespace ::xmloff::token;
class ConvDicXMLExport : public SvXMLExport
@@ -62,6 +67,29 @@ public:
};
+enum ConvDicXMLToken : sal_Int32
+{
+ TEXT_CONVERSION_DICTIONARY = FastToken::NAMESPACE | XML_NAMESPACE_TCD | XML_BLOCK_LIST,
+ RIGHT_TEXT = FastToken::NAMESPACE | XML_NAMESPACE_TCD | XML_RIGHT_TEXT,
+ ENTRY = FastToken::NAMESPACE | XML_NAMESPACE_TCD | XML_ENTRY,
+};
+
+class ConvDicXMLTokenHandler : public
+ cppu::WeakImplHelper< css::xml::sax::XFastTokenHandler >,
+ public sax_fastparser::FastTokenHandlerBase
+{
+public:
+ explicit ConvDicXMLTokenHandler();
+ virtual ~ConvDicXMLTokenHandler() override;
+
+ //XFastTokenHandler
+ virtual sal_Int32 SAL_CALL getTokenFromUTF8( const css::uno::Sequence< sal_Int8 >& Identifier ) override;
+ virtual css::uno::Sequence< sal_Int8 > SAL_CALL getUTF8Identifier( sal_Int32 Token ) override;
+
+ // Much faster direct C++ shortcut to the method that matters
+ virtual sal_Int32 getTokenDirect( const char *pToken, sal_Int32 nLength ) const override;
+};
+
class ConvDicXMLImport : public SvXMLImport
{
ConvDic *pDic; // conversion dictionary to be used
@@ -77,19 +105,7 @@ class ConvDicXMLImport : public SvXMLImport
public:
//!! see comment for pDic member
- explicit ConvDicXMLImport( ConvDic *pConvDic ) :
- SvXMLImport ( comphelper::getProcessComponentContext(), "com.sun.star.lingu2.ConvDicXMLImport", SvXMLImportFlags::ALL ),
- pDic ( pConvDic )
- {
- nLanguage = LANGUAGE_NONE;
- nConversionType = -1;
- }
-
- virtual void SAL_CALL startDocument() override;
-
- virtual SvXMLImportContext * CreateDocumentContext(
- sal_uInt16 nPrefix, const OUString &rLocalName,
- const css::uno::Reference < css::xml::sax::XAttributeList > &rxAttrList ) override;
+ explicit ConvDicXMLImport( ConvDic *pConvDic );
ConvDic * GetDic() { return pDic; }
LanguageType GetLanguage() const { return nLanguage; }
@@ -97,6 +113,10 @@ public:
void SetLanguage( LanguageType nLang ) { nLanguage = nLang; }
void SetConversionType( sal_Int16 nType ) { nConversionType = nType; }
+
+private:
+ virtual SvXMLImportContext *CreateFastContext( sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) override;
};
diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx
index 1063b9ee7791..9da33e32e6e1 100644
--- a/xmloff/source/core/xmltoken.cxx
+++ b/xmloff/source/core/xmltoken.cxx
@@ -109,6 +109,8 @@ namespace xmloff { namespace token {
TOKEN( "urn:oasis:names:tc:opendocument:xmlns:form:1.0", XML_N_FORM ),
TOKEN( "script", XML_NP_SCRIPT ),
TOKEN( "urn:oasis:names:tc:opendocument:xmlns:script:1.0", XML_N_SCRIPT ),
+ TOKEN( "tcd", XML_NP_TCD ),
+ TOKEN( "http://openoffice.org/2003/text-conversion-dictionary", XML_N_TCD ),
TOKEN( "xforms", XML_NP_XFORMS_1_0 ),
TOKEN( "http://www.w3.org/2002/xforms", XML_N_XFORMS_1_0 ),
TOKEN( "xsd", XML_NP_XSD ),
@@ -487,6 +489,7 @@ namespace xmloff { namespace token {
TOKEN( "contrast", XML_CONTRAST ),
TOKEN( "control", XML_CONTROL ),
TOKEN( "conversion-mode", XML_CONVERSION_MODE ),
+ TOKEN( "conversion-type", XML_CONVERSION_TYPE ),
TOKEN( "copy-back", XML_COPY_BACK ),
TOKEN( "copy-formulas", XML_COPY_FORMULAS ),
TOKEN( "copy-outline-levels", XML_COPY_OUTLINE_LEVELS ),
@@ -717,6 +720,7 @@ namespace xmloff { namespace token {
TOKEN( "endnote-ref", XML_ENDNOTE_REF ),
TOKEN( "endnotes-configuration", XML_ENDNOTES_CONFIGURATION ),
TOKEN( "engraved", XML_ENGRAVED ),
+ TOKEN( "entry", XML_ENTRY ),
TOKEN( "eq", XML_EQ ),
TOKEN( "equal-author", XML_EQUAL_AUTHOR ),
TOKEN( "equal-comment", XML_EQUAL_COMMENT ),
@@ -1097,6 +1101,7 @@ namespace xmloff { namespace token {
TOKEN( "label-stroke-width", XML_LABEL_STROKE_WIDTH ),
TOKEN( "lambda", XML_LAMBDA ),
TOKEN( "landscape", XML_LANDSCAPE ),
+ TOKEN( "lang", XML_LANG ),
TOKEN( "language", XML_LANGUAGE ),
TOKEN( "language-asian", XML_LANGUAGE_ASIAN ),
TOKEN( "language-complex", XML_LANGUAGE_COMPLEX ),
@@ -1109,6 +1114,7 @@ namespace xmloff { namespace token {
TOKEN( "leader-char", XML_LEADER_CHAR ),
TOKEN( "left", XML_LEFT ),
TOKEN( "left-outside", XML_LEFT_OUTSIDE ),
+ TOKEN( "left-text", XML_LEFT_TEXT ),
TOKEN( "left-top-position", XML_LEFT_TOP_POSITION ),
TOKEN( "left-arc", XML_LEFTARC ),
TOKEN( "left-circle", XML_LEFTCIRCLE ),
@@ -1559,6 +1565,7 @@ namespace xmloff { namespace token {
TOKEN( "ridge", XML_RIDGE ),
TOKEN( "right", XML_RIGHT ),
TOKEN( "right-outside", XML_RIGHT_OUTSIDE ),
+ TOKEN( "right-text", XML_RIGHT_TEXT ),
TOKEN( "right-arc", XML_RIGHTARC ),
TOKEN( "right-circle", XML_RIGHTCIRCLE ),
TOKEN( "ring", XML_RING ),
@@ -1871,6 +1878,7 @@ namespace xmloff { namespace token {
TOKEN( "text-combine-end-char", XML_TEXT_COMBINE_END_CHAR ),
TOKEN( "text-combine-start-char", XML_TEXT_COMBINE_START_CHAR ),
TOKEN( "text-content", XML_TEXT_CONTENT ),
+ TOKEN( "text-conversion-dictionary", XML_TEXT_CONVERSION_DICTIONARY ),
TOKEN( "text-crossing-out", XML_TEXT_CROSSING_OUT ),
TOKEN( "text-emphasize", XML_TEXT_EMPHASIZE ),
TOKEN( "text-global", XML_TEXT_GLOBAL ),
diff --git a/xmloff/source/token/tokens.txt b/xmloff/source/token/tokens.txt
index 5bce19e510af..859cbbc08768 100644
--- a/xmloff/source/token/tokens.txt
+++ b/xmloff/source/token/tokens.txt
@@ -52,6 +52,8 @@ NP_FORM_DUMMY
N_FORM_DUMMY
NP_SCRIPT_DUMMY
N_SCRIPT_DUMMY
+tcd
+N_TCD_DUMMY
xforms
N_XFORMS_1_0_DUMMY
xsd
@@ -410,6 +412,7 @@ contour-polygon
contrast
control
conversion-mode
+conversion-type
copy-back
copy-formulas
copy-outline-levels
@@ -640,6 +643,7 @@ endnote-citation
endnote-ref
endnotes-configuration
engraved
+entry
eq
equal-author
equal-comment
@@ -1015,6 +1019,7 @@ label-stroke-opacity
label-stroke-width
lambda
landscape
+lang
language
language-asian
language-complex
@@ -1027,6 +1032,7 @@ layer-set
leader-char
left
left-outside
+left-text
left-top-position
left-arc
left-circle
@@ -1477,6 +1483,7 @@ revision
ridge
right
right-outside
+right-text
right-arc
right-circle
ring
@@ -1789,6 +1796,7 @@ text-combine
text-combine-end-char
text-combine-start-char
text-content
+text-conversion-dictionary
text-crossing-out
text-emphasize
text-global