Bryan, I am having enormous problems decoding your posts, screenshots, etc.
In this screenshot, you are showing the Keywords
tag, in the highlighted row, as containing different values than the Subject
tag. What did you do to achieve this? Neither my app nor PL5 writes the Keywords
tag to the either the original file or the XMP sidecar. However, PL5 does write it when exporting, even though it is not present in the original file.
In fact, the IPTC palette in PL5 has no mention of the iptc:Keywords
tag that it goes on to create on export.
Which one? Both are possible, simply by checking or unchecking the appropriate rows in the hierarchy.
Which is precisely what all keywords are - just a flat list. It is only when those keywords are organised into a hierarchy, that the need to record those relationships arises.
- In the database, a parent ID column indicates the parent keyword
- In an XMP record, the
lr:hierarchicalSubject
tag should contain the relevant hierarchy
At the moment, PL5’s handling of hierarchies is, to put it mildly, chaotic.
I created three hierarchies in my software…
- Couleur > Orange
- Fruit > Orange > Satsuma
- Entreprise > Télécommunications > Orange
Then I applied them all to a RAW file.
<dc:subject>
<rdf:Bag>
<rdf:li>Couleur</rdf:li>
<rdf:li>Entreprise</rdf:li>
<rdf:li>Fruit</rdf:li>
<rdf:li>Orange</rdf:li>
<rdf:li>Satsuma</rdf:li>
<rdf:li>Télécommunications</rdf:li>
</rdf:Bag>
</dc:subject>
…
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>Couleur</rdf:li>
<rdf:li>Couleur|Orange</rdf:li>
<rdf:li>Entreprise</rdf:li>
<rdf:li>Entreprise|Télécommunications</rdf:li>
<rdf:li>Entreprise|Télécommunications|Orange</rdf:li>
<rdf:li>Fruit</rdf:li>
<rdf:li>Fruit|Orange</rdf:li>
<rdf:li>Fruit|Orange|Satsuma</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
And, opening the file in PL5, the palette shows…
Unnecessary duplication of keywords in the keywords field but the hierarchy looks fine.
No problem at all.
However, if I remove some of the parent checked items in the hierarchy…
… I get something altogether wrong in the XMP file…
<dc:subject>
<rdf:Bag>
<rdf:li>Orange</rdf:li>
<rdf:li>Satsuma</rdf:li>
</rdf:Bag>
</dc:subject>
…
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>Couleur|Orange</rdf:li>
<rdf:li>Entreprise|Télécommunications|Orange</rdf:li>
<rdf:li>Fruit|Orange</rdf:li>
<rdf:li>Fruit|Orange|Satsuma</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
Unless I use PL5’s own search mechanism, there is no way I can search for files that contain a specific hierarchy. The only externally searchable keywords are Orange
and Satsuma
.
Added to which, using the PL5 search, it is totally impossible to search for Orange
as part of multiple hierarchies.