[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#57963] Almost plain SXML serializer
From: |
Liliana Marie Prikler |
Subject: |
[bug#57963] Almost plain SXML serializer |
Date: |
Wed, 12 Oct 2022 20:23:08 +0200 |
User-agent: |
Evolution 3.46.0 |
Am Mittwoch, dem 12.10.2022 um 17:03 +0400 schrieb Andrew Tropin:
> On 2022-10-12 20:42, Taiju HIGASHI wrote:
>
> > Andrew Tropin <andrew@trop.in> writes:
> >
> > > On 2022-10-11 06:21, Liliana Marie Prikler wrote:
> > >
> > > > Am Dienstag, dem 11.10.2022 um 12:54 +0900 schrieb Taiju
> > > > HIGASHI:
> > > > > We can specify invalid value such as (list "foo" '(foo bar)
> > > > > 123).
> > > > It will be sanitized before that.
> > > >
> > > > > > Also, making multi-type fields is debatable, but isn't
> > > > > > great IMO.
> > > > >
> > > > > I see. If we had to choose one or the other, I would prefer
> > > > > the
> > > > > string-type field.
> > > > Prefer sexp-type.
> > > >
> > >
> > > Current (v5) extra-config has a list type. This list can contain
> > > strings
> > > and nested lists, string elements are for raw XML, and list
> > > elements are for SXML.
> > >
> > > This is done I guess to support following use case:
> > >
> > > (list "<tag>Already existing XML copied from existing .xml file,
> > > which
> > > we don't want to rewrite to SXML.</tag>"
> > > '((tag (@ (attr1 "value1")
> > > (attr2 "value2"))
> > > (nested "Part of the configuration defined with
> > > SXML")
> > > (empty)))
> > > "<another-tag>Maybe some other part of raw XML</another-
> > > tag>")
> > >
> > > This way we can combine SXML with already existing raw XML.
> > >
> > > Am I right?
> >
> > You're right. The current implementation allows XML string and
> > SXML
> > list in the list. Also, it can mix those.
> >
>
> Ok, that means we can cover this use case, but at the same time have
> more functionality, clarity and consistency.
>
> We can make extra-config to be SXML only (with G-exps support), this
> way we will achieve not only the same functionality, but will get
> more advanced features like referencing files/directiories in the
> /gnu/store or generating parts of configuration using full-fledged
> scheme (the simpliest example is just reading the content of the
> existing file-like object or using format to generate "raw XML" and
> insert it in arbitrary place of SXML tree).
>
> --8<---------------cut here---------------start------------->8---
> (list #~"<tag>Already existing XML copied from existing .xml file,
> which
> we don't want to rewrite to SXML.</tag>"
> `((tag (@ (attr1 "value1")
> (attr2 "value2"))
> (nested "Part of the configuration defined with SXML")
> ,#~(format #f " <nested-tag>~a</nested-tag>"
> #$variable)
> (fontdirs
> (dirs ,(file-append font-iosevka "/share/fonts")))
> (empty)))
> #~(call-with-input-file #$(local-file "old.xml") get-string-
> all)
> #~"<another-tag>Maybe some other part of raw XML</another-
> tag>")
> --8<---------------cut here---------------end--------------->8---
>
> Liliana, Ludo what do you think?
I think the mockup implementation is a little unclear. Do you mean
that G-Expressions should imply a string that is to be parsed? Because
note that gexp->sexp exists and you could likewise #~(sxml->xml #$some-
file-in-the-store) imho.
Cheers
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., (continued)
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Andrew Tropin, 2022/10/12
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Taiju HIGASHI, 2022/10/10
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Liliana Marie Prikler, 2022/10/11
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Taiju HIGASHI, 2022/10/11
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Liliana Marie Prikler, 2022/10/11
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Taiju HIGASHI, 2022/10/12
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Liliana Marie Prikler, 2022/10/12
- [bug#57963] Almost plain SXML serializer, Andrew Tropin, 2022/10/12
- [bug#57963] Almost plain SXML serializer, Taiju HIGASHI, 2022/10/12
- [bug#57963] Almost plain SXML serializer, Andrew Tropin, 2022/10/12
- [bug#57963] Almost plain SXML serializer,
Liliana Marie Prikler <=
- [bug#57963] Almost plain SXML serializer, Andrew Tropin, 2022/10/12
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Andrew Tropin, 2022/10/12
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Taiju HIGASHI, 2022/10/12
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Andrew Tropin, 2022/10/12
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Ludovic Courtès, 2022/10/13
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Andrew Tropin, 2022/10/14
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Taiju HIGASHI, 2022/10/15
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Ludovic Courtès, 2022/10/17
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Taiju HIGASHI, 2022/10/18
- [bug#57963] [PATCH v5 2/2] home: services: Support user's fontconfig configuration., Taiju HIGASHI, 2022/10/19