AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Prism TXMLDocument: "xsi" vom xsi:noNamespaceSchemaLocation fehlt
Thema durchsuchen
Ansicht
Themen-Optionen

TXMLDocument: "xsi" vom xsi:noNamespaceSchemaLocation fehlt

Ein Thema von Gnorks · begonnen am 15. Feb 2008 · letzter Beitrag vom 15. Feb 2008
Antwort Antwort
Gnorks
(Gast)

n/a Beiträge
 
#1

TXMLDocument: "xsi" vom xsi:noNamespaceSchemaLocat

  Alt 15. Feb 2008, 01: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
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: TXMLDocument: "xsi" vom xsi:noNamespaceSchemaL

  Alt 15. Feb 2008, 06:32
Herzlich willkommen in der Delphi-PRAXiS, Gnorks.

Dein Problem sieht gar nicht nach .NET aus - unter Win32 machst du alles richtig und bei mir (D7) wird der NameSpace-Präfix auch erzeugt.

Freundliche Grüße
  Mit Zitat antworten Zitat
Gnorks
(Gast)

n/a Beiträge
 
#3

Re: TXMLDocument: "xsi" vom xsi:noNamespaceSchemaL

  Alt 15. Feb 2008, 12:45
Danke für die Willkommensgrüße und Deine Mühe, Marabu.

Na, dann bleibt mir wohl vorerst nichts anderes übrig, als das "xsi"
in die TStrings der TXMLDocument.XML reinzuhacken. Dreckig, aber schnell.

Danke,
Gnorks
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: TXMLDocument: "xsi" vom xsi:noNamespaceSchemaL

  Alt 15. Feb 2008, 13:04
Willst du dich wirklich zu sowas herablassen?

Welchen XML-Parser hast du denn konfiguriert und welche Delphi-Version verwendest du? Ich habe mit MSXML4 getestet.
  Mit Zitat antworten Zitat
Gnorks
(Gast)

n/a Beiträge
 
#5

Re: TXMLDocument: "xsi" vom xsi:noNamespaceSchemaL

  Alt 15. Feb 2008, 14:48
Naja. Von "wollen" kann nicht die Rede sein.
Das ist ersteinmal auf die TODO-Liste gewandert, ich bin einfach
begierig darauf, schonmal weiterzuarbeiten. Schöner wäre es natürlich
ohne dirty tricks.

Delphi Version: CodeGear™ Delphi® 2007 for Microsoft® .NET Version 11.0.2902.10471

DOMVendor: CLRXML

OS: Vista64

Mir fehlt leider die Delphi-Erfahrung, um mich dem Problem tiefergehend zu nähern.
Sollte Dir Marabu (oder einem anderern User) etwas dazu einfallen, wäre ich also
höchst dankbar!

Gruß,
Gnorks
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz