Subject: Re: [xsl] XML Namespaces and <xsl:output> don´t work From: Martin Heiden <martin.heiden@xxxxxxxxxxxxx> Date: Thu, 16 Oct 2008 00:15:47 +0200 |
Alejandro, you can control the doctype and the xml declaration by configuring the cocoon serializer. Take a look at: http://cocoon.apache.org/2.1/userdocs/xhtml-serializer.html if you are using cocoon 2.2 read http://cocoon.apache.org/2.2/core-modules/core/2.2/1259_1_1.html as well. The configuration didn't change from 2.1 to 2.2 but you should do it in another place. good luck Martin. Alejandro schrieb: > Thank you, David > > > *********** > > <xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBL > > don't do that! > > use doctype-system and doctype-public on xsl:output. > > ***** > > xsl:output dont4t work. > > <xsl:output method="xml" media-type="text/html;charset=ISO-8859-1" > indent="yes" encoding="ISO-8859-1" omit-xml-declaration="yes" > doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" > > doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" /> > > > <xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBLIC > "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]></xsl:text> > > > If i remove: > > <xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBL > > then DocType declaration not appear and then the browser enter in quirks > mode > > > <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"> > <head> > <title>Biblioteca Insular</title> > <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"/> > <link href="css/BIB-INS-external.css" type="text/css" rel="stylesheet"/> > <script xmlns="" type="text/javascript" > src="js/BINS-funciones.js"></script> > .... > > > > > > > in the xmap file (JBOSS) > > ... > > <?xml version="1.0"?> > > <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> > > <!-- =========================== Components > ================================ --> > > <map:components> > > <map:matchers default="wildcard"/> > > <map:selectors default="browser"/> > > <map:generators default="persistant"/> > > <map:transformers default="eadmin"/> > > <map:readers default="resource"/> > > <map:serializers default="html"/> > > <map:actions default="eadm-action"/> > > </map:components> > > <map:views> > > <map:view name="ent" from-position="last"> > > <map:serialize type="html"/> > > </map:view> > > <map:view from-position="last" name="links"> > > <map:serialize type="links"/> > > </map:view> > > </map:views> > > <!-- =========================== Pipelines > ================================= --> > > <map:pipelines> > > <map:pipeline> > > > > <!-- HOME --> > > <map:match pattern="home.bin"> > > <map:aggregate element="listado"> > > <map:part element="menus" src="cocoon:/menuXMLNavegacion.bin"/> > > <map:part element="busqueda" src="cocoon://home-principal.bin"/> > > .... > > </map:aggregate> > > <map:transform src="xsl/binsular/home.xsl"> > > <map:parameter name="use-request-parameters" value="true"/> > > </map:transform> > > <map:serialize type="html"/> **** > > </map:match> > > .... > > </map:pipeline> > > </map:pipelines> > > </map:sitemap> > > > > I i put **** <map:serialize type="xml"/> then xsl:output work, and > Doctype is added but the result is xml, don4t html > > what can i do? > > best regards, > Alex > > > ----- Mensaje original ----- De: "David Carlisle" <davidc@xxxxxxxxx> > Para: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> > Enviado: miircoles, 15 de octubre de 2008 17:36 > Asunto: Re: [xsl] XML Namespaces and <xsl:output> don4t work > > >> >> >>> <!-- WHY xmlns="" --> >> >> because you have generated an element h1 in no namespace so that has to >> have xmlns=" because it is in a different namespace than its parent. >> >> What you should do is generate a h1 in the xhtmml namespace >> http://www.w3.org/1999/xhtml >> then no xmlns will be added. >> >> easiest way to do this is to put >> >> xmlns="http://www.w3.org/1999/xhtml" >> >> onto all your xsl:stylesheet elements. >> >> >> In the stylesheet don't put the xmlns just on html >> <html xmlns="http://www.w3.org/1999/xhtml" >> as that only makes the elements in that template be xhtml, all other >> elements generated are in no-namespace. >> move that declaration to the top of the stylesheet (all the stylesheets) >> so that all elements are in the right namespace. >> >>> <xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE html PUBL >> >> don't do that! >> >> use doctype-system and doctype-public on xsl:output. >> >> (almost) never use disable-output-escaping="yes". >> >> >> David >> >> ________________________________________________________________________ >> The Numerical Algorithms Group Ltd is a company registered in England >> and Wales with company number 1249803. The registered office is: >> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. >> >> This e-mail has been scanned for all viruses by Star. The service is >> powered by MessageLabs. >> ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: RE: Re: [xsl] XML Namespaces a, David Carlisle | Thread | Re: [xsl] XML Namespaces and <xsl:o, Alejandro |
Re: RE: Re: [xsl] XML Namespaces a, David Carlisle | Date | [xsl] Collections of user-defined X, Jesper Tverskov |
Month |