|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Displaying document( ) output within CDATA
If I understand it right, the file you want to load using document() is XML, but you want it displayed as if the "<" characters were text rather than markup, i.e. you want the markup to be visible in the displayed result? An interesting requirement - it's completely the opposite of what many people want to do, but entirely legitimate. Most people want to turn "<" characters into markup, which you can do using disable-output-escaping, but I can't see any way of doing the reverse. Really, you want to avoid parsing the example XML in the first place, which then reduces to the problem of loading a non-XML text file as a string value. You can do this easily enough with an extension function, or with a JAXP processor you could write a URIResolver that bypasses the parsing. Another approach is to write your own serializer (subclassing or pipelining into the standard one for your chosen processor). Then instead of reading the example file into the transformation, the transformation can output a processing instruction containing a reference to the file, and your serializer can expand this reference by fetching the file and including its contents. Mike Kay Software AG > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Mark Miller > Sent: 28 June 2001 05:05 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: Displaying document( ) output within CDATA > > > Greetings, > > I am creating a stylesheet for tutorials. Code is > displayed as part of each tutorial page. I would like > to insert the actual code using the document() > function so I won't have to cut and paste the > examples. > > I have not been able to figure out a way to include > the code that is output from the document() function > within a CDATA section. > > This template accesses the code file I want to insert > as the example code. Because it is not within a CDATA > section, it is parsed and the output is shown instead > of the raw code. > > <xsl:template match="preformatted"> > > <xsl:variable name="codeSample" > select="document(following::link[2]/@xslInput)"/> > > <div style="text-align:center;">Code Sample</div> > <pre> > <xsl:value-of select="$codeSample"/> > </pre> > </div> > </xsl:template> > > > Any suggestions on how to insert code from an external > file into a CDATA section would be appreciated. > > Thanks, > Mark > > > > > > __________________________________________________ > Do You Yahoo!? > Get personalized email addresses from Yahoo! Mail > http://personal.mail.yahoo.com/ > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








