Subject: RE: [xsl] Trying to understand XSLT processing From: <ohaya@xxxxxxx> Date: Tue, 15 Dec 2009 5:52:49 -0500 |
Hi, FYI, I got this to work using: <xsl:message>*****BODY CONTENTS**** <xsl:copy-of select="/*[local-name()='Envelope']/*[local-name()='Body']"/></xsl:message> Jim ---- Michael Kay <mike@xxxxxxxxxxxx> wrote: > > I can't think of any reason for this behaviour, other than the possibility > that your XSLT processor is stripping out elements from the body of > xsl:message. This would be consistent with the way xsl:attribute handles > element content in XSLT 1.0, so it's not impossible - processors can do > pretty well anything they like with xsl:message output. Try using the same > construct outside the context of xsl:message. > > Regards, > > Michael Kay > http://www.saxonica.com/ > http://twitter.com/michaelhkay > > > > > I have an XML file: > > > > <SOAP:Envelope > > xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" > > xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" > > xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" > > xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-20040 > > 1-wss-wssecurity-secext-1.0.xsd" > > xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> > > <SOAP:Header> > > <wsse:Security SOAP:mustUnderstand="1"> > > </wsse:Security></SOAP:Header> > > <SOAP:Body> > > <m:hello xmlns:m="http://services"> > > <m:x>123</m:x> > > </m:hello> > > </SOAP:Body> > > </SOAP:Envelope> > > > > and I just want to output the <SOAP:Body> to a message, so I > > have an XSLT that looks like this: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <xsl:stylesheet version="1.0" > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope" > > xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> > > <xsl:output method="xml" /> > > > > <xsl:template match="/"> > > <xsl:message>*****you just hit the XSLT ******</xsl:message> > > <xsl:message>*****BODY CONTENTS****[<xsl:copy-of > > select="."/>]</xsl:message> > > </xsl:template> > > > > </xsl:stylesheet> > > > > However, when I execute that XSLT, I'm getting an empty > > nodeset for the output: > > > > *****you just hit the XSLT ****** > > *****BODY CONTENTS****[] > > > > So, I was wondering if someone can explain what I am doing > > wrong with that XSLT above? Why doesn't the <xsl:copy-of> > > give me the <Body>? > > > > Thanks, and sorry if this is probably a really dumb question :(... > > > > Jim
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Trying to understand XSLT, Michael Kay | Thread | Re: [xsl] Trying to understand XSLT, Andrew Welch |
RE: [xsl] Trying to understand XSLT, Michael Kay | Date | Re: [xsl] Trying to understand XSLT, Andrew Welch |
Month |