[Python-de] XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
Martin v. Löwis
martin at v.loewis.de
Mit Jul 23 20:37:17 EDT 2003
- Vorherige Nachricht: [Python-de] XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
- Nächste Nachricht: [Python-de] XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
- Nachrichten sortiert nach:
[ Datum ]
[ Thema ]
[ Betreff (Subject) ]
[ Autor ]
Gerson.Kurz at t-online.de (Gerson Kurz) writes:
> 1) Es gibt ein Minipapier von mir zum Thema: XML, Umlaute und Python.
>
> http://p-nand-q.com/python/umlaute_in_xml.html
>
> Kommentare willkommen.
Ein paars gesammelte Kommentare, von oben nach unten:
"Grundsätzlich gibt es zwei Möglichkeiten"
Tatsächlich gibt es drei: "Umlaute können über Zeichenreferenzen
(character references) angesprochen werden"
"Die XML-Datei kann in UNICODE verfasst sein"
Schwierig. Je nach Standpunkt ist jede XML entweder stets "in UNICODE
verfasst" oder nie:
- Alle XML-Dateien sind Unicode:
http://www.w3.org/TR/REC-xml#charsets
"Legal characters are tab, carriage return, line feed, and the legal
characters of Unicode and ISO/IEC 10646."
Also besteht jede XML-Datei ausschließlich aus Unicode-Zeichen
- Keine Datei ist Unicode:
XML liegt üblicherweise als Bytefolge in einem Encoding vor.
Das kann us-ascii, iso-8859-1 oder utf-8 sein - in jedem Fall
handelt es sich um eine Bytefolge, nicht um Zeichen.
"Offenbar kommt die aktuelle Pythonversion (2.2.2) nicht mit dem BOM
zurecht. Für Python 2.3 ist eine Lösung vorgesehen: der Einsatz eines
Encodings."
Wenn der Editor ein BOM mit abspeichert, braucht man in 2.3 nichts
weiter zu tun.
In Python 2.3 kann man auch einfach ein Unicode-Literal angeben,
das man dann in den codecs.open-Stream schreibt.
"Aber, leider leider, es gibt ein Problem:"
In Python 2.3 sollte dieses Problem verschwunden sein: Sofern man in
ein Terminal ausgibt, gelingt das in den allermeisten Fällen
(Voraussetzung: Python erkennt, welchen Zeichensatz das
Terminalfenster verwendet, und der Unicode-String verwendet nur
Zeichen aus diesem Zeichensatz)
> - Wann ist der Einsatz von Modulen angezeigt?
Ich weiß nur, wie man es *nicht* machen soll: Eine Klasse pro Datei
(java-isch) halte ich für schlechten Stil.
> - Werden die Module in lib\site-packages gepackt, oder in das
> Projektverzeichnis?
Zunächst im Projektverzeichnis. Dann gibt es ein setup.py, und das
installiert alles nach lib/site-python.
> - Welches Versionskontrollesystem bietet sich (unter Windows, beim
> SciTE) an?
Auf einer Maschine oder auf mehreren? Am einfachsten in Betrieb zu
nehmen ist vermutlich CVS; auf mehreren Maschinen kommt dann noch ssh
dazu.
> a) standardisiertes Protokoll (z.B. XMLRPC, Seife), mit Einsatz
> entsprechender 3rd Party Libs in C++ und Python. (Lizenzfragen??? GPL darf
> ich nicht benutzen). In diesem Fall spricht Python mit C++ über Sockets.
Meine Empfehlung: CORBA. Fnorb für Python; omniORB für C++.
Ciao,
Martin
- Vorherige Nachricht: [Python-de] XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
- Nächste Nachricht: [Python-de] XML, Umlaute, Unicode, Projektorganisation, RPC,
MPUC - Wer bietet mehr?
- Nachrichten sortiert nach:
[ Datum ]
[ Thema ]
[ Betreff (Subject)]
[ Autor ]