Für die Interaktion mit einer Kundenanwendung verwenden wir XML-Dokumente. Das heißt, wir senden ein XML über HTTP und erhalten auf dieselbe Weise ein Antwort-XML-Dokument. Der Kunde hat zwei XML-Schemata angegeben, die das Format der Anforderung und der Antwort beschreiben. Alles funktionierte gut, bis einer der Kunden begann, CDATA-Abschnitte in der Antwort-XML zu verwenden. Wir haben unseren Parser so eingerichtet, dass CDATA-Abschnitte nicht beachtet werden, sodass wir sie nicht interpretieren konnten.Beginnen Sie, CDATA eine brechende Änderung zu verwenden?
Meine Frage ist: Wer hat hier einen Fehler gemacht? Ich habe versucht, eine Antwort in den XML-Standards zu finden, bin mir aber immer noch nicht sicher. Ich denke, ich kann nicht vorschreiben, CDATA in einer XSD zu verwenden oder nicht, ist das richtig? Wenn ja, genügt es nicht, eine XSD zu vereinbaren, aber muss eine separate Vereinbarung über CDATA-Abschnitte getroffen werden? Oder muss man bereit sein, CDATA und normalen Text zu analysieren?
Ich interessiere mich für Ihre persönlichen Ansichten und alle offiziellen Aussagen. Vielen Dank!
Die unglückliche XML-Parser-Schnittstelle macht es teilweise die Schuld der Parser-Autoren. – Thilo
Die einzigen zwei Auswahlmöglichkeiten für Fehler waren Sender und Empfänger. Parser-Anbieter ist nicht erlaubt! –
Es ist die OP die Schuld, aber Thilo macht einen guten Punkt. Wenn es keinen semantischen Unterschied zwischen CDATA und PCDATA gibt, müssen Parser Ihnen nicht sagen, welches ein Textelement ist. Aber manche tun es trotzdem. – dan04