XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Hari KrishnaSubject: XSLT Help to get value from Upper Node by comparing the value from the present Context
Author: Hari Krishna
Date: 01 May 2008 11:26 AM
Originally Posted: 01 May 2008 10:54 AM
I am basic user and having problems reading the value from the upper node. Like i explain below, How to compare value with the 2level above the context with the present value and get populated at the present level.

Description

I am trying compare

../../Item/ID=BusinessTransactionDocumentReference/ItemID

These two and get the following field from ITEM node

../../Item/Product/InternalID

At the Handling Units , i am writing all values by looping, Based on BusinessTransactionDocumentReference/ItemID , i go up 2 levels and get the matching value

<PedDrugName>
<xsl:value-of select="../../Item/Product/InternalID=BusinessTransactionDocumentReference/ItemID"/>
</PedDrugName>

I have 3 fields like these
<PedManufacturer>
<xsl:value-of select="../../Item/Product/VendorID"/>
</PedManufacturer>
<PedProductCode><xsl:text>SAP PedProductCode</xsl:text>
<Code>
<xsl:value-of select="BusinessTransactionDocumentReference/ItemID"/>
</Code>
</PedProductCode>

One more Sub node, i need to get 2 more fields like the above
<PedItemInfo>
<PedLot>
<xsl:value-of select="../Item/Batch/InternalID"/>
</PedLot>
<PedExpirationDate>
this will be current date
</PedExpirationDate>

Attaching XSLT Map, with Source and an Example of Output.


UnknownPedigreeXSLT.xsl
XSLTMap

UnknownPedigreeInput1.xml
InputSource

Posttop
Alberto MassariSubject: XSLT Help to get value from Upper Node by comparing the value from the present Context
Author: Alberto Massari
Date: 02 May 2008 11:02 AM
Hi Hari,
by looking at your sample data, it looks that the XPath you need is

<xsl:value-of select="../../Item[ID=current()/BusinessTransactionDocumentReference/ItemID]/Product/InternalID"/>

i.e. find the Item having an ID equal to the ItemID currently beend handled, then fetch its InternalID.

Hope this helps,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.