2016-04-15 1 views
0

J'essaie de créer une requête xpath pour sélectionner des noeuds JCR de plusieurs types principaux.Xpath requête pour sélectionner des noeuds JCR de plusieurs types principaux

Par exemple, je pourrais écrire une requête comme ceci:

/jcr:root/content//element(*, nt:unstructured) 

pour sélectionner tous les nœuds de type nt: non structurés, ou ceci:

/jcr:root/content//element(*, nt:file) 

pour obtenir tous les nœuds de type nt: file

Est-il possible d'écrire une requête pour sélectionner tous les nœuds de type nt: non structuré et de type nt: fichier?

Répondre

1

Vous pouvez utiliser une clause where dans laquelle vous filtrez sur JCR: primaryType

/JCR: root/contenu // * [@ JCR: primaryType = 'nt: file' ou @jcr: primaryType = 'nt : non structurées ']

Gardez à l'esprit que les requêtes que vous avez fournies à titre d'exemple également sélectionner sur plusieurs types (à savoir les super et les types enfants

Disons que vous avez un nœud de projet de type:. article et un projet: article de journal dans lequel l'article de journal étend le type de nœud d'article

Lorsque vous interrogez avec

/JCR: root/contenu // élément (*, projet: article)

Vous trouverez également les noeuds des deux types.