Einzelnen Beitrag anzeigen

Gnorks
(Gast)

n/a Beiträge
 
#1

TXMLDocument: "xsi" vom xsi:noNamespaceSchemaLocat

  Alt 15. Feb 2008, 02:38
Moin moin,

bitte helft mir doch bei meinem Problem.

Situation:
Ein Codeschnippsel von mir speichert Daten als XML, ein validiertes Schema hab ich auch erstellt.

Delphi-Quellcode:
...
var xmldoc : TXMLDocument;
begin
  xmldoc := TXMLDocument.Create(nil);
  xmldoc.Active:=True;
  xmldoc.Encoding:='ISO-8859-1';
  xmldoc.Options := [doNodeAutoCreate, doNodeAutoIndent, doAttrNull];
  xmldoc.ParseOptions := [poResolveExternals, poValidateOnParse];
  root_node := xmldoc.AddChild('blablubb');
  xmldoc.DocumentElement.Attributes['xmlns:xsi'] := 'http://www.w3.org/2001/XMLSchema-instance';
  xmldoc.DocumentElement.Attributes['xsi:noNamespaceSchemaLocation'] := 'http://www.blablubb.com/blablubb/schema.xsd';
  ...
  ...
  xmldoc.SaveToFile(file_name_str);
  ...
end;
Problem:
Eigentlich ist alles prima, die XML-Datei wird wie gewünscht geschrieben, allerdings hat die Codezeile
  xmldoc.DocumentElement.Attributes['xsi:noNamespaceSchemaLocation'] := 'http://www.blablubb.com/blablubb/schema.xsd'; nicht die erwartete Wirkung. In der XML-Datei steht folgendes:
<blablubb xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="http://www.blablubb.com/blablubb/schema.xsd"> Hier fehlt mir eindeutig das "xsi:" vor dem "noNamespaceSchemaLocation".

Ich möchte darauf wetten, daß dieses Problem Euch bekannt ist. Leider konnte mir google nicht weiterhelfen.
Bitte helft mir doch auf die Sprünge, ich stehe kurz davor, das "xsi" klassisch per file i/o einzufügen.

Viele Grüße,
Gnorks
  Mit Zitat antworten Zitat