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.