在XPage中使用HTML5布尔数据属性

时间:2013-07-23 16:18:44

标签: xpages lotus-domino domino-designer-eclipse

在我的Xpage中尝试使用布尔数据属性(http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#boolean-attribute)时,我收到语法错误。

标记摘录:

<label>
    <span>Layout</span>
    <select class="layout-option m-wrap small">
        <option value="fluid" selected>Fluid</option>
        <option value="boxed">Boxed</option>
    </select>
</label>

导致以下解析错误:

  

与元素类型“option”关联的属性名称“selected”必须后跟“=”字符。

我已将doctype设置为HTML5。 我该如何解决这个错误?

3 个答案:

答案 0 :(得分:1)

您可以在使用计算文本和属性中的最小化选项时执行此操作。

<label>
    <span>Layout</span>
       <select class="layout-option m-wrap small">
        <xp:text escape="true" tagName="option" styleClass="" value="Fluid">
            <xp:this.attrs>
                <xp:attr name="selected" minimized="true" value="" />
            </xp:this.attrs>
       </xp:text>

        <option value="boxed">Boxed</option>
    </select>
</label>

答案 1 :(得分:0)

XPages源必须符合XML,因此HTML5不适合。你没什么选择。

  1. 按照Naveen的建议使用属性中的任何值。
  2. 按照Sven。
  3. 的建议使用自定义渲染属性
  4. computedText控件输出HTML5。
  5. 根据自己的喜好制作自己的component(OSGi,在数据库中)输出SELECT标签。

答案 2 :(得分:0)

对Sven的回答稍作修改就可以了:

<label>
    <span>Layout</span>
    <select class="layout-option m-wrap small">
        <xp:text escape="true" tagName="option" value="Fluid">
            <xp:this.attrs>
                <xp:attr name="value" value="fluid" />
                <xp:attr name="selected" minimized="true" value="" />
            </xp:this.attrs>
        </xp:text>
        <option value="boxed">Boxed</option>
    </select>
</label>

生成HTML:

<label>
    <span>Layout</span>
    <select class="layout-option m-wrap small">
        <option value="fluid" selected>Fluid</option>
        <option value="boxed">Boxed</option>
    </select>
</label>