Revision 547 – OUISignatureList Works with our Parser

Para 3.1 of the XML specification says that the order of attributes to an XML element is not significant; for example, the following two statements are equal:

<A left=”one” right=”two”/>

<A right=”two” left=”one”/>

Unfortunately, it seems we wrote our own parser, and missed that part. For what it’s worth, we’re probably using some sort of SAX which leverages the exactness of XML’s syntax markup, so there’s a certain portability and disambiguation there, but the VW parser gets confused when attributes to OUISignature are not in the order it understands.

Similarly unfortunately, I had to break the OUISignatureList writer to accommodate that. The risk is not that other XML parsers will not understand — they will, because they don’t care about ordering. The risk is that I’m building a basic “just print the text” writer, I might make an error such as URLEscaping output. In jumping on a leaky boat, I may also sink.

In the meantime, OUISignatures written by these tools are directly replaceable into VW’s config.