| Предыдущий | Следующий |
| ERROR_EVT_NON_VALIDATING_MSXML | ERROR_EVT_FILTER_NOTELTSET |
ERROR_EVT_FILTER_ALREADYSCOPED
Фильтр пытается выполнить недопустимую вторую смену области XPath
Windows Event Log реализует ограниченный вычислитель путей местоположения. Операция смены области допустима только тогда, когда предыдущее выражение создаёт подходящий набор узлов и ещё не было использовано другой сменой области. Вложение операций области, как в полном XPath, может вызвать эту специальную ошибку анализатора.
Перепишите селектор по иерархии XML события вместо последовательного наложения смен области. Начинайте с узла события, переходите по дочерним элементам и помещайте сравнения в предикаты. Поскольку Windows поддерживает только оси дочерних элементов и атрибутов и не реализует общую обработку наборов узлов, проверяйте выражение через API Event Log, а не в браузерной консоли XPath.
Что следует проверить
- Сократите путь до одной смены области за раз.
- Используйте пути элементов схемы Event и предикаты вместо общих конструкций XPath.
- Вызовите EvtGetExtendedStatus, чтобы найти отклонённое выражение.
Ссылки
- Microsoft: подмножество XPath журнала событий и поведение результатов
- Microsoft: EvtGetExtendedStatus
- W3C: рекомендация XPath 1.0
Нужно найти другой код? Найти другой код состояния или ошибки.