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つは、ストリームを2つの複雑なタイプのセグメントに分割し、それを2つの入力フォームに分割して、クライアントに2つのフォームの間に介在するラベルを表示させることです。

しかし、それは問題があります。

  1. UIで表示する必要のある読み取り専用の情報フィールドがかなりあります。スムーズな単一のフォームには、中断が多すぎます。入力フォームは1つだけにするのが最適です。
  2. 一部の読み取り専用フィールドは、エンティティシーケンスの途中に表示されます。これは、そのエンティティのデータベースからjdo(またはjpa)からクライアントへのデータフローを中断することを意味します。

したがって、xmlスキーマで読み取り専用フィールド要素を指定するにはどうすればよいですか?

...そして(ひそかに)隠しフィールドを指定する方法を教えてもらえますか?

4

1 に答える 1

2

XMLスキーマ注釈を使用して、アプリケーションにそのような情報を提供できます。それは厄介ですが、うまくいく可能性があります。次のようなもの:

<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 に答える