Subject: [xsl] Problem generating combining SVG documents using XSLT From: "Kane, David" <David_Kane@xxxxxxx> Date: Thu, 1 Feb 2001 19:29:44 -0500 |
Folks, I am trying to combine and transform a number of SVG documents using Xalan. The problem is that as part of the output generation the processor is inserting attribute nodes specified as FIXED or IMPLIED in the document DTD. The problem, in particular is that when the root svg node of the output document has an xmlns attribute (which is specified as FIXED in the DTD, my SVG viewer balks at displaying the document. If I edit the attribute out, after the face, the resulting document appears to work fine. My question is, how can I prevent these additional nodes from appearing in my output document? I've tried to strip my SVG documents, and the stylesheet to the essentail elements, and they are listed below: Thanks! Sincerely, David Kane david_kane@xxxxxxx RESULTING SVG DOCUMENT: --------------------------------------------- <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102 Stylable//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd"> <!-- ***** THIS IS THE TROUBLESOME ATTRIBUTE --> <svg viewBox="50 300 400 1050" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="file1" xml:space="preserve" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" contentScriptType="text/ecmascript" contentStyleType="text/css"> <rect id="ABCD" x="210" y="575" width="35" height="7.65354312" style="fill:white; stroke:black; stroke-width:1"/> <text> <tspan x="250" y="578.82677156">ABCD</tspan> </text> <rect id="EFGH" x="210" y="582.65354312" width="35" height="7.65354312" style="fill:lightgray; stroke:black; stroke-width:1"/> <text> <tspan x="255" y="586.48031468">EFGH</tspan> </text> <rect id="IJKL" viewBox="50 300 400 1050" xml:space="preserve" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" contentScriptType="text/ecmascript" contentStyleType="text/css" x="210" y="600" width="35" height="7.65354312" style="fill:white; stroke:black; stroke-width:1"/> <text> <tspan x="250" y="600">IJKL</tspan> </text> <rect id="MNOP" x="210" y="610" width="35" height="7.65354312" style="fill:lightgray; stroke:black; stroke-width:1"/> <text> <tspan x="255" y="610">MNOP</tspan> </text> </svg> FIRST INPUT SVG DOCUMENT: ----------------------------------------------- <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102 Stylable//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd"> <svg id="file1" viewBox="50 300 400 1050" xml:space="preserve"> <rect id="ABCD" x="210" y="575" width="35" height="7.65354312" style="fill:white; stroke:black; stroke-width:1"/> <text><tspan x="250" y="578.82677156">ABCD</tspan></text> <rect id="EFGH" x="210" y="582.65354312" width="35" height="7.65354312" style="fill:lightgray; stroke:black; stroke-width:1"/> <text><tspan x="255" y="586.48031468">EFGH</tspan></text> </svg> SECOND INPUT SVG DOCUMENT: --------------------------------------------------- <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102 Stylable//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd"> <svg id="file2" viewBox="50 300 400 1050" xml:space="preserve"> <rect id="IJKL" x="210" y="600" width="35" height="7.65354312" style="fill:white; stroke:black; stroke-width:1"/> <text><tspan x="250" y="600">IJKL</tspan></text> <rect id="MNOP" x="210" y="610" width="35" height="7.65354312" style="fill:lightgray; stroke:black; stroke-width:1"/> <text><tspan x="255" y="610">MNOP</tspan></text> </svg> STYLESHEET: --------------------- <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"> <xsl:variable name="file1" select="document('file1.svg')/*"/> <xsl:variable name="file2" select="document('file2.svg')/*"/> <xsl:output method="xml" indent="yes" version="1.0" encoding="iso-8859-1" doctype-system="http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.d td" doctype-public="-//W3C//DTD SVG 20001102 Stylable//EN"/> <xsl:template match="/"> <svg viewBox="0 0 400 1050"> <xsl:call-template name="insertSVG"> <xsl:with-param name="source" select="$file1"/> </xsl:call-template> <xsl:call-template name="insertSVG"> <xsl:with-param name="source" select="$file2"/> </xsl:call-template> </svg> </xsl:template> <xsl:template name="insertSVG"> <xsl:param name="source"/> <xsl:apply-templates select="$source" mode="copy"> </xsl:apply-templates> </xsl:template> <xsl:template match="*|@*|processing-instruction()|text()|/" mode="copy"> <xsl:choose> <xsl:when test="local-name(.)='svg'"> <xsl:apply-templates select="*|@*|processing-instruction()|text()" mode="copy"> </xsl:apply-templates> </xsl:when> <xsl:otherwise> <xsl:copy> <xsl:apply-templates select="*|@*|processing-instruction()|text()" mode="copy"> </xsl:apply-templates> </xsl:copy> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Removing Duplicates, by way of Mulberry T | Thread | Re: [xsl] Problem generating combin, Jiri Jirat |
[xsl] Removing Duplicates, by way of Mulberry T | Date | Re: [xsl] rendering a treeview *hai, Nikolai Grigoriev |
Month |