devnote-dev / devnote-dev/xmlt

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

Ouverte
#1 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Crystal
Étoiles
8
Forks
0
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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 ???
```

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.