p:variable:: Что означает затенение и можно ли переназначить новое значение ранее объявленной p: variable
Я еще не пробовал.
Можем ли мы обновить значение p:variable где-либо еще в конвейере, т.е. после его действительного объявления в начале какого-либо шага? Если нет, то почему? Также, каков наилучший способ сделать это, если мне действительно нужно это сделать или хотя бы смоделировать.
1 ответ
Я отправил ваш вопрос в список рассылки xproc-dev. Видимо, рекомендация, похоже, противоречит сама себе. В разделе 5.7 ( http://www.w3.org/TR/xproc/) совершенно ясно сказано, что теневое копирование должно быть разрешено в определенных условиях. Но в разделе 3.2 ( http://www.w3.org/TR/xproc/) говорится, что повторное использование одного и того же имени переменной в области видимости является ошибкой. Было достигнуто согласие, что в принципе это должно работать:
<p:variable name="myvar" select="1"/>
<p:group>
<p:variable name="myvar" select="2"/>
Однако XMLCalabash (0.9.40) задыхается от этого. Вы можете попробовать Calumet или другие процессоры, хотя..