Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
March 2016
- 81 participants
- 599 messages
Re RFC Minecraft Server
by Andy Burnett
Ben said
>>>
Which one?
<<<
The one people seem to use is called pocket mine. (https://www.pocketmine.net) There may be others.
>>>
I was thinking of the standard PC version since I understood the PE
version was not so amenable to mods. Actually my kids have been
playing PE edition on iPads, and I bought them second hand laptops to
run the PC edition to do modding. Still discovering how it all works.
<<<
The PE (iPad etc) version seems to be catching up in terms of features, and it does allow some level of mods. However, I agree that the full PC version is probably the better target.
I wonder if there are any docs that list the Api we need to support.
March 13, 2016
Re: [Pharo-users] How to access XML tag name?
by stepharo
Alex
what Pastell brings compared to XPath?
Stef
March 13, 2016
Re: [Pharo-users] How to access XML tag name?
by stepharo
Hi alex
I do not know :)
I like visitor because they are better than a series of if.
So I will see. I would like to help people to extract their information
easily.
May be inside the visitNode I could use XPath (do you know what is the
constraint to use XPath)
does it work on dom objects?
I would like to have something like that (being able to use some node to
perform custom actions)
Now I do not see how from one visit method I can access the other. and
if I do not do it in the visit
what is the information I should store (like parent link) to be able to
identify that a given role is associated to a given film.
visitFilm
title := self extractFromChildren: #Titre.
pays := self extractFromChildren: #Pays.
self newFilm: title from: pays.
visitRole
<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>
Stef
Le 13/3/16 11:26, Alexandre Bergel a écrit :
> Hi Stef,
>
> I have the impression that a visitor is not the ideal solution to query XML tree. It works well in some case, and it is disastrous in some other.
> XPath is the way to query XML data. As far as I know, there is no complete support. Pastell was a nice try however...
>
> Alexandre
>
>
>> On Mar 12, 2016, at 8:11 AM, stepharo <stepharo(a)free.fr> wrote:
>>
>> Thanks
>>
>> Ok it was characters: I will try it
>> What a bad name!
>>
>> I will probably have to build a stack or dictionary of dictionary of the part that I will not want to visit but this is another story :)
>>
>> 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-bounces@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.!!!"
>>
March 13, 2016
Re: [Pharo-users] [Pillar] Ascii doc
by stepharo
AsciiDoc has other exporters.
Le 8/3/16 11:21, Dimitris Chloupis a écrit :
> Why Ascii is important ? Whats its advantages ?
>
> On Tue, Mar 8, 2016 at 11:42 AM Damien Cassou <damien.cassou(a)inria.fr
> <mailto:damien.cassou@inria.fr>> wrote:
>
> Thibault ARLOING <thibault.arloing(a)hotmail.fr
> <mailto:thibault.arloing@hotmail.fr>> writes:
>
> > Yann Dubois and me were working on an asciidoc exporter for
> Pillar, he is now ready and available in the development version
> of Pillar.
> > We will be gratefull for any feedbacks, thanks
>
>
> that's great news. Asciidoc is getting traction as far as I can tell.
> Thank you guys. One more exporter for Pillar!
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm." --Winston Churchill
>
March 13, 2016
Re: [Pharo-users] How to access XML tag name?
by stepharo
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:
>
>
> 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 <stepharo(a)free.fr
>> <mailto:stepharo@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-bounces@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 <http://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."
>
March 13, 2016
Re: [Pharo-users] How to access XML tag name?
by stepharo
Hi doru
I was also looking at OPAX and doing a cleaning pass.
Plus adding a little builder to get the subnodes automatically generated.
I'm writing a little doc too.
Stef
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:
>
>
> 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 <stepharo(a)free.fr
>> <mailto:stepharo@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-bounces@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 <http://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."
>
March 13, 2016
Re: [Pharo-users] How to access XML tag name?
by stepharo
Hi hernan
I do not what I want :).
Irina a woman learning Pharo has a xml output from a tool (I have no
idea what is inside :)
and I thought ok this is a good idea to check a bit the solutions in Pharo.
I will add your example to the PullParser Chapter. Because I like the
Pull approach
I'm doing a pass on OPAX package because it was cool too.
Stef
Le 12/3/16 09:53, Hernán Morales Durand a écrit :
> Hi Stephane,
>
> Do you want to extract subtree from a XML?
> Or just extract the text in specific nodes?
>
> I think StAX parser is more friendly for selecting nodes (you don't
> have to subclass), i.e.:
>
> | parser doc |
> doc := '<?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>
> <FILMS>'.
> parser := XMLPullParser parse: doc.
> [ parser isEndDocument ] whileFalse: [
> parser
> if: 'FILM'
> peek: [ : found |
> Transcript show: found name , ' -> ' , found attributes
> asString; cr.
> parser next.
> Transcript show: parser tagName ].
> parser next ]
>
> Anyway if you want to try with SAX, have a look at #test01ParsingNodes
> and add some halts in BioNCBIBlastSAXParser to see it in action
> (that's in BioSmalltalk). I didn't used visitors though.
>
> Hernán
>
> 2016-03-12 5:33 GMT-03:00 stepharo <stepharo(a)free.fr
> <mailto:stepharo@free.fr>>:
>
> 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-bounces@lists.pharo.org
> <mailto:pharo-users-bounces@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.!!!"
>
>
>
>
March 13, 2016
Re: [Pharo-users] Roassal2 on Ubuntu 64
by Alexandre Bergel
I have just updated:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/QuickStart/…
Let me know if something is missing
Cheers,
Alexandre
> On Mar 12, 2016, at 10:54 PM, Evan Donahue <emdonahu(a)gmail.com> wrote:
>
> Aha, I followed the Quick Start at
> https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/QuickStart/…
> and didn't notice anything there.
>
> Cheers,
> Evan
>
>
>
> --
> View this message in context: http://forum.world.st/Roassal2-on-Ubuntu-64-tp4883675p4884245.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
March 13, 2016
Re: [Pharo-users] Roassal2 on Ubuntu 64
by Alexandre Bergel
I would like to improve the documentation. However, there is no linux around I can play with.
What is the necessary steps to have Cairo on Ubuntu, only executing:
$ sudo apt-get install libcairo2:i386
Or is there anything more to be done?
Cheers,
Alexandre
> On Mar 12, 2016, at 10:54 PM, Evan Donahue <emdonahu(a)gmail.com> wrote:
>
> Aha, I followed the Quick Start at
> https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/QuickStart/…
> and didn't notice anything there.
>
> Cheers,
> Evan
>
>
>
> --
> View this message in context: http://forum.world.st/Roassal2-on-Ubuntu-64-tp4883675p4884245.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
March 13, 2016
Re: [Pharo-users] How to access XML tag name?
by Alexandre Bergel
Hi Stef,
I have the impression that a visitor is not the ideal solution to query XML tree. It works well in some case, and it is disastrous in some other.
XPath is the way to query XML data. As far as I know, there is no complete support. Pastell was a nice try however...
Alexandre
> On Mar 12, 2016, at 8:11 AM, stepharo <stepharo(a)free.fr> wrote:
>
> Thanks
>
> Ok it was characters: I will try it
> What a bad name!
>
> I will probably have to build a stack or dictionary of dictionary of the part that I will not want to visit but this is another story :)
>
> 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-bounces@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.!!!"
>
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
March 13, 2016