Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-25104

Qt 5 to-do in QXmlSimpleReader

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P2: Important
    • 5.0.0 Beta 1
    • None
    • XML: DOM
    • None
    • 0fc74370b2565f8570d0b8b9be21016f78707de8

    Description

      qtbase/src/xml/sax/qxml.cpp
      // Hack for letting QDom know where the skipped entity occurred
      // ### Qt5: the use of this variable means the code isn't reentrant.
      bool qt_xml_skipped_entity_in_content;
      ...
      QXmlInputSource::~QXmlInputSource()
      {
          // ### Qt 5: close the input device. See task 153111
      #ifndef QT_NO_TEXTCODEC
          delete d->encMapper;
      #endif
          delete d;
      }
      ...
      bool QXmlSimpleReader::feature(const QString& name, bool *ok) const
      {
          const QXmlSimpleReaderPrivate *d = d_func();
      
          // Qt5 ###: Change these strings to qt.nokia.com
          if (ok != 0)
              *ok = true;
          if (name == QLatin1String("http://xml.org/sax/features/namespaces")) {
              return d->useNamespaces;
          } else if (name == QLatin1String("http://xml.org/sax/features/namespace-prefixes")) {
              return d->useNamespacePrefixes;
          } else if (name == QLatin1String("http://trolltech.com/xml/features/report-whitespace-only-CharData")) { // Shouldn't change in Qt 4
              return d->reportWhitespaceCharData;
          } else if (name == QLatin1String("http://trolltech.com/xml/features/report-start-end-entity")) { // Shouldn't change in Qt 4
              return d->reportEntities;
          } else {
              qWarning("Unknown feature %s", name.toLatin1().data());
              if (ok != 0)
                  *ok = false;
          }
          return false;
      }
      ...
      void QXmlSimpleReader::setFeature(const QString& name, bool enable)
      {
          Q_D(QXmlSimpleReader);
          // Qt5 ###: Change these strings to qt.nokia.com
          if (name == QLatin1String("http://xml.org/sax/features/namespaces")) {
              d->useNamespaces = enable;
          } else if (name == QLatin1String("http://xml.org/sax/features/namespace-prefixes")) {
              d->useNamespacePrefixes = enable;
          } else if (name == QLatin1String("http://trolltech.com/xml/features/report-whitespace-only-CharData")) { // Shouldn't change in Qt 4
              d->reportWhitespaceCharData = enable;
          } else if (name == QLatin1String("http://trolltech.com/xml/features/report-start-end-entity")) { // Shouldn't change in Qt 4
              d->reportEntities = enable;
          } else {
              qWarning("Unknown feature %s", name.toLatin1().data());
          }
      }
      ...
      bool QXmlSimpleReader::hasFeature(const QString& name) const
      {
          // Qt5 ###: Change these strings to qt.nokia.com
          if (name == QLatin1String("http://xml.org/sax/features/namespaces")
              || name == QLatin1String("http://xml.org/sax/features/namespace-prefixes")
              || name == QLatin1String("http://trolltech.com/xml/features/report-whitespace-only-CharData") // Shouldn't change in Qt 4
              || name == QLatin1String("http://trolltech.com/xml/features/report-start-end-entity")) { // Shouldn't change in Qt 4
              return true;
          } else {
              return false;
          }
      }
      
      qtbase/src/xml/sax/qxml.h
          // ### Qt 5: Conform to SAX by adding elementDecl
      

      Action for Qt 5.0.0 (if source-compatibility can be maintained), remove, or change to Qt 6 to-do's.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-25104
          # Subject Branch Project Status CR V

          Activity

            People

              jasmcdon Jason McDonald (Closed Nokia Identity. Please assign to "macadder" instead) (Inactive)
              jasmcdon Jason McDonald (Closed Nokia Identity. Please assign to "macadder" instead) (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes