JAXBParser parser = newJAXBParser();
InputSource isource = new InputSource(new StringReader(schemaSource));
isource.setSystemId("testJAXBJavaType1.xsd");
JAXBSchema schema = (JAXBSchema) parser.parse(isource);
XSType a = schema.getType(new XsQName((String) null, "a"));
JAXBSimpleType ast = (JAXBSimpleType) assertSimpleType(a);
JAXBJavaType ajjt = ast.getJAXBJavaType();
assertEquals("java.math.BigDecimal", ajjt.getName());
assertEquals("javax.xml.bind.DatatypeConverter.parseInteger", ajjt.getParseMethod());
assertEquals("javax.xml.bind.DatatypeConverter.printInteger", ajjt.getPrintMethod());
assertTrue(!ajjt.hasNsContext());
XSElement b = schema.getElement(new XsQName((String) null, "b"));
XSType bt = b.getType();
JAXBSimpleType bst = (JAXBSimpleType) assertSimpleType(bt);
assertEquals(a, assertRestriction(bst));
assertNull(bst.getJAXBJavaType());
XSElement c = schema.getElement(new XsQName((String) null, "c"));
XSType ct = c.getType();
JAXBSimpleType cst = (JAXBSimpleType) assertSimpleType(ct);
assertEquals(a, assertRestriction(cst));
JAXBJavaType cjjt = cst.getJAXBJavaType();
assertEquals("java.math.BigInteger", cjjt.getName());
assertEquals("javax.xml.bind.DatatypeConverter.parseInt", cjjt.getParseMethod());
assertEquals("javax.xml.bind.DatatypeConverter.printInt", cjjt.getPrintMethod());
assertTrue(cjjt.hasNsContext());
}