Yes I was thinking about using magritte too
because I did that too in the past. I will look at what you did.


I think that in the future we should really get
        - first class instance variables
        - internal to class or external mapper from to different formats like 
XML
On Feb 22, 2011, at 5:21 PM, Norbert Hartl wrote:

> Stef,
> 
> I'm using Magritte for all these cases. We developed a XML binding for 
> magritte (http://source.lukas-renggli.ch/magritte2addons/) so it is easy as
> 
> User class>>descriptionEmailAddress
>       ^ MAStringDescription new
>               accessor: #emailAddress;
>               priority: 100;
>               label: 'Email Address';
>               beRequired; 
>               beXmlAttribute;
>               xmlAttributeName: 'email';
>               yourself
> 
> but you need magritte and it doesn't sound you like to have a lot of 
> dependencies. For read support I hacked something with Pastell for a quick 
> and flexible read
> 
> Example class>>xmodel
>       ^ Dictionary new;
>               at: #name put: [:node|  (node / #Name ) contentString  ];
>               at: #childObject put: [:node| ExampleReferencedClass node: 
> (node / #ChildNode) first ];
>               yourself
> 
> Example>>at: aSymbol
>       ^ (self class xmodel at: aSymbol) value: self node
> 
> This is more flexible than easy. For your case you can map just the values. 
> The biggest problem will probably be the type conversion. You could have 
> setters like cardNumberString: that convert the type. But if I imagine you 
> right now I imagine you faceplaming :)
> 
> Norbert
> 
> On 21.02.2011, at 10:11, stephane ducasse wrote:
> 
>> Hi guys 
>> 
>> I often encounter the following situation: I have an xmldoc and I want to 
>> load it and get the corresponding objects.
>> Here is an example
>> 
>> <group>
>>   <groupName>Test2Cards</groupName>
>>   <cards><card>
>>   <cardName>All Is Dust</cardName>
>>   <manaCost>7</manaCost>
>>   <convertedManaCost>7</convertedManaCost>
>>   <type>Tribal Sorcery — Eldrazi</type>
>>   <cardText>Each player sacrifices all colored permanents he or she 
>> controls.</cardText>
>>   <rarity>mythic</rarity>
>>   <cardNumber>1</cardNumber>
>>   <artist>Jason Felix</artist>
>>   <kind>STD</kind>
>>   <expansionId>ELDRAZI</expansionId>
>> </card>
>> <card>
>>   <cardName>Kird Ape</cardName>
>>   <manaCost>G</manaCost>
>>   <convertedManaCost>1</convertedManaCost>
>>   <type>Tribal Sorcery — Eldrazi</type>
>>   <cardText>get +1/+1 when you control</cardText>
>>   <rarity>common</rarity>
>>   <cardNumber>33</cardNumber>
>>   <artist>Zork</artist>
>>   <kind>STD</kind>
>>   <expansionId>WORLDWAKE</expansionId>
>> </card></cards>
>> </group>
>> 
>> I have card and group. But I could have several kind of nodes. So I was 
>> wondering if there are patterns to read in 
>> and map that to objects. In the future I would like to have magritte like 
>> type of first class instance variables that 
>> perform i/o in xml or other formats because this is always the same. 
>> 
>> stef
>> 
>> 
>> 
> 
> 


Reply via email to