《XML》教案
第2章 使第4章 呈现XML文档
主讲人:×××
回顾上一章: [10分钟] 2
课程知识点讲解: 2
通过级联样式表转换XML文档:[15分钟] 3
通过可扩展样式表语言转换XML文档 :[5分钟] 4
嵌套 for 循环 :[20分钟] 5
本章总结 [10分钟] 6
考核点 6
测试题 6
扩展部分: 7
学员问题汇总: 7
作业: 7
本章主要的目的
熟练掌握样式表文件.
通过级联样式表转换XML文档
通过可扩展样式表语言转换XML文档.
识别XML名称空间的需要
本章重点
XML schema(XML模式)
本章难点
循环结构
回顾上一章:
课程知识点讲解:
概念:
处理XML文档使其可以显示在各种目标上的作法称为呈现。目标为:Web浏览器、电子邮件、页面程序和蜂窝电话;
通过样式表,可以执行各种任务:生成标签、指定筛选器和内容排序。
级联样式表简介
CSS=Cascading Stytle Sheets,层叠式样式表
级联样式表(CSS):此样式表提供了格式化XML或HTML的简单机制;
可扩展样式表语言(XSL):可以根据条件重新排序和分类元素并只显示所选的元素。例如:在包含一系列书籍的XML文档中,您可以根据作者或出版商的姓名以不同的颜色显示书籍。
XML模式定义XML文档中可使用的元素和属性的列表,也指定这些元素在XML文档中出现的顺序以及它们的数据类型。
如何制作XML模式,使用XSD(XML模式定义语言)来定义XML文档的模式。
XML模式中的数据类型
在使用XSD创建XML模式的情况下,每一个元素都必须与一种数据类型相关联.数据类型指定元素可包含的内容的类型。XSD提供一个预定义数据类型列表。可对这些数据类型进行如下分类:
原始
派生
原子
列表
联合
原始数据类型:
派生数据类型:
原子数据类型:
列表数据类型:
联合数据类型:zips=zipName+zipNum
老师提问:
问题1:while和for的区别?
问题2:若条件测试没有为false时,程序将如何运行?
do…while循环: [15分钟]
格式:do{
语句;
}while(条件)
与for和while循环不同的是,该循环在循环的末尾才会检查条件,就是说即使条件已开始就是false,这个循环至少会执行一次
do语句的循环至少执行一次
知识点讲解1
案例讲解
/* 范例名称:的示例
- 源文件名称:do…while.cpp
• * 要 点:在条件测试执行前执行一次条件变为 False 时,do while 循环终止;
•1. 控制权传递给紧跟在 while 语句之后的语句
*/
例题内容: int sum = 0,times = 1;
do
{
sum = sum+2;
times = times+1;
}while(times<=1000);
printf(“Sum = %d \n”,sum);
while 循环和do…while 循环的区别:[15分钟]
while语句是当型循环控制语句,一般形式为:
while <表达式> 语句;
语句部分称为循环体,当需要执行多条语句时,应使用复合语句。
while语句的流程图见图3 - 8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行。
do . . . while是直到型循环的语句,它的一般形式为:
do 语句while <表达式>
其中语句通常为复合语句,称为循环体。
其基本特点是:先执行后判断,因此,循环体至少被执行一次。
但需要注意的是,do. . .while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do. . .while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注意do. . .while语句的这一特点。
知识点讲解1
案例讲解:
老师提问:
问题1:输入1,SUM值为多少,输入11,SUM值为多少?
for 循环的使用 :[5分钟]
for语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合已知循环次数的情况。它的一般形式为:
for (<表达式1 >;<表达式2 >;<表达式3>) 语句
for语句很好地体现了正确表达循环结构应注意的三个问题:
1) 控制变量的初始化。
2) 循环的条件。
3) 循环控制变量的更新。
表达式1:一般为赋值表达式,给控制变量赋初值;
表达式2:关系表达式或逻辑表达式,循环控制条件;
表达式3:一般为赋值表达式,给控制变量增量或减量。
语句:循环体,当有多条语句时,必须使用复合语句。
for循环的流程图如图3 - 11,其执行过程如下:
首先计算表达式1,然后计算表达式2,若表达式2为真,则执行循环体;否则,退出for循环,执行for循环后的语句。如果执行了循环体,则循环体每执行一次,都计算表达式3,然后重新计算表达式2,依此循环,直至表达式2的值为假,退出循环。
计算自然数1到n的平方和。
#include <stdio.h>
#include <math.h>
main( )
{
int i;
float s;
printf(“please input n :”);
scanf(“%d” ,&n);
s = 0.0;
for(i = 1; i<= n; i++)
s = s + ( float ) (i) * ( float ) (i);
printf(“11 + 22 +…+%d*%d = %f\n” ,n,n,s ) ;
}
运行结果如下:
please input n : 5
11 + 22 + … + 5* 5 = 55.000000
for语句的几种格式
for语句的三个表达式都是可以省略的,但分号“;”绝对不能省略。
三种语句的选用
同一个问题,往往既可以用w h i l e语句解决,也可以用do. . .while或者for语句来解决,但在实际应用中,应根据具体情况来选用不同的循环语句,选用的一般原则是:
- 如果循环次数在执行循环体之前就已确定,一般用f o r语句;如果循环次数是由循环体
的执行情况确定的,一般用while语句或者do. . . while语句。 - 当循环体至少执行一次时,用do. . .while语句,反之,如果循环体可能一次也不执行,选用while语句。
嵌套 for 循环 :[20分钟]
知识点讲解1
案例讲解:
/* 范例名称:输出半边*号的菱形
- 源文件名称:Cpp5.cpp
- 要 点:
*/
例题内容:
#include <stdio.h>
void main()
{
int num,j,i;
for (num = 1; num <=5; num++)
{
for (i = 1; i <= num; i++){printf("*");}printf("\n");} for (num = 4; num >=1; num--) { for (j = 1; j <= num; j++){printf("*");}printf("\n");}
}
循环的嵌套
一个循环的循环体中有另一个循环叫循环嵌套。这种嵌套过程可以有很多重。一个循环外面仅包围一层循环叫二重循环;一个循环外面包围两层循环叫三重循环;一个循环外面包围多层循环叫多重循环。
三种循环语句for、while、do. . .while可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。如下面这种形式是不允许的:
do
{
…
for (;😉
{
…
}while( );
}
格式:for(…,…,… ) 要强调中间的逗号不能少。。。
{
for(…,…,…)
}
首先执行第一个for循环语句,接着进入第二个,在第二个for循环没有跳出前,第一个for循环下的语句不会执行,且第二个循环结束后再回到第一个for中,继续执行语句直到第一个for循环也结束才执行以后的语句了。
一个for循环中包含多个for循环,重要的是边界条件!!相互嵌套的2个for循环之间的条件应该多加注意!!
命名空间
概念
URI URN URL区别.
return,goto,break,continue都是无条件转移的语句
exit()函数是程序立即中止,控制权传回操作系统;c语言中不是很支持
本章总结 [10分钟]
理解 C 语言中的 for 循环
使用逗号运算符
理解嵌套循环
理解 while 循环和 do-while 循环
使用 break 和 continue 语句
理解 exit() 函数
考核点
考核点1:理解嵌套循环
考核点2:理解while 循环和 do-while 循环
测试题
测试题1:
测试题2:
扩展部分:
扩展部分1:while 循环和 do-while 循环的区别
扩展部分2:
扩展部分3:
学员问题汇总:
学员问题1:
学员问题2:
作业:
习题1:打印魔方
习题2: 打印复杂的菱形
习题3:求鸡兔公笼的问题
习题4:求5!
习题5:求任意两个数之间的和;