On Fri, 18 Mar 2011 20:16:08 +0100 Mattias Gaertner <nc-gaert...@netcologne.de> wrote:
> Maybe Reimar can give an example when it does not work. I am to lazy to attach the code, so here it is (you should know how to get it into Lazarus without too much hassle :) ): program xmlattributes; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Classes, SysUtils, CustApp, DOM, XMLWrite; type { TXMLAttributes } TXMLAttributes = class(TCustomApplication) protected procedure DoRun; override; public end; { TXMLAttributes } procedure TXMLAttributes.DoRun; var ErrorMsg: String; Document: TXMLDocument; RootNode, Node: TDOMNode; begin try Document:=TXMLDocument.Create; RootNode:=Document.CreateElement('ROOT'); TDOMElement(RootNode).SetAttribute('someAttrib', 'someValue'); Document.AppendChild(RootNode); RootNode:=Document.DocumentElement; Node:=Document.CreateElement('SomeNode'); TDOMElement(Node).SetAttribute('aaaAttribute', '1'); TDOMElement(Node).SetAttribute('aAttribute', '2'); TDOMElement(Node).SetAttribute('ccAttribute', '4'); TDOMElement(Node).SetAttribute('bAttribute', '3'); RootNode.Appendchild(Node); WriteXMLFile(Document, 'test.xml'); finally Document.Free; end; // stop program loop Terminate; end; var Application: TXMLAttributes; {$R *.res} begin Application:=TXMLAttributes.Create(nil); Application.Title:='XMLAttributes'; Application.Run; Application.Free; end. someone@somewhere:~/pascal/Projects/xmldemo$ cat test.xml <?xml version="1.0"?> <ROOT someAttrib="someValue"> <SomeNode aAttribute="2" bAttribute="3" ccAttribute="4" aaaAttribute="1"/> </ROOT> Looks like the order is governed by the length of the attribute name first and then alphabetically. R. -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal