Hi,

Yes, exactly. You get a qualified DOM with a hierarchy that you can afterwards 
visit.

Only the current implementation only works only with the XMLDOMParser. It does 
not work with SAX.

Cheers,
Doru

> On Mar 13, 2016, at 12:55 PM, stepharo <steph...@free.fr> wrote:
> 
> I have the impression that I should also look at 
> 
>     XMLPluggableElementFactory new handleElement: 'NOM' withClass: AAAName.
> 
> Because it looks like that I inject my nodes inside the dom
> 
> Am I correct?
> 
> 
> Le 12/3/16 21:59, Tudor Girba a écrit :
>> Hi,
>> 
>> My original work only survived for the XMLDOMParser. See this example:
>> http://ws.stfx.eu/NK2WLSW99X10
>> (paste this in Spotter :))
>> 
>> For an XMLDOMParser, you can say that you want to instantiate a node in the 
>> DOM with an custom instance. For example, here I instantiate <NOM> with 
>> AAAName:
>> 
>> <Mail Attachment.png>
>> 
>> You are looking for something a bit different. In a way you want to 
>> associate the triggering of a specific handler when some XPath like 
>> expression is being matched for the current element. I think something like 
>> this should go in the main implementation.
>> 
>> Cheers,
>> Doru
>> 
>> 
>> 
>>> On Mar 12, 2016, at 9:33 AM, stepharo <steph...@free.fr> wrote:
>>> 
>>> This is more complex than that.
>>> Because I would like to have a visitor generated from the token I give.
>>> 
>>> And this
>>>    start
>>>    character
>>>    end
>>> 
>>> does not really help me.
>>> 
>>> Because in SAXHandler I have
>>>        start
>>>            where I should store the properties
>>>       same in characters:
>>>            to store the name
>>>       end
>>>            where I should invoke the visitor
>>> 
>>> Now it means that I should only store the information for the tag I want.
>>> Does anybody already did that and publish it?
>>> I know doru did that in the past.
>>> I will try.
>>> 
>>> Stef
>>> 
>>> 
>>> 
>>> Le 11/3/16 14:17, Blondeau Vincent a écrit :
>>>> Hi,
>>>> 
>>>> The qualified name in function startElement: aQualifiedName attributes: 
>>>> aDictionary, will be FILMS and after FILM and after TITRE,...etc...
>>>> So, you have to tell to your shouldVisit: method to accept TITRE too and 
>>>> get in and after you should implement characters: to get the content on 
>>>> the tag.
>>>> 
>>>> Vincent
>>>> 
>>>>> -----Message d'origine-----
>>>>> De : Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] De la part 
>>>>> de
>>>>> stepharo
>>>>> Envoyé : vendredi 11 mars 2016 14:04
>>>>> À : Any question about pharo is welcome
>>>>> Objet : [Pharo-users] How to access XML tag name?
>>>>> 
>>>>> Hi
>>>>> 
>>>>> Yesterday I started to hack a smart SAX handler. The idea is that I want 
>>>>> to just
>>>>> specify the tags I want to visit and the SAX handler should invoke 
>>>>> (generated)
>>>>> visit methods. Like that I can easily get visitors on XML domain.
>>>>> 
>>>>> Here is an example of what I did.
>>>>> 
>>>>>      | h |
>>>>>      h := SmartSAXHandler new
>>>>>                  visitor: (MyFilmVisitor new visitTags: #(FILM ROLE));
>>>>>                  on: FileSystem workingDirectory / 'FILMS.XML'.
>>>>>      h parseDocument.
>>>>>      ^ h
>>>>> 
>>>>> 
>>>>> 
>>>>> SmartSAXHAndler >> startElement: aQualifiedName attributes: aDictionary
>>>>> 
>>>>>      (visitor shouldVisit: aQualifiedName)
>>>>>          ifTrue: [
>>>>>                  visitor
>>>>>                      perform: (visitor createdVisitSelector: 
>>>>> aQualifiedName)
>>>>>                      with: aQualifiedName
>>>>>                      with: aDictionary
>>>>>          ]
>>>>> 
>>>>> 
>>>>> Object subclass: #GenericTagSAXVisitor
>>>>>      instanceVariableNames: 'visitTag visitTags'
>>>>>      classVariableNames: ''
>>>>>      category: 'SmartXMLHandler'
>>>>> 
>>>>> 
>>>>> GenericTagSAXVisitor>>visitTags: aCollection
>>>>>      "set the tags that will lead to a call to a visitTag:with: method in 
>>>>> the visitor"
>>>>> 
>>>>>      visitTags := aCollection collect: [ :each | each asLowercase ].
>>>>>      self createVisitMethods.
>>>>> 
>>>>> and in a subclass the visit* methods automatically generated
>>>>> 
>>>>> 
>>>>> Now I could not get when I have a <TITRE>Vertigo</TITRE> where I can get 
>>>>> the
>>>>> Vertigo information.
>>>>> I redefined several methods of SAXhandler but without success.
>>>>> 
>>>>> 
>>>>> <?xml version="1.0" encoding="iso-8859-1"?>
>>>>> <FILMS>
>>>>>    <FILM annee="1958">
>>>>>      <TITRE>Vertigo</TITRE>
>>>>>      <GENRE>Drame</GENRE>
>>>>>      <PAYS>USA</PAYS>
>>>>>      <MES idref="3"/>
>>>>>      <ROLES>
>>>>>        <ROLE>
>>>>>          <PRENOM>James</PRENOM>
>>>>>          <NOM>Stewart</NOM>
>>>>>          <INTITULE>John Ferguson</INTITULE>
>>>>>        </ROLE>
>>>>>        <ROLE>
>>>>>          <PRENOM>Kim</PRENOM>
>>>>>          <NOM>Novak</NOM>
>>>>>          <INTITULE>Madeleine Elster</INTITULE>
>>>>>        </ROLE>
>>>>>      </ROLES>
>>>>>      <RESUME>Scottie Ferguson, ancien inspecteur de police, est sujet
>>>>> au vertige depuis qu'il a vu mourir son
>>>>>   collegue. Elster, son ami, le charge de surveiller sa femme,
>>>>> Madeleine, ayant des tendances
>>>>>   suicidaires. Amoureux de la jeune femme Scottie ne remarque pas le
>>>>> piege qui se trame autour
>>>>>   de lui et dont il va etre la victime... </RESUME>
>>>>>    </FILM>
>>>> 
>>>> !!!*************************************************************************************
>>>> "Ce message et les pièces jointes sont confidentiels et réservés à l'usage 
>>>> exclusif de ses destinataires. Il peut également être protégé par le 
>>>> secret professionnel. Si vous recevez ce message par erreur, merci d'en 
>>>> avertir immédiatement l'expéditeur et de le détruire. L'intégrité du 
>>>> message ne pouvant être assurée sur Internet, la responsabilité de 
>>>> Worldline ne pourra être recherchée quant au contenu de ce message. Bien 
>>>> que les meilleurs efforts soient faits pour maintenir cette transmission 
>>>> exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard 
>>>> et sa responsabilité ne saurait être recherchée pour tout dommage 
>>>> résultant d'un virus transmis.
>>>> 
>>>> This e-mail and the documents attached are confidential and intended 
>>>> solely for the addressee; it may also be privileged. If you receive this 
>>>> e-mail in error, please notify the sender immediately and destroy it. As 
>>>> its integrity cannot be secured on the Internet, the Worldline liability 
>>>> cannot be triggered for the message content. Although the sender 
>>>> endeavours to maintain a computer virus-free network, the sender does not 
>>>> warrant that this transmission is virus-free and will not be liable for 
>>>> any damages resulting from any virus transmitted.!!!"
>>> 
>>> 
>> 
>> --
>> www.tudorgirba.com
>> www.feenk.com
>> 
>> "We can create beautiful models in a vacuum.
>> But, to get them effective we have to deal with the inconvenience of 
>> reality."
>> 
> 

--
www.tudorgirba.com
www.feenk.com

"Reasonable is what we are accustomed with."


Reply via email to