2

我指的是这里详述的 XML 数据模式:http: //www.w3schools.com/schema/default.asp

当我从数据库中检索数据并将其提交给客户端时,我希望将一些文本字段保留为不可编辑的显示/只读字段。

例如,假设按照以下顺序,

<xsd:element ....
<xsd:element name="employeeName" xsd:type="xsd:string"/>
<xsd:element name="projID" xsd:type="xsd:string" readOnly='true'>
<xsd:element name="hireDate" type="xsd:date"/>
<xsd:element ....
<xsd:element name="today" type="xsd:date" readOnly='true'/>
<xsd:element ....

客户端显示将解释 xsd 流并构造输入表单。当然,标签是假模式标签来说明我需要在表单中间放置一个只读字段。

在上面的例子中,projID 和 today 应该作为只读字段呈现给用户,但是没有 readOnly 这样的模式语法。

我知道如何实现这一点的一种方法是将流分成两个复杂类型的段,然后将其拆分为两个输入表单,并让客户端在两个表单之间显示一个中间标签。

然而,这是有问题的,因为

  1. 我有很多只读信息字段需要通过 ui 呈现。流畅的单一形式会有太多的中断。最好只有一个输入表单。
  2. 一些只读字段出现在实体序列的中间。这意味着中断该实体的数据库到 jdo(或 jpa)到客户端的数据流。

因此,如何在 xml 模式中指定只读字段元素?

...并且(不好意思地)我可以问一下,如何指定隐藏字段?

4

1 回答 1

2

您可以使用XML Schema 注释为您的应用程序提供此类信息。这很尴尬,但它可以工作。类似于以下内容:

<xs:element name="heading" type="xs:string">
    <xs:annotation>
        <xs:appinfo>
            <readOnly>true</readOnly>
        </xs:appinfo>
    </xs:annotation>
 </xs:element>
于 2010-06-17T16:56:05.160 回答