以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  根据XSD文件写XML的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=69628)


--  作者:eidolonoffice
--  发布时间:11/19/2008 6:54:00 PM

--  根据XSD文件写XML的问题
以下是resume.xsd源文件
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsd:element name="起止时间">
  <xsd:complexType>
   <xsd:sequence minOccurs="1" maxOccurs="1">
    <xsd:element name="开始" type="xsd:gYearMonth"/>
    <xsd:element name="结束" type="xsd:gYearMonth"/>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
 <xsd:complexType name="经历类型">
  <xsd:sequence maxOccurs="unbounded">
   <xsd:element ref="起止时间"/>
   <xsd:element name="单位" type="xsd:string"/>
   <xsd:element name="工作" type="xsd:string"/>
   <xsd:element name="职务" type="xsd:string"/>
  </xsd:sequence>
 </xsd:complexType>
 <xsd:complexType name="技能类型">
   <xsd:sequence maxOccurs="unbounded">
    <xsd:element name="特长" type="xsd:string"/>
   </xsd:sequence>
  </xsd:complexType>
 <xsd:element name="电子邮件">
  <xsd:simpleType>
   <xsd:restriction base="xsd:string">
    <xsd:pattern value=".+@.+\..+"/>
   </xsd:restriction>
  </xsd:simpleType>
 </xsd:element>
 <xsd:element name="手机">
  <xsd:simpleType>
   <xsd:restriction base="xsd:integer">
    <xsd:totalDigits value="11"/>
   </xsd:restriction>
  </xsd:simpleType>
 </xsd:element>
 <xsd:element name="邮编">
  <xsd:simpleType>
   <xsd:restriction base="xsd:integer">
    <xsd:totalDigits value="6"/>
   </xsd:restriction>
  </xsd:simpleType>
 </xsd:element>
 <xsd:element name="联系方式">
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element ref="电子邮件"/>
    <xsd:element ref="手机"/>
    <xsd:element name="地址" type="xsd:string"/>
    <xsd:element ref="邮编"/>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
 <xsd:element name="学历">
  <xsd:simpleType>
   <xsd:restriction base="xsd:string">
    <xsd:enumeration value="大专"/>
    <xsd:enumeration value="本科"/>
    <xsd:enumeration value="硕士"/>
    <xsd:enumeration value="博士"/>
   </xsd:restriction>
  </xsd:simpleType>
 </xsd:element>
 <xsd:element name="英语水平">
  <xsd:simpleType>
   <xsd:restriction base="xsd:string">
    <xsd:enumeration value="CET-4"/>
    <xsd:enumeration value="CET-6"/>
    <xsd:enumeration value="无"/>
   </xsd:restriction>
  </xsd:simpleType>
 </xsd:element>
 <xsd:simpleType name="性别类型">
  <xsd:restriction base="xsd:string">
   <xsd:enumeration value="男"/>
   <xsd:enumeration value="女"/>
  </xsd:restriction>
 </xsd:simpleType>
 <xsd:element name="相片">
  <xsd:simpleType>
   <xsd:restriction base="xsd:string">
    <xsd:pattern value="(\d{6}.jpg|\d{6}.gif)"/>
   </xsd:restriction>
  </xsd:simpleType>
 </xsd:element>
 <xsd:element name="学号">
  <xsd:simpleType>
   <xsd:restriction base="xsd:string">
    <xsd:pattern value="\d{10}"/>
   </xsd:restriction>
  </xsd:simpleType>
 </xsd:element>
 <xsd:simpleType name="年龄类型">
  <xsd:restriction base="xsd:integer">
   <xsd:totalDigits value="2"/>
   <xsd:minInclusive value="18"/>
   <xsd:maxInclusive value="50"/>
  </xsd:restriction>
 </xsd:simpleType>
 <xsd:element name="简历">
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element ref="学号"/>
    <xsd:element ref="相片"/>
    <xsd:element name="出生年月" type="xsd:gYearMonth"/>
    <xsd:element name="年龄" type="年龄类型"/>
    <xsd:element ref="联系方式"/>
    <xsd:element name="专业" type="xsd:string"/>
    <xsd:element ref="英语水平"/>
    <xsd:element name="经历" type="经历类型"/>
    <xsd:element name="技能" type="技能类型"/>
   </xsd:sequence>
   <xsd:attribute name="姓名" type="xsd:string"/>
   <xsd:attribute name="性别" type="性别类型"/>
  </xsd:complexType>
 </xsd:element>
</xsd:schema>
要求根据此写符合的XML文件,我写了以下文件
<?xml version="1.0" encoding="UTF-8"?>
<简历 姓名="张三" 性别="男" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="E:\web00\resume.xsd">
 <学号>0000000001</学号>
 <相片>0000001jpg</相片>
 <出生年月>1986-12</出生年月>
 <年龄>22</年龄>
 <联系方式>
  <电子邮件>zhang@sina.com</电子邮件>
  <手机>15582456789</手机>
  <地址>西安市</地址>
  <邮编>710000</邮编>
 </联系方式>
 <专业>计算机</专业>
 <英语水平>CET-4</英语水平>
 <经历>
  <起止时间>
   <开始>2001-12</开始>
   <结束>2002-12</结束>
  </起止时间>
  <单位>大唐电信</单位>
  <工作>程序员</工作>
  <职务>工程师</职务>
 </经历>
 <技能>
  <特长>程序设计</特长>
 </技能>
</简历>
问题:
1、学历怎么表示?因为后面要用程序提取年龄小于30岁且学历为硕士以上的求职者联系方式。
2、如果写多个人员应该怎么写?我尝试这样写
<简历 姓名=a  性别=>
</简历>
<简历 姓名=b  性别=>
</简历>
可是xmllspy总是说我不符合
我是XML的新手,请大家指教!


--  作者:libaiyu
--  发布时间:12/31/2008 2:54:00 PM

--  
怎么连这样的问题都没人回答?
--  作者:libaiyu
--  发布时间:12/31/2008 3:14:00 PM

--  
问题1:我也是初使用,按我个人理解第一个问题要通过和程序交流数据信息那可以通过程序对xml进行修改应该可以。对xml操作的代码网上可是很多的。
问题2:是不是可以另写一个element对该element的引用?当然为了避免名字相同可以重建一个xsd文件了,然后通过命名空间来区别
以上是个人理解,且供参考
--  作者:hexun831012
--  发布时间:12/31/2008 11:40:00 PM

--  
看题目感觉这个问题就像有了表结构如何生成表里的数据一样
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms