Re: Mapping SDATA entities: any workaround

Subject: Re: Mapping SDATA entities: any workaround
From: Chris Maden <crism@xxxxxxx>
Date: Thu, 30 Oct 1997 12:30:24 -0500
[Aidan Killian]
> 	I read the earlier thread about SDATA entity handling and
> believe that the only way to map SDATA entity replacement text using
> JADE is to change the entity definitions (either directly or by
> changing the catalog to pick up a different version of the public
> entity set).
> 
> 	I am using the SGML backend to generate HTML and I faced with
> a large directory of GIF images of characters accessed via entities
> of the form:
> 
> <!ENTITY abreve SDATA '<IMG BORDER=0 SRC="abreve.gif">'>
> 
> 	I find these mapped to '?' at the moment.
> 
> 	These entity sets are outside my direct control (but I can
> influence them somewhat).
> 
> 	I have tried changing these to CDATA and I then get something
> like this:
> 
> &#60;IMG BORDER=0 SRC="abreve.gif">'&#62;
> 
> 	I know I should be using (make element ...) to generate these
> elements but how do I capture the entity references or, failing
> that, match regular expressions in data content.

The hardest part is going to be *finding* the SDATA references to
process.  Since Jade hasn't implemented (query) yet, you have to
iterate over the content of every mixed-content element looking for
them.  See the (process-text) routine in
<URL:http://www.oreilly.com/people/staff/crism/dsssl/mifout.dsl> for
an example of doing this.  You can leave the entity as SDATA, and then
do

(make formatting-instruction
      data: (node-property 'system-data
			   this-node))

The formatting-instruction will pass the SDATA system data exactly as
entered, without turning less-thans and quotes into entity references.

-Chris
-- 
<!NOTATION SGML.Geek PUBLIC "-//Anonymous//NOTATION SGML Geek//EN">
<!ENTITY crism PUBLIC "-//O'Reilly//NONSGML Christopher R. Maden//EN"
"<URL>http://www.oreilly.com/people/staff/crism/ <TEL>+1.617.499.7487
<USMAIL>90 Sherman Street, Cambridge, MA 02140 USA" NDATA SGML.Geek>

 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread