Subject: RE: [xsl] Tags to HTML page From: xptm@xxxxxxx Date: Thu, 12 Aug 2004 14:10:43 +0100 |
I think i understand, but if you have <xsl:template match="h3"> (...) <h3><xsl:apply-templates/></h3> (...) </xsl:template> aplyed to <root> <h3> <h3> (...) </h3> </h3> </root> doesn't that falls in a kind of loop? Or does the apply-templates only apply to the childrens of the node being processed? Quoting Michael Kay <mhk@xxxxxxxxx>: > > Sorry for the basic question, but i don't understand the use of > > <xsl:apply-templates/> in Michael solution. If it was <xsl:value-of > > select="."/> i can understand what it does, but not like that... > > I don't know what can appear inside an <h3> element. I don't know if you > told me, but even if you did, I prefer to write the code in such a way that > it doesn't matter. By writing xsl:apply-templates, I am saying "process > whatever you find inside the h3 element according to the rules defined for > that kind of content". For example, if there is an <a> element inside the > <h3>, then it will process that according to the rules for handling <a> > elements. If all it finds is text, then the text will be processed using the > default rule for text nodes, which is equivalent to <xsl:value-of > select="."/>. > > By contrast, if you use xsl:value-of directly, your template rule will only > handle an <h3> element properly if it contains pure text. > > This use of apply-templates is central to the "rule-based" approach to > stylesheet design, which enables you to make your stylesheet resilient to > variations in document structure, and thus to increase the reusability of > the template rules. > > You described your problem in rule-based terms "when there is an h3 element, > do this...", and that's precisely the structure a rule-based stylesheet > should take. > > Michael Kay > > > > > > For my understanding, the apply-templates will call the > > template in wich it is > > inserted, in this case <xsl:template match="h3">? But then > > there is a loop > > processing, or am i thinking procedural? > > > > I normally use w3schools site as reference, but the example > > there is not clear > > to me, either... > > > > Again, sorry for the basic question... > > > > Citando Michael Kay <mhk@xxxxxxxxx>: > > > > > > > > > > Whenever there is a <h3> tag I should surrond it with more tags > > > > > > > > <myowntag:bind path="someCode"> > > > > <h3>Test Conversion</h3> > > > > </myowntag> > > > > > > > > > > > > Basically the input is a JSP and I need to add some Tag > > > > libraries to it. > > > > > > > > What would be the best way to do it. > > > > > > > > > > <xsl:template match="h3"> > > > <myowntag:bind path="someCode"> > > > <h3><xsl:apply-templates/></h3> > > > </myowntag:bind> > > > </xsl:template> > > > > > > Note that writing a stylesheet in terms of template rules > > corresponds > > > exactly to the way you described the problem: "whenever > > there is an <h3> tag > > > [you mean element] I should..." > > > > > > Michael Kay > > > > > > > > > > > > > > > > > > > > > > O SAPO ja esta livre de vmrus com a Panda Software, fique vocj tambim! > > Clique em: http://antivirus.sapo.pt > > O SAPO ja esta livre de vmrus com a Panda Software, fique vocj tambim! Clique em: http://antivirus.sapo.pt
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Tags to HTML page, Michael Kay | Thread | Re: [xsl] Tags to HTML page, David Carlisle |
Re: [xsl] Need help rendering the H, Jeni Tennison | Date | Re: [xsl] Tags to HTML page, David Carlisle |
Month |