Uploaded image for project: 'Islandora'
  1. Islandora
  2. ISLANDORA-1461

"Solution packs required objects" page: xml-model processing instruction error



    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 7.x-1.3, 7.x-1.4, 7.x-1.5
    • Fix Version/s: 7.x-1.6
    • Labels:


      When this was found, it showed up PHP 5.3 using Ubuntu 12.04, but it likely affects other versions and distros.

      There's an issue where libxml2 throws warnings when a module implementing hook_required_objects tries to add an object with an /xml datastream that implements the xml-model processing instruction.

      The exact commit where this processing instruction exception was added to libxml2 exists here: https://git.gnome.org/browse/libxml2/commit/?id=4c4653e587838a2cc78ddc03cb77749198f12c6b

      That commit is from June of 2011; compiled versions of libxml2 that are old enough (e.g., the version used with Ubuntu 12.04) may not have this included.

      The offending code is here and here ... we're comparing the XML of an existing datastream against the XML of a fresh abstract datastream, and because of some Fedora XML-mangling weirdness, we can't just compare strings. Notes on why this is the case are in the comments here.

      The likely solution is to add LIBXML_NOWARNING to the loadXML() calls in both spots, since the Solution packs required objects page is not the appropriate place to determine whether or not XML doesn't match spec. Despite the name of the constant, LIBXML_NOWARNING doesn't appear to suppress all warnings, so we shouldn't worry about that.




            • Assignee:
              daitken Daniel Aitken
              daitken Daniel Aitken
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: