RE: [xsl] Critique please!

Subject: RE: [xsl] Critique please!
From: "Jim Fuller" <jim.fuller@xxxxxxxxxxxxxx>
Date: Mon, 5 Jan 2004 00:26:05 -0000
Nik Coughlin wrote:
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Nik Coughlin
> Sent: 04 January 2004 23:51
> Subject: [xsl] Critique please!
 
> It has an XML file which contains all of the site's content, 
> and also contains information about the look and feel of the site.
 
> It then has an XSL file which uses a combination of XSL, HTML 
> and JavaScript to display the content and control navigation.  

> It has a number of fairly general functions, such as an image 
> gallery, a function for FAQs, one for listing links etc.  

> I would appreciate it if anyone who has some time could have 
> a look at my code and let me know what I could have done 
> better and how.
 
> The url is http://homepages.ihug.co.nz/~nrkn/xml/

General comments;

- avoid using CDATA....there should be no reason for this...or let me
rephrase no good reason for wrapping textual data using CDATA. Though
this may seem a good fix now, you will pay in the long run, if you have
no control over the xml data, then why not run html tidy over it first

- remember xslt is data also, and it has a lot more functionality when
it comes to building a hiearchy; though you could also opt to have
separate files for 

- need to add application/xml mime type for xsl files for your web
server otherwise mozilla wont do in browser transformation; in apache
this is done via mime.conf or httpd.conf

- If you intend to generate XHTML/HTML websites for people try to keep
things in their natural state no need to define new elements...if at
best add or wrap meta data around valid html elements; as it will bode
well for others ( or other tools ) that want to make images and html.

- add some version and author information for your metatags and general
publishing ( Dublin Core is easy enough )

For something with a different approach take a look at the following
website format I updated last year, it allows you to componentize
assets, be them snippets of html, javascript, flash, whatever...in
addition it generates multilingual ( as in content-negotiation with
Apache mod-negotiation module ) content. 
You can download from here
http://www.ruminate.co.uk/samples/test_publication_lang.zip
And read a little bit about it here
http://www.ruminate.co.uk/MT/archives/cat_xslt.html

Generally, in content management situations I seriously advocate not
generating a schema until you gain benefit..some will say this is true
form the start; but I have found such 'early taxonomisation' to be
wasted effort. Use of DTD over schema is another decision that I find a
bit tricky; I tend to always go with RELAXNG and if I have to serve up
DTD and XML Schema from there...though different strokes for different
folks.

Generally, your approach is valid so no criticisms there...if I can
say...its more docbook then website...so perhaps you have seen all the
latest docbook website type stuff; very full featured, if you havent
already had a look in.

One last note, always look at the xml/xslt dist as something separate
from the framework that is serving it up; that way you will always have
valid transforms in both mozilla/microsoft as well as any XSLT server
side environment....if you make your dist expect something from the
framework then always push it through via xsl:param. If you can I would
suggest the simplest of server side solutions, something like SAXON
servlet.

gl, Jim Fuller


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
                nrkn
http://www.livejournal.com/users/nrkn
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread