Grabbed from XSD at http://cs.au.dk/~amoeller/XML/schemas/xmlschema-example.html