admin 管理员组文章数量: 1086019
2024年4月19日发(作者:web中label标签作用)
维普资讯
网
惑实用第一
如何用XML在浏览器中显示图像
扩展标记语言(XML)以其结构规范,扩展性强,数据存
储和表现分离,自定义标签等特点而备受世人注目,自从其
问世以来.发展的步伐一刻也没有停止。目前其应用已经延
伸到信息发布、多媒体展示、电子商务、通用数据交换、图
形的矢量化表示等多种领域。但是,由于该语言不象HTML
那样有许多开发工具支持,目前在web信息发布方面还不是
非常普及,但由于其优良特性,取代[-ITML成为新一代的数
据交换标准和]ntemet语言,已经是大势所趋。下面我们就用
该语言来实现一个显示图像的XML程序,和大家交流和学
习。
XML语言的核心包括三个方面,即XML大纲、XML文档
和)(sLT。其中XML大纲定义了XML文档的数据结构、语法
及所使用的标签集合,它是一种规则的规则,类似于c、
c++和Java等高级语言中的sLruet和class定义,非常重要。
而XML文档则是XML大纲的宴例化.用于描述具体的实例数
据。由于XML语言中,数据的结构和数据的表现是分离的,
要想在潮览器中正确地显示具体的XML文档,就必须有一种
机制来表现它,这就是)(sLT的作用.即扩展级联样式单:按
照XML语言的特点,我们把用XML显示图像的方法,分为以
下三步来实现。
第一步,设计并开发图像的XML大纲
XML大纲中,重要的有几个地方.一是正确理解“名
域 ,说白了,“名域 实际上对元素和元素属性的限定,
以防止多个文档组合时,元素及其属性的重名冲突,它的作
用和Java中的包(package)、c#中的命名空同(name@ace)
差不多,下列代码中,Schema标签中的xmlns= 121712:
SChem膻一microsoft—corn:】江Ⅱl—data'’和xIIlll珀: =“LlrrI=
schemas—microsoft—COil1:datatypes 都是名域。其次是如何定义
元素、元素的属性以及怎样使用处理指令等语法规则等。XML
大纲中,元素用ElementType标签定义,用element标签引
用。而元素的属性用AttdbuteType定义,用attribute标签引
用
要在Intornet网上描述一幅图像,最基本的有图像的宽
度、高度、图像源(即URL)等要素,以下便是根据XML大
叶兴茂
纲的规则定义的图像XML大纲。
(?xml version= 1 0 encoding= gb2312 7>
(Schema xmins= u rn:schemas—mlcrosoft—com xml—
clafa
×mIns:dt=’u rn:schemas—microsoft—tom:0a伯types >
(1一一Thls schema deflnes XML document malnly used
for show 8image一一>
(1一一define image element including child nodes com
ment,source.width and height一一>
<ElementType name= comment />
<ElementType name= SOU rce />
<E;ementType name= width />
(ElementType name= height />
<ElementType name= image content= eltOnly )
<element type: tomment >
(element type= sou rce >
(element type= width />
(element type= height />
(/ElementType>
<f一一define link element including child nodes href and
text一一>
(EiementType name= href />
(ElementType name= text />
<EiementType name: 0nk >
<element type= href />
(eIement type= text />
(/ElementType>
(f一一define message element including child nodes
E Mal and content一一>
<ElementType name= E
—
M >
<ElementType name= content />
<ElementType name= message >
(element type= E
—
Ma¨ />
(element type= content )
</EiemeetType>
<ElementType name: myWeb content= eltOnly >
<e ement type= link />
<element type= message />
<element tvpe= image />
</EiementType>
</Schema>
维普资讯
实用第一
图像YuML大纲中,定义的主要标签有image、comment、
source、width和height等.用于描述图像及其宽度和高度等属
性 同时也定义 类似于HTML语言中a标签的link超链接标
签,用于定位具体的网络资源 显然,这些自定义的标签要比
那些死板的HTML标签易懂得多,望文知意,一目r然
第二步.编写规范的图像XML文档
使用上面定义的图像XML大纲,就能够描述具体的图像
对象,编写XML文挡了,代码如下所示:
<?xml version= 1 O encod ng= gb2312 )
<7xml stylesheet type=text/ ̄sI href: image×s} >
(myWeb xmlns= x—schema:image schema xml>
<¨nk>
<href>h ̄p: /www mir gov cf3</h ref>
<text> ̄.辽浏览国=资渭部网站</te x1>
(,Iink>
<image>
<comment>show a image by XML<.,'cora1]lent>
<sou rce>images scene ̄JPg(/source>
<height>250<,height>
<width>680< wl—l1>
<,/image>
<message
<EJVlail>mailto:info xmye@mail mlr gov CM(/Ejr1al{)
<content)童口需源代码请与作者联系<./content>
</message>
<,mvWeb>
这里的图像XML文挡描述了一个超链接,一幅图像和一
个E Marl地址 超链接指向国土资源部网站,而图像描述的
是一幅非常美丽的大陆风光,其数据源是images/
8 ̄enery.jpg,宽度680像素.高度250像素。E_Md地址、即
是作者的电子邮箱,点击它可与作者联系。看到这些标签,略
懂英语的人,即使不明白XML的语法,也能知道其基本含
望。
第三步,XSLT表现图象的XML文挡
虽然定义了图像XML大纲和图像XML文挡,但是,浏览
器并不认识这些东西,要想让浏览器显示出来,还必须为其定
义表现方式,这时候,XSLT就发挥作用了,它把XML文档翻
译成其它形式的数据结构,供浏览器显示.目前如微软的
IE5.0支持的格式是EHTML,即扩展超文本标记语言,它也
是符合XML规范的结构良好的XML文档
< xml version=“。0 >
<n1ml xmlns:xsi= http: www w3 org/'TR/WD—xs1)
<body style= font—famllv:Ar a helvetica.saqs—serif;
font—size:9 5pt:
border:1 em;
backg round—co or#FEEEEE )
<div style=margin—le t 1 0px;ma rgin—bottom:1 am;
font—size:9pt >
<!一一<xsl for—each select= myWeb {mace>一一>
智慧瞧
网; 釜
<center>
<a style=font—alze 2e 。c@or:red)
(xsl:attribute na e=1 ref >
<xsl:value—of select=myWeb/'link【O】 qref/>
< xsl:attribute>
<xsl:value—of select:myWeb'link【0]text />
</a>
(b r/)<b r/>
<Img
<xs}att rlbute rlame=S rc )
<xal:value—of select=myWeb...image.'sou rce )
</xs}attribute)
<xsl:attrlbute rlame= d:h>
<×s value—of select: Web image/wiath/>
</xs}:attribute)
<xsl:attrlbute flame=heign:
(xsl value—of select=。myWeo image height )
</xs}。att ribute)
</imq>
(br/><br/>
<span)
<P style= font—size:2era >
<×s}:value—of select=’myWeb/image/commeqt -)
</p>
</span>
<a style= fOnt—size:1 5em colo r:blue>
<xsl:attrlbute na e= href )
(XSk va ̄ue—of select= myWeb/message/E_Ma >
< xsl’attribute>
<xsl:value—of select= myWeb."message c0nten )
< a>
</center>
<l一一</xsl for—eac1>一一
(,div>
<31oaV>
</htm>
上述代码和HTML差不多,只要熟悉HTML,很容易掌
握:这里使用了名域xmlns;xsl=http:// w3 org/l ̄/
WD—xst,其局部名称是x8l:标签attribute、value—of、for—
each等均受其约束。其中for—each标签类似与高级语言中的
循环语句.用来通过模式匹配遍历并转化满足条件的XML诼
树:XSLT的语法完全是规范的XML,这也体现了XML的简
单性,一种文法走天下。要注意的是EHTML是结构良好的文
挡,而HTML却不是。两者最主要的区别是EHTML中的所有
标签都是封厨的,型如‘p>、(/p>、(br/>等格式,象
HTML中‘p>、<hr>- ̄标签在XML文挡中,再也行不通了。
但它们转换起来并不麻烦和复杂,只要使这些不封闭的标签封
闭起来,就可以了,如把‘p>变成‘p/>,(br>变成(br/>:
本文中涉及的代码在IE5.0浏览器中,经过严格测试
(牧稿呈期:2001年2月16 j)
a嘲 蛹咖蛳两 攀;嘲 譬螭 57
版权声明:本文标题:如何用XML在浏览器中显示图像 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713480286a636758.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论