《XML技术与应用》公选课考试要求.docx
- 文档编号:6336704
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:25
- 大小:45.14KB
《XML技术与应用》公选课考试要求.docx
《《XML技术与应用》公选课考试要求.docx》由会员分享,可在线阅读,更多相关《《XML技术与应用》公选课考试要求.docx(25页珍藏版)》请在冰豆网上搜索。
《XML技术与应用》公选课考试要求
《XML技术与应用》
复习要点与考试要求
全校公选课:
3*12=36学时2学分
总评成绩=平时作业40%+书面开卷考试60%=100分
递交作业的截止日期——考前
考试时间:
2011年5月17日(周二)晚6:
40~8:
40
考试地点:
东校区教学楼C402
考试形式:
开卷笔试(必须带校园卡或学生证、禁止带电脑和任何通讯设备)
考试要求:
●重点(命中率70%左右)——红色下划线
●次重点(命中率50%左右)——绿色斜体
●一般(命中率20%左右)——黑色
●不作要求(命中率5%左右)——未写出(已经讲过的内容)
复习重点:
●必做作业
●HTML与JavaScript
●DTD、XSD、XSLT、XPath
●DOM及其JavaScript编程
●HTML5
题型:
填空(15题*2分/题=30分)、问答(6题*5分/题=30分)、编码(4题*10分/题=40分)
(说明:
下面的“概念”包含:
英文缩写、英文原文、中文译文、定义与功能等内容)
第1章概述
●W3C的概念(W3C是英文WorldWideWebConsortium的缩写,中文意思是W3C理事会或万维网联盟。
)
●万维网的三个协议(URL、HTTP和HTML)
●URL和HTTP的概念(统一资源定位符(URL,英语Uniform/UniversalResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址(Address)。
HTTP是超文本传输协议,是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。
)
ML的概念(用标记描述结构化数据,并具有严格语法规则的一类形式语言)与用处(描述数据、定义格式、设置处理、规定通信语义等)(标记语言(ML=MarkupLanguage)——用标记描述结构化数据,并具有严格的语法规则的形式语言。
用处——标记语言可用于定义:
●文本格式与处理
●通信语义
●数据库字段的含义与关系
●多媒体数据源
●)
●标记语言的发展图示
应用
发展
SGML(1986)HTML(1990)XHTML(2000)
子集
应用
XML(1998)
MathML/CML/SMIL/SVG/OEB/ebXML
WML/VoiceXML/X3D/XAML/…
●SGML的概念与主要特点(概念:
SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言,ISO/ANSI/ECMA的一个标准,一种用来注释文本文档,提供文档片断的类型信息的规范。
),是一种定义电子文档结构和描述其内容的国际标准语言,是所有电子文档标记语言的起源,早在Web发明之前SGML就已存在。
)(元语言、太复杂)
●DTD的概念(DocumentTypeDefinition,文档类型定义,用于定义应用文档的具体规范)
HTML的概念(HTML=HyperTextMarkupLanguage超文本标记语言,是书写Web文档的一套语法规范,由TimBerners-Lee与DamielW.Connolly于1990年设计。
)
●HTML的特点(SGML的应用与简化、用标签描述网页文档的内容与格式、支持超链接和C/S交互、基于HTTP与平台无关)
●HTML的版本(最初0.9[1990]、最新4.01[1999.12]、草案5.0[2014])
●XHTML的版本(1.0[2000]与HTML4等价、1.1[2001]模块化与HTML4不兼容、草案2.0[2009.7中止]与HTML4不兼容被HTML5打败)
●XML的概念(XML(eXtensibleMarkupLanguage,可扩展标记语言)是W3C于1998年推出的一种用于数据描述的元标记语言的国际标准。
)
●HTML的缺点(内容被形式掩盖、不易扩展造成浏览器不兼容、由于对CSS的支持不够使得内容与外观的分离不彻底)
●XML的主要特点(SGML的子集、元语言、易扩展、形式与内容分离、结构化、自描述、应用广泛)
●XML的用处(描述数据)和主要应用领域(网页、数据库、数据交换、分布式计算)
●XML与传统描述数据方法的区别(传统/XML:
二进制/基于文本、私有/公开、专用/通用、规范保密/自我描述、非标准/国际标准、占空间少/大、处理速度快/慢)
●XML应用的分类(以文档[非结构化数据]为中心[如网页]、以[结构化]数据为中心[如数据库])
●XML(DTD)的版本(1.0[1998.2]、1.0第五版[2008.11]、1.1[2004/2006])
●XML1.0与1.1的主要区别(对元素和属性名称所采用的字符集[的限制范围及标准的版本]有所不同)
●XML标准系列的分组(核心——Infoset/DTD/XSD/Namespace、展现与转换——CSS/XSL[XSLT+FO]、定位/链接与查询——XPath/XPointer/XLink/XBase/XQuery、接口——DOM/SAX/JDOM)与功用
●作业:
实现学生信息的HTML与XML例。
第2章HTML与JavaScript
元素与标签的概念(1、元素(element)指文档的各种成分(如头、标题、段落、表格、列表、斜体、上标等),元素的类型、属性和范围用标签来标识、设置和界定。
2、标签(tag,标记/标识/标注)是用来描述文档内容的类型、组成与格式化信息的(ASCII可打印)字符串。
标签用于标识元素的类型、设置元素的属性,并界定元素内容的开始与结束。
)
●标签在元素中的作用(标识元素的类型、设置元素的属性、界定元素内容的范围)
非空元素与空元素的定义与格式(空元素=空标签、非空元素=开始标签+元素内容+结束标签)(非空元素=含有内容的元素。
非空标签=标识非空元素的标签,即含有元素内容的标签。
格式:
非空元素=开始标签元素内容结束标签
开始标签=<标签名[属性名[="属性值”]]…>,标识元素的开始
结束标签=标签名>,标识元素的结束
即:
非空元素=<标签名[属性名[="属性值”]]…>元素内容标签名>
其中:
[]表示可选,标签名=元素名,属性值可为数字、符号常量和字符串等)
●HTML4.0的三种DTD(严格、过渡/宽松、框架集)
●转义字符(&实体名; )与白空符(连续多个白空符会被一个空格符代替)
●HTML元素(91个)的分类(流元素:
块元素、行内元素)
●HTML元素的常用属性及其分组(常用、核心、语言方向、事件响应)
●HTML的文档结构与标签(树[元素可嵌套不能交叉]、根元素html、顶层子元素head、body/frameset、注释)
●//常用元素与标签及其常用属性,它们的语法与使用(title、a、img、p、h1~h6、br、font、hr、pre、b、i、u、sup、sub)
●//主要的列表元素(ul、ol、li)与表格元素(table、caption、col、tr、th、td)及其常用属性的使用
●//主要表单元素的使用(form、input、select、option)
●框架集元素的使用(frameset、frame)
●会按要求设计一些基本网页的HTML文档
JavaScript的概念与技术特色,主要优缺点(概念:
JavaScript是一种嵌入HTML文档中的基于对象的Web客户端脚本语言,用于创建在线应用程序,以产生交互式动态网页。
技术特色:
嵌入HTML文档中的JavaScript源代码,实际上是作为网页的一部分而存在的。
需要支持JavaScript的浏览器来对网页内容进行分析、识别、解释,并执行JavaScript脚本。
JavaScript为网页设计提供了极大的灵活性和控制手段,能将网页中的文本、图形、声音、动画等各种媒体形式捆绑成一个结合紧密的信息源。
●JavaScript的主要优点有:
⏹在客户端完成动态交互和自动验证,减少了网络和服务器的负担(比较CGI)
⏹可方便地操纵各种浏览器对象,控制浏览器的外观、状态、甚至运行方式,可根据用户需要”定制”浏览器,使网页更加友好
⏹可在客户端完成多种任务,而不需要网络和服务器的参与,从而支持分布式计算和处理
●JavaScript的主要缺点有:
⏹各种浏览器对JavaScript的支持程度不一样,JavaScript脚本的运行效果存在差异
⏹为了保证Web的安全性,JavaScript牺牲了访问本地文件系统的功能
)
⏹JavaScript基本语法中与C++的主要不同之处(变量[无类型、自动转换、可不预先定义、须先赋值后使用//与C/C++/Java的变量(需要先定义后使用、有严格类型限制、只有数字类型可以自动提升转换)不同,JavaScript不需要预先定义、也无类型限制、任意类型间可以互相转换(以表达式最左项的类型为准),但必须先赋值后使用。
]、类型转换(在比较运算前,先进行自动类型转换)、串加法(字符串用+进行连接、用+=进行连接赋值)、for-in(新增for-in语句:
for(变量in对象或数组){…}
⏹)循环(break和continue后面可以带语句标号(~Java))、恒等比较(===(三个等号):
只有在两边类型一致,且值也相等时,才为true
⏹!
==(一个感叹号两个等号):
在类型不同、或类型相同但值不等时,都为true
)、函数定义(必须使用function关键字函数无返回值类型由return语句中的表达式决定返回值类型,若没有执行return语句,则返回undefined值
●))
为什么JavaScript是基于对象的,而不是面向对象的(JavaScript并不是一种功能完整的面向对象(object-oriented)语言,它不支持类、继承和封装,而只是一种基于对象(object-based)的语言。
作为脚本语言的JavaScript,其目的只是提供对浏览器及服务器对象的灵活控制、从而快速方便地生成网页中的各种对象、并控制这些对象的行为,而不是一种完整的程序设计语言。
对象包括数据和对数据的操作,在JavaScript中,称对象中的数据为属性(在C++/Java中叫数据成员/成员变量)、称操作数据的函数为方法(在C++中叫成员函数)。
只不过JavaScript中,属性和方法并没有封装在对象中,而只是被关联在一起.)
●JavaScript对象的分类(浏览器对象、内置对象、服务器对象与自定义对象)
常见的内置对象及其使用(String、Math、Date、Array)(Date:
Date为动态对象,只有在实例化后才能使用(静态方法除外)。
时间的测量都是从1970.1.1.0:
0:
0UTC(Universaltimecoordinated协调世界时)算起的毫秒数,Date对象的取值范围为-108~108天(1天=86,400,000毫秒),相当于1970±273,972年。
●构造方法
⏹newDate():
构造包含当前时间的对象。
⏹newDate(milliseconds):
构造包含指定时间为milliseconds(从1970.1.1.0:
0:
0算起的毫秒数)的对象
⏹newDate(dateString):
构造包含指定时间为dateString的对象。
◆dateString的格式为:
月份日期,年份[时:
分:
秒]
或(因特网GMT约定格式):
星期,日期月份年份[时:
分:
秒[GMT[±hhff时区]]]
其中,括号中的时间可省(全设为0),没有写GMT和时区的为当地时间。
如:
Aug9,1995、Dec31,20039:
45、Jan4,30048
Mon,25Dec199513:
30:
00GMT+0430
GTM(GreenwichMeanTime格林尼治标准时间)=UTC
⏹newDate(yr_num,mo_num,day_num[,hr_num,min_num,sec_num,ms_num]):
构造包含由指定时间为yr_num年mo_num月day_num日[hr_num时min_num分sec_num秒ms_num毫秒]的对象。
如:
testTime=newDate(2004,1,14,8,30);//2004年1月14日8时30分
●静态方法:
(可以不创建实例,直接用Date对象引用)
⏹Date.parse(dateString):
将”年月日时分秒”格式的时间串dateString转换为(从1970.1.1.0:
0:
0算起的)毫秒数。
⏹Date.UTC(year,month[,day[,hrs[,min[,sec[,ms]]]]]):
将指定时间转换为(从1970.1.1.0:
0:
0算起的)毫秒数。
●获取方法:
⏹getYear():
获得对象时间中相对于1900年的年数(已是被反对的,应该被getFullYear方法代替),例如:
Xmas=newDate("December25,200023:
15:
00")year=Xmas.getYear()//returns100
Xmas=newDate("December25,180023:
15:
00")year=Xmas.getYear()//returns-100
⏹getFullYear():
获得对象时间中的年份,如上两例分别得2000与1800。
⏹getMonth():
获得对象时间中的月份值-1,值范围:
0~11。
⏹getDate():
获得对象时间中的日期,值范围:
1~31。
⏹getDay():
获得对象时间中的星期值,值范围:
0~6,对应于Sun~Sat。
⏹getHours():
获得对象时间中的时值,值范围:
0~23。
⏹getMinutes():
获得对象时间中的分值,值范围:
0~59。
⏹getSeconds():
获得对象时间中的秒值,值范围:
0~59。
⏹getMilliseconds():
获得对象时间中的毫秒值,值范围:
0~999。
对应于获得Date对象中当地时间之完整年~毫秒的方法get*,都有对应的获得世界时之完整年~毫秒的方法getUTC*,如getUTCFullYear()、getUTCSeconds()等。
⏹getTime():
获得对象时间(从1970.1.1.0:
0:
0算起的毫秒数)。
⏹getTimezoneOffset():
获得对象时间中以分钟计算的时区偏移值。
例子:
now=newDate();
exam=newDate("Jan14,2004");
spring=newDate("Jan22,2004");
msPerDay=24*60*60*1000;
examLeft=(exam.getTime()-now.getTime())/msPerDay;
springLeft=(spring.getTime()-now.getTime())/msPerDay;
document.write("离考试还剩不到"+Math.ceil(examLeft)+"天时间了!
");
document.write("离春节还剩不到"+Math.ceil(springLeft)+"天时间了!
");
●设置方法:
⏹setYear(yearValue):
yearValue为相对于1900年的年数(已是被反对的,应该被setFullYear方法代替)
⏹setFullYear(yearValue[,monthValue[,dayValue]])
⏹setMonth(monthValue[,dayValue]):
monthValue=0~11,若>11,则年+1、月%12。
⏹setDate(dayValue):
dayValue=1~31
⏹setHours(hoursValue[,minutesValue[,secondsValue[,msValue]]]):
hoursValue=0~23。
⏹setMinutes(minutesValue[,secondsValue[,msValue]]):
minutesValue=0~59。
⏹setMilliseconds(millisecondsValue):
millisecondsValue=0~999。
⏹setTime(timevalue):
timevalue为从1970.1.1.0:
0:
0算起的毫秒数。
与获取方法类似,对应于设置Date对象中当地时间之完整年~毫秒的方法set*,都有对应的设置世界时之完整年~毫秒的方法setUTC*,如setUTCFullYear、setUTCSeconds等。
●转换方法:
⏹toString():
将对象中的时间转换为对应的字符串,可以替代Object.toString(),会被JavaScript解释器在需要将Date对象转换为字符串时自动调用。
格式为
星期月份日期时:
分:
秒UTC±hhff时区年份
如:
SunDec2812:
43:
51UTC+08002003
⏹toGMTString():
将对象中的时间转换为因特网GMT约定格式的字符串:
星期,日期月份年份时:
分:
秒UTC
如:
Sun,28Dec200304:
43:
51UTC
⏹toUTCString():
将对象中的时间转换为世界时约定格式的字符串,格式同上。
⏹toLocaleString():
将对象中的时间转换为当地时间格式的字符串,具体格式依赖于使用的平台,如:
2003年12月28日12:
43:
51或:
12/28/0312:
43:
51。
⏹toLocaleDateString():
返回将对象中的时间转换为当地时间格式后的日期字符串,具体格式依赖于使用的平台,如:
2003年12月28日或:
12/28/03。
⏹toLocaleTimeString():
返回将对象中的时间转换为当地时间格式后的时间字符串,具体格式依赖于使用的平台,如:
12:
43:
51。
Array:
长度可伸缩(但元素总数不超过232-1=4,294,967,295)的动态一维数组,索引从0开始。
同一数组的元素可为不同数据类型,数组元素本身也可以是另一个数组(多维数组)。
●构造方法:
⏹newArray([arrayLength])
⏹newArray(element0,element1,...,elementN)
⏹[element0,element1,...,elementN]
如:
musicTypes=newArray(25)
musicTypes[0]="R&B"
musicTypes[1]="Blues"
musicTypes[2]="Jazz"
……
musicTypes[50]="数来宝"//会自动加长数组到51个元素
又如:
days=newArray("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
等价于:
days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
数组的元素可为不同数据类型:
myArray=newArray("Hello",myVar,3.14159,true)
多维数组:
a=newArray(1,2,newArray(“one”,“two”));则
a[0]=1、a[2]=[“one”,“two”]、a[2][1]=“two”
●例子:
functiondateClock(){
days=newArray("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
monthes=newArray("Jan","Feb","Mar","Apr","May","Jun",
"Jul","Aug","Sep","Oct","Nov","Dec");
now=newDate();
year=now.getYear();
month=now.getMonth();
date=now.getDate();
day=now.getDay();
dateStr=monthes[month]+""+date+","+year+"("+days[day]+")";
document.clock.date.value=dateStr;
}
functiontimeClock(){
now=newDate();
hours=now.getHours();
minutes=now.getMinutes();
seconds=now.getSeconds();
timeStr=""+hours;
timeStr+=((minutes<10)?
":
0":
":
")+minutes;
timeStr+=((seconds<10)?
":
0":
":
")+seconds;
document.clock.time.value=timeStr;
}
setInterval("timeClock()",1000);//循环定时调用
Date:
Time: