ステータスを表示するためのドロップダウンがあります。これは、有効(true)または無効(false)にすることができます。これが私のxmlインスタンスです。
<?xml version="1.0" encoding="UTF-8"?>
<page>
<file-name></file-name>
<status></status>
</page>
デフォルトでは、ステータスはtrueである必要があります。そこで、次のようにバインディングを設定しました。
<xforms:bind nodeset="./status" xxforms:default="true()" />
ユーザーがドロップダウンで[無効]を選択すると、ステータスはfalseとして保存されます。フォームを保存すると保存されるxmlは次のとおりです。
<page>
<file-name>StatusDisabled.xml</file-name>
<status>false</false>
</page>
フォームを編集モードで開くと、これはXMLインスペクターウィジェットで取得するxmlです。
<page>
<file-name>StatusDisabled.xml</file-name>
<status>true></status>
</page>
xmlがステータスのfalse値で保存されている場合でも、xxforms:defaultのためにステータスがtrueに設定されます。
どうすればこれを修正できますか?
これがxhtmlです:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xforms="http://www.w3.org/2002/xforms"
xmlns:xxforms="http://orbeon.org/oxf/xml/xforms">
<head>
<title>XForms Default</title>
<xforms:model>
<xforms:instance id="instance">
<page>
<name xmlns=""/>
<status xmlns=""/>
</page>
</xforms:instance>
<xforms:instance id="status-instance">
<items>
<item label="Enabled" value="true" xmlns=""/>
<item label="Disabled" value="false" xmlns=""/>
</items>
</xforms:instance>
<xforms:bind nodeset="instance('instance')">
<xforms:bind nodeset="./status" xxforms:default="true()" />
</xforms:bind>
</xforms:model>
</head>
<body>
<p>
<xforms:input ref="instance('instance')/name" incremental="true">
<xforms:label>Please enter your name:</xforms:label>
</xforms:input>
</p>
<p>
<xforms:select1 ref="instance('instance')/status" appearance="minimal" incremental="true">
<xforms:label>Please select status:</xforms:label>
<xforms:itemset nodeset="instance('status-instance')/item">
<xforms:label ref="./@label"/>
<xforms:value ref="./@value"/>
</xforms:itemset>
</xforms:select1>
</p>
</body>
</html>