Re: Fix XML handling with DOCTYPE - Mailing list pgsql-hackers
From | Alvaro Herrera |
---|---|
Subject | Re: Fix XML handling with DOCTYPE |
Date | |
Msg-id | 20190327133152.GA7791@alvherre.pgsql Whole thread Raw |
In response to | Fix XML handling with DOCTYPE (Ryan Lambert <ryan@rustprooflabs.com>) |
Responses |
Re: Fix XML handling with DOCTYPE
Re: Fix XML handling with DOCTYPE |
List | pgsql-hackers |
On 2019-Mar-27, Chapman Flack wrote: > On 03/26/19 21:39, Ryan Lambert wrote: > > Should this be clarified as the libxml2 library? That's what I installed > > to build postgres from source (Ubuntu 16/18). If it is the libxml library > > and the "2" is irrelevant > > That's a good catch. I'm not actually sure whether there is any "libxml" > library that isn't libxml2. Maybe there was once and nobody admits to > hanging out with it. Most Google hits on "libxml" seem to be modules > that have libxml in their names and libxml2 as their actual dependency. > > Perl XML:LibXML: "This module is an interface to libxml2" > Haskell libxml: "Binding to libxml2" > libxml-ruby: "The Libxml-Ruby project provides Ruby language bindings > for the GNOME Libxml2 ..." > > --with-libxml is the PostgreSQL configure option to make it use libxml2. > > The very web page http://xmlsoft.org/index.html says "The XML C parser > and toolkit of Gnome: libxml" and is all about libxml2. > > So I think I was unsure what convention to follow, and threw up my hands > and went with libxml. I could just as easily throw them up and go with > libxml2. Which do you think would be better? Daniel Veillard actually had libxml version 1 in that repository (mostly of GNOME provenance, it seems, put together during some W3C meeting in 1998). The version number changed to 2 sometime during year 2000. Version 1 was mostly abandoned at that point, and for some reason everyone keeps using "libxml2" as the name as though it was a different thing from "libxml". I suppose the latter name is just too generic, or because they wanted to differentiate from the old (probably incompatible API) code. https://gitlab.gnome.org/GNOME/libxml2/tree/LIB_XML_1_BRANCH Everyone calls it "libxml2" nowadays. Let's just use that and avoid any possible confusion. If some libxml3 emerges one day, it's quite likely we'll need to revise much more than our docs in order to use it. > On 03/26/19 23:52, Tom Lane wrote: > > Do we need to mention that at all? If you're not building from source, > > it doesn't seem very interesting ... but maybe I'm missing some reason > > why end users would care. > > The three places I've mentioned it were the ones where I thought users > might care: These seem relevant details. > If you agree, I should go through and fix my nodesets to be node-sets. +1 > [1] http://xmlsoft.org/html/libxml-xpath.html#xmlNodeSet : "array of nodes > in no particular order" What this means is "we don't guarantee any specific order". It's like a query without ORDER BY: you may currently always get document order, but if you upgrade the library one day, it's quite possible to get the nodes in another order and you'll not get a refund. So you (the user) should not rely on the order, or at least be mindful that it may change in the future. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
pgsql-hackers by date: