libxmlb icon indicating copy to clipboard operation
libxmlb copied to clipboard

Second predicate doesn’t filter results of first

Open pwithnall opened this issue 3 years ago • 0 comments

If I run the two queries:

languages/lang[(text()='en_GB.UTF-8') and (@percentage>50)]|languages/lang[(text()='en_GB') and (@percentage>50)]|languages/lang[(text()='en.UTF-8') and (@percentage>50)]|languages/lang[(text()='en') and (@percentage>50)]
languages/lang[text()='en_GB.UTF-8'][@percentage>50]|languages/lang[text()='en_GB'][@percentage>50]|languages/lang[text()='en.UTF-8'][@percentage>50]|languages/lang[text()='en'][@percentage>50]

on the XML below, they should return the same results. In the second query, the second predicate should filter the results of the first. However, they don’t: the first query returns no results, whereas the second returns the <lang percentage="100">es</lang> element.

I suspect the unions above and most of the XML in the reproducer below are irrelevant, but I’m filing this quickly while working on something else, so haven’t taken the time to trim the reproducer down.

The straightforward workaround is to combine the predicates (as in query 1), and that’s what I’ll do in gnome-software, so I apologise but I don’t plan to come back to this issue. There should be enough information here for someone else to pick it up at some point though.

XML:

<component type="desktop">
    <id>ar.com.softwareperonista.Rockarrolla.desktop</id>
    <translation type="gettext">rockarrolla</translation>
    <name>Rockarrolla</name>
    <summary>A jukebox-like music player</summary>
    <summary xml:lang="es">Un reproductor de música similar a una rockola</summary>
    <description><p>A simple music player with a jukebox-like UI. It shows the albums and their songs in albums and can be added to the playlist with a coin-like system.</p></description>
    <description xml:lang="es"><p>Un reproductor de música con una interfaz similar a una rockola. Muestra los álbumes, las canciones de los álbumes y pueden ser agregadas a la lista de reproducción mediante un sistema similar al de las fichas de una rockola.</p></description>
    <icon type="cached" height="64" width="64">ar.com.softwareperonista.Rockarrolla.png</icon>
    <icon type="cached" height="128" width="128">ar.com.softwareperonista.Rockarrolla.png</icon>
   <categories>
      <category>Audio</category>
      <category>AudioVideo</category>
      <category>Jukebox</category>
      <category>Music</category>
    </categories>
    <kudos>
      <kudo>HiDpiIcon</kudo>
    </kudos>
    <project_license>GPL-3.0</project_license>
    <url type="homepage">https://gitlab.com/softwareperonista/rockarrolla</url>
    <screenshots>
      <screenshot type="default">
        <image type="source">https://gitlab.com/softwareperonista/rockarrolla/-/raw/master/screenshots/main-interface.png</image>
        <image type="thumbnail" height="351" width="624">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/624x351/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
        <image type="thumbnail" height="702" width="1248">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/1248x702/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
       <image type="thumbnail" height="63" width="112">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/112x63/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
        <image type="thumbnail" height="126" width="224">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/224x126/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
        <image type="thumbnail" height="423" width="752">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/752x423/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
        <image type="thumbnail" height="846" width="1504">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/1504x846/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
      </screenshot>
      <screenshot>
        <image type="source">https://gitlab.com/softwareperonista/rockarrolla/-/raw/master/screenshots/stand-by.png</image>
        <image type="thumbnail" height="351" width="624">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/624x351/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
        <image type="thumbnail" height="702" width="1248">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/1248x702/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
       <image type="thumbnail" height="63" width="112">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/112x63/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
        <image type="thumbnail" height="126" width="224">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/224x126/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
        <image type="thumbnail" height="423" width="752">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/752x423/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
        <image type="thumbnail" height="846" width="1504">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/1504x846/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
      </screenshot>
    </screenshots>
    <content_rating type="oars-1.1"/>
    <releases>
      <release timestamp="1625616000" version="1.0"/>
    </releases>
    <launchable type="desktop-id">ar.com.softwareperonista.Rockarrolla.desktop</launchable>
    <languages>
      <lang percentage="100">es</lang>
    </languages>
    <bundle type="flatpak" runtime="org.gnome.Platform/x86_64/40" sdk="org.gnome.Sdk/x86_64/40">app/ar.com.softwareperonista.Rockarrolla/x86_64/stable</bundle>
  </component>

pwithnall avatar Aug 11 '21 13:08 pwithnall