Subject: RE: [xsl] Simple XML -> XML transform problem, possibly namespace related From: Pieter Reint Siegers Kort <pieter.siegers@xxxxxxxxxxx> Date: Sat, 15 May 2004 21:15:49 -0500 |
Thanx, Ken, you opened my eyes, now it works like a charm!! :-) I had it worked out also if I did change the default namespace in the XML source, but didn't know that I could add a prefix in my XSL. One Q still: I wonder why the source XML doesn't use a prefix - should it? PD: my XSL now looks like this: <?xml version='1.0' ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:j="http://ns.real.com/tools/job.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0"> <xsl:output method="xml" indent="yes" encoding="Windows-1252" /> <xsl:param name="strSourceFileNamePath" /> <xsl:param name="strDestinationFileNamePath" /> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template match="/j:job/j:inputs/j:input/j:filename" > <filename type="string"><xsl:value-of select="$strSourceFileNamePath" /></filename> </xsl:template> <xsl:template match="/j:job/j:parOutputs/j:output/j:destinations/j:destination/j:filename" > <filename type="string"><xsl:value-of select="$strDestinationFileNamePath" /></filename> </xsl:template> </xsl:stylesheet> Cheers, <prs/> -----Original Message----- From: G. Ken Holman [mailto:gkholman@xxxxxxxxxxxxxxxxxxxx] Sent: Saturday, May 15, 2004 8:04 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Simple XML -> XML transform problem, possibly namespace related At 2004-05-15 19:03 -0500, Pieter Reint Siegers Kort wrote: >this one really has stumped me. I am trying to to do a simple XML to >XML transformation in which I'm only inserting two paths, but they do >not appear. This is a FAQ. >Unfortunately, I absolutely cannot change the input XML since this is a >format for a so-called job file that the Helix Producer ActiveX control >expects. And it is using a namespace for its vocabulary. >I have the following simple XSL: >... > <xsl:template match="/job/inputs/input/filename" > And you are not using namespace-qualified names in your match patterns. >The unchangable XML is: > ><?xml version="1.0" encoding="UTF-8"?> ><job xmlns="http://ns.real.com/tools/job.2.0" Which means the elements you are checking for start at: {http://ns.real.com/tools/job.2.0}job So you will have to ensure all of your names are qualified: ... xmlns:j="http://ns.real.com/tools/job.2.0" ... <xsl:template match="/j:job/j:inputs/j:input/j:filename" > XPath 1.0 never uses the default namespace. I hope this helps. ..................... Ken -- Public courses: Spring 2004 world tour of hands-on XSL instruction Next: 3-day XSLT/XPath; 2-day XSL-FO - Birmingham, UK June 14,2004 World-wide on-site corporate, govt. & user group XML/XSL training. G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Simple XML -> XML transfo, G. Ken Holman | Thread | RE: [xsl] Simple XML -> XML transfo, G. Ken Holman |
Re: [xsl] Simple XML -> XML transfo, G. Ken Holman | Date | RE: [xsl] Simple XML -> XML transfo, G. Ken Holman |
Month |