[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: FW: Newbie question

Subject: RE: FW: Newbie question
From: "David at roamware" <david@xxxxxxxxxxxxxx>
Date: Mon, 6 Dec 2004 18:50:23 -0000
secu cristian
Hi,

Thanks, Tried that, but still no joy? Probably misinterpreted something?

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:t="http://tempuri.org/test.xsd">
	<xsl:output method="text" indent="no" encoding="ISO-8859-1"/>
	<xsl:template match="/">
<xsl:apply-templates
select="/t:CorporateActionAnnouncement/CorporateAction/GeneralInformationBlo
ck"></xsl:apply-templates>
<xsl:apply-templates
select="/t:CorporateActionAnnouncement/CorporateAction/UnderlyingSecurities"
></xsl:apply-templates>
<xsl:apply-templates
select="/t:CorporateActionAnnouncement/CorporateAction/CorporateActionDetail
"></xsl:apply-templates>
<xsl:apply-templates
select="/t:CorporateActionAnnouncement/CorporateAction/CorporateActionOption
"></xsl:apply-templates>
	</xsl:template>

	<xsl:template match="t:GeneralInformationBlock">
testoutput<xsl:call-template name="funcmsglookup"><xsl:with-param
name="codef" select="t:FunctionofMessage"/></xsl:call-template>
moretestoutput
	</xsl:template>

	<xsl:template match="t:UnderlyingSecurities">
/<xsl:value-of select="t:UnderlyingSecurityISIN/Listing"/>/
	</xsl:template>

	<xsl:template match="t:CorporateActionDetail">
test//<xsl:call-template name="dateformat"><xsl:with-param name="adate"
select="t:RecordDate"/></xsl:call-template>
	</xsl:template>

	<xsl:template match="t:CorporateActionOption">
//<xsl:value-of select="t:CorporateActionOptionNumber"/>
OP//<xsl:call-template name="caoptlookup"><xsl:with-param name="codea"
select="t:CorporateActionOptionsCode"/></xsl:call-template>
LT//<xsl:call-template name="defproclookup"><xsl:with-param name="codep"
select="t:DefaultProcessingFlag"/></xsl:call-template>
	<xsl:if test="t:CashPaymentDetails!=''">
YD//<xsl:value-of select="t:DefaultProcessingFlag"/>
S//<xsl:value-of
select="t:CashPaymentDetails/GrossAmountPayable/Currency"/><xsl:value-of
select="t:CashPaymentDetails/GrossAmountPayable/Currency"/>
	</xsl:if>
	<xsl:if test="t:SecuritiesMovement!=''">
B//<xsl:call-template name="debcredlookup"><xsl:with-param name="codee"
select="t:DebitCreditIndicator"/></xsl:call-template>
MOVE
	</xsl:if>
MOREOUT
	</xsl:template>

	<xsl:template name="funcmsglookup">
		<xsl:param name="codef"/>
		<xsl:if test="codef=0"><xsl:text></xsl:text>NEWM</xsl:if>
		<xsl:if test="codef=1"><xsl:text>REPL</xsl:text></xsl:if>
		<xsl:if test="codef=2"><xsl:text>CANC</xsl:text></xsl:if>
	</xsl:template>

	<xsl:template name="caoptlookup">
		<xsl:param name="codea"/>
		<xsl:if test="codea=0"></xsl:if>
		<xsl:if test="codea=1"><xsl:text>CASH</xsl:text></xsl:if>
		<xsl:if test="codea=2"><xsl:text>SECU</xsl:text></xsl:if>
	</xsl:template>

	<xsl:template name="debcredlookup">
		<xsl:param name="codee"/>
		<xsl:if test="codee=0"></xsl:if>
		<xsl:if test="codee=1"><xsl:text>CRED</xsl:text></xsl:if>
		<xsl:if test="codee=2"><xsl:text>DEBT</xsl:text></xsl:if>
	</xsl:template>

	<xsl:template name="defproclookup">
		<xsl:param name="codep"/>
		<xsl:if test="codep=0"></xsl:if>
		<xsl:if test="codep=1"><xsl:text>Y</xsl:text></xsl:if>
		<xsl:if test="codep=2"><xsl:text>N</xsl:text></xsl:if>
	</xsl:template>

	<xsl:template name="dateformat">
		<xsl:param name="adate"/>

<xsl:text>substring($adate,0,4)substring($adate,5,2)substring($adate,8,2)</x
sl:text>
	</xsl:template>
</xsl:stylesheet>

Regards,

David



-----Original Message-----
From: George Cristian Bina [mailto:george@xxxxxxx]
Sent: 06 December 2004 18:28
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re:  FW: Newbie question


Hi David,

That is because your XPath expressions match elements from no namespace
while all the elements from your XML file are from
http://tempuri.org/test.xsd namespace:

 > <CorporateActionAnnouncement xmlns="http://tempuri.org/test.xsd">

You should add in your stylesheet something like

xmlns:t="http://tempuri.org/test.xsd"

and then use the t prefix to refer to any element in your stylesheet,
for instance instead of CorporateActionAnnouncement you should have
t:CorporateActionAnnouncement.

Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com


David at roamware wrote:
> Hi,
>
> I am new to XSLT. I have been using Treebeard as my editor. I get no
errors,
> but also no output. I have spent ages looking at the xsl and cannot see
what
> is wrong. One thing not entirely clear to me is how the context changes,
> this is not well epxlained anywhere I have looked. So I tend to use
absolute
> XPath expressions.
>
> Here is my test.xml
>
> <?xml version="1.0" encoding="iso-8859-1"?>
> <CorporateActionAnnouncement xmlns="http://tempuri.org/test.xsd">
> 	<AnnouncementDetails>
> 		<Released>2004-09-27</Released>
> 	</AnnouncementDetails>
> 	<Announcement>
> 		<Title>test</Title>
> 	</Announcement>
> 	<CorporateAction>
> 		<GeneralInformationBlock>
> 			<FunctionofMessage>2</FunctionofMessage>
> 		</GeneralInformationBlock>
> 		<UnderlyingSecurities>
> 			<UnderlyingSecurityISIN>
> 				<Listing>PLIS</Listing>
> 			</UnderlyingSecurityISIN>
> 		</UnderlyingSecurities>
> 		<CorporateActionDetail>
> 			<RecordDate>2004-08-20</RecordDate>
> 		</CorporateActionDetail>
> 		<CorporateActionOption>
> 			<CorporateActionOptionNumber>001</CorporateActionOptionNumber>
> 			<CorporateActionOptionsCode>Securities
> Option</CorporateActionOptionsCode>
> 			<DefaultProcessingFlag>1</DefaultProcessingFlag>
> 			<CashPaymentDetails>
> 				<PaymentDate>2004-10-06</PaymentDate>
> 			</CashPaymentDetails>
> 			<SecuritiesMovement>
> 				<DebitCreditIndicator></DebitCreditIndicator>
> 			</SecuritiesMovement>
> 		</CorporateActionOption>
> 		<CorporateActionOption>
> 			<CorporateActionOptionNumber>002</CorporateActionOptionNumber>
> 			<CorporateActionOptionsCode>Securities
> Option</CorporateActionOptionsCode>
> 			<DefaultProcessingFlag>2</DefaultProcessingFlag>
> 			<CashPaymentDetails>
> 				<PaymentDate></PaymentDate>
> 			</CashPaymentDetails>
> 			<SecuritiesMovement>
> 				<DebitCreditIndicator>Credit</DebitCreditIndicator>
> 			</SecuritiesMovement>
> 		</CorporateActionOption>
> 	</CorporateAction>
> </CorporateActionAnnouncement>
>
> Here is my xsl
>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> 	<xsl:output method="text" indent="no" encoding="ISO-8859-1"/>
> 	<xsl:template match="/">
> <xsl:apply-templates
>
select="/CorporateActionAnnouncement/CorporateAction/GeneralInformationBlock
> "></xsl:apply-templates>
> <xsl:apply-templates
>
select="/CorporateActionAnnouncement/CorporateAction/UnderlyingSecurities"><
> /xsl:apply-templates>
> <xsl:apply-templates
>
select="/CorporateActionAnnouncement/CorporateAction/CorporateActionDetail">
> </xsl:apply-templates>
> <xsl:apply-templates
>
select="/CorporateActionAnnouncement/CorporateAction/CorporateActionOption">
> </xsl:apply-templates>
> 	</xsl:template>
>
> 	<xsl:template match="GeneralInformationBlock">
> testoutput<xsl:call-template name="funcmsglookup"><xsl:with-param
> name="codef" select="FunctionofMessage"/></xsl:call-template>
> moretestoutput
> 	</xsl:template>
>
> 	<xsl:template match="UnderlyingSecurities">
> /<xsl:value-of select="UnderlyingSecurityISIN/Listing"/>/
> 	</xsl:template>
>
> 	<xsl:template match="CorporateActionDetail">
> test//<xsl:call-template name="dateformat"><xsl:with-param name="adate"
> select="RecordDate"/></xsl:call-template>
> 	</xsl:template>
>
> 	<xsl:template match="CorporateActionOption">
> //<xsl:value-of select="CorporateActionOptionNumber"/>
> OP//<xsl:call-template name="caoptlookup"><xsl:with-param name="codea"
> select="CorporateActionOptionsCode"/></xsl:call-template>
> LT//<xsl:call-template name="defproclookup"><xsl:with-param name="codep"
> select="DefaultProcessingFlag"/></xsl:call-template>
> 	<xsl:if test="CashPaymentDetails!=''">
> YD//<xsl:value-of select="DefaultProcessingFlag"/>
> S//<xsl:value-of
> select="CashPaymentDetails/GrossAmountPayable/Currency"/><xsl:value-of
> select="CashPaymentDetails/GrossAmountPayable/Currency"/>
> 	</xsl:if>
> 	<xsl:if test="SecuritiesMovement!=''">
> B//<xsl:call-template name="debcredlookup"><xsl:with-param name="codee"
> select="DebitCreditIndicator"/></xsl:call-template>
> MOVE
> 	</xsl:if>
> MOREOUT
> 	</xsl:template>
>
> 	<xsl:template name="funcmsglookup">
> 		<xsl:param name="codef"/>
> 		<xsl:if test="codef=0"><xsl:text></xsl:text>NEWM</xsl:if>
> 		<xsl:if test="codef=1"><xsl:text>REPL</xsl:text></xsl:if>
> 		<xsl:if test="codef=2"><xsl:text>CANC</xsl:text></xsl:if>
> 	</xsl:template>
>
> 	<xsl:template name="caoptlookup">
> 		<xsl:param name="codea"/>
> 		<xsl:if test="codea=0"></xsl:if>
> 		<xsl:if test="codea=1"><xsl:text>CASH</xsl:text></xsl:if>
> 		<xsl:if test="codea=2"><xsl:text>SECU</xsl:text></xsl:if>
> 	</xsl:template>
>
> 	<xsl:template name="debcredlookup">
> 		<xsl:param name="codee"/>
> 		<xsl:if test="codee=0"></xsl:if>
> 		<xsl:if test="codee=1"><xsl:text>CRED</xsl:text></xsl:if>
> 		<xsl:if test="codee=2"><xsl:text>DEBT</xsl:text></xsl:if>
> 	</xsl:template>
>
> 	<xsl:template name="defproclookup">
> 		<xsl:param name="codep"/>
> 		<xsl:if test="codep=0"></xsl:if>
> 		<xsl:if test="codep=1"><xsl:text>Y</xsl:text></xsl:if>
> 		<xsl:if test="codep=2"><xsl:text>N</xsl:text></xsl:if>
> 	</xsl:template>
>
> 	<xsl:template name="dateformat">
> 		<xsl:param name="adate"/>
>
>
<xsl:text>substring($adate,0,4)substring($adate,5,2)substring($adate,8,2)</x
> sl:text>
> 	</xsl:template>
> </xsl:stylesheet>
>
> where am I going wrong?
>
> Thx.
>
> David

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.