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

Qt 5 to-do in QXmlSimpleReader

XMLWordPrintable

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

      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.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes