> Joel Gwynn wrote:
> 
> OK.  I've got an XML connection to a filemaker database.  What's the
> best method for generating the HTML?  I'm thinking of using
> CGI::XMLApplication
> (http://www.xml.com/pub/a/2001/12/12/cgi-xml.html).  Is this the best
> way to proceed?  I'm like  CGI::Application, so I'm hoping it won't be
> too different; basically using XSLT instead of HTML::Template.  Is
> this the latest-greatest-slickest interface?  Is there something more
> cutting edge and sweet?

Well, it depends a lot on what you want/need going forward...

CGI::XMLApplication offers a *sweet* working model for Web apps, IMO.
(yes, I know I said that in the article you pointed to, but the reason I
wrote an intro to CGI::XMLApp in the first place is that I'm currently
building a CMS for a client using it, and I just love the way it divides
things up). The downside of CGI::XMLApp is that you're stuck in plain
CGI/Apache::PerlRun land for now.

If you are going to be doing a fair amount of XML Web publishing, you'd
do well to have a peek at AxKit[1] since it was designed with that very
thing in mind and offers tons of little things that drinkers of the XML
Kool-aid (like me) look for. 

Beyond that, several of the mod_perl templating systems have/are getting
support for XSLT and other XML technologies-- Kee mentioned Emperl,
Apache::ASP is another, I'm sure there are more. Its good to see this
happening, especially for folks that are already using those frameworks,
but I'd be cautious about looking for an "XML-based publishing system"
among tools that are just now getting "XML support" within an existing
framework.

So, as usual, there are tons of choices and what you pick is based on
what you have, what you need, and how much XML is going to be a part of
your life.

Cheers,

-kip

[1] http://axkit.org/

-- 
print join ' ', map { ucfirst($_->getFirstChild->getData)}
XML::LibXML->new()->parse_string(join '', pack "c*", (60, 122, 62, 60,
97, 62, 106, 117, 115, 116, 60, 47, 97, 62, 60, 98, 62, 97, 110, 111,
116, 104, 101, 114, 60, 47, 98, 62, 60, 99, 62, 112, 101, 114, 108, 60,
47, 99, 62, 60, 100, 62, 88, 77, 76, 60, 47, 100, 62, 60, 101, 62, 104,
97, 99, 107, 101, 114, 60, 47, 101, 62, 60, 47, 122,
62))->findnodes('//*[name() != "z"]')->get_nodelist;

Reply via email to