[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] calling a web service from XSLT
(Apologies to xml-dev readers who may have seen my related message)
It's not a theoretical breakthrough or anything like that, but I thought xsl-list readers might be interested in a working example of calling a Web Service from XSLT. For files like this: <cardlist> <card number="00000000000000"/> </cardlist> you can run (with msxsl.exe - the "https:" URL appears to break saxon) the following transform: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:cdyne="http://ws.cdyne.com/"> <xsl:output indent="yes"/> <xsl:variable name="CheckCC" select="'https://secure.cdyne.com/creditcardverify/luhnchecker.asmx/CheckCC?CardNumber='" /> <!-- --> <!-- do a "pass-through" type transform --> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <!-- --> <!-- for everything except elements in the target namespace --> <xsl:template match="card"> <xsl:copy> <xsl:attribute name="CardValid"> <xsl:value-of select="document(concat($CheckCC, @number))/cdyne:ReturnIndicator/cdyne:CardValid = 'true'" /> </xsl:attribute> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <!-- --> </xsl:stylesheet> to get each card element marked up with a CardValid attribute containing a boolean true or false. Not something I'd use in production lightly, and limited to Web Services with an HTTP GET binding, but satisfactory in its way. Francis. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|