Re: [docbook-apps] XSL Stylesheet in XHTML

From
Bob Stayton <>
Date
2008-10-31T18:22:08+00:00
ID
090901c93b85$7a2b5880$6a00a8c0@pazu
Thread
Re: [docbook-apps] XSL Stylesheet in XHTML
Most likely you are chunking and running into the issue of import 
precedence.  The chunking templates use xsl:import, and you are introducing 
another layer of import precedence and it isn't working right.

 

But there is a relatively new hook for doing what you want.  The 
user.preroot placeholder template is executed before <html> and could be 
used for your purposes.  Search for 'user.preroot' in:

 

http://www.sagehill.net/docbookxsl/HtmlHead.html

 

Add something like this to your customization:

 

<xsl:template name="user.preroot">
  
<xsl:processing-instruction 
name="xml-stylesheet">
     
<xsl:text>type="text/xsl" href="mathml.xsl"</xsl:text>
  
</xsl:processing-instruction>
</xsl:template>

 

Bob Stayton
Sagehill Enterprises


 

 

  
----- Original Message ----- 

  
From: 
   

  
To:  
  

  
Sent: Friday, October 31, 2008 11:10 
  AM

  
Subject: [docbook-apps] XSL Stylesheet in 
  XHTML

  

  
Hello all,

  
 

  
I am trying to add an XSL stylesheet to the top of my XHTML output - like 
  so:

  
 

  
<?xml version="1.0" encoding="UTF-8" 
  standalone="no"?>
<?xml-stylesheet type="text/xsl" 
  href="mathml.xsl"?>

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html 
  xmlns="'>http://www.w3.org/1999/xhtml">

  
. . . .

  
 

  
 

  
I have looked through the archives and found the same issue expressed a 
  few years ago. The answer was to add a template to the customization layer 
  that inserted the line. 

  
 

  
<xsl:template match="/">
  <xsl:processing-instruction 
  name="xml-stylesheet">
   <xsl:text>type="text/xsl" 
  href="mathml.xsl"</xsl:text>
  
  </xsl:processing-instruction>
  
  <xsl:apply-imports/>
</xsl:template>

  
 

  
 

  
Looked simple enough, so I added it to my customization layer. However, 
  it ran as usual but the first two lines showed up on the console and the 
  output file did not include the XSL stylesheet line.

  
 

  
I usually use XSLTPROC which had the console output anomaly but I also 
  ran it with Saxon 6.5.5 which had similar problems (but did not 
  output the lines to the console).

  
 

  
This is a bit puzzling. Did I do it incorrectly or is there another way 
  to do that?

  
 

  
Thanks

  
 

  
Dean Nelson

  

  
  Plan your next getaway with AOL Travel. Check 
  out Today's Hot 5 Travel Deals!