… contd…
If I choose not to include the parent keywords…

… I now get three Orange
tags with no means of determining which is which without having to invoke the tooltip over each one!
Which creates an XMP file…
<dc:subject>
<rdf:Bag>
<rdf:li>Couleur</rdf:li>
<rdf:li>Fruit</rdf:li>
<rdf:li>Orange</rdf:li>
</rdf:Bag>
</dc:subject>
…
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>Couleur|Orange</rdf:li>
<rdf:li>Fruit|Orange</rdf:li>
<rdf:li>Orange</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
This seems fine but the standalone version of Orange
has been added to the lr:hierarchicalSubject
as if it were a hierarchical keyword instead of just a standalone.
So, what happens if add in the parents of the three Orange
s?

We still get three mentions of Orange
in the keywords box and the XMP file now looks like this…
<dc:subject>
<rdf:Bag>
<rdf:li>Couleur</rdf:li>
<rdf:li>Fruit</rdf:li>
<rdf:li>Orange</rdf:li>
</rdf:Bag>
</dc:subject>
…
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>Couleur</rdf:li>
<rdf:li>Couleur|Orange</rdf:li>
<rdf:li>Fruit</rdf:li>
<rdf:li>Fruit|Orange</rdf:li>
<rdf:li>Orange</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
The dc:subject
tag is still fine but the lr:hierarchicalSubject
tag still contains the standalone Orange
I think there is a problem with the UI mixing the ideas of hierarchy management with application of keywords in the same tool.
In my software, I have a separate popup window to manage keywords…
All possible keywords are in the right column, whilst the left column shows them arranged into hierarchies. To add a keyword to a parent, you just drag it from the right column to the appropriate keyword in the left column. This way, a keyword can be added to multiple hierarchies and can exist as a standalone keyword at the same time.
The number in the right column shows how many files reference a given keyword at any one time and pressing the spacebar on a selected line shows a Quicklook panel with a preview of all images that contain that keyword, regardless of where they are in any hierarchies
This completely avoids the confusion we presently have in the PL5 keywords palette, by ensuring that the operation of structuring the dictionary is completely independent of the operation of applying keywords to files.
Of course, we still have the mess of not knowing which version of Orange
we are searching for…
… without having to guess from a list of three and then invoke the tooltip on the inserted token to see if we were right…