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
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> + JVM detection not finding JDK ... (2)
-> - stylus studio version 2011 pro... (1)
-> - WSDL 2.0 (1)
-> + Special characters in xml (2)
-> + cannot connect to mysql commun... (2)
-> + create a report from an existi... (2)
-> + Content not allowed in prolog (2)
-> + DB IInformix with database loc... (8)
-> + Stylus Report Designer (XML Re... (4)
-> - error: cos-nonambig: Content m... (1)
-> - UNIX .csv conversion and java ... (1)
-> + Nillable element, Validation e... (2)
-> + EDI Converter Error (2)
-> - CSV FILE INTO CARGO-IMP MESSAG... (1)
-> + BUG: Validation in piple will ... (2)
-> + Is there a 64-Bit Stylus Studi... (2)
-> + BUG: Read structure on SQL Ser... (3)
-> + [Customer Toyoto Motors Europe... (2)
-> - Get a schema for a JSON file (1)
-> + UNOC:4 forces converter to inp... (2)
-> - java class for xs:any elements (1)
-> + changing component separator (3)
-> + Output view disappeared (6)
-> + How to convert deeply nested X... (2)
-> + javax.net.ssl.SSLException (4)
-> + error converting .csv in a uni... (10)
-> + Menu bar disappeared (3)
-> - No Topic (1)
-> - What does "XML" stand for? So... (1)
-> - So XML is just HTML on steroid... (1)
-> + XHTML to XML conversion (2)
-> - Stylus Studio with DDTek xml c... (1)
-> + Installation fails (3)
-> + Is there a keyboard shortcut t... (2)
-> - Bug: Adding a scenario to an X... (1)
-> - Bug: Bug reporting outputs an ... (1)
-> - Tradacoms Invoice 9 Batch Quer... (1)
-> - problem with the product regis... (1)
-> + Help: Documentation... ends in... (2)
-> + How to install LIBxml2 (2)
-> - line numbers in validator outp... (1)
-> + Sharing Viollation in Stylus v... (5)
-> - support for asp.net in stylus... (1)
-> + how to use the latest java xml... (2)
-> - how to show xsd element relate... (1)
-> - Testing Stylus in a secure env... (1)
-> + How do you remove linemarkings... (3)
-> - Bug: Comment / Uncomment via C... (1)
-> + Setting escape (release) chara... (2)
-> + Xalan processor not showing up (2)
-> + Is there a keyboard shortcut t... (3)
-> - Modifying reports outside of S... (1)
-> + Run ALL Scenarios? (2)
-> + predefined macros ${ (4)
-> - TRADACOMS - EDI (1)
-> + SUM not working (3)
-> - Large xml file handling gives ... (1)
-> + 2011 Enterprise code folding f... (9)
-> + custom xml converter (3)
-> - Start Excel feter the mapping ... (1)
-> + Uninstall (2)
-> + xpath to compare two values fr... (2)
-> - xpath to compare two values fr... (1)
-> + SS2011 cannot save XML files u... (3)
-> + SS 2011 Enterprise saying 2010... (2)
-> + How to change the way whitespa... (7)
-> + Updating Relational Data Using... (4)
-> - Contract Stylus Studio help. ... (1)
-> + UTF_8 characters not displayed (6)
-> + Problem XSL to PDF ( dont reco... (2)
-> + HIPAA EDI - Looping question (4)
-> - HIPAA EDI - Looping question (1)
-> + Does XML Report support column... (2)
-> + Limited choice of XSL elements... (2)
-> + Single Source Publishing? (3)
-> - Stylus Stodio License (1)
-> - Stylus Stodio License (1)
-> + relax ng (3)
-> + having problem converting csv ... (8)
-> + error when selecting items fro... (2)
-> + CSV File to XML (3)
-> + Software registration - How to... (4)
-> - Software registration - How to... (1)
-> + .Net Saxon not supported by th... (2)
-> + How do I extend the Evaluation... (2)
-> + dst file (4)
-> + Flat File Custom XML conversio... (4)
-> + converting ascii file to xml f... (2)
-> + Evaluation Copy of Stylus Stud... (8)
-> + Batch process for soap (4)
-> + Strange error when running gen... (5)
-> + Merge Files (2)
-> + Convert cvs to XML (2)
-> + Stylus studio 2010 crashes in ... (5)
-> + excel to text (2)
-> + licence key? (2)
-> + JVM Heap error (4)
-> + How Do I clean TXT File? (2)
-> + SS Web Service Call Tester Pay... (3)
-> - SS Web Service Call Tester Mic... (1)
-- Previous [421-440] [441-460] [461-480] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Yitzhak KhabinskySubject: XSLT applied to entity encoded XML
Author: Yitzhak Khabinsky
Date: 15 Jun 2005 12:44 PM
Some portion of the input XML file is entity encoded, i.e. quotation marks and “less than” characters. So when I am applying XSLT to transform XML it fails when it touches entity encoded areas using statements like the following:
“xsl:value-of select=”…”

It seems that I need something like counterpart of the “disable-output-escaping”. Something like disable-INPUT-escaping on the input XML to remove entity encoding.

I attached sample XML and XSLT files.

Any thoughts?

Thank you in advance,
Yitzhak


UnknownYahoo.zip

Postnext
Ivan PedruzziSubject: XSLT applied to entity encoded XML
Author: Ivan Pedruzzi
Date: 16 Jun 2005 12:08 AM
Hi Yitzhak,

To solve this particular problem you have to use an extesion function.

The escaped text inside an element is not "markup" then can't be access using an Xpath expression.

The following solution uses saxon:parse , you need to run with saxon of course.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team


<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://saxon.sf.net/">
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="root/Product">
<diamond>
<shape>
<xsl:variable name="dynamic" select="saxon:parse(Attributes)"/>
<xsl:value-of select="$dynamic/diamondAttr/@shape"/>
</shape>
<color>
<xsl:value-of select="Attributes/diamondAttr/@color"/>
</color>
</diamond>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Postnext
Yitzhak KhabinskySubject: XSLT applied to entity encoded XML
Author: Yitzhak Khabinsky
Date: 16 Jun 2005 08:23 PM
Hi Ivan,

Thanks for the idea.
I tried it and saxon:parse works like a charm.

Unfortunately, I can not use Saxon in my production environment.
We are using Microsoft .NET parser.

So I decided to build a XSLT extension in C#.
My idea for the implementation is to load my XML entity encoded string into XPathDocument and return back to the XSLT a node-set.
When I run it in the SS Enterprise Edition Build 377i it gives me an error. The error I am getting is easy reproduce with 2 files (XML and XSLT) in the attachment.


Thank you in advance,
Yitzhak


UnknownCSharpSaxon.zip

Postnext
Ivan PedruzziSubject: XSLT applied to entity encoded XML
Author: Ivan Pedruzzi
Date: 16 Jun 2005 11:02 PM

You just need to use the full class name for StringReader.
The following should work

Hope this Helps
Ivan Pedruzzi
Stylus Studio Team


XPathNodeIterator parse(String strXML)
{
System.IO.StringReader rdr = new System.IO.StringReader(strXML);
XPathDocument doc = new XPathDocument(rdr);
XPathNavigator nav = doc.CreateNavigator();

XPathExpression expr;
expr = nav.Compile("/");

XPathNodeIterator iterator = nav.Select(expr);

return iterator;
}

Postnext
Yitzhak KhabinskySubject: XSLT applied to entity encoded XML
Author: Yitzhak Khabinsky
Date: 17 Jun 2005 10:27 AM
Hi Ivan,

It works!!!

Two last things to take care:
1. While debugging, .NET processor doesn’t step into the extension function written in C#.
2. xmlns namespaces are being injected inside generated XML which spoils the entire XSLT transformation. How to prevent it from happening?

Thanks you in advance,
Yitzhak

Postnext
Ivan PedruzziSubject: XSLT applied to entity encoded XML
Author: Ivan Pedruzzi
Date: 17 Jun 2005 10:47 AM
Originally Posted: 17 Jun 2005 10:48 AM
1#: Unfortunately XslTranform doesn't provide a mechanism to do cross debugging

2#: To eliminate undesired prefix declarations use exclude-result-prefixes

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:cs="urn:the-xml-files:xslt-csharp"
exclude-result-prefixes="cs ms">

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Yitzhak KhabinskySubject: XSLT applied to entity encoded XML
Author: Yitzhak Khabinsky
Date: 17 Jun 2005 11:15 AM
Hi Ivan,

Thanks a lot for a great tech. support!

Regards,
Yitzhak

Postnext
Yitzhak KhabinskySubject: XSLT applied to entity encoded XML
Author: Yitzhak Khabinsky
Date: 17 Jun 2005 05:38 PM
Hi Ivan,

Thanks a lot for a great tech. support!

Regards,
Yitzhak

Postnext
ronny de deckerSubject: XSLT applied to entity encoded XML
Author: ronny de decker
Date: 19 Mar 2008 05:44 AM
Hi,

I wanted to execute your example because I am looking to use C#
in my xslt's.
Up to now I used Javascript, but I need C# functionality.

When I execute this Example of Yours in a simple tool Like Marrowsoft excelerator
I get an error message : "invalid class string"

In Stylus I get an somewhat more extended error message ( cfr. attachement )

I can not use C# for some reason or another, and I am working in Windows XP environment,I have visual studio 2005 installed.
What do I have to do to make this XSLT run, register certain dll's ?

Thanks in advance






>Hi Ivan,
>
>Thanks for the idea.
>I tried it and saxon:parse
>works like a charm.
>
>Unfortunately, I can not use
>Saxon in my production
>environment.
>We are using Microsoft .NET
>parser.
>
>So I decided to build a XSLT
>extension in C#.
>My idea for the implementation
>is to load my XML entity
>encoded string into
>XPathDocument and return back
>to the XSLT a node-set.
>When I run it in the SS
>Enterprise Edition Build 377i
>it gives me an error. The
>error I am getting is easy
>reproduce with 2 files (XML
>and XSLT) in the attachment.
>
>
>Thank you in advance,
>Yitzhak
>

Snapshot of error
ImageSaxon(1).bmp
snapshot

Postnext
(Deleted User) Subject: XSLT applied to entity encoded XML
Author: (Deleted User)
Date: 19 Mar 2008 06:23 AM
Ronny,
as Ivan wrote before, you should be using the full path:

System.IO.StringReader rdr = new System.IO.StringReader(strXML);

Alberto

Postnext
ronny de deckerSubject: XSLT applied to entity encoded XML
Author: ronny de decker
Date: 19 Mar 2008 06:37 AM
Thank You Alberto

for your Quick and helpfull reply.

I corrected as you said ...

and I was able to run the xslt in Stylus.

:-)

I am not able to run it in Marrowsoft XSelerator though,
has this to do with the fact I am using MSXML4.0 there?

Ronny


>Ronny,
>as Ivan wrote before, you
>should be using the full path:
>
>System.IO.StringReader rdr =
>new
>System.IO.StringReader(strXML)
>;
>
>Alberto

Postnext
(Deleted User) Subject: XSLT applied to entity encoded XML
Author: (Deleted User)
Date: 19 Mar 2008 06:58 AM
Hi Ronny,
this is a support forum for Stylus Studio, so I cannot tell you much about a different product; you should check with the publisher of XSelerator if they can run the .NET Xslt processor.

Alberto

Posttop
ronny de deckerSubject: XSLT applied to entity encoded XML
Author: ronny de decker
Date: 19 Mar 2008 07:02 AM
Thanks

;-)

I will buy Stylus

   
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.