(0|(-?[1-9][0-9]*)).
  In other words, integers.  A programmatic
  description is that you should be able to obtain the integer value
  of numerical attributes by obtaining their values as strings and
  passing them through Integer.parseInt().  If that method
  throws an exception when attempting to parse a numerical value, you
  can assume that attribute's value is invalid.
([_a-zA-Z][_a-zA-Z0-9]*).
But the XML schema and the XmlUtility class provides a method to do type-checking for you so don't worry about this part.