Few Yxml updates + typo fix

This commit is contained in:
Yorhel 2020-03-07 18:18:02 +01:00
parent 442da67055
commit 02d3e7877e
2 changed files with 23 additions and 3 deletions

View file

@ -8,7 +8,7 @@ entry, but the entries themselves may contain nested structured data.
To demonstrate what I mean, let's start with a simple example of a game
database[^1]: We have a table with rows for each top-level game entry and a
table for releases of said games. There a one-to-many relation between games
table for releases of said games. There is a one-to-many relation between games
and releases.
```sql

View file

@ -45,6 +45,7 @@ against yxml is therefore not a very good idea.
- Verifies most well-formedness constraints, including the correct nesting of
elements.
- Parses XML documents in any ASCII-compatible encoding.
- Extensively fuzzed.
But let's not be _too_ optimistic, because there are also...
@ -56,7 +57,7 @@ But let's not be _too_ optimistic, because there are also...
- Information encoded in the XML and doctype declarations is currently not
available through the API.
I hope to have these issues fixed in the near future.
These issues may be addressed in future versions.
### Conformance Issues
@ -72,7 +73,7 @@ I hope to have these issues fixed in the near future.
`<!ENTITY>`.
These conformance issues are the result of the byte-oriented and minimal design
of yxml, and I do not intent to fix these directly within the library. The
of yxml and I do not intent to fix these directly within the library. The
intention is to make sure that all of the above mentioned issues can be fixed
on top of yxml (by the application, or by a wrapper) if strict conformance is
required, but the required functionality to support custom entity references
@ -91,6 +92,25 @@ these features can be implemented on top of yxml.
- No XPath.
- Doesn't do your household chores.
## Users
Yxml is used in a few products. Let me know if I missed one.
- [FreeBSD's PKG](https://wiki.freebsd.org/pkgng) uses it to parse
[VuXML](https://www.vuxml.org/) metadata
([src](https://github.com/freebsd/pkg/blob/master/libpkg/pkg_audit.c)).
- [getdns](https://getdnsapi.net/) uses it to parse DNSSEC trust anchor
metadata
([src](https://github.com/getdnsapi/getdns/blob/develop/src/anchor.c)).
- [ncdc](https://dev.yorhel.nl/ncdc) uses it to parse XML-encoded file lists
([src](https://g.blicky.net/ncdc.git/tree/src/fl_load.c)).
- [BTstack](https://github.com/bluekitchen/btstack/) - apparently Bluetooth
uses XML somewhere.
- [A MATLAB GIfTI library](https://www.artefact.tk/software/matlab/gifti/)
([src](https://github.com/gllmflndn/gifti/blob/master/%40gifti/private/xml_parser.c)).
- [RetroArch](https://github.com/libretro/RetroArch)
([src](https://github.com/libretro/RetroArch/blob/master/libretro-common/formats/xml/rxml.c)).
## Comparison
The following benchmark compares [expat](http://expat.sourceforge.net/),