Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi XML-Header erzeugen XSI/Namespace (https://www.delphipraxis.net/57209-xml-header-erzeugen-xsi-namespace.html)

Sourcemaker 17. Nov 2005 10:27


XML-Header erzeugen XSI/Namespace
 
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

Sourcemaker 17. Nov 2005 11:35

Re: XML-Header erzeugen XSI/Namespace
 
Nach einigen googlen gefunden:

Delphi-Quellcode:
root.Attributes['xsi:noNamespaceSchemaLocation'] := 'DeliveryMessageV2R30.xsd';


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz