Fix ignore empty fields

Only apply type validation if value is not empty
Allow xsd:string, although we do nothing to the value, avoids an error