I know that I'm missing something obvious here, and am hopeful that some one
will be able to point out my folly to me. I am working on a simple XPath
Router that should perform a query on the body of an incoming XML message
and route appropriately. My logic is as follows:
<xsl:template match="/*">
<xsl:choose>
<xsl:when test="ceXML/CexpInvoice/RecieverID/text() = 'PEOPLESOFT'">
<jbi:invoke ...
</xsl:when>
<xsl:otherwise>
<jbi:invoke ...
</xsl:otherwise>
The body of the XML looks like this:
<!xml version="1.0" encoding="UTF-8"?>
<Message xmlns="...">
<ceXML>
<CexpInvoice>
<ReceiverID>PEOPLESOFT</ReceiverID>
<SenderID>12345</SenderID>
<TransactionID>TRD</TransactionID>
I'd think that the match command positions me within the <Message> node, so
that the comparison should be from that point on down. This code never works
as expected - the <xsl:otherwise> route is always selected, so I think that
my XPat is bad. Any help is appreciated.
/jonathan