Win a copy of Java by Comparison (eBook) this week in the Java in General forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Attributr in XPath  RSS feed

 
Ranch Hand
Posts: 192
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

First there is a XML:



Second there is my XSLT-stylesheet:



Third there is the output:



Everything works fine, there is one mistake only. In the output should not be for instance p6 or p7. There should appear the real names like Marie Dupont or Philippe Dubois. How can I achieve this?

Regards, Urs
 
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
So you need to take the value of the attribute, and use that in an XPath expression to find the name of the person it matches? Try using this expression:

<xsl:value-of select="/FAMILYTREE/PERSON[@ID = current()/@MOTHER]/NAME" />

Translates as "find the PERSON with an ID attribute matching the MOTHER attribute of my current node, and take their name".
 
Sheriff
Posts: 23421
46
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Or if you expect to do this on larger documents, you might want to consider an <xsl:key> element. The w3schools tutorial about that element has an example which could almost be dropped unchanged into your code.
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!