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 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Adam Van den HovenSubject: Unexpected behaviour -- XML:Space
Author: Adam Van den Hoven
Date: 02 Dec 2002 03:37 PM
I encountered an odd behaviour a moment ago when indenting my SVG Document. The root element includes the attribute xml:space="preserve". When I did an indent, I was surprised to find that most of the text was on two lines (The second probably because the first was WAY too long).

Is this behaviour by design? Or is there some way that I can control what happens when I use that attribute?

Adam

Postnext
(Deleted User) Subject: Re: Unexpected behaviour -- XML:Space
Author: (Deleted User)
Date: 02 Dec 2002 04:22 PM
Hi Adam,
while looking at the problem you reported, we found that the setting of
xml:space was not propagated to the child elements (that is, in your case,
"preserve" was only applied to the textual content of the root node, while
all the other elements were considered as having an xml:space="default"
setting).

You will find the fix in the next update; if the problem you see is another
one, would you mind sending us a test case?

Thanks,
Alberto

Postnext
Adam Van den HovenSubject: Re: Unexpected behaviour -- XML:Space
Author: Adam Van den Hoven
Date: 03 Dec 2002 03:33 PM
Well, I'm not sure if this is different than what you found but I'll provide a test case:

These two blocks are exactly the same except for the indenting and xml:space.

BAD:

{svg width="526px" height="262px" viewbox="0 0 526 131" xml:space="preserve"}
{defs}{linearGradient id="MyGradient" gradientTransform="skewX(-10)"}{stop offset="45%" stop-color="#FFF"/}{stop offset="75%" stop-color="#DED9D1"/}{/linearGradient}{filter id="ColorizeTheImage" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%"}{feImage xlink:href="ConnectMasthead.png" result="mast"/}{feColorMatrix type="luminanceToAlpha" in="mast" result="alpha"/}{feComposite in="SourceGraphic" in2="alpha" operator="atop"/}{/filter}{filter id="ColorizeTheImage2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%"}{feImage xlink:href="ConnectMasthead.png" result="mast"/}{feColorMatrix type="luminanceToAlpha" in="mast" result="alpha"/}{feMerge}{feMergeNode id="SourceGraphic"/}{feMergeNode in="alpha"/}{/feMerge}{/filter}{/defs}
{g}{rect x="0" y="0" height="131" width="526" fill="url(#MyGradient)"/}{rect x="0" y="0" height="131" width="526" fill="#DED9D1"/}{rect x="0" y="0" height="131" width="526" fill="#FFFFFF" filter="url(#ColorizeTheImage)"/}{rect x="0" y="131" height="131" width="526" fill="#FFFFFF"/}{rect x="0" y="131" height="131" width="526" fill="#DED9D1" filter="url(#ColorizeTheImage2)"/}{/g}
{/svg}

GOOD:
{svg width="526px" height="262px" viewbox="0 0 526 131"}
{defs}
{linearGradient id="MyGradient" gradientTransform="skewX(-10)"}
{stop offset="45%" stop-color="#FFF"/}
{stop offset="75%" stop-color="#DED9D1"/}
{/linearGradient}
{filter id="ColorizeTheImage" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%"}
{feImage xlink:href="ConnectMasthead.png" result="mast"/}
{feColorMatrix type="luminanceToAlpha" in="mast" result="alpha"/}
{feComposite in="SourceGraphic" in2="alpha" operator="atop"/}
{/filter}
{filter id="ColorizeTheImage2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%"}
{feImage xlink:href="ConnectMasthead.png" result="mast"/}
{feColorMatrix type="luminanceToAlpha" in="mast" result="alpha"/}
{feMerge}
{feMergeNode id="SourceGraphic"/}
{feMergeNode in="alpha"/}
{/feMerge}
{/filter}
{/defs}
{g}
{rect x="0" y="0" height="131" width="526" fill="url(#MyGradient)"/}
{rect x="0" y="0" height="131" width="526" fill="#DED9D1"/}
{rect x="0" y="0" height="131" width="526" fill="#FFFFFF" filter="url(#ColorizeTheImage)"/}
{rect x="0" y="131" height="131" width="526" fill="#FFFFFF"/}
{rect x="0" y="131" height="131" width="526" fill="#DED9D1" filter="url(#ColorizeTheImage2)"/}
{/g}
{/svg}

Posttop
(Deleted User) Subject: Re: Unexpected behaviour -- XML:Space
Author: (Deleted User)
Date: 03 Dec 2002 04:00 PM
Hi Adam,
according to the XML spec,
"In editing XML documents, it is often convenient to use "white space"
(spaces, tabs, and blank lines) to set apart the markup for greater
readability....
A special attribute named xml:space
may be attached to an element to signal an intention that in that element,
white space should be preserved by applications...
the value "preserve" indicates the intent that applications preserve all
the white space"

So, if the "svg" element has the xml:space="preserve" attribute specified,
indenter will not add or remove extra whitespace characters, but it will
keep the existing ones.
If you need to indent such a document, you should change the "preserve"
into "default", indent the document, then change the value back.

Hope this helps,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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.