Hello, I am trying to match an Id number that is shared across 2 xml files.I seem to be do the right thing bu it won`t display a match.Can you please help me find my error.
I have a problem matching the values of :
<xsl:when test= '@meterNumber = $MeterReadingNU M' >
<xsl:value-of select="@meterN umber"/>
</xsl:when>
in create_bills.xs lt.How do I do this against the meterNumber in both xml files.
As you can see I want the customers with the meter numbers of matching the meterReadings xml file.
Thank you
customers.xml
meter_readings. xml
create_bills.xs lt
I have a problem matching the values of :
<xsl:when test= '@meterNumber = $MeterReadingNU M' >
<xsl:value-of select="@meterN umber"/>
</xsl:when>
in create_bills.xs lt.How do I do this against the meterNumber in both xml files.
As you can see I want the customers with the meter numbers of matching the meterReadings xml file.
Thank you
customers.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="create_bills.xslt" ?>
<customerRecords>
<customerRecord customerNumber="BL343456" meterNumber="134456">
<contactInfo>
<name title="Mr">
<first>Bart</first>
<middle></middle>
<last>Simpson</last>
</name>
</contactInfo>
</customerRecord>
<customerRecord customerNumber="BL326856" meterNumber="134452">
<contactInfo>
<name title="Miss">
<first>Jane</first>
<middle></middle>
<last>Simpson</last>
</name>
</contactInfo>
</customerRecord>
</customerRecords>
Code:
<?xml version="1.0" encoding="utf-8"?>
<records>
<record meterNumber="234567">
<reading date="2006-11-29">1089</reading>
</record>
<record meterNumber="134456">
<reading date="2006-11-29">67990</reading>
</record>
<record meterNumber="342566">
<reading date="2006-11-29">29011</reading>
</record>
</records>
Code:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Globals -->
<xsl:variable name='docXML_meter_readings' select='document("meter_readings.xml")'/>
<xsl:output method="html" version="4.0"/>
<xsl:template match="/">
<html>
<head>
</head>
<body>
<xsl:for-each select='$docXML_meter_readings/records/record'>
<xsl:sort select='@meterNumber' data-type='number' order='ascending'/>
<xsl:variable name='MeterReadingNUM' select='@meterNumber' />
<xsl:for-each select='customerRecords/customerRecord'>
<xsl:choose>
<xsl:when test= '@meterNumber = $MeterReadingNUM' >
<xsl:value-of select="@meterNumber"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Comment