I’ve looked at the XMP file you have posted but don’t know if this is how you intended it to be or how PL has written it.
Here’s what I see in that file…
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>Architectuur</rdf:li>
<rdf:li>Museum</rdf:li>
<rdf:li>Type</rdf:li>
<rdf:li>Vakanties en dagjes weg</rdf:li>
<rdf:li>Vakanties en dagjes weg|Vakanties</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
According to the MWG guidance, this doesn’t make sense, as it says you have three keywords that do not belong to any hierarchy; such entries are not valid.
The last two entries describe a hierarchical keyword Vakanties
, which is a child of Vakanties en dagjes weg
; the first line describing the root of the hierarchy, the second describing the “path” of the child keyword.
In my keywording software, I interpret the MWG guidance by including all levels of only true hierarchical keywords, so my app would write…
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>Vakanties en dagjes weg</rdf:li>
<rdf:li>Vakanties en dagjes weg|Vakanties</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
… although the MWG guidance can also be interpreted that…
<lr:hierarchicalSubject>
<rdf:Bag>
<rdf:li>Vakanties en dagjes weg|Vakanties</rdf:li>
</rdf:Bag>
</lr:hierarchicalSubject>
… is just as valid.
My instinct has been to stick to declaring the root keyword as well as the description of the “child” and, so far, no other software misinterprets that.
MWG guidance also states that all keywords mentioned in the lr:hierarchicalSubject
tag must be mentioned in the dc:subject
tag and so…
<dc:subject>
<rdf:Bag>
<rdf:li>Architectuur</rdf:li>
<rdf:li>Museum</rdf:li>
<rdf:li>Type</rdf:li>
<rdf:li>Vakanties</rdf:li>
<rdf:li>Vakanties en dagjes weg</rdf:li>
</rdf:Bag>
</dc:subject>
… is totally correct.
In the last couple of years working on my app I have come to the conclusion that the two related tags dc:subject
and lr:hierarchicalSubject
serve two different purposes…
- dc:subject → searching
- lr-hierarchicalSubject - communication
Unfortunately, DxO’s current stance is that all keywords should be written as hierarchical and their search is based on such an assumption; which is why I am inclined to state that the XMP file you posted was written by PhotoLab 
This assumption is just plain wrong as it can contribute to both limited and incorrect search results in other software. For example, if I have some images marked Colour|Orange
, some marked Fruit|Orange
and yet others marked Enterprise|Telecommunications|Orange
, PL5 does not currently allow me to search for all images marked with Orange
, regardless of hierarchical context, because it seems to search based on hierarchy and not just the keywords found in the dc:subject
tag. Which is why they are forcing all standalone keywords to be also single level hierarchies. This is wrong and incompatible with every other keywording app I have so far found.
At present, the PL5 search is woefully inadequate, in that it doesn’t allow searching based on OR predicates, only AND predicates, and then only for complete hierarchical phrases.
Searching for hierarchical phrases should not be done on the lr:hierarchicalSubject
tag, it should be done by ANDing together the keywords that form the hierarchy in a predicate for searching on the dc:subject
tag. For example, I should be able to search for Fruit|Orange
OR Colour| Orange
, something that is currently impossible.
Unfortunately, this misappropriation of keywords in hierarchies has also been propagated to both the DOP files and database and correcting this will now entail invalidating the very keywords that PL5 has already written. Hopefully, not too many people have started using PL5 for keywording.