1、XML与电子商务应用上机实验指导书 作者: 日期:2 个人收集整理 勿做商业用途上机实验指导书课程名称: XML与电子商务应用总学时:48实验学时:16指导教师:刘平峰实验名称:(一) HTML标记语言与网页设计(4学时)(二) XML标记语言与内容组织(6学时)(三) XML文档的格式化显示与转换(6学时)实验一:HTML标记语言与网页设计1实验目的:熟悉常用的HTML标记,能读懂较为复杂的HTML源代码并能使用HTML标记设计网页。2实验内容:分为两个部分,第一部分是验证型实验内容,第二部分是设计型实验内容。(1)验证型实验内容参考课件示例,在记事本中编写如下代码并查看显示效果:使用下面标
2、记编写HTML源代码:html、head、title、body、hr、a、。使用下面列标记绘制表格:、tr、。使用下面标记编写简单的表单:form、imput、textarea、select.使用下面标记结合上面的内容编写框架式的HTML:frameset、frame。使用下面标记在网页中嵌入Javascript代码:script。(2)设计型实验内容图1是一个浏览器上显示的一个html文件的截屏图,看图写出该html文档(注意图表格中的文本定位,参考答案见附件一)。图1 HTML代码显示效果截图3预习要求及参考书目:要求预习课件第二章的内容,编写HTML文档实例参考课件“Html标记示例”目
3、录下的所有示例文件。4实验步骤:(1) 在Windows环境中,打开记事本和浏览器准备好工作环境。(2) 在记事本中输入实验内容并进行适当的扩展,完成后将文件保存为。html文件。(3) 在浏览器中打开刚才所保存的。html文件并查看显示效果。如不能正常显示,进行查错调试;如能正常显示总结上述标记的作用.5实验报告要求要求在实验课程开始前撰写预习内容,实验课程结束当天撰写实验过程中设计的网页代码、以及关于实验过程中错误查排和体会的实验小结。实验二:XML标记语言与内容组织1实验目的:熟悉XML的声明、元素、处理指示和字符数据,能读懂较为复杂的XML源代码并能使用通过自定义XML标记描述结构化的
4、、层次化的数据;理解DTD以及Schema所起的作用,并能熟练掌握在DTD与Schema中定义元素和子元素和属性的方法和格式,理解它们之间的异同,并对Schema在数据表示上的优势有一个明确的认识;掌握名字空间的用法,XML文档和DTD、Schema文档之间的关联方法.本实验着重点放在语法训练和综合运用上。利用DTD和Schema定义元素、子元素和属性,编写XML文档并验证其有效性。2实验内容:分为两个部分,第一部分是验证型实验内容,第二部分是设计型实验内容。(1)验证型实验内容重复教材上关于图书的DTD文档、Schema文档和XML文档的内容。即针对图书的相关信息,包括书名、图书所属分类、作
5、者、出版商、出版日期、印刷次数(具体内容可自己确定),分别写出相应的DTD(要求DTD文档分为内部DTD和外部DTD两种方式分别编写)与Schema文档,然后用xml描述自己拥有的图书的信息,并将xml文档分别与DTD文档和Schema文档关联,打开xml文档并观看是否能够通过有效性检查和显示结果。(2)设计型实验内容图2是一公司出库单的内容,针对出库单用Schema定义描述出库单信息的业务规范,然后遵从该规范写出图中所示信息的xml文档,与Schema文档关联,打开xml文档并观看是否能够通过有效性检查和显示结果(参考答案见附件二)。图2 某公司出库单信息3预习要求及参考书目:要求预习课件第
6、3章、第4章和第5章的内容,并在W3C网站(http:/www。w3.org/standards/xml/)和IBM网站(http:/4实验步骤:(1)在Windows环境中,打开xml编辑工具xmlSpy和浏览器准备好工作环境。(2)采用内部DTD的方式描述图书信息。打开xmlSpy编辑工具新建xml文档,命名为book。xml,在第一行xml声明之后用DTD定义图书描述的规则,接着描述自己手中具体的图书信息,保存文档,根据xmlSpy的提示排除错误,最后在浏览器中打开book.xml查看显示结果。(3)采用外部DTD方式描述图书信息.用xmlSpy编写图书的DTD文档并保存为book.dt
7、d,再用xmlSpy根据DTD中关于图书描述的规范编写描述自己手中图书信息的xml文档,以外部DTD的方式引用事先编辑好的book。dtd文档,并将xml文档保存为book2.xml,根据xmlSpy的提示排除错误,最后在浏览器中打开book2.xml查看显示结果。(4)采用Schema定义图书信息描述规范。用xmlSpy编写图书描述规范的schema文档并保存为book.xsd,再用xmlSpy根据book。xsd中关于图书描述的规范编写描述自己手中图书信息的xml文档,并与book.xsd相关联,将xml文档保存为book3.xml,根据xmlSpy的提示排除错误,最后在浏览器中打开boo
8、k3。xml查看显示结果.(5)采用Schema定义图2中出库单的描述规范.用xmlSpy编写出库单描述规范的schema文档并保存为checkout。xsd,再用xmlSpy根据checkout。xsd中关于出库单描述的规范编写描述图2中出库单实例信息的xml文档,并与checkout.xsd相关联,将xml文档保存为checkout。xml,根据xmlSpy的提示排除错误,最后在浏览器中打开checkout。xml查看显示结果.5实验报告要求要求在实验课程开始前撰写预习内容,实验课程结束当天撰写实验过程中设计的DTD文档、Schema文档和XML文档、以及关于错误总结和体会的实验小结。实验
9、三: XML文档的格式化显示与转换1实验目的:掌握如何通过CSS对xml文档中的数据进行显示的方法,理解CSS的基本语法规则。掌握如何通过XSL对xml文档中的数据进行显示和转换的方法,理解XSL中xPath概念,掌握XPath语法规则,通过该实验增进对xml中内容与显示分离的特点的了解.并对前面所学html的知识起到一个复习的作用。2实验内容:实验内容分为两个部分,即CSS实验和XSL实验.(1)CSS实验内容针对实验二中编写的book.xml文档,写出显示该文档的CSS文档,要求对book。xml文档中的不同元素分别应用分类属性、字体属性、文本属性、颜色和背景属性。(2)XSL实验内容针对
10、实验二中编写的checkout。xml文档,写出显示该文档的XSL文档,要求checkout.xml文档引用编写的XSL文档后能以图2中的显示效果显示(参考答案见附件三)。3预习要求及参考书目:要求掌握课件上第6章、第7章的内容,复习课件第2章中html的相关知识.4实验步骤:(1)在Windows环境中,打开xml编辑工具xmlSpy和浏览器准备好工作环境。(2)在xmlSpy中打开book。xml,查看其中的元素信息,然后编写css文档并保存为book。css(若有错误根据xmlSpy的提示排错),然后在book。xml中引用book。css,在浏览器中打开book。xml文档查看显示结果
11、。(3)在xmlSpy中打开checkout.xml,查看其中的内容,然后编写XSL文档并保存为checkout.xml(若有错误根据xmlSpy的提示排错),然后在checkout.xml中引用checkout。xml,在浏览器中打开checkout。xml文档查看显示结果。(4)总结在设计过程遇到的错误,体会在xsl文档中使用不同的匹配路径和方法,观察实验效果。5实验报告要求要求实验课程开始前撰写预习内容,实验课程结束当天撰写实验过程中设计的CSS文档和XSL文档内容、以及关于错误排查和心得体会的实验小结。附件一:HTML实验第二部分内容参考答案html/headbody 将学习进行到底/
12、h1 hr size=5 width=”100 align=”center” color=red” form action=”cgibin/process.pl method=”post” table width=80%” align=”center border=1 tr align=”center”th width=50%学习选项/th内容/th/tr 学习关数/td td ol type=”1 li/小试牛刀 li/成长烦恼 li/钢铁意志 终成正果 /td /tr tr align=centertd学习人数/td select name=view size=”2” align=cent
13、er 一人 option二人/option /select /td tr align=”centertd难易程度 td input type=”radio name=level value=”1 checked/初级 input type=”radio” name=level value=”2”/中级 input type=radio” name=level value=”3”/高级 /td /tr /table br table width=50 align=center” border=0 tr align=”center”密 码:tdbutton name=”senddata type=
14、”submit提交/button button name=”cleardata” type=reset”清除 /tr /table xs:element name=出库单系统xs:sequence/xs:complexTypexs:complexType name=checkoutType mixed=false”xs:sequencexs:element name=收货人联系信息” type=”contactType/xs:element name=运输信息 type=shipmentType”/xs:element name=”总金额” type=”positiveDecimalType/
15、xs:element name=”商品信息 type=”goodsType”/xs:sequence/xs:complexTypexs:pattern value=(0-9|a-zAZ)3(09|a-zAZ)6”/xs:restriction/xs:simpleTypexs:simpleType name=myNumType”xs:restriction base=”xs:stringxs:pattern value=”(0-9az|A-Z)3-(09|a-z|AZ)6/xs:restrictionxs:complexType name=”contactType” mixed=”falsexs
16、:element name=”客户 type=”nameStringType/xs:element name=联系人 type=nameStringType”/xs:simpleType name=”phoneType”xs:restriction base=”xs:string”xs:pattern value=”093,4-0-97-9”/xs:restrictionxs:complexType name=shipmentType mixed=”falsexs:element name=”运输方式 type=”transportType” default=公路运输”/xs:element
17、name=”运输车号” type=nameStringType”/xs:complexTypexs:simpleType name=transportType”xs:restriction base=”xs:string”/xs:simpleTypexs:complexType name=”goodsType mixed=false”xs:element name=”名称规格 type=nameStringType”/xs:element name=单位 type=”nameStringType”/xs:element name=”数量” type=”xs:positiveInteger/xs
18、:element name=”金额” type=”positiveDecimalType”/xs:sequence/xs:complexType/xs:simpleTypexs:simpleType name=numStringTypexs:restriction base=”xs:string”/xs:simpleTypehead出库单信息/title/headbodyform action=”checkorder。do” method=post”出库单信息hr color=”red” width=”100” size=5/xsl:apply-templates select=出库单系统/出
19、库单”/p align=”center请输入要查询出库单的最低限额: input type=”text value=10000input type=submit” name=提交” value=提交查询/tdtdinput type=reset name=重置” value=”重置查询”/tr/body/xsl:templatexsl:template match=出库单” xsl:if test=总金额value() $ge 10000” table border=1” cellspacing=”0” align=center width=”90”tr align=”center”td单据号
20、:xsl:valueof select=”单据号/单据日期:xsl:value-of select=”单据日期”/对应订单号:xsl:value-of select=对应订单号/trtd仓库:xsl:valueof select=运输信息/仓库/td客户:xsl:value-of select=收货人联系信息/客户/收货单位:xsl:value-of select=”收货人联系信息/收货单位/td联系电话:xsl:value-of select=收货人联系信息/联系电话/td发往地址:xsl:valueof select=运输信息/发往地址/td/trtr align=”center”运输方式
21、:xsl:value-of select=”运输信息/运输方式”/tdtd运输车号:xsl:value-of select=运输信息/运输车号/运输里程:xsl:valueof select=运输信息/运输里程”/td/trtr align=center”送货员:xsl:valueof select=运输信息/送货员”/td司机:td总金额:xsl:value-of select=总金额”/td/trtd colspan=3xsl:apply-templates select=”商品信息”/td /xsl:if br/xsl:templatexsl:template match=商品信息table border=”1 cellspacing=0 align=center width=100%”商品编码th名称规格/thth单位th数量/th单价th金额/thxsl:if test=金额value() $ge$ 10000 xsl:attribute name=”bgcoloryellow/xsl:attribute/xsl:iftd/tdtd/tdtdxsl:value-of select=单位/td align=”rightxsl:value-of select=”数量”/td/tr/xsl:foreach/table14