-- 作者:codemyth
-- 发布时间:3/22/2005 9:55:00 PM
-- 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依然能够正常先是,请问何解?
|