Attribute Typing

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.

Makes sense to me. I suppose <ts:type> might be designed so it can be reused across <ts:attribute> with a reference, but maybe that's over-designing?

Digressing a bit, you know how with regular expressions, there are webpages and apps that help people to write them? e.g. https://regexr.com. We might need such a tool for search expressions, including how equality/substr etc works.