FIXED: [2020.22080] Win10 LTSC - XML DAT deals with escaping LT / GT poorly and out of XML spec

EDIT: Okay this is worse than I thought. Not only is the XML DAT exhibiting the problem described below, but it is also changing escaped characters into their non-escaped version, thus making it impossible to wire together two XML DATs without the second one malforming the XML:

The XML DAT should ignore everything inside the double quotes and should definitely not change an escaped character into it’s real version, especially < and >.

This may or may not be related to the bug below.

ORIGINAL BUG:

So for whatever reason in the XML spec, you are still allowed to use > inside of a string (aka inside of quotation marks) even though you are NOT allowed to use <. I feel like it should be an all or nothing thing, but it is what it is.

https://www.w3.org/TR/xml/#syntax

And because of this, I’m finding a lot of GDTF files whose XML will have < inside of strings escaped properly as &lt; but > is not escaped when between double quotes. I wish they would escape both of them, but they didn’t and the spec says you MAY escape “>” while you MUST escape “<”.

So this is technically a bug in the XML DAT in that it gets screwy if there is a > inside of two "
It also does when there’s a < inside of two " but that’s understandable.

I can appreciate that this is a very niche bug and not a very reasonable thing to have to account for. But considering it’s in the XML spec and is showing up in GDTF, would it be possible to get the XML DAT to not interpret > inside double quotes?

1 Like

Here’s an example from the Ayrton MagicBlade FX GDTF file.

Using < and > to denote effect or gobo rotation direction and speed is very common in fixture profiles, so this won’t be the only place this shows up.

1 Like

Hey Peeet.
Thanks for the detailed reports.
We will work on a fix.
Cheers,
Rob.

1 Like

Hi Peeet.
This will be fixed in builds 2020.23680 and later.

[EDIT: Following that build, there will be a fix for handling single quotes similarly to double]

Thanks for the reports,
Rob.

1 Like