I think, if you derive your type from xsd:string and then you specify what it should contain in the xsd
attern you'll get what what you're looking for.
For example if I wanted my string to contain things like
<string of lower letters>@<string of lower letters>.com
(as in firstname.lastname@example.org
), I could do something like this:
<xsd:restriction base = "xsd:string">
attern value = "([a-z])+@([a-z])+.(com)"/>
if you change <xsd
attern value = "([a-z])+@([a-z])+.(com)"/> to
attern value = "([a-z])+"/> you'll ensure that it will not be empty and will only contain any combination of letters.
Hope this helps