devnote-dev / devnote-dev/xmlt

No way to specify that a structured property should be deserialized form attribute and not an element

Aperta
#1 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Crystal
Stelle
8
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hi. Thanks for this useful shard, which when completed should be included in the standard lib. My issue could be made more clear using the following example.

```crystal
require "xmlt"

XML_FRAGMET = <<-XML

XML

class Repository
include XMLT::Serializable

property version : String
end

module Txmltest
repo = Repository.from_xml XML_FRAGMET, root: "repository"
p! repo.version
end
```

this crashes with the following trace

```
~/P/C/txmltest (main) [1]> shards run
Dependencies are satisfied
Building: txmltest
Executing: txmltest
Unhandled exception: Missing XML element 'version' (Exception)
from lib/xmlt/src/serializable.cr:162:7 in 'initialize:__xml_deserializable'
from src/txmltest.cr:9:3 in 'from_xml_node'
from src/txmltest.cr:9:3 in 'new:root'
from lib/xmlt/src/objects.cr:14:5 in 'from_xml:root'
from src/txmltest.cr:15:3 in '__crystal_main'
from /usr/lib/crystal/crystal/main.cr:115:5 in 'main_user_code'
from /usr/lib/crystal/crystal/main.cr:101:7 in 'main'
from /usr/lib/crystal/crystal/main.cr:127:3 in 'main'
from /usr/lib/libc.so.6 in '??'
from /usr/lib/libc.so.6 in '__libc_start_main'
from ../sysdeps/x86_64/start.S:117 in '_start'
from ???
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.