以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  [求助]请教如下的XML相应的XSD该如何写(已经的答复,多谢yuwei5000)  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=60263)


--  作者:zhentg
--  发布时间:3/22/2008 10:02:00 AM

--  [求助]请教如下的XML相应的XSD该如何写(已经的答复,多谢yuwei5000)
大家好,请教如下的XML相应的XSD该如何写,要求限定pocket节点(maxOccurs="1" minOccurs="1"),entry节点(maxOccurs="unbounded" minOccurs="1")

XML内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="root.xsd">
  <pocket>
    <entry>
      <PDB_ID>test</PDB_ID>
      <POCKET_ID>test</POCKET_ID>
      <LAST_UPDATE>2008-3-20</LAST_UPDATE>
    </entry>
    <entry>
      <PDB_ID>test</PDB_ID>
      <POCKET_ID>test</POCKET_ID>
      <LAST_UPDATE>2008-3-20</LAST_UPDATE>
    </entry>
  </pocket>
</root>

[此贴子已经被作者于2008-3-29 22:04:26编辑过]

--  作者:yuwei5000
--  发布时间:3/27/2008 9:36:00 PM

--  
参考:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
 <xs:element name="pocket" type="pocketType"></xs:element>
  <xs:complexType name="pocketType">
   <xs:sequence>
    <xs:element name="entry" type="entryType" maxOccurs="unbounded"></xs:element>
   </xs:sequence>
  </xs:complexType>
  <xs:complexType name="entryType">
   <xs:sequence>
    <xs:element name="PDB_ID" type="xs:string"></xs:element>
    <xs:element name="POCKET_ID" type="xs:string"></xs:element>
    <xs:element name="LAST_UPDATE" type="xs:date"></xs:element>
   </xs:sequence>
  </xs:complexType>
</xs:schema>

具体的有什么要限制的,在加上去就可以了!


--  作者:zhentg
--  发布时间:3/28/2008 9:17:00 AM

--  谢谢答复
以下是引用yuwei5000在2008-3-27 21:36:00的发言:
参考:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="pocket" type="pocketType"></xs:element>
   <xs:complexType name="pocketType">
    <xs:sequence>
     <xs:element name="entry" type="entryType" maxOccurs="unbounded"></xs:element>
    </xs:sequence>
   </xs:complexType>
   <xs:complexType name="entryType">
    <xs:sequence>
     <xs:element name="PDB_ID" type="xs:string"></xs:element>
     <xs:element name="POCKET_ID" type="xs:string"></xs:element>
     <xs:element name="LAST_UPDATE" type="xs:date"></xs:element>
    </xs:sequence>
   </xs:complexType>
</xs:schema>

具体的有什么要限制的,在加上去就可以了!



谢谢回复,你给的xsd层次很清晰。请问,为什么一定要将entry元素作为sequence的一个子元素呢?这是xsd的规范吗?
--  作者:yuwei5000
--  发布时间:3/29/2008 7:27:00 PM

--  
参考:xml文档是一个层次模型
sequence 本身的意思是顺序。
--  作者:zhentg
--  发布时间:3/29/2008 9:43:00 PM

--  
以下是引用yuwei5000在2008-3-29 19:27:00的发言:
参考:xml文档是一个层次模型
sequence 本身的意思是顺序。


谢谢回复,我的弄不明白的是,pocket节点中只有一种子节点,即entry,干吗还要用sequence来包含entry呢?
可能我对sequence的含义还不够明白吧。
请在解答中提供相关知识点链接,谢谢了。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
6,335.938ms