Use xerces_2_9_0 schema API to load specified schema( see below) and print out retrieved pattern values.
StringList patterns= simpleType.getLexicalPattern(); Int size=patters.getLength(); for(int i=0; i< size; i++){ System.out.println("index "+index+ " regex : " + patterns.item(i)); } The result as : index of 0 regex : [0-9]{1,3} index of 1 regex : [\-+]?[0-9]+ Why does I get extral pattern value of "[\-+]?[0-9]+" ? ---------------------------------------------------------------------------- -------------------------------------------------- <xsd:simpleType name="NumberOrderedType"> <xsd:restriction base="xsd:integer"> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="999"/> <xsd:pattern value="[0-9]{1,3}"/> </xsd:restriction> </xsd:simpleType>