Am 17.11.2021 um 15:00 schrieb Markus Schaaf:
> ich schreibe gerade ein paar Minitools, die XML-Dateien lesen. Ich
> möchte keine der üblichen Parser-Libs benutzen. Die sind viel zu komplex
> und schwergewichtig. Mir reichen mmap(), memchr() und memcmp(). XML ist
> per Default UTF-8, und ich bräuchte ein Unicode-fähiges isalpha(), um
> Element-Namen zu prüfen, unabhängig vom Locale. Was ist da die
> empfehlenswerte Variante, wenn ich etwas haben will, das fast überall
> verfügbar ist, oder leichtgewichtig genug, um es mitzubringen? Letztlich
> würde mir eine Liste mit Code-Points, die ich eincompiliere, auch
> reichen.
Wenn du dich für die "Liste mit Code-Points" entscheidest, da sollte
sich aus der UnicodeData.txt mit ein paar regulären Ausdrücken was
generieren lassen.
awk -F ';' '$3 ~ /L/ {print "case 0x" $1 ":"}' < UnicodeData.txt
Die Frage wäre: muss man in einem "Minitool" wirklich die Element-Namen
prüfen? Mir reicht ja, die Daten an Metazeichen (<>"&=) und Leerzeichen
aufzuspalten, und ob das, was da zwischen den <> steht, nur ein
unbekannter oder gar ein ungültiger Tag-Name ist, ist mir egal. Da
braucht's dann nur eine Liste der gültigen Leerzeichen, die ist deutlich
übersichtlicher.
Stefan