Выражение not(parent)
проверяет, является ли узел parent
пустым элементом.
В вашем случае это не так, поскольку он содержит узел child
.
Выражение, которое выищет, вероятно, not(self::parent)
, который проверяет, не является ли сам узел узлом parent
.Таким образом, все выражение, вероятно, должно быть
parent::*[not(self::parent)]
Я удалил ось ./
, потому что в этом случае это не было необходимо.