[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: "Alejandro" <alexcontini@xxxxxxxx>
Date: Sat, 18 Oct 2008 20:22:21 +0100
Re:  XML Namespaces and <xsl:output> don´t work
Hello list,

I solved it, but now i have otter problem:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:i18n="http://apache.org/cocoon/i18n/2.0" exclude-result-prefixes="i18n" version="1.0">


<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:template name="barra_nav"> <xsl:param name="codmenu"></xsl:param> ..... <div class="clear"></div> --> Ignored - Why? ...

                ( Is it the solution?
               <div class="clear">&#160;</div> )


</xsl:template>





<xsl:template name="js">
<script src="js/BINS-funciones.js" ype="text/javascript"></script> --> Ignored - Why?



(Is it the solution?
<script src="js/BINS-funciones.js" type="text/javascript">&#160;</script>)


</xsl:template>


</xsl:stylesheet>





----- Mensaje original ----- De: "Martin Heiden" <martin.heiden@xxxxxxxxxxxxx>
Para: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Enviado: miircoles, 15 de octubre de 2008 23:15
Asunto: Re: XML Namespaces and <xsl:output> don4t 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.