parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ошибка в классе xdoc?

Sumo 21.11.2004 23:57 / 22.11.2004 00:00

Обнаружил несколько странное, на мой взгляд, поведение конструкторов класса xdoc. [Parser 3.1.3]

Код:
   $doc[^xdoc::create[<?xml version="1.0" encoding="windows-1251"?>
      <document>
        <time>12:35:12 MSK</time>
      </document>
   ]]
вызывает ошибку
DOMException NAMESPACE_ERR (14).
Эксперименты показали, что не нравятся ему двоеточия.

А вот если переписать этот код в виде:
@main[]
  $d[^xdoc::load[parser://xml]]

@xml[]
<?xml version="1.0" encoding="windows-1251"?>
<document>
  <time>12:35:12 MSK</time>
</document>
то все отрабатывает нормально.

Логику происходящего я так и не понял.

p.s. Можно ли поменять поведение ^xdoc::load[parser://метод/параметр], чтобы можно было вызывать метод не из класса MAIN (что, между прочим, в документации не указано), а из текущего контекста, например, из текущего класса. Вариант синтаксиса ^xdoc::load[parser://self.метод/параметр].