LookupNamespaceURI-Al go из спецификации приводит к ошибке рекурсии - PullRequest
0 голосов
/ 07 мая 2020

Я реализовал lookupNamespace для своего dom, но он продолжает выдавать ошибки, когда я ищу несуществующее пространство имен, потому что стек вызовов заполнен. Псевдокод для al go можно найти в specs .

Причина, по которой он вызывает себя рекурсивно, заключается в том, что он проходит вверх по дереву dom во время поиска пространства имен и когда оно попадает в узел документа, вызов передается в documentElement - и оттуда он снова переходит к документу (закрывая круг). *

1 Ответ

1 голос
/ 15 июня 2020

Нет причин, по которым go снова возвращается к document. Возможно, вам не хватает того, что documentElement является Element?

  • , если у него есть ненулевое пространство имен и префикс , который соответствует prefix таким образом, он вернет это пространство имен.
  • если у него есть атрибут xmlns:prefix, который соответствует prefix, он вернет значение этого атрибута.
  • если prefix равно null и элемент имеет атрибут xmlns, он затем вернет значение этого атрибута.
  • , если ни одно из предыдущих не было истинным, он вернет null, поскольку у него нет элемента-предка.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...