[Libreoffice-commits] core.git: include/xmloff linguistic/Library_lng.mk linguistic/source xmloff/source

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Mon Oct 7 19:32:18 UTC 2019


 include/xmloff/xmltoken.hxx      |    8 +
 linguistic/Library_lng.mk        |    1 
 linguistic/source/convdicxml.cxx |  181 ++++++++++++++++++---------------------
 linguistic/source/convdicxml.hxx |   46 +++++++--
 xmloff/source/core/xmltoken.cxx  |    8 +
 xmloff/source/token/tokens.txt   |    8 +
 6 files changed, 144 insertions(+), 108 deletions(-)

New commits:
commit 36c965311f53dd9feae63ed4f8ab6de4cc449b99
Author:     Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Sun Sep 29 19:40:09 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Mon Oct 7 21:31:17 2019 +0200

    use FastParser in linguistic
    
    Change-Id: Iee2254dc13ccc31d266009ba1eb00f2517484cc7
    Reviewed-on: https://gerrit.libreoffice.org/79814
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

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


More information about the Libreoffice-commits mailing list