XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Raymond SzaszSubject: XSL Converting SQL CASE Elements
Author: Raymond Szasz
Date: 19 Apr 2005 08:04 PM
I have an XSLT stylesheet (INTIN CONV.xsl) that converts a CASE statement into the correct element name: SHIP_CODE. The issue is I now have three other CASE statements that need element nameS as well. How can I distinguish each of the CASE elements and apply the correct element names. The XML file is also attached
SEABOURN ITININFO_DATASAMPLE.xml)

CASE (1) SHIP_CODE (this one is OK)
CASE (2) SAIL_DAY
CASE (3) ARRIVAL_TIME
CASE (4) DEPARTURE_TIME

Regards,
Ray Szasz


DocumentITINCONV.xsl
XSLT Stylesheet

DocumentSEABOURNITININFO_DATASAMPLE.XML
XML file with CASE elements

Postnext
(Deleted User) Subject: XSL Converting SQL CASE Elements
Author: (Deleted User)
Date: 19 Apr 2005 09:18 PM
in template matchs row element, you need to pick the first CASE and other non-case element as the xpath for apply-templates

xsl:template match="row">
<SAILING>
<xsl:apply-templates select="CASE[1] | *[name() != 'CASE']"/>
</SAILING>
</xsl:template>

Postnext
Raymond SzaszSubject: XSL Converting SQL CASE Elements
Author: Raymond Szasz
Date: 20 Apr 2005 11:49 AM
Song,

Thanks for your reply. I should have mentioned that I am new to XML. I have tried to use the statement you provided, but I cannot get my CASE elements to change.

Can you insert your example into my stylesheet and let me know how I should increment the multiple CASE statements to change the element names.

The first CASE statement in my stylesheet works, but I end up with SHIPC_CODE on all of the remaining CASE elements as well. I just wanted to clarify my issue.

Thanks,
Ray Szasz

Postnext
(Deleted User) Subject: XSL Converting SQL CASE Elements
Author: (Deleted User)
Date: 20 Apr 2005 01:21 PM
I thought you were going to ignore the last three cases.

you can try the following stylesheet to convert each CASE node:

<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>

<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="CASE[1]">
<SHIP_CODE>
<xsl:apply-templates/>
</SHIP_CODE>
</xsl:template>
<xsl:template match="CASE[2]">
<SAIL_DAY>
<xsl:apply-templates/>
</SAIL_DAY>
</xsl:template>
<xsl:template match="CASE[3]">
<ARRIVAL_TIME>
<xsl:apply-templates/>
</ARRIVAL_TIME>
</xsl:template>

<xsl:template match="CASE[4]">
<DEPARTURE_TIME>
<xsl:apply-templates/>
</DEPARTURE_TIME>
</xsl:template>

<xsl:template match="root">
<ITININFO_DATA>
<xsl:apply-templates/>
</ITININFO_DATA>
</xsl:template>

<xsl:template match="row">
<SAILING>
<xsl:apply-templates/>
</SAILING>
</xsl:template>

<xsl:template match="*">
<xsl:element name="{name(.)}">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>

</xsl:stylesheet>

Posttop
Raymond SzaszSubject: XSL Converting SQL CASE Elements
Author: Raymond Szasz
Date: 20 Apr 2005 03:17 PM
Song,

The stylesheet worked perfectly and I appreciate your assistance. I have a lot to learn about XSLT.

Thanks Again!
Ray Szasz

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.