Hallo freak,
danke für die ausführliche Antwort. Ich verstehe, dass Ihr den Umfang der XML-Library und den Aufwand dafür in gewissen Grenzen halten wollt. Und Deinen folgenden Ausführungen
Die XML Spezifikation schreibt nur vor das UTF-8 und UTF-16 unterstützt werden
müssen. Alle anderen Encodings sind optional. Desshalb erschien es uns nicht
sinnvoll die Lib unnötig mit extra Encodings aufzublasen (da gibt es ja massig davon),
vorallem da UTF-8 sich sowiso immer mehr durchsetzt.
stimme ich zu.
In Bezug auf CreateXML() sind das auch gute Argumente, da würde ich auch nicht soviel "altmodischen Krimskrams" unterstützen.
Nur für das
Lesen von XML-Dateien sieht die Situation ja anders aus. Ich kann ja weder beeinflussen noch vorher wissen, welche Codierungsdeklaration irgendein Autor für seine XML-Datei verwendet. Wenn's UTF-8 oder UTF-16 ist, dann sagt PureBasic mir das eindeutig, OK. Aber wenn
GetXMLEncoding() mir
#PB_Ascii liefert, dann können sich -- wie Du ja auch schreibst -- alle möglichen Kodierungen dahinter verbergen. Warum wird mir die exakte Information vorenthalten?
Man braucht ja nicht jede der vielen möglichen Kodiereungen einzeln zu "unterstützen". Es reicht doch eine kleine Funktion, die einfach den
String liefert, der hinter
encoding= steht. Damit sind dann automatisch alle Möglichkeiten abgedeckt. Biiiiiiiiiitte!
Man kann allerdings mehr Encodings parsen indem man den Expat parser direkt verwendet. Dort gibt es die Möglichkeit durch einen Callback andere Encodings zu handhaben.
Ihr habt ja in der Hilfe zu XML auch erwähnt, dass man mit der Library mehr machen kann als das, was von PureBasic direkt unterstützt wird. Daraufhin habe ich mir Expat heruntergeladen und in der Dokumentation nachgelesen. Ich habe nur leider kaum ein Wort verstanden ...
Ich könnte selbst nicht solch einen Callback programmieren. Und ich benutze ganz absichtlich leicht zu verstehende und zu hanhabende Sprachen wie PureBasic, weil ich Werkzeuge brauche die für mich Teil der Lösung sind und nicht Teil des Problems.
Beste Grüße, Little John