xsltforms 提交方法="post": 未知 XML 根元素

xsltforms submission method="post": Unknown XML root element

我在 exist-db 服务器上使用 XSLTforms,我试图用 method="post" 加载一个文件,但一点运气都没有。这是模型的示例:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xf="http://www.w3.org/2002/xforms">
<head>
    <xf:model>
        <xf:instance xmlns="" id="default">
            <data>
                <x>
                    <a></a>
                    <b></b>
                    <c></c>
                </x>
            </data>
        </xf:instance>
        <xf:submission id="read-from-file" method="post" replace="instance" instance="default">
            <xf:resource value="'../data/test.xml'"></xf:resource>
        </xf:submission>
    </xf:model>
</head>

这是我要提交的 test.xml:

<data>
  <x>
    <a>test</a>
    <b>test</b>
    <c>test</c>
  </x>
</data>

当我触发提交时,出现错误:

xsltforms.js:8115 POST ../data/test.xml 400 (Unknown XML root element: data)

如果改用 "get" 方法,一切都很好,只要文件足够小 - 如果我尝试使用 method="get" 加载更大的文件,最初它会被加载,但是加载一次并尝试重新加载后,出现错误“414(请求 URI 太长)”。我搜索了一个答案,建议是在这种情况下正确的方法是使用 "post"。我是 xforms 的新手,显然我做错了什么,所以我需要帮助才能完成这项工作...... 提前致谢!

在处理提交问题时,使用浏览器调试器检查发送的内容和接收的内容很有趣。

GET 方法显然是用于获取文件内容的方法,而 PUT 和 POST 用于将内容推送到文件中。

默认情况下,默认实例被序列化为GET参数。我认为这是 URI 太长警报的原因。由于您只想获取文件内容,请将 "serialization" 属性设置为 "none" 再试一次好吗?