xmloff/source/text/txtparai.cxx |   70 ++++++++++++++++++++--------------------
 1 file changed, 35 insertions(+), 35 deletions(-)

New commits:
commit 246505c4da2a60b9fb137cbe442b7409c76267ab
Author:     Noel <noelgran...@gmail.com>
AuthorDate: Tue Dec 15 15:39:13 2020 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Dec 17 13:51:41 2020 +0100

    use views to parse
    
    Change-Id: I5fe1b6523a3d0b0d42c3ab5b7d0db3e30082efcd
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107762
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/xmloff/source/text/txtparai.cxx b/xmloff/source/text/txtparai.cxx
index c3ef3d9b3e7f..fb480dd136e0 100644
--- a/xmloff/source/text/txtparai.cxx
+++ b/xmloff/source/text/txtparai.cxx
@@ -938,8 +938,8 @@ protected:
      * This method tolerates an empty PropertySet; subclasses however
      * are not expected to.
      */
-    virtual void ProcessAttribute(sal_Int32 nElement, sal_Int32 
nAttributeToken,
-                                  const OUString& sValue,
+    virtual void ProcessAttribute(sal_Int32 nElement,
+                                  const 
sax_fastparser::FastAttributeList::FastAttributeIter & aIter,
                                   Reference<beans::XPropertySet>& rPropSet);
 
     static void GetServiceName(OUString& sServiceName,
@@ -1043,14 +1043,13 @@ void XMLIndexMarkImportContext_Impl::ProcessAttributes(
     // process attributes
     for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
     {
-        ProcessAttribute(nElement, aIter.getToken(), aIter.toString(), 
rPropSet);
+        ProcessAttribute(nElement, aIter, rPropSet);
     }
 }
 
 void XMLIndexMarkImportContext_Impl::ProcessAttribute(
     sal_Int32 nElement,
-    sal_Int32 nAttributeToken,
-    const OUString& sValue,
+    const sax_fastparser::FastAttributeList::FastAttributeIter & aIter,
     Reference<beans::XPropertySet>& rPropSet)
 {
     // we only know ID + string-value attribute;
@@ -1061,9 +1060,9 @@ void XMLIndexMarkImportContext_Impl::ProcessAttribute(
         case XML_ELEMENT(TEXT, XML_TOC_MARK):
         case XML_ELEMENT(TEXT, XML_USER_INDEX_MARK):
         case XML_ELEMENT(TEXT, XML_ALPHABETICAL_INDEX_MARK):
-            if ( nAttributeToken == XML_ELEMENT(TEXT, XML_STRING_VALUE) )
+            if ( aIter.getToken() == XML_ELEMENT(TEXT, XML_STRING_VALUE) )
             {
-                rPropSet->setPropertyValue("AlternativeText", 
uno::makeAny(sValue));
+                rPropSet->setPropertyValue("AlternativeText", 
uno::makeAny(aIter.toString()));
             }
             // else: ignore!
             break;
@@ -1074,15 +1073,15 @@ void XMLIndexMarkImportContext_Impl::ProcessAttribute(
         case XML_ELEMENT(TEXT, XML_TOC_MARK_END):
         case XML_ELEMENT(TEXT, XML_USER_INDEX_MARK_END):
         case XML_ELEMENT(TEXT, XML_ALPHABETICAL_INDEX_MARK_END):
-            if ( nAttributeToken == XML_ELEMENT(TEXT, XML_ID) )
+            if ( aIter.getToken() == XML_ELEMENT(TEXT, XML_ID) )
             {
-                sID = sValue;
+                sID = aIter.toString();
             }
             // else: ignore
             break;
 
         default:
-            XMLOFF_WARN_UNKNOWN_ATTR("xmloff", nAttributeToken, sValue);
+            XMLOFF_WARN_UNKNOWN("xmloff", aIter);
             break;
     }
 }
@@ -1158,8 +1157,8 @@ public:
 protected:
 
     /** process outline level */
-    virtual void ProcessAttribute(sal_Int32 nElement, sal_Int32 
nAttributeToken,
-                                  const OUString& sValue,
+    virtual void ProcessAttribute(sal_Int32 nElement,
+                                  const 
sax_fastparser::FastAttributeList::FastAttributeIter & aIter,
                                   Reference<beans::XPropertySet>& rPropSet) 
override;
 };
 
@@ -1173,19 +1172,18 @@ 
XMLTOCMarkImportContext_Impl::XMLTOCMarkImportContext_Impl(
 
 void XMLTOCMarkImportContext_Impl::ProcessAttribute(
     sal_Int32 nElement,
-    sal_Int32 nAttributeToken,
-    const OUString& sValue,
+    const sax_fastparser::FastAttributeList::FastAttributeIter & aIter,
     Reference<beans::XPropertySet>& rPropSet)
 {
     SAL_WARN_IF(!rPropSet.is(), "xmloff.text", "need PropertySet");
 
-    switch (nAttributeToken)
+    switch (aIter.getToken())
     {
         case XML_ELEMENT(TEXT, XML_OUTLINE_LEVEL):
         {
             // ouline level: set Level property
             sal_Int32 nTmp;
-            if (::sax::Converter::convertNumber( nTmp, sValue )
+            if (::sax::Converter::convertNumber( nTmp, aIter.toView() )
                 && nTmp >= 1
                 && nTmp < GetImport().GetTextImport()->
                                 GetChapterNumbering()->getCount() )
@@ -1198,7 +1196,7 @@ void XMLTOCMarkImportContext_Impl::ProcessAttribute(
         default:
             // else: delegate to superclass
             XMLIndexMarkImportContext_Impl::ProcessAttribute(
-                nElement, nAttributeToken, sValue, rPropSet);
+                nElement, aIter, rPropSet);
     }
 }
 
@@ -1215,8 +1213,8 @@ public:
 protected:
 
     /** process index name */
-    virtual void ProcessAttribute(sal_Int32 nElement, sal_Int32 
nAttributeToken,
-                                  const OUString& sValue,
+    virtual void ProcessAttribute(sal_Int32 nElement,
+                                  const 
sax_fastparser::FastAttributeList::FastAttributeIter & aIter,
                                   Reference<beans::XPropertySet>& rPropSet) 
override;
 };
 
@@ -1229,20 +1227,21 @@ 
XMLUserIndexMarkImportContext_Impl::XMLUserIndexMarkImportContext_Impl(
 }
 
 void XMLUserIndexMarkImportContext_Impl::ProcessAttribute(
-    sal_Int32 nElement, sal_Int32 nAttributeToken, const OUString& sValue,
+    sal_Int32 nElement,
+    const sax_fastparser::FastAttributeList::FastAttributeIter & aIter,
     Reference<beans::XPropertySet>& rPropSet)
 {
-    switch (nAttributeToken)
+    switch (aIter.getToken())
     {
         case XML_ELEMENT(TEXT, XML_INDEX_NAME):
-            rPropSet->setPropertyValue("UserIndexName", uno::makeAny(sValue));
+            rPropSet->setPropertyValue("UserIndexName", 
uno::makeAny(aIter.toString()));
             break;
         case XML_ELEMENT(TEXT, XML_OUTLINE_LEVEL):
         {
             // ouline level: set Level property
             sal_Int32 nTmp;
             if (::sax::Converter::convertNumber(
-                nTmp, sValue, 0,
+                nTmp, aIter.toView(), 0,
                GetImport().GetTextImport()->GetChapterNumbering()->getCount()))
             {
                 rPropSet->setPropertyValue("Level", 
uno::makeAny(static_cast<sal_Int16>(nTmp - 1)));
@@ -1253,7 +1252,7 @@ void XMLUserIndexMarkImportContext_Impl::ProcessAttribute(
         default:
             // else: unknown text property: delegate to super class
             XMLIndexMarkImportContext_Impl::ProcessAttribute(
-                nElement, nAttributeToken, sValue, rPropSet);
+                nElement, aIter, rPropSet);
     }
 }
 
@@ -1270,8 +1269,8 @@ public:
 protected:
 
     /** process primary + secondary keys */
-    virtual void ProcessAttribute(sal_Int32 nElement, sal_Int32 
nAttributeToken,
-                                  const OUString& sValue,
+    virtual void ProcessAttribute(sal_Int32 nElement,
+                                  const 
sax_fastparser::FastAttributeList::FastAttributeIter & aIter,
                                   Reference<beans::XPropertySet>& rPropSet) 
override;
 };
 
@@ -1284,32 +1283,33 @@ 
XMLAlphaIndexMarkImportContext_Impl::XMLAlphaIndexMarkImportContext_Impl(
 }
 
 void XMLAlphaIndexMarkImportContext_Impl::ProcessAttribute(
-    sal_Int32 nElement, sal_Int32 nAttributeToken, const OUString& sValue,
+    sal_Int32 nElement,
+    const sax_fastparser::FastAttributeList::FastAttributeIter & aIter,
     Reference<beans::XPropertySet>& rPropSet)
 {
-    switch (nAttributeToken)
+    switch (aIter.getToken())
     {
         case XML_ELEMENT(TEXT, XML_KEY1):
-            rPropSet->setPropertyValue("PrimaryKey", uno::makeAny(sValue));
+            rPropSet->setPropertyValue("PrimaryKey", 
uno::makeAny(aIter.toString()));
             break;
         case XML_ELEMENT(TEXT, XML_KEY2):
-            rPropSet->setPropertyValue("SecondaryKey", uno::makeAny(sValue));
+            rPropSet->setPropertyValue("SecondaryKey", 
uno::makeAny(aIter.toString()));
             break;
         case XML_ELEMENT(TEXT, XML_KEY1_PHONETIC):
-            rPropSet->setPropertyValue("PrimaryKeyReading", 
uno::makeAny(sValue));
+            rPropSet->setPropertyValue("PrimaryKeyReading", 
uno::makeAny(aIter.toString()));
             break;
         case XML_ELEMENT(TEXT, XML_KEY2_PHONETIC):
-            rPropSet->setPropertyValue("SecondaryKeyReading", 
uno::makeAny(sValue));
+            rPropSet->setPropertyValue("SecondaryKeyReading", 
uno::makeAny(aIter.toString()));
             break;
         case XML_ELEMENT(TEXT, XML_STRING_VALUE_PHONETIC):
-            rPropSet->setPropertyValue("TextReading", uno::makeAny(sValue));
+            rPropSet->setPropertyValue("TextReading", 
uno::makeAny(aIter.toString()));
             break;
         case XML_ELEMENT(TEXT, XML_MAIN_ENTRY):
         {
             bool bMainEntry = false;
             bool bTmp(false);
 
-            if (::sax::Converter::convertBool(bTmp, sValue))
+            if (::sax::Converter::convertBool(bTmp, aIter.toView()))
                 bMainEntry = bTmp;
 
             rPropSet->setPropertyValue("IsMainEntry", 
uno::makeAny(bMainEntry));
@@ -1317,7 +1317,7 @@ void 
XMLAlphaIndexMarkImportContext_Impl::ProcessAttribute(
         }
         default:
             XMLIndexMarkImportContext_Impl::ProcessAttribute(
-                nElement, nAttributeToken, sValue, rPropSet);
+                nElement, aIter, rPropSet);
     }
 }
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to