JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java & XML、Web Service  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 JAXB 尚未支援 schema xsd:key 的驗證問題
linexpmail

好玩就好



發文: 456
積分: 15
於 2003-08-16 21:49 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
最近設計一個 xml schema 轉 java class 遇到驗證問題,
不知各位是否有更好的做法。

背景:
http://java.sun.com/webservices/docs/1.2/tutorial/doc/JAXBWorks3.html

訂購單的單項 xml 多了 color element,而且這個 color 列為 key 的
field 之一:
1
2
3
4
5
6
7
<item partNum="872-AA">
      <productName>Lawnmower</productName>
      <color>black</color>
      <quantity>1</quantity>
      <USPrice>148.95</USPrice>
      <comment>Confirm this is electric</comment>
</item>

schema 部分:
1
2
3
4
5
<xsd:key name="PK">
        <xsd:selector xpath="po:item"/>
         <xsd:field xpath="po:color"/>
         <xsd:field xpath="@partNum"/>
</xsd:key>

xjc 轉出來會提示忽略 key 的驗證,進一步查閱才知道目前尚未完全
支援 schema 標準:

http://java.sun.com/xml/jaxb/

JSR-31 Java(TM) Architecture for XML Binding Specification 1.0 Final Release
E.2 Not Required XML Schema concepts

1
2
3
4
5
6
7
Schema component: identity-constraint definition (key, keyref, unique)
 
Due to complexities surrounding supporting this feature, specify in a
future version. No JAXB properties are derived from the schema to
enable users of the JAXB technology to access and/or update the key
and keyref attributes. The unique attribute is not required to be
enforced by the JAXB technology validation.

目前為了避免客戶輸入重複 item 品項,只能用 xpath 來驗證,
不知是否有更佳的解決方式?謝謝。
1
//item[@partNum = '872-AA' and color = 'black']


reply to postreply to post
不除妄想不求真
話題樹型展開
人氣 標題 作者 字數 發文時間
3843 JAXB 尚未支援 schema xsd:key 的驗證問題 linexpmail 1344 2003-08-16 21:49
3105 Re:JAXB 尚未支援 schema xsd:key 的驗證問題 saijone 994 2003-08-23 10:35
» JWorld@TW »  Java & XML、Web Service

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8