This is what I'm thinking of what we should do to put type and origin data together. started by a 2018 proposal from @hboon which suggested the metadata for attribute should be collectively placed in <attribute>
instead of <attribute-type>
<ts:attribute name="name">
<ts:label>
<ts:string xml:lang="en">Name in English</ts:string>
<ts:string xml:lang="es">El Nombre</ts:string>
</ts:label>
<ts:type>
<ts:desc>Description for developers, not to be displayed to the end users</ts:desc>
<ts:equality>caseIgnoreMatch</ts:equality>
<ts:substr>caseIgnoreSubstringsMatch</ts:substr>
<ts:syntax>1.3.6.1.4.1.1466.115.121.1.15</ts:syntax>
</ts:type>
<ts:origins>
…
</ts:origins>
</ts:attribute>
For a list of matching rules, including equality matching rules and substr matching rules, check RFC4517 page 2.