Einzelnen Beitrag anzeigen

Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#1

XML-Header erzeugen XSI/Namespace

  Alt 17. Nov 2005, 11:27
Hi,

ich muß eine XML-Datei erstellen die folgenden Kopfaufbau hat:

Original
Delphi-Quellcode:
  <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <DeliveryMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="DeliveryMessageV2R30.xsd" DeliveryMessageType="DeliveryMessage" DeliveryMessageStatusType="Original" Reissued="No">
Mein Nachbau
Delphi-Quellcode:
  <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <DeliveryMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
noNamespaceSchemaLocation="DeliveryMessageV2R30.xsd" DeliveryMessageType="DeliveryMessage" DeliveryMessageStatusType="Original" Reissued="No">
Das Augenmerk bitte auf die Zeile mit "xsi:noNamespaceSchemaLocation" richten.

Mein Quellcode
Delphi-Quellcode:
      //(XMLDoc: TXMLDocument)
      XMLDoc.Active := True;
      XMLDoc.StandAlone := 'no';
      XMLDoc.Version := '1.0';
      XMLDoc.Encoding := 'UTF-8';
      root := XMLDoc.AddChild('DeliveryMessage','');
      root.SetAttributeNS('xmlns:xsi','xsi','http://www.w3.org/2001/XMLSchema-instance');
      root.SetAttributeNS('noNamespaceSchemaLocation','xsi','DeliveryMessageV2R30.xsd');
      root.SetAttributeNS('DeliveryMessageType','','DeliveryMessage');
      root.SetAttributeNS('DeliveryMessageStatusType','','Original');
      root.SetAttributeNS('Reissued','','No');
Ich habe eine wenig mit dem XSI als 2. Parameter gespielt aber leider nicht zum gewünschten
Ergebnis gekommen.
Hilfe dazu und ev. eine Erläuterung was es mit Namespaces und den 2. Parameter in SetAttributeNS
auf sich hat sind erbeten.
Ergänzend hätte ich auch gern gewußt ob ich bei den angegeben UTF-8 Code eine Konvertierung vornehmen
muß z.B. Mühle -> Muehle ggf. Ersatzzeichen für "ü" etc. ?

Gruß

Frank
Frank
  Mit Zitat antworten Zitat