title: Value is not facet-valid with respect to pattern
body: <p>I have this element in a XSD:</p>
  
  <pre><code>&lt;xs:simpleType name="elementWithAsterisks"&gt;
    &lt;xs:restriction base="xs:string"&gt;
      &lt;xs:length value="16"/&gt;
      &lt;xs:pattern value="^[0-9*]*$"/&gt;
    &lt;/xs:restriction&gt;
  &lt;/xs:simpleType&gt;
  </code></pre>
  
  <p>The value of this element can be a number, or a number and asterisk, and its length must be 16 characters.  For example, the following strings should be valid:</p>
  
  <pre><code> **1234567****01456**
   **1234567890654321**
   1***************
  </code></pre>
  
  <p>If I send a value like that to this element, XStream returns this message: <br/></p>
  
  <blockquote>
    <p>cvc-pattern-valid: Value '1234567****01456' is not facet-valid with
    respect to pattern '^[0-9*]*$' for type 'elementWithAsterisks'.</p>
  </blockquote>
  
  <p>I'm using Java with XStream.  This is my code to validate it:</p>
  
  <pre><code>try {
      File xsdFile = new File("validation.xsd");
      SchemaFactory schemaFactory = SchemaFactory.newInstance(SCHEMA_LANGUAGE);
      factory.setSchema(schemaFactory.newSchema(xsdFile);
      SAXParser saxParser = factory.newSAXParser();
      XMLReader reader = saxParser.getXMLReader();
      reader.setErrorHandler(new XmlValidationErrorHandler());
      reader.parse(new InputSource(inputStream));
      isValid = true;
  } catch (SAXException | ParserConfigurationException | IOException ex) {
      ex.printStackTrace();
      isValid = false;
  }
  </code></pre>