The special attributes xsi:nil and xsi:type are stored as regular attributes and can be queried and modified. For example, executing the query SELECT x.query('a/b/@*') returns all attributes including xsi:nil and xsi:type. To exclude these types in the query, replace @* with @*[namespace-uri(.) != "insert xsi namespace uri" and not (local-name(.) = "type" or local-name(.) ="nil". [Possibility of impact] Low
The special attributes xsi:nil and xsi:type cannot be queried or modified by data manipulation language statements. This means that /e/@xsi:nil fails while /e/@* ignores the xsi:nil and xsi:type attributes. However, /e returns the xsi:nil and xsi:type attributes for consistency with SELECT xmlCol, even if xsi:nil = "false".