Hab mir deinen Kreuzpfosten angeschaut: Das
XML ist aber valide.
Code:
<rootNode>
<invalidContent>3,14159265358979</invalidContent>
</rootNode>
Nur die *Intention* ist ja eine andere, nämlich die: Du hast ein Schema und willst die Delphi
XML-Datenbindung verwenden.
Code:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="rootNode">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:float" name="invalidContent"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Delphi-Quellcode:
Der Delphi-Code dazu:
IXMLRootNode = interface(IXMLNode)
['{323E65B5-3A1C-4937-8413-91430DC19316}']
{ Property Accessors }
function Get_InvalidContent: Single;
procedure Set_InvalidContent(Value: Single)
{ Methods & Properties }
property InvalidContent: Single read Get_InvalidContent write Set_InvalidContent;
end;
{ Forward Decls }
TXMLRootNode = class;
{ TXMLRootNode }
TXMLRootNode = class(TXMLNode, IXMLRootNode)
protected
{ IXMLRootNode }
function Get_InvalidContent: Single;
procedure Set_InvalidContent(Value: Single);
end;
Und wenn Du nun ausführst:
Delphi-Quellcode:
var
node : IXMLRootNode;
begin
node := NewrootNode;
node.InvalidContent := Pi;
memo1.Lines.text := node.XML;
end;
Hast Du -et voilá- ein
XML, was nicht gegen das Schema validiert werden kann. Und *DAS* ist ein Bug.
Das geht natürlich auch mit Datumse. Is ja klar.