You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 5
Next »
Deep links can be used on both sides of predicates in a Where Clause.
Since version 4.5 of the projectdoc Toolbox for Confluence. For deep links on the left side of a predicate, the referenced value needs to be materialized.
This tips shows how this can be done.
Queries
Queries define their constraints with the Where Parameter, of the Display Table Macro or any other query-based macro of the projectdoc Toolbox.
Deep Links on the querying Document's Side
The following constraint selects on all documents whose Type property is equal to this document's referenced Service's Type.
$<Type>=[${Service->Type}]
Here is a similar constraint, but this time the property may contain multiple services.
$<Type>~(${Services->Type})
In this case the type must match any one type value of the referenced services.
Deep Links on the matching Document's Side
To match with deep linked values with the matching document, which is on the left side, the value is required to be materialized.
Again a similar constraint using lists.
$<Categories->Tags>~(${Tags})
For these queries to work, the properties on the left side (Type->Tags
respectively Categories->Tags
) are required to be materialized.
Materialization can have three forms
Materialization |
Description |
| Materialize the controlled property by an artificial property with the given path. |
| Specify which properties to materialize as artificial properties by doctype. |
| Describes the doctypes model.
|
Deep Links on both Sides
$<Categories->Tags>=[${Categories->Tags}]
$<Categories->Tags>~(${Categories->Tags})