Yeah...I figured this wouldn't be an easy change to make. I am thinking of
creating a master document DTD. The "body" of this document would contain
any kind of other XML document each with their own DTD. So, I have an
auction engine that will have it's own DTD, an ad engine that will have it's
own DTD, a navigation engine DTD, discussion/review/message board DTD and
probably a static document DTD. I'm right now working on the various DTD's
which are based on the tables in my database. Once this is complete I will
switch to using structures that represent the various DTD's to output HTML
pages while I work on the XSLT/Cold Fusion integration part. Finally I will
switch the Bodycontent tag to my new xslt implementation. After testing I
will start targeting other platforms, probably Palm to start off with.

In your experience Paul, how much of a performance hit do you incur when
using XML/XSLT in a Cold Fusion environment as opposed to straight cfoutput
of HTML? Also are there any scalability issues you've encountered?

Thanks for your help and guidance...
ed

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Paul Johnston
Sent: Tuesday, November 07, 2000 7:13 AM
To: Fusebox
Subject: RE: Can fusebox and xslt play nice


Ed,

Sounds very interesting. There are lots of problems as regards creating
files for WAP and HTML and everything else too.  However...

1) I would modularise the navigation to start with (of course using
fusebox).  This abstracts the navigation and makes it easier to
update/change/add to a page.  I'm not sure about the benefit of number of
characters per line or anything like that so I will ignore that.

2) Well, as we all know Cold Fusion can be used for ouputting any text you
want.  So therefore, outputting XML shouldn't be a problem.

3) Certainly outputting a structure as XML isn't hard.  However, the
processing may be a bit tedious.  If you know the structure keys then it
should be very fast. Example:

<?xml version="1.0"?>
<mydoc>
        <title><cfoutput>#mydoc.title#</cfoutput></title>
        <body><cfoutput>#mydoc.body#</cfoutput></body>
</mydoc>

Have a look at the siteobjects (URL in 4 below) XML tags.  These put XML
documents into CF structures, and I think they might go the other way (but I
can't remember).  Follow the same kind of logic in reverse and you should be
fine.

4) There are several ways you could do the last part.  Using the MSXMLDOM
Object you can use the tags from http://www.siteobjects.com which are very
good.  There is also stuff from http://www.granularity.com which is Java
based.

Bear in mind that CF_BODYCONTENT is a "process the middle bit", "get the
header and footer", "put it together" tag.  If all you want to do is create
an XML file and run it through an XSLT engine, then you can do that
processing within that tag using the custom tags available (I suggest you
rename it to "CF_XMLBODYCONTENT" though).

As regards your free XML/XSLT stuff, Granularity use Java based XML/XSLT
stuff and Siteobjects use Microsoft XMLDOM.  If you want correct
implementation of the XML standard, then use the Java based tags.  The tags
are probably the best way to go, although take a look at
http://alphaworks.ibm.com for lots of free (mainly Java) stuff.  I'm pretty
sure that granularity already uses these though.

Anyway, I hope that helps.  The idea is excellent, but I would suggest
ensuring that you have your DTD's and Style Sheets down and definite before
you even begin to code.  You will not be able to make large changes later on
because of all of the coding that would be needed.  Also make sure that you
completely understand how the XSLT engine works and how it processes the
XML.  Knowing this will dramatically increase the effectiveness of the stuff
you're doing (and I suggest you learn this before writing the DTD's and
Style Sheets).

Paul

PS I hope I haven't put you off!

> -----Original Message-----
> From: Edward Chowdhury [mailto:[EMAIL PROTECTED]]
> Sent: 06 November 2000 20:59
> To: Fusebox
> Subject: Can fusebox and xslt play nice
>
>
> Hi All.
>
> I'm trying to change a web site I'n building from web only to also be
> accessible from basically any internet capable device. I want to use some
> variation of cf_bodycontent to generate the pages. This is how
> I've thought
> about doing it:
>
> 1) I set a struct of attributes for such things as number of
> characters per
> line and navigation style in the request scope that identify the physical
> characteristics of the device.
> 2) Use my dsp_ and act_ pages to create XML content rather than HTML.
> 3) Create a request.bodycontent variable that contains a well formed XML
> document based on a DTD that I specify. I don't want to use WDDX
> because it
> is too focused on handling different data types and I want mine to handle
> different parts of a given page eg title, main heading, body, ad,
> navigation,auction etc.  and be completely specific to my needs.
> 4) Create a variation of CF_BODYCONTENT that takes the request.bodycontent
> variable, runs it through an XSLT engine that will transmogrify
> it into WAP,
> or HTML or RIM or whatever.
>
> I just want to create an abstraction layer for the data.
>
> My question is are there any good, preferably free XSLT engines that I can
> use as I'm writing this tag? Is there a better way of doing this
> within the
> fusebox environment. I don't want to get into the situation of creating
> whole directories that do nothing but take existing functionality and
> repackage it for other devices.
>
> ed
>
> PS Yes I am aware of the irony of wanting to support these technologies
> after flaming away at them last week :) I still think HTML will be the
> primary way of accessing information but little nuggets of VERY PERTINENT
> information might be nice to have when you need them. I would also like to
> think of a way of abstracting data from presentation thus leaving the
> possibility of opening my web sites to whole universes of alternative
> devices relatively easily.
>
> ------------------------------------------------------------------
> ------------
> To Unsubscribe visit
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/fusebox or
send a message to [EMAIL PROTECTED] with 'unsubscribe' in
the body.


----------------------------------------------------------------------------
--
To Unsubscribe visit
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/fusebox or
send a message to [EMAIL PROTECTED] with 'unsubscribe' in
the body.

------------------------------------------------------------------------------
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/fusebox or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to