[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] how to close html tags : link, meta,...


Subject: RE: [xsl] how to close html tags : link, meta,...
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 13 Aug 2003 08:54:29 +0100

> hi,
> i'm using xslt to transform an xml file into a html file
> my problem is that i really need to have the empty tags( meta, link,
> img,...) closed and I don't know how to do this...
> here is a part of my xslt code :
> <xsl:text disable-output-escaping="yes">&lt;?xml
> version="1.0"?&gt;&#10;</xsl:text>
> 
> <xsl:text disable-output-escaping="yes">&lt;?xml-stylesheet 
> type="text/xsl" 
> href="http://www.w3.org/Math/XSL/mathml.xsl"?&gt;&#10;</xsl:te
> xt> <html>

This is defaulting to use the html output method. On the other hand, the
fact that you're trying to output an XML declaration suggests you are
actually trying to get XML output. Decide which you want, and use an
xsl:output declaration to specify it.

Then use the other attributes of xsl:output to get your XML declaration
- writing it as text with disable-output-escaping is plain wrong.

Similarly, use xsl:processing-instruction to output the
<?xml-stylesheet?> PI.

> 
> <head>
> 
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
> 
> <link rel="stylesheet" type="text/css" href="{$cssFile}"/>
> 
> <link rel="stylesheet" type="text/css" href="css/structure.css"/>
> 
> <link rel="stylesheet" type="text/css" href="css/{$inst}.css"/>
> 
> <link rel="stylesheet" type="text/css" href="../{$code}.css"/>
> 
> <title>CyberDocs</title>
> 
> </head>
> 
> <body>
> 
> 
> 
> which produces non-closed tags
> 

It's serializing as HTML rather than XML, because the first element in
the result tree is an <html> element.

Michael Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords