On Sun, 27 Mar 2011 22:56:16 -0300 Flávio Etrusco <flavio.etru...@gmail.com> wrote:
> > > > > >> 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. > >> > Actually it isn't sorted by length, but it's case-sensitive. No. See 2.4.2/fpc/packages/fcl-xml/src/dom.pp function CompareDOMStrings(const s1, s2: DOMPChar; l1, l2: integer): integer; var i: integer; begin Result:=l1-l2; i:=0; while (i<l1) and (Result=0) do begin Result:=ord(s1[i])-ord(s2[i]); inc(i); end; end; > Mattias wrote: > > Yes, that is what CompareDOMStrings does. > > Probably for speed reasons. > > > Indeed, laz_xmlwrite and laz2_xmlwrite both do this, but the example > is using xmlwrite.pas from fcl-xml. No. laz_xmlwrite and laz2_xmlwrite use laz_dom, laz2_dom. > > This function is fixed in the code. > > > What do you mean? The user can not change this behavior. Mattias _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal