xsl-list
[Top] [All Lists]

RE: evaluate

2003-06-23 11:23:06
There are a few specialized cases where saxon:assign can be really
useful, for example in instrumenting a stylesheet to count how often
different templates are executed. You are abusing it, to the extent that
your stylesheet cannot really be said to be written in XSLT at all. As
far as I can see from your code sample, there is absolutely no reason to
be using this construct.

Now I'm trying to work out what you're trying to do. 

(a) the title of your email is called "evaluate". Has this got anything
to do with your problem, and if so what?

(b) the code you show us seems to be intended to produce a sequence of
<group> elements, each containing a number of <a> elements.

(c) the output you say you want to produce consists of a string in the
form of a path expression. This appears to bear no discernable
relationship to your code.

Start at the beginning. What is your input, and what is your desired
output, and how do they relate to each other? Usually I then ask people
to show us their code, so that we can see where they are having
problems. But it seems your code is not likely to be a good place to
start.

Michael Kay


-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Michael Paffrath
Sent: 23 June 2003 15:59
To: XSL List
Subject: [xsl] evaluate


hi!

i am new to xsl and i have a little problem ...

while generating a xml-file with saxon i want to put an 
xpath-expression into the doc. i can assign values, but i 
cant get any xpath ...

here is some code:
<xsl:for-each select="document(concat($xml_path, $area, 
'/groups.xml'))/groups/group[descendant::a]">
      <xsl:choose>
              <xsl:when test="@area">
                      <saxon:assign name="area_test" select="@area"/>
                      <saxon:assign name="title" 
select="document(concat($xml_path,
'definitions.xml'))/definitions/global/areas/element[(_at_)name = 
$area_test]/@translation"/>
              </xsl:when>
              <xsl:otherwise>
                      <saxon:assign name="title" select="@title"/>
              </xsl:otherwise>
      </xsl:choose>
      <saxon:assign name="templateName" 
select="descendant::template/@name"/>
      <group ID="{(_at_)ID}" title="{$title}" 
template="temp_{$templateName}">
              <xsl:for-each select="descendant::a">
                      <saxon:assign name="href" select="@href"/>
                      <saxon:assign name="hrefinhalt" select="."/>
                      <saxon:assign name="hreftitle" 
select="document(concat($xml_path,
'structure.xml'))/descendant::*[(_at_)ID = $href]/@title"/>
                      <a href="{$href}" title="{$hreftitle}" 
contents="{$hrefinhalt}"/>
              </xsl:for-each>
      </group>
</xsl:for-each>

i would like to get the xpath for 'hreftitle'
=> in this form:  /structure[1]/group[2]/group[4]/group[3]/target[3]

hope u can help me - im almost desperate ...

Michael Paffrath
fatmedia - agentur für interaktive medien
Schillerstraße 6

50968 Köln

Tel. 0221 - 660 36 63
Fax. 0221 - 276 03 98
http://www.fatmedia.de/
eMail: paffrath(_at_)fatmedia(_dot_)de


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



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



<Prev in Thread] Current Thread [Next in Thread>