I'm designing our new metadatas layer and I've imported in the projects XSDs form jboss-metadata-rar.

I've started with jboss-ra_2_0.xsd and I've already done some changes to that one I'd like to share with you because it would guidelines I'd like to follow in next future for our own XSDs (i.e. not included in JCA specs):

removing dependency from j2ee schema. It was used just for j2ee:string that is an xs:token. I think using xs:token keep xsd more readable and easy to understand. Moreover it is the important to build enumeration type as xs:simpleType and so making possible to use them also for attribute type

Use of simpletype where it is possible for enumeration making possible to use them for attributes type

All element name and type name are lower case

I have elaborated a bit more on this xsd, and I think a great enhancement we can is to define type for ra-config-property at xsd level instead of define 2 different element to express value and type. IOW doing this changes to previous xsd

As you can see the xsd is a bit more verbose, and parsing it will be too. But IMHO it drives to more readable config files and give us the opportunity to effective validate xml and values before èarsing if we decide to.