Invalid character in XML output

Started by Mac2, April 09, 2020, 01:38:38 PM

Previous topic - Next topic

Mac2

Hi,

it seems ExifTool emits invalid characters under certain conditions.
I have a MP4 video file and when I run ExifTool with my usual arguments (as I do for many years in IMatch), the XML parser rejects the output with:

Error Character '#', hexadecimal value 0x23 is illegal in an XML name. (MSXML parser on Windows).

This starts at the namespace declaration at the very beginning of the ExifTool XML output:

xmlns:Track#='http://ns.exiftool.ca/QuickTime/Track#/1.0/'

and then repeats many times for all values for the Track# namespace.

The # is not allowed for names in XML.

Phil Harvey

...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

I can't reproduce this effect.  Could you email me a sample (philharvey66 at gmail.com) and tell me the exact command line that you are using?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Mac2

I will send you the video file (it's small).
The ARGs which allow to reproduce this are (condensed down)


-G1
-all
-a
-X
-charset
filename=UTF8
{FileName}

Phil Harvey

Got it, thanks!

This will be fixed in ExifTool 11.94 when it is released (maybe later today).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Mac2


Mac2

I have tested the new release. It now works perfect with the problem video file.
Thank you very much  :)

Phil Harvey

Great.  Thanks for the confirmation.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).