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

    >> DTD, XML Schema(XMLS), RELAX NG
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DTD/XML Schema 』 → dtd为什么不进行有效性验证 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 2378 个阅读者  浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: dtd为什么不进行有效性验证 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     codemyth 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:XML.ORG.CN
      注册:2005/3/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给codemyth发送一个短消息 把codemyth加入好友 查看codemyth的个人资料 搜索codemyth在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看codemyth的博客楼主
    发贴心情 dtd为什么不进行有效性验证

    <!-- nmm.dtd-->

    <!ELEMENT project (id_generator,tables,initdatas?)>
    <!ATTLIST project
      name CDATA #REQUIRED
      descript CDATA #REQUIRED
      column_prefix CDATA #IMPLIED
      table_prefix CDATA #IMPLIED>
      
    <!ELEMENT id_generator (#PCDATA)>
    <!ATTLIST id_generator
      table_name CDATA #REQUIRED
      column_id_table CDATA #REQUIRED
      column_current_id CDATA #REQUIRED>
      
    <!ELEMENT tables (table+)>

    <!ELEMENT table (columnlist,fk*)>
    <!ATTLIST table
      name CDATA #REQUIRED
      caption CDATA #IMPLIED>
      
    <!ELEMENT column_list (column+)>

    <!ELEMENT column (#PCDATA)>
    <!ATTLIST column
      name CDATA #REQUIRED
      data_type (varchar|char|integer|bool|numeric|datetime|date) "varchar"  
      data_type CDATA #REQUIRED
      length CDATA #IMPLIED
      precisioin CDATA #IMPLIED
      caption CDATA #IMPLIED
      default_value CDATA #IMPLIED
      default_value (true|false) "false"
      create_index  CDATA #IMPLIED
      create_index  (true|false) "false"
      allow_null CDATA #IMPLIED
      pk CDATA #IMPLIED
      pk (true|false) "false">  

    <!ELEMENT fk (#PCDATA)>  
    <!ATTLIST fk
      column CDATA #REQUIRED
      reference_column CDATA #REQUIRED
      parent_table CDATA #IMPLIED>
      
    <!ELEMENT initdatas (exec_sql*)>

    <!ELEMENT exec_sql (#PCDATA)>
    <!ATTLIST exec_sql
      sql CDATA #REQUIRED>
      
      


    <?xml version="1.0" encoding="gb2312" standalone="no"?>
    <!DOCTYPE project SYSTEM "nmm.dtd">
       <!-- =================================================================== -->
       <!-- Generate ddl                                                        -->
       <!--change history
         2005-3-22 0:03 初稿
         2005-3-22 0:14 添加权限模块基础数据
       -->
       <!-- =================================================================== -->
       
    <!--
     name is the database name ,if it exist then it will be clear.  
     column_prefix,table_prefix will auto added to all the table and column,prevent ur definition has reserved word
    -->
    <project name="exam" descript="考试系统" column_prefix="" table_prefix="cm_">
     <!--
      id_generator is the table that generate unique integer id,it use column_current_id save the maxid and column_id_table as diffrent
      table kind
     -->

     <id_generator table_name="sys_nextid" column_id_table="table_name" column_current_id="current_id"/>
     <!--tables retrive all the table will be in database-->
     <tables> 

      <table name="sys_right" caption="系统权限列表">
          <column_list>
              <column name="id" pk="true" data_type="integer" caption="权限模块编号"/>
              <column name="parent_id" data_type="integer" caption="所属权限模块编号"/>
              <column name="name" data_type="varchar" length="30" caption="权限模块名称"/>
              <column name="is_leaf" data_type="bool" caption="是否最终权限"/>
          </column_list>
          <fk column="parent_id" reference_column="id"/>
      </table>
      
      <table name="sys_group" caption="系统权限组">
          <column_list>
              <column name="id" pk="true" data_type="integer" caption="权限组编号"/>
              <column name="name" create_index="true" data_type="varchar" length="30" caption="权限组名称"/>
          </column_list>
          <fk column="group_id" parent_table="sys_group" reference_column="id"/>
      </table>
      
      <table name="sys_group_right" caption="权限组权限">
          <column_list>
              <column name="group_id" data_type="integer" caption="权限模组编号"/>
              <column name="right_id" data_type="integer" caption="权限模块编号"/>
          </column_list>
          <fk column="group_id" parent_table="sys_group" reference_column="id"/>
          <fk column="right_id" parent_table="sys_right" reference_column="id"/>
      </table>
      
      <table name="sys_user" caption="用户列表">
          <column_list>
              <column name="id" pk="true" data_type="integer" caption="用户编号"/>
              <column name="name" create_index="true" data_type="varchar" length="30" caption="用户姓名"/>
              <column name="userid" create_index="true" data_type="varchar" length="30" caption="用户登录id"/>
              <column name="password" data_type="varchar" length="30" caption="用户登录密码"/>
              <column name="expiredate" data_type="date" caption="用户过期时间"/>
              <column name="group_id" data_type="integer" caption="用户所属权限组"/>
          </column_list>
          <fk column="group_id" parent_table="sys_group" reference_column="id"/>
      </table>
      
      <table name="sys_config" caption="系统参数">
          <column_list>
              <column name="id" pk="true" data_type="integer" caption="流水号"/>
              <column name="param_name" data_type="varchar" length="30" caption="参数名称"/>
              <column name="param_value" data_type="varchar" length="30" caption="参数值"/>
          </column_list>
      </table>
      
      <table name="sys_unit" caption="单位列表">
          <column_list>
              <column name="id"   pk="true" data_type="integer" caption="单位编号"/>
              <column name="parent_id" data_type="integer" caption="上级单位编号"/>
              <column name="name" create_index="true" data_type="varchar" length="100" caption="单位名称"/>
              <column name="addr" data_type="varchar" length="100" caption="单位地址"/>
              <column name="contact" data_type="varchar" length="100" caption="联系方式"/>
              <column name="linkman" data_type="varchar" length="30" caption="联系人"/>
          </column_list>
          <fk column="parent_id" reference_column="id"/>
      </table>

      <table name="sys_code" caption="系统代码">
       <column_list>
        <column name="id" pk="true" data_type="integer" caption="流水号"/>
        <column name="kind" data_type="varchar" length="30" caption="代码类别"/>
        <column name="option" data_type="varchar" length="30" caption="可选项"/>
       </column_list>
      </table>
         
      <table name="quiz" caption="试题">
          <column_list>
              <column name="id" pk="true" create_index="true" data_type="integer" caption="试题编号"/>
              <column name="knowledge" data_type="varchar" length="30" caption="所属知识点" />
              <column name="difficult" data_type="integer" caption="试题难度" />
              <column name="type" data_type="varchar" length="30" caption="试题类型"/>
              <!--如果是填空题,可以插入%blank.20%宏来表示需要填入的位置,系统会根据宏动态生成空缺供考生填写-->
              <column name="question" data_type="varchar" length="300" caption="题干"/>
              <column name="answer" data_type="varchar" length="300" caption="答案"/>
              <column name="reference_score" data_type="integer" caption="参考分值"/>
              <!--如果不是有效,则在生成试卷时将不会包含该题-->
              <column name="is_available" data_type="bool" caption="试题是否有效"/>
          </column_list>
      </table>
      
      <table name="tester" caption="考生">
          <column_list>
              <column name="id" pk="true" data_type="integer" caption="考生编号"/>
              <column name="name" data_type="varchar" length="30" caption="姓名"/>
              <column name="login_id" data_type="varchar" length="30" caption="登录账号"/>
              <column name="password" data_type="varchar" length="30" caption="登录密码"/>
              <column name="unit_id" data_type="integer" caption="所属单位"/>
              <column name="birth" data_type="varchar" length="30" caption="出生年月"/>
              <column name="sex" data_type="varchar" length="30" caption="性别"/>
          </column_list>
          <fk column="unit_id" parent_table="sys_unit" reference_column="id"/>
      </table>
      
      <table name="paper_generate_rule" caption="试卷生成规则">
          <column_list>
              <column name="id" pk="true" data_type="integer" caption="流水号"/>
              <column name="name" data_type="varchar" length="30" caption="规则名称"/>
              <column name="sum_max_difficult" data_type="integer" caption="总体最高难度"/>
              <column name="sum_min_difficult" data_type="integer" caption="总体最低难度"/>
              <column name="min_difficult" data_type="integer" caption="单题最低难度"/>
              <column name="max_difficult" data_type="integer" caption="单题最高难度"/>
              <column name="max_single_selector" data_type="integer" caption="单选题最大数目"/>
              <column name="min_single_selector" data_type="integer" caption="单选题最小数目"/>
              <column name="max_multi_selector" data_type="integer" caption="多选题最大数目"/>
              <column name="min_multi_selector" data_type="integer" caption="多选题最小数目"/>
              <column name="max_judgment" data_type="integer" caption="判断题最大数目"/>
              <column name="min_judgment" data_type="integer" caption="判断题最小数目"/>
              <column name="max_blank" data_type="integer" caption="填空题最大数目"/>
              <column name="min_blank" data_type="integer" caption="填空题最小数目"/>
              <column name="max_subjection" data_type="integer" caption="主观题最大数目"/>
              <column name="min_subjection" data_type="integer" caption="主观题最小数目"/>
          </column_list>
          <fk column="unit_id" parent_table="sys_unit" reference_column="id"/>
      </table>
      
      <table name="test_paper" caption="试卷">
          <column_list>
              <column name="id" pk="true" data_type="integer" caption="试卷流水号"/>
              <column name="name" data_type="varchar" length="50" caption="试卷名称"/>
              <column name="generate_time" data_type="datetime" caption="生成时间"/>
              <column name="generate_man" data_type="varchar" caption="生成人"/>
              <column name="available_time" data_type="datetime" caption="生效时间"/>
              <column name="full_mark" data_type="integer" caption="满分分数"/>
              <column name="pass_score" data_type="integer" caption="及格分数"/>
              <column name="time_limit" data_type="integer" caption="试卷答题时限(分钟)"/>
          </column_list>
      </table>
      
      <table name="paper_quizs" caption="试卷题目">
          <column_list>
              <column name="id" pk="true" data_type="integer" caption="考卷编号"/>
              <column name="paper_id" data_type="integer" caption="试卷流水号"/>
              <column name="quiz_id" data_type="integer" caption="试题编号"/>
              <column name="score" data_type="integer" caption="分值"/>
          </column_list>
          <fk column="paper_id" parent_table="test_paper" reference_column="id"/>
          <fk column="quiz_id" parent_table="quiz" reference_column="id"/>
      </table>
      
      <!--允许参加某考试的考生列表-->
      <table name="submitted_paper" caption="考生答卷">
          <column_list>
              <column name="id" pk="true" data_type="integer" caption="答卷编号"/>
              <column name="paper_id" data_type="integer" caption="试卷流水号"/>
              <column name="tester_id" data_type="integer" caption="考生编号"/>
              <column name="test_time" data_type="integer" caption="考试所用时间"/>
              <column name="final_score" data_type="integer" caption="最后得分"/>
          </column_list>
          <fk column="paper_id" parent_table="test_paper" reference_column="id"/>
          <fk column="tester_id" parent_table="tester" reference_column="id"/>
      </table>
      
      <table name="submitted_answer" caption="考生答案">
          <column_list>
              <column name="submitted_id" data_type="integer" caption="答卷编号"/>
              <column name="quiz_id" data_type="integer" caption="题目编号"/>
              <column name="answer" data_type="varchar" length="300" caption="答案"/>
              <column name="score" data_type="integer" caption="得分"/>
              <column name="taster" data_type="varchar" length="30" caption="审阅人"/>
          </column_list>
          <fk column="submitted_id" parent_table="submitted_paper" reference_column="id"/>
          <fk column="quiz_id" parent_table="quiz" reference_column="id"/>
      </table>
      
     </tables>
     
     <initdatas>
      <exec_sql sql="insert into sys_code(id,kind,option) values(1,'试卷知识点','基础')"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(00,0,'系统',false)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(01,0,'考生',false)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(02,01,'新增考生',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(03,01,'删除考生',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(04,01,'修改考生',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(05,0,'试题库',false)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(06,06,'新增试题',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(07,06,'修改试题',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(08,06,'删除试题',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(09,0,'试卷',false)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(10,9,'生成试卷',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(11,9,'注册考生到考试',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(12,9,'阅卷',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(13,9,'答卷查看',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(14,0,'考生成绩',false)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(15,14,'查看考生成绩',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(16,14,'修正考生成绩',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(17,0,'统计查询',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(18,0,'系统维护',false)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(19,18,'用户管理',false)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(21,19,'修改权限',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(22,19,'添加权限组',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(23,19,'删除权限组',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(24,19,'添加用户',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(25,19,'删除用户',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(26,19,'修改用户',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(27,18,'代码维护',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(28,18,'系统参数维护',true)"/>
      <exec_sql sql="insert into sys_right(id,parent_id,name,is_leaf) values(29,18,'单位信息维护',true)"/>
     </initdatas>                                                               
                                                                                
    </project>                                                                     
                                                                  
        

    上述两个文件放在同一目录,但是xml中并没有按照dtd的语法,如节点的顺序等,dtd并没有执行验证 ,在ie中xml依然能够正常先是,请问何解?


       收藏   分享  
    顶(0)
      





    关闭广告显示
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/22 21:55:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DTD/XML Schema 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/6/22 23:41:07

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

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