Tx Monty!
This is a really important addition :)
Because a super frequent scenario.

Stef

On Fri, Jan 26, 2018 at 8:37 AM, monty <mon...@programmer.net> wrote:
> See #removeAllFormattingNodes and its comment in the latest version.
>
> And instances of SAXHandler and subclasses are meant to be created with #on: 
> (or another "instance creation" message), _not #new_, otherwise they won't be 
> properly initialized. The class comment is clear about this, but I should 
> have overridden #new to raise an error like Stream does. Your misuse was 
> helpful in bringing this to my attention, and I added a Stream-like #new 
> implementation to SAXHandler.
>
>> Sent: Friday, December 08, 2017 at 9:21 AM
>> From: "Stephane Ducasse" <stepharo.s...@gmail.com>
>> To: "Pharo Development List" <pharo-dev@lists.pharo.org>
>> Subject: Re: [Pharo-dev] How to get rid of empty XML nodes?
>>
>> Hi monty
>>
>>
>> On Fri, Dec 8, 2017 at 9:03 AM, monty <mon...@programmer.net> wrote:
>> > By "empty XML nodes," do you mean whitespace-only string nodes?
>>
>> Yes
>>
>> > Those are included because all in-element whitespace is assumed 
>> > significant by the spec: https://www.w3.org/TR/xml/#sec-white-space
>>
>> I know. There was a discussion a while ago. I just lost a couple of
>> hours understanding that :(
>>
>> But this is a super super super annoying practices.
>> We had to test each nodes to see if it is a empty nodes so it makes
>> everything a lot more complex without real justification
>> beside the fact that these standardizers probably never implemented
>> some real cases.
>> This standard is a really out of reality from that perspective.
>>
>> > The exception is if the element is declared in the DTD as only having 
>> > element children ("element content"): 
>> > https://www.w3.org/TR/xml/#dt-elemcontent
>>
>> Well the XML files that I had (I did not choose XML because I would
>> have prefer JSON :) ), had no DTD :(
>>
>> So at the end of the day, this wonderful standard puts all the stress
>> and burden to people.
>>
>> >
>> > For example, if you declare an element like this:
>> >
>> > <!ELEMENT one (two,three*,four?)>
>> >
>> > Any whitespace around a "two," "three," or "four" element child of a "one" 
>> > element is insignificant and ignored (unless 
>> > #preservesIgnorableWhitespace: is true). Other parsers, like LibXML2 and 
>> > Xerces, behave the same way.
>> >
>> > I'll see if I can come up with some easier way to deal with this, like an 
>> > optional parser setting, new enumeration methods, or maybe a tree 
>> > transformation.
>>
>> It would be A HUGE PLUS!!!!!!!!!!!!!!!!!!
>>
>>
>> Because reality is that people have XML files with just nodes and no
>> empty nodes and they are forced to
>> Let me know because I could try.
>>
>> I was showing how to use Pharo to import code to pharo learners and
>> this was a big drag.
>>
>> Stef
>>
>>
>> I tried to set some values in the parser but it did not work.
>> BTW I saw that the configuration logic forces to write the following
>>
>> | parser doc visitor |
>> parser := XMLDOMParser new
>>    on: self xmlContents;
>>    preservesIgnorableWhitespace: true.
>>
>> and not
>>
>> | parser doc visitor |
>> parser := XMLDOMParser new
>>     preservesIgnorableWhitespace: true.
>>     on: self xmlContents;
>>
>>
>> >
>> >> Sent: Tuesday, December 05, 2017 at 8:29 AM
>> >> From: "Stephane Ducasse" <stepharo.s...@gmail.com>
>> >> To: "Pharo Development List" <pharo-dev@lists.pharo.org>
>> >> Subject: [Pharo-dev] How to get rid of empty XML nodes?
>> >>
>> >> )Hi
>> >>
>> >> we are manipulating an XML document and I would like to get rid of the
>> >> spurious empty string.
>> >> We saw that the gt panes are doing it.
>> >>
>> >> (aNodeWithElements isStringNode
>> >> and: [aNodeWithElements isEmpty
>> >> or: [aNodeWithElements isWhitespace]]
>> >>
>> >> Is there a way not to produce empty nodes?
>> >> Is there a simple way not to have to handle them
>> >>
>> >> Now each time we are dealing with a node with have to check.
>> >>
>> >> Stef
>> >>
>> >>
>> >
>>
>>
>

Reply via email to