There are several ways to check if a list is empty using the <If> tag.
Example Meta Model

Example Data
An empty "Requirement section"

Using Variable
Below are two examples of how you can use <Variable> to obtain a list of items, and then do a check if the variable value is empty.
Example Configuration 1
<Report>
<Variable name="Req" as="[Item]" select="/5IDS"/>
<If test="$Req = []">
<Text>Empty</Text>
</If>
</Report> Example Configuration 2
<Report>
<Variable name="Req" as="[Item]" select="/5IDS"/>
<If test="$Req.Count = 0">
<Text>Empty</Text>
</If>
</Report> | Note: .Count is a method of the path language and operates on the results of a path expression. To be used, you need to use it with a <Variable> and then apply .Count for the variable. If using the list to dynamically add values to a list (i.e., <AddItemToList>, <ForEachItemInList>), then it is not possible to use a variable. |
Without Using Variable
Below is an example of how to use <If> without a variable to check if a list is empty.
Example Configuration
<Report>
<If test="not /5IDS">
<Text>Empty</Text>
</If>
</Report> Example Result

Checking if a List is Not Empty
Similarly, you can check if a list is NOT empty by reversing the condition.
Example Configurations
<Report>
<Variable name="Req" as="[Item]" select="/5IDS"/>
<If test="$Req.Count != 0">
<Text>Not Empty</Text>
</If>
</Report> <Report>
<Variable name="Req" as="[Item]" select="/5IDS"/>
<If test="$Req != []">
<Text>Not Empty</Text>
</If>
</Report> <Report>
<If test="/5IDS">
<Text>Not Empty</Text>
</If>
</Report>