"xs:unsignedInt" = "xs:positiveInteger" ?

Hello!

What is the difference between
“xs:unsignedInt”
“xs:positiveInteger” ?

When and why should these value be used?
What is more efficient?

best regards,
Dariusz Baumann

positiveInteger has a lexical representation consisting of an optional positive sign ("+") followed by a finite-length sequence of decimal digits (#x30-#x39). For example: 1, 12678967543233, +100000.

See also http://www.w3.org/TR/xmlschema-2/#positiveInteger.

unsignedInt has a lexical representation consisting of a finite-length sequence of decimal digits (#x30-#x39). For example: 0, 1267896754, 100000.

See also http://www.w3.org/TR/xmlschema-2/#unsignedInt

So most important difference: 0 is part of the value space of unsingnedInt, but not of the value space of positiveInteger. positiveInteger values can have a leading “+”, unsignedInt values can’t have a leading “+”.

More efficient ? I don’t know.

Best regards,
Peter