Okay this might seem like a silly easy question, but here goes.
Why is it that when I open the following XML document in the browser, either firefox or IE that all I get is the data (text nodes) output.
Note that the xml file is linked to the xsl file below as well.
When I run the transformation inside any application ie. xmlspy/oxygen/jdeveloper etc I get the 'right' output which is a properly formated xml document?? Am I missing something in the xsl or is this a quirk of the browser and its xsl 1.0 and transformer???
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="soap2.xsl"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://www.sampleproject.com/webservice/BusinessServices/CreateWorkspaceResponse</wsa:Action>
<wsa:MessageID>uuid:59e55139-1062-4f42-8509-d9218d76daeb</wsa:MessageID>
<wsa:RelatesTo>uuid:2af90059-eb06-4762-8de8-c8ea72b0fc70</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-4e49cb36-9397-43a0-b62e-ddb2098abd43">
<wsu:Created>2009-02-28T00:17:01Z</wsu:Created>
<wsu:Expires>2009-02-28T00:22:01Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<CreateWorkspaceResponse xmlns="http://www.sampleproject.com/webservice/BusinessServices">
<CreateWorkspaceResult>
<![CDATA[<ep:Response xmlns:ep="www.sampleproject.com/response" success="True" timeStamp="20090228T12:17:01.000" >
<ep:Workspace id="d815952d-5f0b-4dd9-9a3a-5a067adb2914" lastModified="2/27/2009 4:17 PM" >
<ep:Title>SA_ProjCreate_WS_CusFld_0227</ep:Title>
<ep:WorkspaceType id="eba14bec-1be9-465b-af8b-2d9f7aff4b3e" >
<ep:Title>Full Service</ep:Title>
</ep:WorkspaceType>
<ep:field type="native" name="Summary" mayEdit="yes" ></ep:field>
<ep:field type="native" name="ApprovalStatus" mayEdit="no" >NotRequired</ep:field>
<ep:field type="native" name="Budget" mayEdit="yes" >0</ep:field>
<ep:field type="native" name="CreatedOn" mayEdit="no" >2/27/2009</ep:field>
<ep:field type="native" name="StartDate" mayEdit="yes" >2/27/2009</ep:field>
<ep:field type="native" name="EndDate" mayEdit="yes" >3/10/2009</ep:field>
<ep:field type="native" name="Health" mayEdit="yes" >OnPlan</ep:field>
<ep:field type="native" name="Owner" mayEdit="no" >Suhel Ahmed</ep:field>
<ep:field type="native" name="PercentComplete" mayEdit="no" >0</ep:field>
<ep:field type="native" name="Priority" mayEdit="yes" >Medium</ep:field>
<ep:field type="native" name="Budget" mayEdit="no" >0</ep:field>
<ep:field type="native" name="TotalBudget" mayEdit="no" >0</ep:field>
<ep:field type="native" name="PlannedCostFromTasks" mayEdit="no" >0</ep:field>
<ep:field type="native" name="TotalActualCost" mayEdit="no" >0</ep:field>
<ep:field type="native" name="TotalMinutesWorked" mayEdit="no" >0</ep:field>
<ep:field type="custom" name="SalesForceID" mayEdit="yes" id="359e1a31-ebaa-4ef9-b540-1556c0a1b206" >666</ep:field>
<ep:field type="custom" name="Client" mayEdit="yes" id="d0d69a76-573e-4534-b135-826753ed60aa" ></ep:field>
<ep:field type="custom" name="Region" mayEdit="yes" id="a0d96369-ad6f-4096-b11e-151b508d2030" >GMI</ep:field>
<ep:field type="custom" name="ProductType" mayEdit="yes" id="2ece64e9-ecbc-46dc-8e7b-fe6ba81dfb39" ></ep:field>
</ep:Workspace>
</ep:Response>]]>
</CreateWorkspaceResult>
</CreateWorkspaceResponse>
</soap:Body>
</soap:Envelope>
And the XSL
Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
exclude-result-prefixes="xs"
version="1.0">
<xsl:output method="xml" omit-xml-declaration="no" encoding="utf-8"></xsl:output>
<xsl:template match="soap:Envelope">
<xsl:copy>
<xsl:apply-templates select="soap:Header"></xsl:apply-templates>
<xsl:apply-templates select="soap:Body"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="soap:Header">
<xsl:copy-of select="."></xsl:copy-of>
</xsl:template>
<xsl:template match="soap:Body">
<xsl:copy>
<xsl:apply-templates select="*"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="*[namespace-uri()='http://www.sampleproject.com/webservice/BusinessServices' and local-name()='CreateWorkspaceResponse']">
<xsl:copy>
<xsl:apply-templates select="*"></xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="*[namespace-uri()='http://www.sampleproject.com/webservice/BusinessServices' and local-name()='CreateWorkspaceResult']">
<xsl:copy>
<xsl:value-of select="." disable-output-escaping="yes"></xsl:value-of>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Any ideas?