1
我有以下的XForms代碼:XForms數據模型不能被保存在XML文件
<?xml-stylesheet href="./xsltforms.xsl" type="text/xsl"?>
<?xsltforms-options debug="yes"?>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events">
<head>
<title>XForms Submit Example</title>
<xf:model id="MyModel">
<xf:instance src="./Model.xml"/>
<xf:bind id="FirstName" nodeset="/MyData/FirstName"/>
<xf:submission id="save" method="put" action="./myData.xml" replace="none" />
<xf:submission id="loadDoc" action="./myData.xml" replace="instance" method="get" />
</xf:model>
</head>
<body>
<xf:input ref="FirstName" incremental="true">
<xf:label>Please enter your first name: </xf:label>
</xf:input>
<br/>
<br/>
Output First Name: <xf:output ref="FirstName" />
<br/>
<br/>
<xf:submit submission="save">
<xf:label>Save</xf:label>
</xf:submit>
<br/>
<br/>
<xf:submit submission="loadDoc">
<xf:label>Load</xf:label>
</xf:submit>
</body>
</html>
此窗體包含一個文本框字段和兩個按鈕save
和load
,也1依賴於文件Model.xml
這是:
<?xml version="1.0" encoding="UTF-8"?>
<MyData>
<FirstName>John</FirstName>
<Data2>Two</Data2>
<Data3>Three</Data3>
</MyData>
的問題是:當我輸入一些數據到文本框中,按下保存按鈕,該模型應保存到myData.xml
。該文件存在於磁盤,它不是隻讀
其實什麼也沒有發生,以及文件的數據將不會被更新(順便說Load按鈕正常工作)。
什麼是此行爲以及如何之所以解決這個問題,進入數據保存到外部文件?
我更喜歡使用相對路徑來避免錯誤的URI,如我可以指定文件:/// d:/MyData.xml或file:/ d:/MyData.xml等 指定的文件名是正確的。而XForms知道該文件存在。如果我指定了類似MyData_.xml的內容,我將在XSLTForms插件的調試模式下收到消息「系統找不到指定的資源」。文件應該存在並且不會被創建是非常奇怪的,不是嗎? – algreat 2013-03-18 13:13:12
寫一個文件是將數據發送到Web服務器完全不同:在瀏覽器中,需要一個Java小程序! 您正在編寫離線應用程序嗎? – 2013-03-18 13:41:40
是,離線應用 – algreat 2013-03-18 14:47:39