Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Zahlenwerte in XML (Decimalseparator) (https://www.delphipraxis.net/138610-zahlenwerte-xml-decimalseparator.html)

Dejan Vu 17. Okt 2014 12:27

AW: Zahlenwerte in XML (Decimalseparator)
 
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.

Der schöne Günther 17. Okt 2014 12:40

AW: Zahlenwerte in XML (Decimalseparator)
 
Ja, "XML not valid" ist falsch ausgedrückt. Es ist immer noch well formed, aber nicht mehr gegen ein Schema validierbar was hier einen Float erwartet.

Ich ändere das wohl noch, nicht dass mich da jemand falsch verstehen will :smile2:

Dejan Vu 17. Okt 2014 14:32

AW: Zahlenwerte in XML (Decimalseparator)
 
Nee, aber da wird immer so viel durcheinander gebracht und in diesem Hochspezialistenforum wollen wir doch bei dieser Kerntechnologie korrekte Bezeichnungen verwenden.

Vor allen Dingen ist man bei einer Hotline oder einem Supportforum wie bei Emba gerne darauf aus, solche Kinkerlitzchen zum Anlass zu nehmen, die Sache abzubügeln: "Wieso? Ist doch valide!" => kein Fehler => gelöscht.

mkinzler 17. Okt 2014 14:37

AW: Zahlenwerte in XML (Decimalseparator)
 
Hier ist aber nicht er EMBT Support. Anhand des Betreffs sollte eigentlich klar sein, was gemeint war.

Der schöne Günther 29. Okt 2014 10:15

AW: Zahlenwerte in XML (Decimalseparator)
 
Embarcaderos neues(?) Forum ist leider vollkommen tot, das interessiert dort niemanden.

Deshalb habe ich es in Embarcaderos neues QC eingetragen. Für den Fall dass es nicht als "as designed" abgestempelt wird gebe ich Bescheid wenn das Volk Voten darf :-)

Bernhard Geyer 29. Okt 2014 12:32

AW: Zahlenwerte in XML (Decimalseparator)
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1277828)
Embarcaderos neues(?) Forum ist leider vollkommen tot, das interessiert dort niemanden.

Was erwartest du. Die letzte Aktion eine Emba-Mitarbeiters war im Forum um 10:52 AM.
Das kann man wohl nicht als Tod bezeichnen wenn dein Eintrag nicht innerhalb von 2 Stunden angenommen wird ...

Der schöne Günther 29. Okt 2014 12:49

AW: Zahlenwerte in XML (Decimalseparator)
 
Der Eintrag im Forum war vor 11 Tagen (oder so) und ist immer noch das zweitneuste Thema in dem Bereich, das meinte ich.
Der QC-Report ist neu, das im Forum nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.
Seite 3 von 3     123   

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