On 9 April 2015 at 08:27, Kevin Smith <kevin.sm...@isode.com> wrote: > 1) I’m not sure that adding data-* to XEP-0071 would aid interoperability, > as the use of the data-* needs to be understood by both ends (e.g. in your > case it isn’t enough for xep71 to just say ‘you can use data-*’, because a > third-party client receiving your data-* markup wouldn’t understand what to > do with it). >
Agreed. > > 2) As you’re controlling the clients at both end, I can’t immediately see > any problem with just shipping data-* attributes inside the generated > XHTML, although -71 says not to. The importance of following the specs is > to ensure you can interop fully; if you’re controlling the clients at both > ends and need special logic to do so you can add non-standardised markup > reasonably safely. > > Adding a (private) disco feature and checking for it in caps would be better. Then, by all means, add custom attributes and markup. Not doing discovery/negotiation would mean a potential clash with clients you don't control; it also allows you to have multiple versions of your own clients deployed safely. As a rule of thumb, everything that XMPP does to allow interop between entirely different codebases also allows stability with multiple versions in a closed environment - you're not *really* controlling the clients totally at each end except in vanishingly rare, and very small-scale, cases. > I’m not sure if others will agree or disagree with me here. > > /K