访问 Orbeon 的第二个 xforms 实例
遵循有关运行 xforms-with-java-applications< 的 Orbeon 文档/a>, 我在 JBoss 上的 java war 旁边单独部署了 Orbeon 的 war 文件。
我尝试在一个模型中创建 2 个实例,
<xforms:model id="fr-form-model">
<xforms:instance id="don-instance1">
<don>
<laptop>
</laptop>
</don>
</xforms:instance>
<xforms:instance id="don-instance2">
<don2>
<laptop2>
</laptop2>
</don2>
</xforms:instance>
</xforms:model id="fr-form-model">
我似乎无法从访问
<xforms:input ref="instance('don-instance')/don/laptop2">
<xforms:label>Enter a Name:</xforms:label>
</xforms:input>
第一个 xforms 实例访问第二个 xforms 实例,只要我不使用 instance() 函数
<xforms:input ref="/don/laptop">
<xforms:label>Enter a Name:</xforms:label>
</xforms:input>
不知怎的,instance()方法没有按我的预期工作,我缺少什么?
修订后的完整 XML:
<xhtml:html
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:xforms="http://www.w3.org/2002/xforms"
xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fr="http://orbeon.org/oxf/xml/form-runner"
>
<xhtml:head>
<xhtml:title>Simple</xhtml:title>
<xforms:model >
<xforms:instance id="don-instance1">
<don1>
<laptop1>
</laptop1>
</don1>
</xforms:instance>
<xforms:instance id="don-instance2">
<don2>
<laptop2>
</laptop2>
</don2>
</xforms:instance>
<xforms:submission id="submit_metadata" action="../processor.jsp" method="post"/>
</xforms:model>
</xhtml:head>
<xhtml:body>
<xforms:input ref="instance('don-instance1')/don1/laptop1">
<xforms:label class="composers-label">Laptop1: </xforms:label>
<xhtml:br />
</xforms:input>
<xforms:input ref="instance('don-instance2')/don2/laptop2">
<xforms:label class="composers-label">Laptop2: </xforms:label>
<xhtml:br />
</xforms:input>
<xhtml:br />
<xhtml:br />
<xforms:submit submission="submit_metadata">
<xforms:label class="composers-label">Submit</xforms:label>
</xforms:submit>
<xhtml:br />
<fr:xforms-inspector/>
</xhtml:body>
</xhtml:html>
Following Orbeon documentation about running xforms-with-java-applications,
I deployed Orbeon's war file separately beside my java war on JBoss.
I tried creating 2 instances inside one model
<xforms:model id="fr-form-model">
<xforms:instance id="don-instance1">
<don>
<laptop>
</laptop>
</don>
</xforms:instance>
<xforms:instance id="don-instance2">
<don2>
<laptop2>
</laptop2>
</don2>
</xforms:instance>
</xforms:model id="fr-form-model">
I can't seem to access the second xforms instance from the
<xforms:input ref="instance('don-instance')/don/laptop2">
<xforms:label>Enter a Name:</xforms:label>
</xforms:input>
Accessing the first xforms instance is fine, as long as I DON'T use the instance() function
<xforms:input ref="/don/laptop">
<xforms:label>Enter a Name:</xforms:label>
</xforms:input>
Somehow the instance() method isn't working as I expect, What am I missing ?
Revised Complete XML:
<xhtml:html
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:xforms="http://www.w3.org/2002/xforms"
xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fr="http://orbeon.org/oxf/xml/form-runner"
>
<xhtml:head>
<xhtml:title>Simple</xhtml:title>
<xforms:model >
<xforms:instance id="don-instance1">
<don1>
<laptop1>
</laptop1>
</don1>
</xforms:instance>
<xforms:instance id="don-instance2">
<don2>
<laptop2>
</laptop2>
</don2>
</xforms:instance>
<xforms:submission id="submit_metadata" action="../processor.jsp" method="post"/>
</xforms:model>
</xhtml:head>
<xhtml:body>
<xforms:input ref="instance('don-instance1')/don1/laptop1">
<xforms:label class="composers-label">Laptop1: </xforms:label>
<xhtml:br />
</xforms:input>
<xforms:input ref="instance('don-instance2')/don2/laptop2">
<xforms:label class="composers-label">Laptop2: </xforms:label>
<xhtml:br />
</xforms:input>
<xhtml:br />
<xhtml:br />
<xforms:submit submission="submit_metadata">
<xforms:label class="composers-label">Submit</xforms:label>
</xforms:submit>
<xhtml:br />
<fr:xforms-inspector/>
</xhtml:body>
</xhtml:html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据代码,我发现您没有正确引用节点名称。如果你想在第一个实例中访问笔记本电脑节点,那么你的代码应该是这样的:
同样,如果你想在第二个实例中访问节点,它应该是
As per the code, i see that you are not referring the node names properly. If you want to access the laptop node in first instance then your code should be like this:
Same way, if you want to access the node in second instance, it should be