Property value queries (also called literal comparison queries) return those records that have a property whose value on the records is equal to a specified literal value.
The syntax for this type of query is:
collection()/record[propertyName = literalValue]
where:
propertyName
is the NCName of an Oracle Commerce property that is enabled for record filters. Dimension names are not supported for this type of query.literalValue
is a number (either integer or floating point) or a quoted string literal. Numbers are not quoted. For a record to be returned, the value ofliteralValue
must exactly match the value ofpropertyName
, including the case of the value for quoted string literals. Wildcards are not supported, even if the property has been enabled for wildcard search.
Because it is a predicate, the expression must be enclosed within square brackets. Expressions can be nested.
Note that you can use one of the negation operators described in the "Negation operators" topic.
The first example illustrates a simple property comparison query:
collection()/record[Recordtype = "author"]
This query returns all records that have a property named
Recordtype
whose value is
“author”
. If a
Recordtype
property on a record has another value
(such as
“editor”
), then that record is filtered out and not
returned.
The second example illustrates how to use the
and
operator:
collection()/record[author_nationality = "english" and author_deceased = "true"]
This query returns all
Author
records for English writers who are deceased.