This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: calling a web service from XSLT


Hi:

Very interesting. You do 'breakthrough' my imagination!

----- Original Message -----
From: "Francis Norton" <francis@redrice.com>
To: "xsl-list" <xsl-list@lists.mulberrytech.com>
Sent: Friday, May 31, 2002 11:27 PM
Subject: [xsl] 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
>
>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]