----- Original Message -----
From: "Juergen Donnerstag" <juergen(_dot_)donnerstag(_at_)gmail(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Sunday, January 01, 2006 11:23 AM
Subject: [xsl] extended xhtml attribute with namespace not bound
Hi,
I'm using Wicket to develop a web application and my (wicket extended)
html markup looks like
<?xml version="1.0" encoding="UTF-8"?>
<html
xmlns:wicket
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<body>
<span wicket:id="myLabel">mein Label</span>
</body>
</html>
Wicket identifies relevant tags by means of the wicket:id attribute
which from a Wicket point of view can be added to any tag. Wicket is a
server side web framework and handles the tags (in this case <span>)
accordingly. The wicket team choose the separate namespace to avoid
any collisions with any html tags. A wicket dtd or schema is currently
not available.
The markup above is what I'd like to XSL transform. You'll find my
"empty" xsl file below
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wicket="http://wicket.sourceforge.net">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:template match="/">
</xsl:template>
</xsl:stylesheet>
I'm using jdk 1.5 and this is my error message
Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException:
The prefix "wicket" for attribute "wicket:id" associated with an
element type "span" is not bound.
I think I understand the message but I don't know how to solve the
problem. I don't want to modify the XHTML dtd to include the wicket
tags, and I don't know how to write a dtd or schema which extends all
xhtml tags to allow for the wicket:id attribute. I don't even know if
that is possible/allowed at all. I guess what I need is either a way
to define the additional wicket attributes or to tell the xsl
processor to ignore the error and pass it trough unmodified.
I would very much appreciate any help.
Juergen
Your XML is not well formed because the wicket prefix has no namespace
declared, i.e. it's "not bound".
This style of prefix declaration is often used in HTML, I'm not sure how
valid it is, but it is not allowed in XML or XHTML. You need something like
this:
<html
xmlns:wicket=http://wicket.sourceforge.net
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
I'm not sure if this will affect the standard wicket server-side processing
though.
Happy New Year
--
Joe
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--