von frankes » Di, 11.06.2019 08:48
Nun, da bleibt mir auch nur zu spekulieren.
Aus A. Pitonyak: Basic-Makros für OpenOffice und Libreoffice, 01,2018 (deutsch) - Kap. 15.3 Nicht übersetzte XML-Attribute
OpenOffice.org speichert Dokumente im XML-Format. Wenn ein OOo-Dokument gelesen wird,
wird es von einem XML-Parser zergliedert. Benutzerdefinierte Attribute werden vom Parser nicht
übersetzt, sie werden einfach nur gelesen, gespeichert und dann geschrieben. Somit kann ein Parser
Attribute speichern, die er selbst beim Lesen einer XML-Datei nicht verarbeiten kann. Wenn die Da-
tei wieder gespeichert wird, können die unbekannten Attribute ohne Verlust zurückgeschrieben wer-
den.
Nicht übersetzte Attribute bieten Ihnen die Möglichkeit, eigene Eigenschaften hinzuzufügen, die mit
dem Dokument gespeichert werden. Benutzerdefinierte Attribute haben die Eigenschaften Name-
space (XML-Namensraum als String), Type (XML-Typ als String) und Value (String).
Und Wikipedia zu CData (
https://de.wikipedia.org/wiki/CDATA):
CDATA (engl. Character Data) ist ein Schlüsselwort in SGML und XML. Mit CDATA werden Zeichendaten gekennzeichnet, deren Inhalt vom Parser nicht analysiert wird.
Es könnte also sein, dass CData von OOo/LO als Signalwort interpretiert wird, diese Attribute nicht zu verwenden.
Das ist aber wie gesagt reine Spekulation und dein Versuch zeigt eher, dass OOo alle unbekannten Datentypen als CData interpretiert.
Was ich aber auch immer Mal erlebe ist, dass durch die Objektorientierung man Zugriff auf Attribute/Funktionen hat, die von einem Objekt geerbt aber eigentlich nicht unterstützt werden. Auch diese werden von LO (nutze LO, daher Aussagen nur dazu) einfach ignoriert, ohne Warnung oder Fehlermeldung. Ob dieses Verhalten von der API kommt, oder vom Starbasic kann ich nicht bewerten.
Dieses Verhalten, "Fehler" zu ignorieren hat mich schon viele Stunden vor dem Rechner gekostet. Hier würde ich mir wirklich wünschen, dass LO sich etwas gesprächiger zeigt und bei ignorierten Parametern zumindest eine Warnung auswirft.
Nun, da bleibt mir auch nur zu spekulieren.
Aus A. Pitonyak: Basic-Makros für OpenOffice und Libreoffice, 01,2018 (deutsch) - Kap. 15.3 Nicht übersetzte XML-Attribute
[quote]OpenOffice.org speichert Dokumente im XML-Format. Wenn ein OOo-Dokument gelesen wird,
wird es von einem XML-Parser zergliedert. Benutzerdefinierte Attribute werden vom Parser nicht
übersetzt, sie werden einfach nur gelesen, gespeichert und dann geschrieben. Somit kann ein Parser
Attribute speichern, die er selbst beim Lesen einer XML-Datei nicht verarbeiten kann. Wenn die Da-
tei wieder gespeichert wird, können die unbekannten Attribute ohne Verlust zurückgeschrieben wer-
den.
Nicht übersetzte Attribute bieten Ihnen die Möglichkeit, eigene Eigenschaften hinzuzufügen, die mit
dem Dokument gespeichert werden. Benutzerdefinierte Attribute haben die Eigenschaften Name-
space (XML-Namensraum als String), Type (XML-Typ als String) und Value (String).
[/quote]
Und Wikipedia zu CData ([url]https://de.wikipedia.org/wiki/CDATA)[/url]:
[quote]CDATA (engl. Character Data) ist ein Schlüsselwort in SGML und XML. Mit CDATA werden Zeichendaten gekennzeichnet, deren Inhalt vom Parser nicht analysiert wird.[/quote]
Es könnte also sein, dass CData von OOo/LO als Signalwort interpretiert wird, diese Attribute nicht zu verwenden.
Das ist aber wie gesagt reine Spekulation und dein Versuch zeigt eher, dass OOo alle unbekannten Datentypen als CData interpretiert.
Was ich aber auch immer Mal erlebe ist, dass durch die Objektorientierung man Zugriff auf Attribute/Funktionen hat, die von einem Objekt geerbt aber eigentlich nicht unterstützt werden. Auch diese werden von LO (nutze LO, daher Aussagen nur dazu) einfach ignoriert, ohne Warnung oder Fehlermeldung. Ob dieses Verhalten von der API kommt, oder vom Starbasic kann ich nicht bewerten.
Dieses Verhalten, "Fehler" zu ignorieren hat mich schon viele Stunden vor dem Rechner gekostet. Hier würde ich mir wirklich wünschen, dass LO sich etwas gesprächiger zeigt und bei ignorierten Parametern zumindest eine Warnung auswirft.