Thread: Updated version of contrib/xml (at last)
Hi, Thanks to the generous support of Torchbox (http://www.torchbox.com), I have been able to significantly improve the contrib/xml XPath integration code. New features: * XPath set-returning function allows multiple results from an several XPath queries to be used as a virtual table. * Using libxslt, XSLT transformations (with and without parameters) are supported. (Caution: This support allows generic URL fetching from within the backend as well). I've removed the old code so that it is all libxml based. Rather than attach as a patch, I've put the tar.gz (10k!) at http://www.azuli.co.uk/pgxml-1.0.tar.gz (all files in archive are xml/....). I think this is worth replacing the contrib version with, even though the function names have changed (though the same functionality is there), because it includes a SRF and some SPI usage, in addition to linking to an external library. And it isn't a big module! Obviously, I understand that people might prefer to move it elsewhere, or might have reservations about replacing an existing contrib module with an incompatible one. I'm open to suggestions. Obviously, please also let me know if you find any bugs or platform incompatibilities (I have only one platform, so my testing in that line is non-existent). Regards John -- John Gray, Azuli IT jgray@azuli.co.uk
Patch applied. Thanks. I realize the function names have changed, but we want to encourage improvement of our xml capabilities. If folks want the old function names, we can put the old code up on gborg. I updated the README to mention that libxml is now required. --------------------------------------------------------------------------- John Gray wrote: > Hi, > > Thanks to the generous support of Torchbox (http://www.torchbox.com), I > have been able to significantly improve the contrib/xml XPath > integration code. > > New features: > > * XPath set-returning function allows multiple results from an several > XPath queries to be used as a virtual table. > * Using libxslt, XSLT transformations (with and without parameters) are > supported. (Caution: This support allows generic URL fetching from > within the backend as well). > > I've removed the old code so that it is all libxml based. Rather than > attach as a patch, I've put the tar.gz (10k!) at > http://www.azuli.co.uk/pgxml-1.0.tar.gz > (all files in archive are xml/....). > > I think this is worth replacing the contrib version with, even though > the function names have changed (though the same functionality is > there), because it includes a SRF and some SPI usage, in addition to > linking to an external library. And it isn't a big module! Obviously, I > understand that people might prefer to move it elsewhere, or might have > reservations about replacing an existing contrib module with an > incompatible one. I'm open to suggestions. > > Obviously, please also let me know if you find any bugs or platform > incompatibilities (I have only one platform, so my testing in that line > is non-existent). > > Regards > > John > -- > John Gray, Azuli IT > jgray@azuli.co.uk > > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
I moved your new version into /contrib/xml2, and kept /contrib/xml unchanged. --------------------------------------------------------------------------- Bruce Momjian wrote: > > Patch applied. Thanks. > > I realize the function names have changed, but we want to encourage > improvement of our xml capabilities. If folks want the old function > names, we can put the old code up on gborg. > > I updated the README to mention that libxml is now required. > > --------------------------------------------------------------------------- > > > > John Gray wrote: > > Hi, > > > > Thanks to the generous support of Torchbox (http://www.torchbox.com), I > > have been able to significantly improve the contrib/xml XPath > > integration code. > > > > New features: > > > > * XPath set-returning function allows multiple results from an several > > XPath queries to be used as a virtual table. > > * Using libxslt, XSLT transformations (with and without parameters) are > > supported. (Caution: This support allows generic URL fetching from > > within the backend as well). > > > > I've removed the old code so that it is all libxml based. Rather than > > attach as a patch, I've put the tar.gz (10k!) at > > http://www.azuli.co.uk/pgxml-1.0.tar.gz > > (all files in archive are xml/....). > > > > I think this is worth replacing the contrib version with, even though > > the function names have changed (though the same functionality is > > there), because it includes a SRF and some SPI usage, in addition to > > linking to an external library. And it isn't a big module! Obviously, I > > understand that people might prefer to move it elsewhere, or might have > > reservations about replacing an existing contrib module with an > > incompatible one. I'm open to suggestions. > > > > Obviously, please also let me know if you find any bugs or platform > > incompatibilities (I have only one platform, so my testing in that line > > is non-existent). > > > > Regards > > > > John > > -- > > John Gray, Azuli IT > > jgray@azuli.co.uk > > > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 3: if posting/reading through Usenet, please send an appropriate > > subscribe-nomail command to majordomo@postgresql.org so that your > > message can get through to the mailing list cleanly > > > > -- > Bruce Momjian | http://candle.pha.pa.us > pgman@candle.pha.pa.us | (610) 359-1001 > + If your life is a hard drive, | 13 Roberts Road > + Christ can be your backup. | Newtown Square, Pennsylvania 19073 > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faqs/FAQ.html > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
Bruce Momjian wrote: > I moved your new version into /contrib/xml2, and kept /contrib/xml > unchanged. There's just one last thing - are both xml and xml2 totally disjoint? eg. is it possible to install both for switchover purposes? Chris
Christopher Kings-Lynne wrote: > > > Bruce Momjian wrote: > > > I moved your new version into /contrib/xml2, and kept /contrib/xml > > unchanged. > > There's just one last thing - are both xml and xml2 totally disjoint? > eg. is it possible to install both for switchover purposes? No idea. John? -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
On Thu, 2004-03-04 at 23:29 -0500, Bruce Momjian wrote: > Christopher Kings-Lynne wrote: > > > > > > Bruce Momjian wrote: > > > > > I moved your new version into /contrib/xml2, and kept /contrib/xml > > > unchanged. > > > > There's just one last thing - are both xml and xml2 totally disjoint? > > eg. is it possible to install both for switchover purposes? > > No idea. John? I hadn't thought about this until you mentioned it! They could very nearly coexist: the only clash is that they both have a pgxml_parse function (the function is basically the same in both). The other user function names in xml2 all begin xpath_ or xslt_, while in xml they begin pgxml_. Perhaps the best solution is to rename the new parse function - as it just returns a boolean for well-formedness, xml_valid(text) might be a better name and would avoid the clash. I'll give them a test together to make sure I haven't missed any other problems and will submit an ordinary diff in the next couple of days to change the function name (and the subdir in the Makefile, which should be contrib/xml2 now). Thanks John
John Gray wrote: > On Thu, 2004-03-04 at 23:29 -0500, Bruce Momjian wrote: > > Christopher Kings-Lynne wrote: > > > > > > > > > Bruce Momjian wrote: > > > > > > > I moved your new version into /contrib/xml2, and kept /contrib/xml > > > > unchanged. > > > > > > There's just one last thing - are both xml and xml2 totally disjoint? > > > eg. is it possible to install both for switchover purposes? > > > > No idea. John? > I hadn't thought about this until you mentioned it! > > They could very nearly coexist: the only clash is that they both have a > pgxml_parse function (the function is basically the same in both). The > other user function names in xml2 all begin xpath_ or xslt_, while in > xml they begin pgxml_. Perhaps the best solution is to rename the new > parse function - as it just returns a boolean for well-formedness, > xml_valid(text) might be a better name and would avoid the clash. > > I'll give them a test together to make sure I haven't missed any other > problems and will submit an ordinary diff in the next couple of days to > change the function name (and the subdir in the Makefile, which should > be contrib/xml2 now). /xml2 in Makefile Just fixed in CVS. Thanks. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073