Обработка setvalues.xsl

Материал из ISPWiki
Перейти к: навигация, поиск

Шаблон setvalues.xsl обрабатывает пресет значения для формы. cм. пресеты.

В ответ на запрос setvalues.xsl панель формирует xml следующего вида:

<doc stylesheet="setvalues" ...>
  <metadata name="form.setvalue" type="form" mgr="testmgr" decorated="yes">...</metadata>
  <messages name="form.setvalue" checked="yes">...</messages>
  <doc...>...</doc>
    <first_field readonly="yes">second</first_field>
    <third_field>TEXT: second</third_field>
    <second_field>off</second_field>
    <forth_field prefix="user_">20</forth_field>
</doc>

Из всего этого изобилия нас интересуют элементы в корне документа с именами соответсвующие именам элементов формы.

Так же в пресетах могут быть переданы элементы select, мультиселекта:

<doc ...>
  <metadata name="form.setvalue" type="form" mgr="testmgr" decorated="yes">...</metadata>
  <messages name="form.setvalue" checked="yes">...</messages>
  <doc ...>...</doc>
  <select_result>9</select_result>
  <slist name="select_result">
    <val key="0">1st</val>
    <val key="1">2nd</val>
    <val key="2">3rd</val>
  </slist>
</doc>

Так же нода с новым значение поля может иметь атрибут @readonly со значением yes/no. В зависимости от значения нужно делать поле readonly или делать доступным. А атрибут @prefix задает префикс для поля.