Hi,
Version 1.0
I have been asked to refer this to the XSLT site.
I need to extract '0006509602/01' from the following code (See the OrderLine/LineReference section).
[u]XML</u>
Code:
<QQQOrder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://QQQ.com/QQQXML/Schemas/v3_0_1/QQQOrd.xsd" OrderType="Standalone Order" DocumentType="New">
<F4FDocumentHeader>
<SchemaVersion>3</SchemaVersion>
<SchemaStatus>Approved</SchemaStatus>
<DocumentCreated DateTimeType="Document Created">20070315 09:32</DocumentCreated>
<DocumentTrackingId>56709</DocumentTrackingId>
<DocumentRevisionNumber>1</DocumentRevisionNumber>
<SourcePartnerID>AT</SourcePartnerID>
<SourceDivisionID>KA</SourceDivisionID>
<DestinationPartnerID>ASATST</DestinationPartnerID>
</F4FDocumentHeader>
<OrderHeader>
....
</OrderHeader>
<TransportDetails>
....
</TransportDetails>
<OrderLine LineNumber="1">
<LineReference ReferenceType="Contract Number" AssignedBy="Buyer">0006509602/01</LineReference>
<LineReference ReferenceType="Contract Number" AssignedBy="Supplier">ppersupref</LineReference>
<ProductReference ReferenceType="Assigned By Buyer">496500</ProductReference>
<ProductDescription Type="Defined by Buyer">REGULATOR 1</ProductDescription>
<ProductValues>
<Quantity QuantityType="Order Quantity" QuantityUOM="Unit">1000</Quantity>
<UnitPrice PriceUOM="Unit">0.59</UnitPrice>
</ProductValues>
</OrderLine>
</QQQOrder>
I have tried various methods to extract it, but so far, have only returned blanks.
[u]XSLT</u>
Code:
<xsl:for-each select=".//OrderLine/@LineNumber">
<xsl:element name="OrderLine">
<xsl:attribute name="LineNumber"><xsl:value-of select="position()"/></xsl:attribute>
<xsl:element name="LineReference">
<xsl:attribute name="ReferenceType">Contract Number</xsl:attribute>
<xsl:attribute name="AssignedBy">Buyer</xsl:attribute>
<xsl:value-of select="../LineReference[@ReferenceType='Contract Number' and @AssignedBy='Buyer']"/>
</xsl:element>
</xsl:element>
</xsl:for-each>
The above 'value-of select' is ok for One (1) OrderLine, but..... NOT in the case where there are several.
I have tried to use the following but it returns blank:
Code:
<xsl:value-of select=".//OrderLine[@LineNumber='position()']/LineReference[@ReferenceType='Contract Number' and @AssignedBy='Buyer']"/>
Thanks in advance,
Neal
A Northern Soul