Transforming xhtml with xslt

P

Puzzled

http://www.biglist.com/lists/xsl-list/archives/200303/msg01242.html purports
to show how xslt can be used to copy all of an xhtml file & selectively
transform certain nodes. The copy works fine on its own, buit when I try to
follow the example and add another template to replace <navbar> with some
text stored in Navigation.htm, it seems to have no effect. Can some one
explain what I'm doing wrong? My XSLT stylesheets is included below.

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:include href="Navigation.htm" />

<xsl:eek:utput method="xml" indent="no"/>

<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>

<xsl:template match="navbar">
<xsl:copy>
<p>
<xsl:call-template name="topNavigation" />
</p>
<xsl:apply-templates select="node() != 'navbar'"/>
</xsl:copy>
</xsl:template>

</xsl:stylesheet>
 
R

roy axenov

Puzzled said:
Can some one explain what I'm doing wrong?

Pretty much everything, I daresay. First of all, 'learning
by tinkering' does not imply *random* tinkering.
<xsl:include href="Navigation.htm" />

I doubt it does what you expect it to do. In fact, I'm
pretty certain of that, since I don't see document('')
anywhere in your stylesheet. At least I hope your .htm file
is well-formed XML.
<xsl:template match="navbar">
<xsl:copy>
<p>
<xsl:call-template name="topNavigation" />

Pardon me? I don't see any named templates in your
stylesheet.
</p>
<xsl:apply-templates select="node() != 'navbar'"/>

I doubt it does what you expect it to do (in more than one
way, too).

Since you failed to provide minimal complete example, it's
hard to tell precisely what you're doing wrong, but this
short snippet seems to demonstrate that at the very least
you need to do some reading first. Canned solutions work
just fine as long as you don't try to spice them up.
 
P

Puzzled

<snip>

Actually, I have done an enormous amount of reading. Unfortunately, the
sources to which I have access seem to be virtually worthless; badly
written, misleading and sometimes just plain wrong. However, at least those
authors don't seek to ridicule other people for knowing less than they do
 
J

Joseph Kesselman

Puzzled said:
sources to which I have access seem to be virtually worthless

Pointers to the XML educational resources I use most often; order is not
particularly significant since which is best depends on what you're
looking for:

http://www.ibm.com/xml
Many tutorials/articles/tools, courtesy of Big Blue.
(Though not necessarily reflecting the official
opinions of IBM.)

http://xml.com/
A good place to look for meta-standard such
as commonly used schemas. Also hosts the Annotated
XML Spec, http://www.xml.com/axml/testaxml.htm

http://www.w3.org/
The Official Word on most things XML

http://www.saxproject.org/
The Official Word on SAX (which is not W3C-developed)

http://www.mulberrytech.com/xsl/xsl-list/
The original unofficial XSL users' mailing list.

http://www.dpawson.co.uk/xsl/
The XSL FAQ; "Condensed Cream of XSL-List"

http://xml.apache.org/
All things XML available from (or under development at)
Apache, including the dedicated mailing lists and
bug reporting/tracking systems for those tools.
 
R

roy axenov

Puzzled said:
"Lord Snooty (roy axenov)" <[email protected]> wrote in

Oh, nice. Keep it up.
Actually, I have done an enormous amount of reading.

I'm afraid there's something wrong with your reading
comprehension then. Either that, or you've been reading
mystery novels. Otherwise you wouldn't have asked a
question that is largely equivalent to 'I need to find gcd
of two numbers--32 and 48. Unfortunately, adding them and
looking at page 80 in volume 2 of Encyclopaedia Britannica
doesn't seem to work. What am I doing wrong?'
Unfortunately, the sources to which I have access seem to
be virtually worthless; badly written, misleading and
sometimes just plain wrong.
GIYF.

However, at least those authors don't seek to ridicule
other people for knowing less than they do

Not knowing something is not ridiculous in the least.
Failing to do even most basic research (such as looking up
node() in any XPath reference and xsl:include in any XSLT
reference) and asking nonsensical questions certainly is,
though.

HTH, HAND.

*plonk*
 
J

Joe Kesselman

Puzzled said:
Actually, I have done an enormous amount of reading. Unfortunately, the
sources to which I have access seem to be virtually worthless; badly
written, misleading and sometimes just plain wrong. However, at least those
authors don't seek to ridicule other people for knowing less than they do

A somewhat "snooty" but VERY good document on how to pose questions in a
way that's most likely to get useful answers from other newsgroup readers:

http://www.catb.org/~esr/faqs/smart-questions.html

I'll also remind folks that the same document has a section on writing
good answers. Generally, the simplest way to deal with a bad question is
either to ignore it, to point them at that document, or to point them at
the websearch they should have issued. Sniping generally just makes them
defensive, and they don't learn when they're being defensive.

Somewhat related to that, though it's about off-topic posts rather than
poorly structured questions:
http://www.lovesong.com/people/keshlam/filk/ravin.html
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,008
Latest member
Rahul737

Latest Threads

Top