Re: Anyone using XSLT? Anyone interested?

by Kynn Bartlett <kynn-hwg(at)idyllmtn.com>

 Date:  Tue, 19 Sep 2000 16:40:19 -0700
 To:  "Bryan Bateman" <batemanb(at)home.com>
 Cc:  <hwg-xml(at)hwg.org>
 References:  idyllmtn
  todo: View Thread, Original
At 04:38 PM 9/19/2000 , Bryan Bateman wrote:
>There is some XSLT in the current XML course.  Is what you are proposing
>client or server side?  If server side what would the server requirements
>be?

That would have to be determined, of course. :)  I don't think that
client-side XSLT is advanced enough for it to be the focus of the
course at this time -- you can't really "use" XSLT on the client
reliably, although you can use server-side XSLT reliably.  (But the
specifics vary a lot.)  A good XSLT course would cover both
aspects, I think.

>What would the pre-requsites for the class be?

Probably Liz's XML course or the equivalent?  Obviously you have to
know XML and probably XHTML (or HTML) to get the most out of it.

>Can you describe CC/PP and how it distiguishes clients.

Oh, okay, CC/PP is very cool, this is something where I'm not just
talking about "maybe this or maybe that." :)

Composite Capabilities/Preferences Profiles (CC/PP) is an XML-based
way for a user agent ("browser") to identify what it is capable of
doing and what options have been set by the user.  In technical
terms, CC/PP is an application of RDF (which is XML-based).

An example of CC/PP use:  You are using a browser built into your
phone.  When you connect to my server, your browser sends a CC/PP
profile which identifies a base functionality (by URI, to the
manufacturer's site) and local modifications, which could include
hardware (you got double the factory memory installed) or the
software (you have it set to not display graphics).  Your browser,
being part of a WAP phone, speaks WML (WAP's markup language).

Along network path between you and my server, your request also
passes through a proxy which is set up with transcoding abilities,
to be able to translate something useful -- in a simple example,
let's pretend it can convert HTML to WML, and audio files into a
form of streaming media which your phone can play.  So now your
capabilities profile includes not only the base functionality and
local modifications, but the capabilities of the proxy as well.
This is why the first C is for "composite."

This gets passed to my server, which analyzes the information that
you've sent -- rather like a version of "browser sniffing" on
steroids.  Instead of just a user agent string with a few variables
listed (browser, platform, maybe resolution and color depth), I
have a complete profile on your device.  This is cool because CC/PP
can be used with _devices I've never heard of_, as long as their
capabilities are expressed in terms I can understand.  (For example,
if you try current browser detection, and someone introduces a
browser next week, you'll have to rewrite your script to recognize
the new browser name -- not with CC/PP, though!)

On my end, my server will decide what to do and then send you back
something which is optimized for you.  I'll probably do this using
XSLT (assuming that I can get a fast enough implementation of it 
which runs on my server -- this is the big question for XSLT at the
moment!), generating a completely new user interface for you based
on your CC/PP profile, and using data stored in a generic XML
representation.

By the way, if any of this sounds cool, Edapta may be hiring in the
next month or two, and this is exactly what we're going to be
working on. ;)


-- 
Kynn Bartlett                                    mailto:kynn(at)hwg.org
Board Member, HTML Writers Guild                 http://www.hwg.org/
AWARE Center Director                    http://www.awarecenter.org/

HWG hwg-xml mailing list archives, maintained by Webmasters