In some places attributes are explicitly marked as required or optional,
while in others they are not. It would be nice since optional is the
default for attributes in xschema if either use="optional" was always used
or never used. Otherwise it is a bit confusing to read.
<xs:attribute name="resourceId" type="xs:string" use="optional">
<xs:attribute name="resourceId" type="xs:string">