Subject: Re: [xsl] Howto generate a list xpath queries that are used within a template? From: "Joren Crauwels" <joren.crauwels@xxxxxxxxxxxxxxx> Date: Sun, 22 Aug 2004 22:28:37 +0200 |
Hi, ok, this is the answer i came up with so far, it filters out strings and also checks other attributes besides slect and test (i assume one you have to use {function()} when u use it in other attributes then select or test) If someone has a better idea, or a better solution, please let me know. U are always welcome to give examples of xpath-queries that wil be left out by my function. This is the function: <xsl:template name="generateUsedXpathQueries"> <xsl:variable name="bla1" select="'joren'"/> <xsl:for-each select="@*"> <xsl:choose> <xsl:when test="name() = 'select'"> <xsl:variable name="quoteje">'</xsl:variable> <xsl:if test="not(starts-with(normalize-space(.), $quoteje)) and not(ends-with(normalize-space(.),$quoteje))"> <li><xsl:value-of select="."/></li> </xsl:if> </xsl:when> <xsl:when test="name() = 'test'"> <li><xsl:value-of select="."/></li> </xsl:when> <xsl:otherwise> <xsl:variable name="attrValue" select="normalize-space(.)"/> <xsl:if test="starts-with($attrValue,'{') and ends-with($attrValue,'}')"> <li><xsl:value-of select="."/></li> </xsl:if> </xsl:otherwise> </xsl:choose> <xsl:result-document href="{concat('link', '.pdf')}"> </xsl:result-document> </xsl:for-each> </xsl:template> There is probably a shorter way to define it, but it resembles the structure in my head :p Grtz, joren ----- Original Message ----- From: "cking" <cking@xxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Sunday, August 22, 2004 9:40 PM Subject: Re: [xsl] Howto generate a list xpath queries that are used within a template? > Hello Joren > > I see what you mean, but I'm afraid I won't be able to help much: > maybe I'm wrong, but as far as I know, this won't be possible in XSLT. > > 1. checking if an attribute value is an XPath query or not? Suppose you > have an attribute value "bla", is that an XPath query? As a matter > of fact it is, or it could be (match an element named "bla"). > (I know you know this already, but I'm only contemplating the problem > in case someone else would have a better idea) > The closest you can get (I think) is what you have so far: presuming > that select and test attributes hold an XPath expression, and others > don't. After all, if you have select="bla" it must be XPath, and if you > have mode="bla" you can be pretty sure it's only a name. As you said, > it's allowed to use XPath with other attributes, but the only examples > of this I can think of are 'use' in xsl:key, and 'count', 'value' and 'from' > in xsl:number. So, you could add these to your test. > > 2. generating unique IDs for linking <xsl:apply-templates> with their > corresponding <xsl:template> is something I wanted to add to my own > xdoc stylesheet, too, but I never found a working solution for that. > As you pointed out, the 'select' attribute of apply-templates doesn't > always literally match the template's 'match' attribute, so you can't > build a link string by just using their values. > > Best regards > Anton Triest > > > Sunday, August 22, 2004 8:01 PM, Joren Crauwels wrote: > > Hi, > > > > i know i can check on all attributes, but then i still dont know wheter or > > not it's an xpath query or not. The most queries are used with the select > > and test attribute, but its also allowed to used xpath with other > > attributes. So my biggest problem is knowing wheter or not its an xpath > > query or not. Maybe if it makes some things clear for u, this is my current > > output and xsl file: > > http://lumumba.luc.ac.be/~jorencrauwels/jorentms/xslt2html/ > > Maybe u can also give some advice about the ID i could use after the # in my > > hrefs, because its not unique at the moment. For example with the list of > > used templates within a template, i also link to the detailed information > > for each template, but when i use match="./template" in stead of > > match="template", the link isnt correct anymore. I hope this make some > > sense... > > > > Bye, > > joren
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Howto generate a list xpa, cking | Thread | Re: [xsl] Howto generate a list xpa, Kenneth Stephen |
Re: [xsl] Howto generate a list xpa, cking | Date | RE: [xsl] Howto generate a list xpa, Michael Kay |
Month |