xsl-list
[Top] [All Lists]

Re: xsl and xml CDATA or Not question

2004-03-12 09:56:45
On Fri, 2004-03-12 at 15:49, John Hamman wrote:
hello experts, 
If i have some html in a xml field like below. 

XML doesn't have "fields" -- they're for databases.
XML has elements.

<Content><![CDATA[ <br/><br/><center><div id="TextOnlyLink"><a
href="/page.aspx?textonly">[Text Only]</a></div> 
<div id="centerImg"> 
<img src="/pub/en-us/images/clear-path-soon.jpg" alt="the alt tag."
width="712" height="223"/> 
</div> 
<p>blah blah blah</a> 
</p> 
</center>]]> 
</Content> 

But that isn't HTML any more. Putting it in a CDATA section 
means you want it treated as plain text. That's what CDATA
sections are for. What is wrong with (indents added for
illustration only):

  <Content>
    <br/>
    <br/>
    <center>
      <div id="TextOnlyLink">
        <a href="/page.aspx?textonly">[Text Only]</a>
      </div>
      <div id="centerImg">
        <img src="/pub/en-us/images/clear-path-soon.jpg" 
          alt="the alt tag" width="712" height="223"/>
      </div> 
      <p>blah blah blah*</p> 
    </center>
  </Content> 

* I've removed the spurious </a> which must be a corruption.
If you are being supplied with this by someone else, tell 
them to generate well-formed XHTML otherwise it can't be 
processed. They've taken the trouble to add the / at the
end of the <img/> element, so I'm not clear why they felt
it important to add a meaningless </a> and then deliberately prevent it
being used as XHTML.

my formated xsl is just this 
<xsl:value-of select="//Content" disable-output-escaping="yes"/> 

With the above you can use the xsl:copy-of that David
suggests.

but my question is how do i take that contnet and be able to use it in a way
with another "text only" xsl sheet that might make it output like this 

<a href="/page.aspx">[Formated]</a> 
[img: the alt tag] 
<p>blah blah blah<p> 

Tip: alt is not a tag, it's an attribute on the img element type.

Any ideas. Im sure im missing something somewhere. Should i get rid of the
CDATA and figure a way to output it as regular HTML in the formated version?

Yes. If it's XHTML, then handle it as such. 

///Peter



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list