[vox-tech] XSLT questions

Micah J. Cowan vox-tech@lists.lugod.org
Tue, 16 Dec 2003 12:04:37 -0800


On Tue, Dec 16, 2003 at 12:39:58AM -0800, Jonathan McPherson wrote:
> All,
> 
> Anyone here any good with XSLT?  I'm using xsltproc (part of the Gnome
> libraries) as a command-line XSLT processor.
> 
> I'm building a web site using XSLT to transform my content files (which
> are in hand-written XML) into XHTML.  This mostly works great, but has a
> few quirks.  Specifically:
> 
> 1. The processor keeps adding xmlns="" attributes to the tags in my
>    result document.  I have no idea why it feels the need to add an empty
>    XML namespace.  Why might it do this?

That would not make valid XHTML (assuming you're generating XHTML
1.0). Your <xsl:stylesheet> opening tag should contain something like:

  xmlns="http://www.w3.org/1999/xhtml"

> 2. I am trying to figure out how to do multiple layers of transformation
>    without running xsltproc multiple times.  For  instance, suppose I
>    want to make my own <menu> tag that makes a menu on my site.  Whenever
>    I see <menu>, I want to specify that it generates a number of
>    <menuitem> tags; and I want _those_ to generate specially marked <li>
>    tags.  Using XSLT, I have no problem going from <menu> to the <li>
>    tags, but can I do the abstraction in between easily?

Some processors provide extensions to convert a result fragment into a
node set; but you should be able to do the same thing in another way
(XSLT is Turing complete, after all). You haven't really given much
information on what it is you want to achieve: can you give an example
of what you're trying to accomplish?

-- 
Micah J. Cowan
micah@cowan.name