cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew <andrewm...@gmail.com>
Subject Re: Xhtml and Ajax...no go!!
Date Fri, 28 Jul 2006 08:04:52 GMT
Hi,
in fact I just tried the 'exhtml' serializer and got the following error
(snippet):

java.lang.NoClassDefFoundError
	org.apache.cocoon.components.serializers.EncodingSerializer.configure(EncodingSerializer.java:167)
	org.apache.cocoon.components.serializers.XHTMLSerializer.configure(XHTMLSerializer.java:114)
	org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)


Joy of joys!! This should be part of the standard build for 2.1.9 right!?!

regards

Andrew



On 28/07/06, Andrew <andrewmadu@gmail.com> wrote:
>
> Jason,
> again, you are the man!! I will await your final bug fixes.
>
> regards
>
> Andrew
>
>
> On 28/07/06, Jason Johnston < cocoon@lojjic.net> wrote:
> >
> > Andrew wrote:
> > > Hi,
> > > can someone please tell me why when setting ajax="true" in my CForm
> > and
> > > serializing the document as xhtml (Strict) the following line in the
> > > xhtml output should break the page?:
> >
> > Which xhtml serializer are you using?  The default one configured in the
> > main sitemap distributed with Cocoon (which is just the XMLSerializer
> > with a special doctype configured), or the XHTMLSeralizer from the
> > serializers block?  I'm guessing the former.
> >
> > Remember that just adding an XHTML doctype to a HTML document does not
> > make it XHTML.  It also has to be well-formed XML, and be in the
> > http://www.w3.org/1999/xhtml namespace.  My hunch is that your content,
> > though well-formed, is not in the XHTML namespace, so the browser does
> > not recognize those elements as HTML and therefore does not apply the
> > default styles that are normally applied to HTML.  This is why the page
> > layout "breaks" as you say.
> >
> > Getting your CForms content into the XHTML namespace is a little tricky
> > since the forms-*-styling.xsl transforms produce output in the null
> > namespace.  So you need something that changes that output into the
> > XHTML namespace.
> >
> > There are two options I know of for this:
> >
> > 1) Add a transform before the serializer that changes the namespace of
> > all elements... could be something as simple as a single template:
> >
> > <xsl:template match="*">
> >    <xsl:element name="{local-name()}"
> > namespace=" http://www.w3.org/1999/xhtml">
> >      <xsl:copy-of select="@*" />
> >      <xsl:apply-templates />
> >    </xsl:element>
> > </xsl:template>
> >
> > 2) Use the XHTMLSerializer from the serializers block.  This serializer
> > adds the XHTML namespace to un-namespaced elements automatically.  In
> > addition it also does other XHTML-specific things like making sure
> > <script></script> tags are not collapsed, so I would recommend this
> > approach.
> >
> > Once you've got that working, you will need to be aware that changing to
> > a strict XHTML doctype will trigger strict mode in certain browsers, so
> > you will need to be much more careful about other things as well, such
> > as the mime-types of supporting CSS files and differences in the DOM for
> > scripts.  In fact I'm not sure if the Dojo/AJAX code even takes those
> > DOM differences into account.
> >
> > Also, and this is a pet peeve of mine: the CForms AJAX framework
> > currently does not produce valid HTML/XHTML, in that there are some
> > custom attributes used to support the AJAX code (dojoType="CFormsForm"
> > on <form> in particular) which will prevent the document from
> > validating.  Which begs the question: why are you trying to produce
> > XHTML in the first place?  If it's an attempt to enforce some sort of
> > stricter document validation then you're going to have trouble.
> >
> > ...
> >
> > OK, so I just gave it a quick try, using the XHTML serializer from the
> > serializers block.  The page style/layout is fixed, but it turns out
> > those DOM differences I mentioned earlier are indeed causing problems in
> >
> > the CForms/Dojo client-side Javascript code.  I'll be submitting a patch
> > soon for some of them, hopefully I can fix them all.  But in the
> > meantime, you need to know that it won't work out of the box.  Sorry!
> >
> > --Jason
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> > For additional commands, e-mail: users-help@cocoon.apache.org
> >
> >
>

Mime
View raw message