compareAttributesDeterministic

fnint compareAttributesDeterministic(const ref XmlAttribute a, const ref XmlAttribute b) @safe nothrow

Compares attributes using a deterministic ordering suitable for canonicalization/serialization.

Ordering rules:

  • Attributes in no namespace (empty namespaceUri) sort before namespaced attributes.
  • Then compare by namespaceUri, then by name.local, then by name.prefix.

Parameters

aLeft attribute.
bRight attribute.

Returns

<0 if a < b, 0 if equal, >0 if a > b.