[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Using saxon:parse on processing instructions
Hello and thanks in advance for the help. I'm scratching my head on trying to convert a string of serialized xml in a processing instruction back into XML. I'm restricted to XSLT 2.0 and am using Saxon 9.1. When I treat the simply copy and past the xml into the stylesheet everything works (see variable $s2), but when breaking the string out of the processing instruction the elements remain serialized: input: <?xml version="1.0"?> <root xmlns:bcl="http://bcl"> <?pi a="<bcl:e>Test</bcl:e>" ?> </root> stylesheet: <?xml version='1.0'?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:bcl="http://bcl" xmlns:saxon="http://saxon.sf.net/"> <xsl:template match="root"> <test> <xsl:apply-templates/> </test> </xsl:template> <xsl:template match="processing-instruction('pi')"> <xsl:variable name="s1"><root xmlns:bcl="http://bcl"><xsl:value-of select="replace(., '.*a=(.)(.+)?\1.*', '$2')"/></root></xsl:variable> <xsl:variable name="s2"><root xmlns:bcl="http://bcl "><bcl:e>Test</bcl:e></root></xsl:variable> <!-- Not Expected: --> <xsl:copy-of select="saxon:parse($s1)"/> <!-- Expected: --> <xsl:copy-of select="saxon:parse($s2)"/> </xsl:template> </xsl:stylesheet> output: <?xml version='1.0' ?> <test xmlns:bcl="http://bcl" xmlns:saxon="http://saxon.sf.net/"> <root><bcl:e>Test</bcl:e></root> <root><bcl:e>Test</bcl:e></root> </test> Any help or suggestion would be much appreciated. Regards, Spencer
|
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
|