Skip to main content

Search 400 pages — tools, formats, elements, namespaces, directory, comparisons, XPath, datatypes, glossary, parse errors, schema errors, use cases, guides, blog and product.

XSD datatype

xs:nonPositiveInteger

An integer of zero or less. Zero is allowed; positive values are not.

xs:nonPositiveInteger fixes maxInclusive at zero and remains unbounded below. It is the mirror of xs:nonNegativeInteger, with zero belonging to both types.

Use xs:negativeInteger when zero must be excluded rather than adding another facet by hand.

Lexical space
Optional sign and digits, with a value no greater than zero.
Derives from
xs:integer
Category
Numeric types
Facets
minInclusive, maxInclusive, minExclusive, maxExclusive, pattern, enumeration, whiteSpace, totalDigits, fractionDigits

What validates

Every literal below is put through the schema validator on each test run, against the schema at the foot of this page.

  • 0
  • -0
  • -1
  • -999999999999999999999

What does not

  • 1

    Positive values exceed maxInclusive 0.

  • -1.0

    Integer lexical forms cannot contain a decimal point.

What catches people out

  • Zero and -0 both validate because their value is zero.
  • The type is unbounded below.
  • Its name describes the value space, not a required minus sign in the lexical form.

The schema used

This is the exact schema the literals above are validated against. Paste it into the validator with one of them to see the result yourself.

schema.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="v" type="xs:nonPositiveInteger"/>
</xs:schema>

Open the XSD validator

Related

All 39 datatypes and facets

Get started

Bring order to the XML your team can't afford to ignore.

Create a free account and get a private workspace to search, validate, diff, and monitor your XML feeds, sitemaps, schemas, and vendor integrations.