Subject: Re: [xsl] XPath weirdness!! From: Kris Kolodziej <kkolodziej@xxxxxxxxxxxx> Date: Wed, 25 Jul 2001 14:02:29 -0400 |
OK. I hope I can be more clear with this email. Here is part of my XML source: <Query> <SpatialQuery> <Buffer distance="100" units="miles"> <Point x="-122.5281" y="37.635" /> <Point x="-122.4521" y="37.700" /> <Point x="-122.4000" y="37.750" /> <Point x="-122.3100" y="37.820" /> </Buffer> </SpatialQuery> </Query> I want this part of the output to be: <MULTIPOINT> <POINT x="-122.5281" y="37.635" /> <POINT x="-122.4521" y="37.700" /> <POINT x="-122.4000" y="37.750" /> <POINT x="-122.3100" y="37.820" /> </MULTIPOINT> This is part of the XSL that I am using to transform the above: <xsl:when test="//SpatialQuery/Buffer"> <!-- I need the "//" to get back the <MULTIPOINT> and <POINT> tags --> <MULTIPOINT> <xsl:for-each select="//Point"> <POINT> <xsl:attribute name="x"> <xsl:value-of select="//@x"/> <!-- THIS GIVES ME THE "X" values --> </xsl:attribute> <xsl:attribute name="y"> <xsl:value-of select="/@y"/> <!-- HERE IF I USE "//@y" I GET THE " &x#3c" ERROR --> </xsl:attribute> </POINT> </xsl:for-each> </MULTIPOINT> </xsl:when> Julian Reschke wrote: > I'm not sure what the problem that reported is... But: > > *why* are you using the // syntax at all? > > "//@y" finds *all* attributes named "y" in the document, and then returns > the text value of the first one (AFAIK). Is this *really* what you want? > > If you clearly describe what you source format is and which output you need, > people on the list will be able to suggest much better (and faster) XSLT > code... > > > -----Original Message----- > > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Kris > > Kolodziej > > Sent: Wednesday, July 25, 2001 7:14 PM > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > Subject: [xsl] XPath weirdness!! > > > > > > This is related to my previous problem with the "&x#3c." So I figured > > out that I was doing something wrong with the XPath locations...However, > > now I am experiencing some weird things with XPath. Take the following > > example for instance: > > > > This works but it only give me the "x" value (and I sure do want to get > > both x AND y). > > Notice that for "y" I only have "/@y". This is because when I do the > > same thing as I did for "x" (meaning writing "<xsl:value-of > > select="//@y"/>" ) I get the "&x#3c" error!!! WHY??! > > > > > > <xsl:when test="//SpatialQuery/Buffer"> > > <MULTIPOINT> > > <xsl:for-each select="//Point"> > > <POINT> > > <xsl:attribute name="x"> > > <xsl:value-of select="//@x"/> > > </xsl:attribute> > > <xsl:attribute name="y"> > > <xsl:value-of select="/@y"/> > > </xsl:attribute> > > </POINT> > > </xsl:for-each> > > </MULTIPOINT> > > > > > > It also works when I do the vice versa of what I have ("/@x" and "//@y") > > but I can't have it written the same way. > > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XPath weirdness!!, Julian Reschke | Thread | RE: [xsl] XPath weirdness!!, Julian Reschke |
RE: [xsl] Re: producing php with xs, Michael Fitzgerald | Date | RE: [xsl] non-breaking white space , Julian Reschke |
Month |