[Home] [By Thread] [By Date] [Recent Entries]
Dear Nestor,
At 03:49 AM 10/15/2010, you wrote: this is a problem because: Ah. 2) This is supposed to be so easy that is just not explained (it's pretty like having 100 keys to open a door: it's obvious that you need a key, but it's useful to know which one). The manual only says that you need a key to open the door. I am familiar with the problem. 3) I think that now I am doing something like what you say: So far, so good. So, I have read the documentation really carefully, but I only get fuzzy advices, which can or cannot be useful (I have little experience with XSL templates, so I would prefer a simple answer). Understood. The advice is going to be fuzzy as long as we are guessing. And to get past that point requires doing an analysis of the stylesheets, which as you've discovered can be very daunting if they are complex and not well documented. Also, the problem is that I use <xsl:template match="sect1">, and that code renders all the standard stylesheet's definition of sect1 useless. Actually, without doing the analysis, and without trying, you don't actually know whether you'll step on all the standard stylesheet's handling of sect1, especially if (as is not unlikely) it is doing multiple traversals in different modes, etc. You can be sure, however, that only one template will match a given node in a given processing context, and if you can identify this template, you can override it. Your own version can simply replicate the parts you want to keep, while changing the parts you want to change. So I'd start by rewriting the template you believe is the culprit, and going from there. Certainly, I acknowledge that it's possible that in order to achieve what you want, you may find you have to trace the logic of the stylesheet, which can be fairly arduous. (Good practice though!) Good tools help: it's much easier with an IDE such as oXygen which allows you to work with several modules at once, and even trace the operations of a transformation from template to template. The bottom line is that building, and even using, these complex "standard" stylesheet distributions is more of an art than is sometimes supposed. Accordingly, you may find at a certain point that it's actually easier to start from scratch and build up. This may be the case if you have a clean document format, which you control (and for which the standard stylesheets are over-engineered, since they are designed to accommodate much more than you have), and if you have many modifications to make. So, start by duplicating the template in question and seeing whether that works: <xsl:template match="sect1"> <xsl:number level="multiple" from="chapter" format="1. "/> <xsl:apply-templates/> </xsl:template> Also look into how the xsl:apply-imports instruction works. It probably won't help here, but it is useful to know about. Cheers, Wendell ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
|

Cart



