There can be as many elements as required. I could have had several elements, pointing to each of the different callrecord
types (callrecord_missed_period, callrecord_missed_remote
and so on.) The only restriction is that they should all have different name
attribute values, for example ignore-call-record1
, ignore-call-record2
etc.
Explanation of XPath Expression
Breaking down the XPath expression //*[starts-with(name(.), 'callrecord')]
//*
says to look at all elements.
The expression inside the square brackets is a predicate, applying a filter to the elements selected. When the predicate evaluates to be true then the record is included and therefore ignored in the comparison.
The starts-with
function expects two parameters, separated by a comma. The first says what we are looking at and the second specifies the characters that it should start with in order for the function to return true.
If you wish to re-use this expression for element names that start xyz
then just replace 'callrecord'
with 'xyz'