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
(Deleted User) Subject: Problem with selecting nodes for xml to csv file
Author: (Deleted User)
Date: 11 Dec 2008 05:44 PM
Hi,

I have an xml file which I want to transform to a csv by means of an xsl. The problem is that I can't set the right attribute in my xsl:apply-templates instruction to be able to output a specific element.

Part of the xml:

<Invoice xmlns="http://www.openapplications.org/oagis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:nl="http://ns.hr-xml.org/2004-08-02" xsi:schemaLocation="http://www.openapplications.org/oagis Invoice.xsd http://ns.hr-xml.org/2004-08-02 InvoiceAdditionalNL.xsd">
<Header>
<DocumentIds><DocumentId><Id>12601217</Id></DocumentId></DocumentIds>
<DocumentDateTime>2007-06-04T00:00:00Z</DocumentDateTime>
<Description>Voor al onze facturen geldt een standaard betalingstermijn van 14 dagen na factuurdatum.</Description>
<Note>P/flex is een handelsnaam van P/flex bv</Note>
<DocumentReferences><InvoiceDocumentReference><DocumentIds><DocumentId><Id>000000000</Id></DocumentId></DocumentIds><Description></Description></InvoiceDocumentReference></DocumentReferences>



The xsl:

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

<xsl:variable name="separator" select="';'"/>

<xsl:template match="/">
<xsl:value-of select="concat('DocumentDateTime', $separator, 'Description')"/><xsl:text>
</xsl:text>
<xsl:apply-templates select="Invoice/Header"/>
</xsl:template>

<xsl:template match="Header">
<xsl:value-of select="Note"/><xsl:text></xsl:text>
</xsl:template>

</xsl:stylesheet>

Thanks,


Cynthia


Documentxml_to_csv.xsl

Postnext
(Deleted User) Subject: Problem with selecting nodes for xml to csv file
Author: (Deleted User)
Date: 12 Dec 2008 06:20 AM
Cynthia,
the XML document defines a default namespace, "http://www.openapplications.org/oagis", so you have to prefix its elements with an appropriate prefix, like in

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oagis="http://www.openapplications.org/oagis">
<xsl:output method="text"/>

<xsl:variable name="separator" select="';'"/>

<xsl:template match="/">
<xsl:value-of select="concat('DocumentDateTime', $separator, 'Description')"/><xsl:text>
</xsl:text>
<xsl:apply-templates select="oagis:Invoice/oagis:Header"/>
</xsl:template>

<xsl:template match="oagis:Header">
<xsl:value-of select="oagis:DocumentDateTime"/><xsl:text></xsl:text>
</xsl:template>

</xsl:stylesheet>

Alberto

Posttop
(Deleted User) Subject: Problem with selecting nodes for xml to csv file
Author: (Deleted User)
Date: 12 Dec 2008 08:02 AM
Thank you, it works!

 
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.