Hello Phil,
I have seen your new version Exiftool 11.74. Thanks for this version.
In history I have seen the following change/enhancement:
QuoteChanged the way the FlatName element works when used in a structure element (the structure name is now added as a prefix to the flattened tag name)
I did some display of my testfiles containing structures and I also compared the output files of -listx command, but it is not clear to me what has really changed with flattened tags.
Thanks for your help in advance
Best regards
Herb
Hi Herb,
You shouldn't notice any difference for any of the pre-defined tags, but if you had user-defined tags that used the FlatName parameter in nested structures, you would have to remove the parent structure name from the FlatName value. (I already did this for the pre-defined tags so that the flattened tag names stayed the same.)
- Phil
Hello Phil,
thanks for your answer. Sorry, but I have problems to see the changes.
I have an user-defined structure in XMP namespace xmp-eixm; please see the following part of config-file:
XMPEixmListB2 => {
Struct => {
NAMESPACE => { 'test' => 'http://x.y.z/test/' },
STRUCT_NAME => 'EixmList2',
TYPE => 'http://x.y.z/test/xystruct',
ObjectA2 => { },
ObjectB2 => { List => 'Bag' },
Things2 => {
Struct => {
NAMESPACE => { thing => 'http://x.y.z/thing/' },
What2 => { },
Where2 => { List => 'Bag' },
Name2 => { Writable => 'lang-alt' },
},
List => 'Seq',
},
ObjectX2 => { Writable => 'lang-alt' },
},
List => 'Seq',
},
Here the structure Things2 ia a nested structure. But to write it or to read it using flattened tag-names I have not seen any difference.
I always have e.g. to use -xmp-eixm:XmpEixmListB2Things2What2 as tagname.
A tag -xmp-eixm:Things2What2 - name without parent structure name - is unknown.
Best regards
Herb
Hi Herb,
You aren't using the "FlatName" parameter in any of your tag definitions, so there should be no difference for you.
FlatName : [Struct tags and structure fields only] Name used for
automatically-generated flattened tag names, defaults to Name
if not specified. In general, this is used to remove the
redundant names found in some specifications. May be empty
('') for a Struct tag but not for a structure field.
- Phil
Edit: Added FlatName documentation