В определении схемы XML, то есть в файле XSD, атрибуты являются необязательными по умолчанию.Чтобы сделать атрибут обязательным, вы должны определить:
<xs:attribute name="surname" type="xs:string" use="required"/>
Вы найдете очень хорошее введение в определения XML и схем XML, то есть XSD, в W3 Schools .
В Java эквивалентом определения схемы XML является использование JAXB, то есть Java API для привязки XML, который включен в Java SE.Там вы могли бы определить, например,
@XmlRootElement
public class Person { public @XmlAttribute(required=true) String surname; }
Надеюсь, что это может прояснить ваш вопрос.