Thread: Updated version of contrib/xml (at last)

Updated version of contrib/xml (at last)

From
John Gray
Date:
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


Re: Updated version of contrib/xml (at last)

From
Bruce Momjian
Date:
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

Re: Updated version of contrib/xml (at last)

From
Bruce Momjian
Date:
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

Re: Updated version of contrib/xml (at last)

From
Christopher Kings-Lynne
Date:

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


Re: Updated version of contrib/xml (at last)

From
Bruce Momjian
Date:
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

Re: Updated version of contrib/xml (at last)

From
John Gray
Date:
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


Re: Updated version of contrib/xml (at last)

From
Bruce Momjian
Date:
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