[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Simple XML -> XML transform problem, possibly nam
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: 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|