Subject: [xsl] Doesn't see elements when using namespaces From: "Colin Simpson" <Colin.Simpson@xxxxxxxxxxxxxxx> Date: Thu, 17 Aug 2006 13:10:30 +0100 |
I am trying to use a very simple XSLT to convert an XML file into CSV (Comma Separated Values). However, I'm having difficulties which seems to be due to the namespaces. Using XML Spy 5.4, it never finds any <CodingNoticesP6P6B> elements to process. If I remove all the namespaces and "ns0:" prefixes in the XML and XSL files, then it works fine. Here is a simplified XML file: <?xml version="1.0" encoding="utf-8"?> <ns0:DPSdata xmlns:ns0="http://www.govtalk.gov.uk/taxation/DPSwrapper/1"> <ns0:DataType>P6</ns0:DataType> <CodingNoticesP6P6B xmlns="http://www.govtalk.gov.uk/taxation/CodingNoticesP6P6B/2" xmlns:gt="http://www.govtalk.gov.uk/CM/core" xmlns:gms="http://www.govtalk.gov.uk/CM/gms-xs" IssueDate="2005-09-01"> <Name>Alan Brown</Name> <TaxCode>123L</TaxCode> </CodingNoticesP6P6B> <CodingNoticesP6P6B xmlns="http://www.govtalk.gov.uk/taxation/CodingNoticesP6P6B/2" xmlns:gt="http://www.govtalk.gov.uk/CM/core" xmlns:gms="http://www.govtalk.gov.uk/CM/gms-xs" IssueDate="2005-09-01"> <Name>Julie Green</Name> <TaxCode>345L</TaxCode> </CodingNoticesP6P6B> </ns0:DPSdata> Here is my XSL file: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:ns0="http://www.govtalk.gov.uk/taxation/DPSwrapper/1"> <xsl:output method="text" media-type="text/xml" omit-xml-declaration="yes" encoding="UTF-8"/> <!-- This contains the character used as the end of line delimiter. --> <xsl:variable name="CR" select=" ' ' "/> <!-- Start at the top level --> <xsl:template match="/"> <xsl:apply-templates select="//ns0:DPSdata"/> </xsl:template> <!-- The header details --> <xsl:template match="ns0:DPSdata"> <xsl:text>1,</xsl:text> <xsl:value-of select="ns0:DataType"/> <xsl:value-of select="$CR"/> <xsl:apply-templates select="//CodingNoticesP6P6B"/> </xsl:template> <!--- Process a P6/P6B --> <xsl:template match="CodingNoticesP6P6B"> <xsl:call-template name="ExtractDetails"/> </xsl:template> <!-- Extract all the details for the P6/P9 --> <xsl:template name="ExtractDetails"> <xsl:text>2,</xsl:text> <xsl:value-of select="@IssueDate"/> <xsl:text>,</xsl:text> <xsl:value-of select="Name"/> <xsl:text>,</xsl:text> <xsl:value-of select="TaxCode"/> <xsl:value-of select="$CR"/> </xsl:template> </xsl:stylesheet> Can anyone see what I'm doing wrong? Thanks in anticipation. Colin Simpson ************************************************************************ Blue Arrow is official sponsor and recruitment partner of Team GB, the British Olympic Association and OPEN, the Olympic and Paralympic Employment Network. Your company can become a member of OPEN - the Olympic and Paralympic Employment Network today, for free - visit www.bluearrow.co.uk/OPEN Find out more about all Blue Arrow recruitment solutions - visit www.bluearrow.co.uk ************************************************************************ ************************************************************************ This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. ************************************************************************
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re[2]: [xsl] AltovaXML assembly ref, Mulberry Technologie | Thread | Re: [xsl] Doesn't see elements when, David Carlisle |
Re[2]: [xsl] AltovaXML assembly ref, Mulberry Technologie | Date | Re: [xsl] Doesn't see elements when, David Carlisle |
Month |