[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XML Namespaces and <xsl:output> don´t work

Subject: Re: XML Namespaces and <xsl:output> donīt work
From: Martin Heiden <martin.heiden@xxxxxxxxxxxxx>
Date: Thu, 16 Oct 2008 00:15:47 +0200
Re:  XML Namespaces and <xsl:output> don´t work
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:  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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.