1

xformチェックボックスを表示するのに問題があるようですが、代わりにテキスト領域が表示されています。他のすべてのアイテムは正常に動作していますが、これを動作させることができないようです。

これは私のモデル内のコードです:

<takeMoneyOff type="xs:boolean"/>

// close the my structure
// close the instance

<xf:bind id="takeMoneyOff" nodeset="/xForm/takeMoneyOff"/>

// close the model

そして、これがすべて表示のために参照しているアイテムは次のとおりです。

<xf:input ref="takeMoneyOff" class="takeMoneyOffClass">
    <xf:label>Take Money Off? </xf:label>
</xf:input>
4

2 に答える 2

2

ターゲットにしている XForms 実装については言及していませんが、それが完全に準拠していると仮定すると、2 つのオプションがあります。

  1. サンプル コードが示すように、インスタンス データで型を指定する場合は、type 属性が XML スキーマ インスタンスの名前空間にある必要があります。したがって、名前空間プレフィックスを宣言した場合xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"、インスタンス データは次のようになる必要があります。

    <takeMoneyOff xsi:type="xs:boolean" />
    
  2. または、インスタンス データが外部ソースから取得され、それを制御できない場合は、代わりに bind 要素自体に type 属性を配置できます (この場合、xsi 名前空間にあるべきではありません)。

    <xf:bind id="takeMoneyOff" nodeset="/xForm/takeMoneyOff" type="xs:boolean" />
    
于 2009-12-08T11:45:26.540 に答える
2

<xforms:select>値または空白を格納する を使用することもできます。

<xf:select ref="takeMoneyOff" class="takeMoneyOffClass">
    <xf:label>Take Money Off? </xf:label>
    <xf:item>
        <xf:label>Yes</xf:label>
        <xf:value>true</xf:value>
    </xf:item>
</xf:select1>

適切なバインドを使用すると、空白が表示されたときに「false」を格納することもできます。

<xf:bind id="takeMoneyOff" nodeset="/xForm/takeMoneyOff"
         calculate="choose(. = 'true', ., 'false')"
         readonly="false()"/>
于 2009-12-13T02:52:08.713 に答える