request for comment: adding xslt processing to mapserver
Stephen Woodbridge
woodbri at SWOODBRIDGE.COM
Wed Mar 28 17:17:16 EDT 2007
For a lot of same additional IT infrastructure requirement issues, I
would like to see a stable C-API or a stable C/Mapscript API so
extensions to mapserver could be built into a single executable for
deployment on servers. If such an animal existed, then it could easily
be used along with the WxS stuff to solve Paul issue. The result could
be a single executable with the custom behavior needed.
-Steve W
Paul Spencer wrote:
> On 28-Mar-07, at 2:26 PM, Daniel Morissette wrote:
>
>> Paul Spencer wrote:
>>> Would it be possible to optionally accumulate the output from
>>> msIO_printf into an in-memory buffer and then use libxml2 to parse it
>>> and libxslt to transform it? I see that msIO_printf gets stdout via
>>> msIO_getHandler which I would assume would allow directing stdout to
>>> a memory buffer of some kind?
>>> If this could be done, then we could avoid using libxml2 by default
>>> and thus not affect, in any way, the normal output from WMS, WFS
>>> etc. If an XSLT was requested in this particular case, then the
>>> calls to msIO_printf would write to a buffer rather than stdout and
>>> the buffer could be processed through libxml2 and libxslt.
>>
>>
>> Yes, the msIO_* stuff was designed for that. Look at the msIO_install*
>> functions in mapio.c, or look at how MapScript uses them to capture
>> msIO_* output to a string buffer.
>>
>> Note that what you suggest here is doing in C in the MapServer core
>> what you can already do with MapScript today using "RFC-16: MapScript
>> WxS Services":
>> http://mapserver.gis.umn.edu/development/rfc/ms-rfc-16/
>
> Correct, it could be accomplished using WxS. One of the objectives of
> this work would be to reduce the IT infrastructure requirements for
> deploying new OGC services. Using WxS is equivalent to using an
> external service in this case, and would require the following
> additional steps beyond using a mapserv cgi:
>
> * building and installing mapserv with a mapscript extension
> * configuring web server for the particular flavour of mapscript you
> want to use
> * ensuring the scripting language has packages for xml and xslt
> * writing/maintaining code in the mapscript language to implement the
> parsing and transformation
> * maintaining the scripting language installation over time as security
> patches come out (etc)
>
> There are similar problems with external services.
>
> Cheers
>
> Paul
>
> +-----------------------------------------------------------------+
> |Paul Spencer pspencer at dmsolutions.ca |
> +-----------------------------------------------------------------+
> |Chief Technology Officer |
> |DM Solutions Group Inc http://www.dmsolutions.ca/ |
> +-----------------------------------------------------------------+
More information about the mapserver-dev
mailing list