2010-06-15 19 views
2

我指的是XML數據模式,詳見此處:http://www.w3schools.com/schema/default.asp如何在XML數據模式中指定只讀文本或標籤

當我從數據庫檢索數據並將其提交給客戶端時,我希望保留作爲不可編輯的顯示/只讀字段的文本字段。

例如,假設在下面的序列中,

<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模式中指定只讀字段元素?

...和(怯怯地)我可能會問,如何指定的隱藏字段?

回答

2

您可以使用XML Schema annotations爲您的應用程序提供此類信息。這很尷尬,但它可以工作。 沿線的一些東西:

<xs:element name="heading" type="xs:string"> 
    <xs:annotation> 
     <xs:appinfo> 
      <readOnly>true</readOnly> 
     </xs:appinfo> 
    </xs:annotation> 
</xs:element> 
相關問題