新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 关于 XML 的一般性技术讨论,提供 XML入门资料 和 XML教程
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML基础 』 → [求助]xsd一段验证问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 3334 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]xsd一段验证问题 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     dragonxml 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:12
      积分:102
      门派:XML.ORG.CN
      注册:2006/8/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给dragonxml发送一个短消息 把dragonxml加入好友 查看dragonxml的个人资料 搜索dragonxml在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看dragonxml的博客楼主
    发贴心情 [求助]xsd一段验证问题

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Vladislav Gavrielov (Altova) -->
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
     <!--总验证-->
     <xs:element name="expense-report">
      <xs:annotation>
       <xs:documentation>expense-report is the root element.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
       <xs:sequence>
        <!--验证person-->
        <xs:element name="Person">
         <xs:complexType>
          <xs:sequence>
           <xs:element name="First">
            <xs:simpleType>
             <xs:restriction base="xs:string">
              <xs:minLength value="1"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:element>
           <xs:element name="Last">
            <xs:simpleType>
             <xs:restriction base="xs:string">
              <xs:minLength value="1"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:element>
           <xs:element name="Title" type="xs:string"/>
           <xs:element name="Phone">
            <xs:simpleType>
             <xs:restriction base="xs:string">
              <xs:pattern value="[0-9 \-]*"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:element>
           <xs:element name="Email" type="emailType"/>
          </xs:sequence>
         </xs:complexType>
        </xs:element>
        <!--/验证person-->
        <xs:element ref="expense-item" maxOccurs="unbounded"/>
        <!--ref127line-->
        <!--引用expense-item(expense-item在下面验证) -->
       </xs:sequence>
       <xs:attribute name="detailed" type="xs:boolean" use="required"/>
       <xs:attribute name="currency" use="required">
        <xs:simpleType>
         <xs:restriction base="xs:string">
          <xs:enumeration value="USD"/>
          <xs:enumeration value="Euro"/>
          <xs:enumeration value="JPY"/>
         </xs:restriction>
        </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="total-sum" type="xs:decimal" use="required"/>
       <!--top-->
      </xs:complexType>
     </xs:element>
     <!--**********************************************************-->
    从这开始
     <!--/总验证-->
     <xs:element name="expense" type="xs:decimal"/>
     <!--expense-item中expense验证-->
     <xs:complexType name="TextType" mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
       <xs:element ref="strong"/>
       <xs:element ref="italic"/>
      </xs:choice>
      <!--??????????????????????-->
     </xs:complexType>
     <xs:element name="description" type="TextType"/>
     <!--expense-item中description验证-->
     <!--/expense-item-->
     <xs:element name="Travel">
      <xs:complexType>
       <xs:sequence>
        <xs:element name="Destination" type="xs:string"/>
        <xs:element name="Mileage" type="xs:decimal" minOccurs="0"/>
       </xs:sequence>
       <xs:attribute name="means">
        <xs:simpleType>
         <xs:restriction base="xs:string">
          <xs:enumeration value="Taxi"/>
          <xs:enumeration value="CharterAir"/>
          <xs:enumeration value="Airline"/>
          <xs:enumeration value="Limo"/>
          <xs:enumeration value="CharterSea"/>
          <xs:enumeration value="Rail"/>
          <xs:enumeration value="CharterLand"/>
          <xs:enumeration value="Bus"/>
         </xs:restriction>
        </xs:simpleType>
       </xs:attribute>
      </xs:complexType>
     </xs:element>
     <xs:element name="Meal">
      <xs:complexType>
       <xs:sequence>
        <xs:element name="Name" type="xs:string" minOccurs="0"/>
        <xs:element ref="Location"/>
       </xs:sequence>
       <xs:attribute name="mealtype">
        <xs:simpleType>
         <xs:restriction base="xs:string">
          <xs:enumeration value="dinner"/>
          <xs:enumeration value="breakfast"/>
          <xs:enumeration value="lunch"/>
          <xs:enumeration value="other"/>
         </xs:restriction>
        </xs:simpleType>
       </xs:attribute>
      </xs:complexType>
     </xs:element>
     <xs:element name="Parking">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="Location"/>
       </xs:sequence>
      </xs:complexType>
     </xs:element>
     <xs:element name="Date" type="xs:date"/>
     <xs:simpleType name="emailType">
      <xs:restriction base="xs:string">
       <xs:pattern value="[\p{L}_-]+(\.[\p{L}_-]+)*@[\p{L}_]+(\.[\p{L}_]+)+"/>
      </xs:restriction>
     </xs:simpleType>
    到这结束
     <!--**********************************************************-->
     <!--验证expense-item-->
     <xs:element name="expense-item">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="Date"/>
        <xs:element ref="expense"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element ref="Meal"/>
         <xs:element name="Lodging">
          <xs:complexType>
           <xs:sequence>
            <xs:element name="Name" type="xs:string" minOccurs="0"/>
            <xs:element ref="Location"/>
           </xs:sequence>
          </xs:complexType>
         </xs:element>
         <xs:element ref="Travel"/>
         <xs:element ref="Parking"/>
         <xs:element name="Entertainment">
          <xs:complexType>
           <xs:sequence>
            <xs:element name="Client-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
           </xs:sequence>
          </xs:complexType>
         </xs:element>
         <xs:element name="Misc">
          <xs:complexType>
           <xs:attribute name="misctype">
            <xs:simpleType>
             <xs:restriction base="xs:string">
              <xs:enumeration value="TeamBuilding"/>
              <xs:enumeration value="Tips"/>
              <xs:enumeration value="Fines"/>
              <xs:enumeration value="Rental"/>
              <xs:enumeration value="EverythingElse"/>
              <xs:enumeration value="Tolls"/>
              <xs:enumeration value="Telephone"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:attribute>
          </xs:complexType>
         </xs:element>
        </xs:choice>
        <xs:element ref="description" minOccurs="0"/>
       </xs:sequence>
       <xs:attribute name="type" use="required">
        <xs:simpleType>
         <xs:restriction base="xs:string">
          <xs:enumeration value="Meal"/>
          <xs:enumeration value="Lodging"/>
          <xs:enumeration value="Travel"/>
          <xs:enumeration value="Parking"/>
          <xs:enumeration value="Entertainment"/>
          <xs:enumeration value="Misc"/>
         </xs:restriction>
        </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="expto" use="required">
        <xs:simpleType>
         <xs:restriction base="xs:string">
          <xs:enumeration value="Development"/>
          <xs:enumeration value="Marketing"/>
          <xs:enumeration value="Accounting"/>
          <xs:enumeration value="Sales"/>
          <xs:enumeration value="Operations"/>
          <xs:enumeration value="Support"/>
          <xs:enumeration value="IT"/>
         </xs:restriction>
        </xs:simpleType>
       </xs:attribute>
       <!--type验证 type-->
       <!--/type验证-->
       <!--expto验证 expense to-->
       <!--expto验证-->
       <!--expense-item说明-->
       <!--/-->
       <!--page type xml定义-->
       <!--/page type-->
      </xs:complexType>
     </xs:element>
     <!--/验证expense-item-->
     <xs:element name="Location" type="xs:string"/>
     <xs:element name="strong" type="TextType"/>
     <xs:element name="italic" type="TextType"/>
    </xs:schema>
    xml文件内容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Vladislav Gavrielov (Altova) -->
    <?altova_sps ExpReport.sps?>
    <expense-report xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ExpReport.xsd" currency="USD" detailed="false" total-sum="556.9">
     <Person>
      <First>Fred</First>
      <Last>Landis</Last>
      <Title>Project Manager</Title>
      <Phone>123-456-7890</Phone>
      <Email>f.landis@nanonull.com</Email>
     </Person>
     <expense-item type="Lodging" expto="Sales">
      <Date>2003-01-01</Date>
      <expense>122.11</expense>
     </expense-item>
     <expense-item type="Lodging" expto="Development">
      <Date>2003-01-02</Date>
      <expense>122.12</expense>
      <description>Played penny arcade</description>
     </expense-item>
     <expense-item type="Lodging" expto="Marketing">
      <Date>2003-01-02</Date>
      <expense>299.45</expense>
      <description>Treated Clients</description>
     </expense-item>
     <expense-item type="Entertainment" expto="Development">
      <Date>2003-01-02</Date>
      <expense>13.22</expense>
      <Misc misctype="TeamBuilding"/>
      <description>Bought signed &quot;XMLSPY Handbook&quot; from Larry Kim</description>
     </expense-item>
    </expense-report>

    [此贴子已经被作者于2008-6-14 21:19:56编辑过]

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/6/14 20:49:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML基础 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/23 14:59:42

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    3,125.000ms