title: Can one concatenate two given XSD data types into a new XSD data type?
body: <p>Given two simple data types, say, restricted strings <code>type1</code>, <code>type2</code>, is there a possibility to define <code>type3</code> describing all strings formed by concatenating one <code>type1</code> string plus one <code>type2</code> string?</p>
  
  <p>For example, consider</p>
  
  <pre><code>&lt;xsd:simpleType name="type1"&gt;
   &lt;xsd:restriction base="xsd:string"&gt;
    &lt;xsd:pattern value="[A-Z]"&gt;&lt;/xsd:pattern&gt;
   &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;
  
  &lt;xsd:simpleType name="type2"&gt;
   &lt;xsd:restriction base="xsd:string"&gt;
    &lt;xsd:pattern value="[0-9]"&gt;&lt;/xsd:pattern&gt;
   &lt;/xsd:restriction&gt;
  &lt;/xsd:simpleType&gt;
  </code></pre>
  
  <p>Then I would like to define <code>type3</code> such that</p>
  
  <pre><code>A0 -&gt; valid
  B1 -&gt; valid
  AA -&gt; invalid
  etc...
  </code></pre>
  
  <p>Note that this example is just for illustration, I know how to combine the regex patterns, but my question is how to combine the types via XSD.</p>