[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Xml file in an Xml file
Subject: [xsl] Xml file in an Xml file From: "Danny Leblanc" <leblancd@xxxxxxxxxxxxxxxxxxx> Date: Wed, 4 Apr 2007 12:07:28 -0400 |
Hello everyone. Using web services I am getting the following XML file returned to me. <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:XS="http://www.w3.org/2001/XMLSchema" xmlns:XI="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://www.webserviceX.NET"><S:Body><a:GetWeatherResponse><a:GetWea therResult XI:type="XS:string"><?xml version="1.0" encoding="utf-16"?> <CurrentWeather> <Location>Montreal / Pierre Elliot Trudeau International Airport, Que, Canada (CYUL) 45-28N 073-45W 36M</Location> <Time>Apr 04, 2007 - 11:00 AM EDT / 2007.04.04 1500 UTC</Time> <Wind> from the ESE (120 degrees) at 15 MPH (13 KT) gusting to 28 MPH (24 KT):0</Wind> <Visibility> 6 mile(s):0</Visibility> <SkyConditions> overcast</SkyConditions> <Temperature> 37 F (3 C)</Temperature> <DewPoint> 33 F (1 C)</DewPoint> <RelativeHumidity> 86%</RelativeHumidity> <Pressure> 29.79 in. Hg (1008 hPa)</Pressure> <Status>Success</Status> </CurrentWeather></a:GetWeatherResult></a:GetWeatherResponse></S:Body>< /S:Envelope> What I would like to do is "yank out" the second Xml file that is contained at S:Envelope/S:body/a:GetWeatherResponse/a:GetWeatherResult. I tried the following Xslt code using the latest Altova engine <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:XS="http://www.w3.org/2001/XMLSchema" xmlns:XI="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://www.webserviceX.NET"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <NewRoot> <xsl:value-of select="/S:Envelope/S:Body/a:GetWeatherResponse/a:GetWeatherResult"/> </NewRoot> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> What I get back is <?xml version="1.0" encoding="UTF-8"?> <NewRoot xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:XI="http://www.w3.org/2001/XMLSchema-instance" xmlns:XS="http://www.w3.org/2001/XMLSchema" xmlns:a="http://www.webserviceX.NET"><?xml version="1.0" encoding="utf-16"?> <CurrentWeather> <Location>Montreal / Pierre Elliot Trudeau International Airport, Que, Canada (CYUL) 45-28N 073-45W 36M</Location> <Time>Apr 04, 2007 - 11:00 AM EDT / 2007.04.04 1500 UTC</Time> <Wind> from the ESE (120 degrees) at 15 MPH (13 KT) gusting to 28 MPH (24 KT):0</Wind> <Visibility> 6 mile(s):0</Visibility> <SkyConditions> overcast</SkyConditions> <Temperature> 37 F (3 C)</Temperature> <DewPoint> 33 F (1 C)</DewPoint> <RelativeHumidity> 86%</RelativeHumidity> <Pressure> 29.79 in. Hg (1008 hPa)</Pressure> <Status>Success</Status> </CurrentWeather></NewRoot> What I would actually like to be returned is a true XML file where I could access all the nodes using Xpath, not a "parsed out" version of the file. For example <?xml version="1.0" encoding="utf-8" ?> <NewRoot> <CurrentWeather> <Location>Montreal / Pierre Elliot Trudeau International Airport, Que, Canada (CYUL) 45-28N 073-45W 36M</Location> <Time>Apr 04, 2007 - 11:00 AM EDT / 2007.04.04 1500 UTC</Time> <Wind>from the ESE (120 degrees) at 15 MPH (13 KT) gusting to 28 MPH (24 KT):0</Wind> <Visibility>6 mile(s):0</Visibility> <SkyConditions>overcast</SkyConditions> <Temperature>37 F (3 C)</Temperature> <DewPoint>33 F (1 C)</DewPoint> <RelativeHumidity>86%</RelativeHumidity> <Pressure>29.79 in. Hg (1008 hPa)</Pressure> <Status>Success</Status> </CurrentWeather> </NewRoot> There are a few differences that I would also like, I don't need the namespace declarations. Is there anyway to do this using xslt or am I dreaming? Thanks in advance.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: xsl-list Digest 1 Apr 200, Abel Braaksma | Thread | RE: [xsl] Xml file in an Xml file, Michael Kay |
Re: [xsl] Dreamweaver XSL Tranforms, Robert Koberg | Date | RE: [xsl] Proposed syntax for names, Michael Kay |
Month |