XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
David ChanSubject: process special charcter
Author: David Chan
Date: 18 Jan 2006 09:47 AM
Hi all,

I am new to XML world.

I have a XML document like
Approval"</subject></ForApproval><order custnum="23" salesrep="RDR"><orderline itemnum="54"linenum="1"><price>31.22</price><qty>100</qty></orderline><orderline itemnum="55"

Seem I need to translate [&lt; to <], [&quot; to "], otherwsie I can't use XSLT, am i correct?

Regards
Dave

Postnext
Tony LavinioSubject: process special charcter
Author: Tony Lavinio
Date: 18 Jan 2006 10:51 AM
What you posted looked like a fragment of an XML document that
was escaped according to XML rules. It itself it not XML,
because it is not 'well-formed' in that it doesn't have properly
nested opening and closing tags that use the actual '<' and '>'
characters, and attributes using either '"' or the apostrophe.

So, correct. What you have is not usable as input to XSLT, since
it's not XML.

Postnext
Minollo I.Subject: process special charcter
Author: Minollo I.
Date: 18 Jan 2006 10:59 AM
You might find the discussion at http://www.stylusstudio.com/SSDN/default.asp?action=9&read=4536&fid=48 about saxon:parse() useful for what you are trying to do.

Minollo

Postnext
David ChanSubject: process special charcter
Author: David Chan
Date: 18 Jan 2006 11:46 AM
Hi Tony,

Thanks for your reply.

Like my document mentioned before. if the value inside the tag embedded " " (open and close quote), Does this also conside as a correct XML document?

Regards
Dave

Postnext
Tony LavinioSubject: process special charcter
Author: Tony Lavinio
Date: 18 Jan 2006 12:10 PM
No, once it escaped or included an the value of an attribute,
it is just plain text, even if it looks like XML. Minollo's
pointer above may help, since the Saxon XSLT engine does have
special capabilities above and beyond the standard to handle
escaped XML masquerading as content.

Postnext
Mike DiRenzoSubject: process special charcter
Author: Mike DiRenzo
Date: 19 Jan 2006 05:12 PM
Well, aside from using the Saxon parser, if I am using the latest and greatest version of MS IE, how can it be done?

Using c#, I passed in a well-formed XML string to my XSLT file. This file is expecting a parameter. The value is passed in, the variable holds the value but the value is escaped. The entire value in terms of converting each "<" and ">" to &lt; and &gt; respectively, is escaped.

I have also tryed assigning this value to an element. I would do the the transformation, grab the elements value and attempt to use it. But it is complete escaped out.

I have attempted to create variables in the XSLT file that would contain this escaped variable - but I would add a disbale-out-escape=yes to the value. This will render appropriately but I need to use it as a node tree so that I might iterate through each element and remap.

In effect, I am embedding a string variable containing well-formed XML.


It was my intenion to use this variable as a node tree fragment whereby I would loop through each child, grab the values and re-map into a diffrent tree.

This is very frustrating.

Postnext
Tony LavinioSubject: process special charcter
Author: Tony Lavinio
Date: 19 Jan 2006 05:25 PM
Once you embed escaped XML in XML, what is embedded is NO LONGER
XML, and therefore it is treated like any other text. No XSLT parser
will help, except for some cases where there are platform-specific
extensions to support this. Saxon is the only one I know of who
supports this.

See http://www.stylusstudio.com/SSDN/default.asp?action=9&read=3773&fid=23&FirstTopic=1&LastTopic=9999

The general advice of the XML community on xml-dev is "Don't do that."
Similar comments apply to disable-output-escaping. There is almost
always a safer way to go. One of the editors of the XSLT 2
specification (Dr. Michael Kay) said the following: "I think that in
general double-markup (markup disguised as text) is a bad idea, because
it's very confusing and not well supported by tools. It's much better
wherever possible to exploit the fact that XML is fully hierarchic, so
markup can always be nested.

That being said, there are some valid reasons for using it. But is
there a reason you can't just embed the XML as XML without escaping it?

Postnext
Mike DiRenzoSubject: process special charcter
Author: Mike DiRenzo
Date: 20 Jan 2006 02:08 AM
I cannot thank you enough with assistance you have provided me. The previous note you posted contained a link to the very area of concern with which I wrote about. Ivan's posts have guided me through the "other-side". I have been cranking away at this problem for a the past three days with little sleep.

I will point out that Ivan's solution described a single string-based element contained in a NTF that all by itself can be considered well-formed. My case however was slightly different in that I had an entire NTF represented as a well-formed string emitted into my XSLT via a transformation. It is the XML within XML paradigm you spoke of in your previous note. My solution was to iterate through it - post C# NodeIterator processing.

Here it is:

<!-- The well-formed string-based XML is converted and stored here-->
<xsl:variable name="dynamicXML" select="cs:parse(XMLStringValue)"/>

<xxxx>
<!-- Iterate here-->
<xsl:for-each select="$dynamicXML//xxx" >
<a>
<b><xsl:value-of select="b"/></b>
<c><xsl:value-of select="c"/></c>
</a>
</xsl:for-each>
</xxxx>

Posttop
Mike DiRenzoSubject: process special charcter
Author: Mike DiRenzo
Date: 19 Jan 2006 11:36 PM
Well, aside from using the Saxon parser, if I am using the latest and greatest version of MS IE, how can it be done?

Using c#, I passed in a well-formed XML string to my XSLT file. This file is expecting a parameter. The value is passed in, the variable holds the value but the value is escaped. The entire value in terms of converting each "<" and ">" to &lt; and &gt; respectively, is escaped.

I have also tryed assigning this value to an element. I would do the the transformation, grab the elements value and attempt to use it. But it is complete escaped out.

I have attempted to create variables in the XSLT file that would contain this escaped variable - but I would add a disbale-out-escape=yes to the value. This will render appropriately but I need to use it as a node tree so that I might iterate through each element and remap.

In effect, I am embedding a string variable containing well-formed XML.


It was my intenion to use this variable as a node tree fragment whereby I would loop through each child, grab the values and re-map into a diffrent tree.

This is very frustrating.

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.