Преобразование даты в xforms - PullRequest
1 голос
/ 09 марта 2011

У меня есть следующий экземпляр данных, у которого узел даты (транзакция-дата) привязан к средству выбора даты (вход).

По умолчанию хранится дата в формате CCYY-MM-DD. Я хотел бы иметь другой узел (временная транзакция-дата), который будет обновлен в формате MMM / DD / CCYY в событии xforms-value-change.

  <xforms:instance id="form-instance">
      <attributes>
         <transaction-date></transaction-date>
         <temp-transaction-date></temp-transaction-date>
      </attributes>
  </xforms:instance>


  <xforms:bind id="transaction-date" nodeset="instance('form-instance')/transaction-date" type="xforms:date" />



  <td>
     <xforms:input bind="transaction-date">
        <xforms:action ev:event="xforms-value-changed">
            <xforms:setvalue ref="instance('form-instance')/temp-transaction-date" value="?"/>
        </xforms:action>
     </xforms:input>
  </td>

Пожалуйста, дайте мне знать, как я могу установить значение в формате март / 09/2011 или есть альтернативный способ добиться того же.

1 Ответ

0 голосов
/ 11 марта 2011

Вы можете сделать это с помощью <xforms:bind calculate="…"> и функции format-date():

<xforms:bind nodeset="temp-transaction-date"
    calculate="format-date(../transaction-date), '[MNn,*-3]/[D01]/[Y]')"/>
...