Wrox Programmer Forums
Go Back   Wrox Programmer Forums > XML > XML
|
XML General XML discussions.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the XML section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old March 10th, 2009, 11:24 PM
Authorized User
 
Join Date: Mar 2009
Posts: 13
Thanks: 0
Thanked 0 Times in 0 Posts
Question How to strip out the CDATA from xml using xsl transformations

Hi Folks,
I need to strip out the <![CDATA[]] from xml o/p using XSLT and my xm l input as follows:




Code:
<?xml-stylesheet type="text/xsl" href="Successful_CreateProject_Res.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.eproject.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.eproject.com/webservice/BusinessServices">
         <CreateWorkspaceResult>
        <![CDATA[<ep:Response xmlns:ep="www.eProject.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>
 
Old March 16th, 2009, 05:04 AM
Authorized User
 
Join Date: Apr 2008
Posts: 13
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Within CDATA, everything is nothing but text !

Even if it is not very difficult to write a basic XML parser with XSLT, I would suggest to better use procedural for that and/or regular expressions.
__________________
XForms for browsers without plug-in : http://www.agencexml.com/xsltforms/
 
Old April 6th, 2009, 10:26 PM
Authorized User
 
Join Date: Mar 2009
Posts: 50
Thanks: 7
Thanked 0 Times in 0 Posts
Default

hi there

I use:

Code:
<xsl:output cdata-section-elements="script style"/>
to get rid of <![CDATA[]] to reveal javascript after the translation. There is probably something else you could put between the quotation marks to serve your purpose so I would advise you look up that output attribute.
 
Old April 23rd, 2009, 01:01 PM
Friend of Wrox
 
Join Date: Jun 2007
Posts: 477
Thanks: 10
Thanked 19 Times in 18 Posts
Default

This will only help with CSS and JS, but I recommend removing all that stuff to an external .css / .js file. It's much more maintainable and then you don't have the CDATA in the first place. Just <link> tags adding your stylesheets, and one line <script> tags calling your .js files. It's also MUCH more maintainable because the code is isolated in one location, so if you need to make a change, you only make it once (rather than on every page in your website... Ouch!)
__________________
-------------------------

Whatever you can do or dream you can, begin it. Boldness has genius, power and magic in it. Begin it now.
-Johann von Goethe

When Two Hearts Race... Both Win.
-Dove Chocolate Wrapper

Chroniclemaster1, Founder of www.EarthChronicle.com
A Growing History of our Planet, by our Planet, for our Planet.





Similar Threads
Thread Thread Starter Forum Replies Last Post
Xsl: strip-space elements; and 'group-adjacent' ROCXY XSLT 6 July 15th, 2010 08:59 AM
How to strip out the CDATA from xml using xsl transformations XSLUSer XSLT 1 March 12th, 2009 10:01 AM
How to strip out the CDATA from xml using xsl transformations XSLUSer XSLT 0 March 10th, 2009 11:10 PM
Usage of "xsl:strip-space" ROCXY XSLT 1 January 4th, 2006 05:31 AM
XSL Transformations scottrudy VB.NET 0 July 4th, 2003 11:59 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.