At 09:32 PM 3/31/03 +0200, you wrote:
Do have a look here:
http://www.topxml.com/code/default.asp?p=3&id=v20010323001030
This code generates a Xpath expression that uniquely selects any (type of)
node -- even for a namespace node.
this example requires a bunch of m$ stuff. i will try to avoid that.
i saw something similar in the archives, but it was even scarier. see:
http://www.biglist.com/lists/xsl-list/archives/199910/msg00432.html - this
eats my file and tells me what everything is (i think). i have the files at
http://tayek.com/~ray/xml/ - xpath2output.html was made by applying
input.xsl to input.xsl using xmlspy.
Of course, Mike is right that if element names belong to a non-null
namespace, the environment to evaluate the expression must have exactly the
same namespaces defined...
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
i'm sure that he is correct and that is something else i will need to deal
with.
anyway this will tell me whether it is an attribute or not, so perhaps my
script:
<xsl:template match="name">
<xsl:for-each select="ancestor-of-self::*">
<xsl:value-of select="name()" /><xsl:text>/</xsl:text>
</xsl:for-each>
<xsl:value-of select="." />
</xsl:template>
with an appropriate test for an attribute can be made to work.
do you think yours will work without the m$ junk? if so, i will give it a
try (but i am a newbie to xsl). if not, i may have to try the m$ (yuck)
thingie.
thamks
"Ray Tayek" <rtayek(_at_)attbi(_dot_)com> wrote in message
news:5(_dot_)2(_dot_)0(_dot_)9(_dot_)2(_dot_)20030331031515(_dot_)02681810(_at_)mail(_dot_)attbi(_dot_)com(_dot_)(_dot_)(_dot_)
> hi, i need to generate the full xpath name (location) for attributes in
the
> following xsl (see below).
>
> instead of using <xsl:attribute name="name"><xsl:value-of
> select="name()"/></xsl:attribute> which gets me the just the attribute
> (field) name, i would like to generate the full xpath expression from the
> root of the document (i guess it would look something like:
> /......./Node/SingleForces(_at_)attribute_name). i.e. what do i use in instead
> of: <xsl:value-of select="name()"/> to get the fully qualified name for
> this field from the root.
>
> thanks
>
> <xsl:template match="Node/SingleForces">
> <td>
> <xsl:for-each select="@*">
> <xsl:element name="label">
> <xsl:attribute name="for"><xsl:value-of
> select="name()"/></xsl:attribute>
> <xsl:value-of select="name()"/>
> </xsl:element>
> <xsl:element name="input">
> <xsl:attribute
> name="type">text</xsl:attribute>
> <xsl:attribute
name="size">4</xsl:attribute>
> <xsl:attribute name="id"><xsl:value-of
> select="name()"/></xsl:attribute>
> <xsl:attribute name="name"><xsl:value-of
> select="name()"/></xsl:attribute>
> <xsl:attribute name="value"><xsl:value-of
> select="."/></xsl:attribute>
> </xsl:element>
> </xsl:for-each>
> </td>
> <xsl:apply-templates/>
> </xsl:template> ...
---
ray tayek http://tayek.com/ actively seeking mentoring or telecommuting work
vice chair orange county java users group http://www.ocjug.org/
hate spam? http://samspade.org/ssw/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list