实体名称必须紧跟在实体引用中

时间:2012-08-14 10:08:52

标签: xml entity xpages

每次打开我的一个xpages时,我都会看到弹出/对话框(见图)。我在源窗格中查找了尝试查找错误但无法找到它并且问题没有列在源窗格或问题eclipse视图中。

xpage正在编译并正常工作,但弹出窗口很烦人。

找到什么是最好的方法的最佳方法是什么?

实体名称必须紧跟“实体参考

中的”

Error

3 个答案:

答案 0 :(得分:2)

这必须是自定义控件中使用的自定义可视化中的错误。我用

试了一下
if( true && true ){
    return "home"
}

并得到了同样的错误。但只有当'在页面加载时计算'时。当我将其更改为“动态计算”时,它工作正常。我想有些东西不喜欢&符号&&。

顺便说一下,它也不喜欢||。

编辑2012-08-30:即使我投入......

return "home" 

并将其设置为“在页面加载时计算”,它会生成错误,并且不会在设计视图中正确呈现自定义控件。

我相信在自定义可视化中显示默认内容的ID或者在这种情况下计算id的代码是造成问题的原因。有人需要处理在页面加载和任何&&和和||如果他们真的觉得有必要在那里展示它,那就在代码中。

答案 1 :(得分:1)

错误通常意味着您已破坏XML。例如&而不是& amp; amp;在一个领域。

尝试从页面中删除元素,看看它是否编译。一旦你在代码后缩小了它。

如果您的网页代码设置为从网络来源读取XML但您返回网页而不是有效的XML,也会发生这种情况。

答案 2 :(得分:0)

我跟踪此错误是由extlib中的动态内容控件引起的。 使用以下代码可以重现错误(注意:您需要安装extlib)。放在computedText中的相同ssjs代码可以工作。

 <?xml version="1.0" encoding="UTF-8"?>
 <xp:view xmlns:xp="http://www.ibm.com/xsp/core"    xmlns:xe="http://www.ibm.com/xsp/coreex">
    <xe:dynamicContent id="dynC" useHash="true">
    <xe:this.defaultFacet><![CDATA[#{javascript:if(n.contains("news") && u.contains(userid)){
return "yes"
}
 }]]></xe:this.defaultFacet>
</xe:dynamicContent>
</xp:view>

对此有什么打击?