-xml_id=72这xd股票是什么意思思?

div+css结合使用XML与HTML的技巧_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
div+css结合使用XML与HTML的技巧
d​i​v​+​c​s​s​结​合​使​用​X​M​L​与​H​T​M​L​的​技​巧
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢< | 网站统计概况 &访问来源& - /info.xml?id=1 &
- free demo - GoStats 网站流量统计分析
各种语言版本:欢迎回来, 游客!用户名密码记住我>" />基本数据链接页面系统访问者
访问来源/info.xml?id=1 &
- free demo上次更新 & 08:58:22 (0 秒 前)下次更新 & 一二三四五六日/my_sites.xml57618.9%47915.7%/summary.xml1936.3%/add_site.xml1334.4%/code.xml762.5%/last_guests.xml571.9%/multiple_sites.xml571.9%/logout.xml351.1%/login.xml301.0%/signup.xml291.0%/edit.xml150.5%/referrers.xml150.5%/lostpasswd.xml100.3%/profile.xml100.3%/searchengines.xml70.2%/contact.xml60.2%/countries.xml50.2%/paths.xml50.2%/searchphrases.xml50.2%/top.xml50.2%/entries.xml40.1%/hosts.xml40.1%/pages.xml40.1%/webmaster_resources.xml40.1%/exits.xml30.1%/info.xml30.1%/configure_toolbar.xml20.1%/ip_addrs.xml20.1%/os.xml20.1%/remove_site.xml20.1%/sessions.xml20.1%/browsers.xml10.0%/clicks.xml10.0%/depth.xml10.0%/dirs.xml10.0%/faq.xml10.0%/goal_list.xml10.0%/link_to_gostats.xml10.0%/mailers.xml10.0%/minmax.xml10.0%/period.xml10.0%/returns.xml10.0%/time.xml10.0%/summary.xml822.7%/code.xml722.4%/last_guests.xml672.2%/referrers.xml120.4%/countries.xml110.4%/hosts.xml110.4%/time.xml90.3%/pages.xml80.3%/mailers.xml70.2%/edit.xml60.2%/hits.xml50.2%/ip_addrs.xml50.2%/searchengines.xml50.2%/entries.xml40.1%/paths.xml40.1%/remove_site.xml40.1%/sessions.xml40.1%/depth.xml30.1%/os.xml30.1%/searchphrases.xml30.1%/dirs.xml20.1%/minmax.xml20.1%/upgrade.xml20.1%/browsers.xml10.0%/geo.xml10.0%/regions.xml10.0%/visitors.xml10.0%/summary.xml672.2%/code.xml571.9%/last_guests.xml391.3%/edit.xml90.3%/referrers.xml60.2%/cities.xml30.1%/countries.xml30.1%/hits.xml30.1%/hosts.xml30.1%/ip_addrs.xml30.1%/pages.xml20.1%/searchphrases.xml20.1%/alert_list.xml10.0%/browsers.xml10.0%/clicks.xml10.0%/colordepth.xml10.0%/entries.xml10.0%/geo.xml10.0%/languages.xml10.0%/os.xml10.0%/paths.xml10.0%/regions.xml10.0%/remove_site.xml10.0%/resolutions.xml10.0%/searchengines.xml10.0%/upgrade.xml10.0%/code.xml882.9%/summary.xml381.2%/last_guests.xml311.0%/remove_site.xml120.4%/referrers.xml110.4%/edit.xml60.2%/ip_addrs.xml50.2%/cities.xml10.0%/hits.xml10.0%/hosts.xml10.0%/minmax.xml10.0%/returns.xml10.0%/searchphrases.xml10.0%/visitors.xml10.0%/s943.1%/baidu40.1%/ssid=0/from=844b/bd_page_type=1/uid=671EEE1DDC1E8C01B10.0%/summary.xml371.2%/last_guests.xml110.4%/os.xml30.1%/hits.xml20.1%/hosts.xml20.1%/ip_addrs.xml20.1%/clicks.xml10.0%/exits.xml10.0%/remove_site.xml10.0%/searchphrases.xml10.0%/s.html551.8%/summary.xml140.5%/last_guests.xml80.3%/code.xml10.0%150.5%/auto-key-programmer.html10.0%/mvp-key-programmer-v9-9.html10.0%.hk80.3%.hk/url60.2%.hk/search10.0%60.2%/login.xml30.1%/contact.xml10.0%/lostpasswd.xml10.0%/signup.xml10.0%/summary.xml10.0%/s90.3%/cgi-bin/mail_spam80.3%60.2%/blog/code-reader-vii-obdii-launch-creader-vii-diagno10.0%.cn70.2%ppoo.tk70.2%/index.asp70.2%chinahuamin.org20.1%chinahuamin.org/project/employment20.1%chinahuamin.org/project10.0%chinahuamin.org/project/employment/projectintro.aspx10.0%syly.dns66.net/bk50.2%cjy./index.html20.1%cjy./gpjh10.0%cjy./News_More.asp10.0%cjy./News_View.asp10.0%& 前一个&1XML解析是什么意思怎么解析啊?_百度知道
XML解析是什么意思怎么解析啊?
为您推荐:
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁《轻松搞定xml》读书笔记
这本书的作者 是Michael J.
Young。Michael J.
Young 毕业于史丹福大学,并且是美国国家标准协会(ANSI)中C语言标准化委员会中的成员。现在居住和工作在新墨哥州的陶斯,在那里你可以常常在咖啡厅遇到他
或发现他在Sangre de
Cristo山中探险。他的个人首页网址为
。你可以通过电子邮件信箱
与作者联络。这篇文章仅仅供个人学习使用,如有什么理解不对的地方,请大家多多指正。
XML是什么可延伸标记语言(eXtensible Markup Language:XML)是SGML的一个子集......其目标是让一般的SGML能够在网站上被服务、接收与处理。如同HTML一样,XML被设计成容易实作,并且能够与SGML及HTML共同合作。
有了HTML,为什么还要XML
HTML有些信息不能表示出来,如:
1.非传统组件(标题、段落、串行、表格等等)所组成的文件。例如,HTML缺乏用来标记音乐乐谱或数学方程式所需的元素。
2. 数据库数据,如书籍的存货清单。你可以使用HTML网页来储存并显示静态的数据库信息(如书籍叙述的列表)。然而,如果你希望进行排序、筛选、搜寻以及利
用其它方法来处理这些信息,那么信息的每一个个别区段都需要被标示(如同数据库程序中所做像的一样,例如:Microsoft Access)。HTML缺乏完成这项工作所需的元素。
3.以树状的阶层式结构来进行组织的文件。
XML的组织结构
文件在组织上是利用树状阶层结构,里面的元素完全地套在其它元素与一个单一顶层(根)元素(在这个范例中是INVENTORY)之中-该元素被称之为文件
元素(Document
Element)或根元素(Root
Element)-包含了所有其它元素。给偶讲XML的是个年轻的博士,编程非常厉害,偶非常佩服。偶们老师给偶们讲XML的时候,首先就讲到XML的组 织结构是树状的,这个很重要,以后理解xPath什么的都要以这个为基础。
如何用IE显示XML
1.将样式表链接在XML文件中(CSS和XSL)。
2.数据链路,这个选项会要求你建立一份HTML网页,将XML文件链接到该网页,并且将网页中的标准HTML元素,如SPAN或TABLE元素,连结到XML元素。这些HTML元素接着会自动地显示从它们连结到的XML元素而来的信息。
3.Scripting 利用这项技术,你将建立HTML网页,将XML文件链接到该网页,并且借着撰写Script程序(JavaScript或Microsoft Visual Basic Scripting Edition:VBScript)来使用与显示个别的XML元素。浏览器会将XML文件以文件对象模型(DOM)显示。
以例为证:说再多,我觉得例子才是最有说服力的。看个例子,就什么都明白了,下面就是一个XML文档:
Inventory.xml---------------------------文档名称
&?xml version="1.0"
?&------------------说明XML版本
Name:Inventory.xml--&----------批注
&INVENTORY&-----------------------------文件元素,又叫根元素
&TITLE&The Adventures of
HuckleberryFinn&/TITLE&
&AUTHOR&Mark
Twain&/AUTHOR&
&BINDING&mass market
paperback&/BINDING&
&PAGES&298&/PAGES&
&PRICE&$5.49&/PRICE&
&/INVENTORY&在规格中明文指出应该要有宣告部份,但XML宣告部份是选择性的。如果你要加入XML宣告部份,它必须放置在文件的起始位置。
二.格式正确的XML文档
什么是格式正确的XML文档?
·文件必须严格限定只能拥有一个顶层元素(文件元素或根元素)。所有其它的元素都必须套迭在这个元素之下。
·元素必须适当地套迭。也就是说,如果元素是在另一个元素之中开始,它必须在同一个元素之中结束。
·每一个元素都必须拥有起始元素与结束元素。不像HTML,XML并不允许你省略结束标签-即使是浏览器能够判断元素在何处结束。(然而,在第三章中,你将学习一种简洁的卷标来使用空白元素-即没有内容的元素。)
·在起始卷标中,元素型态的名称必须完全符合对应结束标签中的名称。
·元素型态的名称是区分大小写的。事实上,所有XML卷标中的文字都是有大小写区分的。例如,下面的元素因为起始卷标中的型态名称与结束卷标中的型态名称并不相同,所以它是不合法的。
看 看上面的例子,再理解什么是格式正确的XML文档,写出一个格式正确的XML文档就比较容易了。有些特殊的规则不记也罢,比如&?xml
version='1.0'?&和&?xml
version="1.0"?&这两个都算正确的格式,按部就班就可以了,否则给自己找麻烦。不过有些还是要注意一下的,比如你往XML文档中加入
元素时,元素的名称必须遵守以下规则:名字必须以字母或底线开头(_),后面接着零或多个字母、数字、句号(.)、连字号(-),或底线(_)。
注意:XML分大小写,也就是说你的元素的名称Ace与ace或ACE并不相同。批注,处理指令和CDATA区段(之所以写这几个东东,是因为我确实不是很了解)
1.批注:批注以&!--字符起始,并以--&字符结束。在这两个定义符号之间,你可以输入任何想要的文字-除了双连符号(--)之外。你甚至可以输入被禁止的(&)与(&)符号。
2.处理指令:处理指令的目的是提供XML处理器传送给应用软件的信息。处理指令拥有下列一般类型:&?target instruction
?&举例(哈哈,可以省下许多文字)下面的处理指令告诉Internet Explorer 5使用Inventory01.css的CSS来显示文件:
&? xml-stylesheet type="text/css"
href="Inventory01.css"
?&下面的处理指令加到文件中来告诉你的script要显示的详细程度:
&? MyScript detail="2"
?&你可以将处理指令加到XML文件中标签以外的任何地方
3.CDATA区段:CDATA 区段以字符「&![CDATA[」开始,并以「]]&」字符结束。在这两个定义符号之间,你可以输入任何字符(包括「&」或 「&」),除了「]]&」之外。(因为,该字符会被解释成CDATA区段的结束。)所有位在CDATA区段中的字符都被视为元素字符数据的 字义(literal)部分,而不是XML标签。例子:
&![CDATA [
Here you can type any characters except two right brackets followed
by a greater-than symbol.
]]&你可以将CDATA区段放置在字符数据可以出现的任何地方-也就是说,在元素的内容中却不在XML标签中。必须出现在元素内容中的意思就是,至少要被根元素所包含。CDATA段中包含的内容会被直接在IE中显示出来。
三.有效的XML文档
什么是有效的XML文件?首先,一个有效的XML文件也将是格式正确的:
·文件的序文必须包含合适的文件型态宣告,该宣告中包括了文件型态定义(DTD),负责定义文件的结构。
·文件的其余部分必须符合DTD中所定义的结构。从上述定义可以看出,要有效,必须需要一个DTD文档,下面我们开始介绍DTD。
XML 应用程序通常藉由建立文件型态定义(DTD:document
type definition)来进行定义,DTD是XML文件的选择性组件。DTD就像数据库的概要:它用在当你为文件中的元素进行定义并命名、安排元素出现的
顺序、可以使用的元素属性,以及其它文件的特性时。简单地说,DTD就是为你的XML文档增加了一个框,你的XML文档必须按照你定义的DTD文档来,否 则就会报错。
关于DTD的一些要记忆的:
1.?:零个或一个前置项目,+:一个或多个前置项目,*:零个或多个前置项目。下面的宣告让你可以包含一个或多个这三种型态的子元素,任何顺序都可以:
&!ELEMENT FILM (STAR |NARRATOR
|INSTRUCTOR)+&
2.&!DOCTYPE MOUNTAIN
&!ELEMENT MOUNTAIN
(NAME,HEIGHT,STATE)&
&!ELEMENT NAME (#PCDATA)&
&!ELEMENT HEIGHT (#PCDATA)&
&!ELEMENT STATE (#PCDATA)&
&下面的文件是有效的:
&MOUNTAIN&
&NAME&Wheeler&/NAME&
&HEIGHT&13161&/HEIGHT&
&STATE&New
Mexico&/STATE&
&/MOUNTAIN&也就是说,要按顺序来,这个是严格的。
3.&!ELEMENT FILM (STAR |NARRATOR
|INSTRUCTOR)&表示选择。因此,下面的文件元素是有效的:
&STAR&Robert
Redford&/STAR&
&/FILM&然而,下面的文件元素将造成违法,因为你只能包含一个子元素型态:
&FILM&&!--Invalid
element!--&
&NARRATOR&Sir Gregory
Parsloe&/NARRATOR&
&INSTRUCTOR&Galahad
Threepwood&/INSTRUCTOR&
4.&!ATTLIST FILM Class CDATA "fictional " Year
CDATA ##REQUIRED&你 可以为Class属性指派任何合法的引号包围字符串(CDATA关键词);如果你将属性从特定元素中省略,它将自动指派默认值「fictional」给处 理器。你可以为Year属性指定任何合法的引号包围字符串;然而,该属性必须在每一个HTML元素(#REQUIRED关键词)中被指定一个值,因此它并 没有默认值。例子:
&?xml version="1.0"?&
&!DOCTYPE FILM
&!ELEMENT FILM (TITLE,(STAR |NARRATOR
|INSTRUCTOR))&
&!ATTLIST FILM Class CDATA "fictional" Year
##REQUIRED&
&!ELEMENT TITLE (#PCDATA)&
&!ELEMENT STAR (#PCDATA)&
&!ELEMENT NARRATOR (#PCDATA)&
&!ELEMENT INSTRUCTOR (#PCDATA)&
&FILM Year="1948"&
&TITLE&The Morning
After&/TITLE&
&STAR&Morgan
Attenbury&/STAR&
5.你可以利用下面三种方式来指定属性的型态:字符串型态(CDATA)
&!ATTLIST FILM Class CDATA
"fictional"&
型态就 像任何的属性值一样,你为Tokenized 型态指定的值必须是一个符合第三章中<合法属性值的规则>
章节中所介绍的规则的引号包围字符串。另外,该值必须符合你在属性定义中借着适当关键词所指定的特殊限制。例如,在下面的XML文件 中,StockCode 属性借着使用ID 关键词被定义成tokenized 型态。(ID 是唯一你可以用来宣告tokenized
型态的关键词)这个关键词代表对于每一个元素、属性都必须被指定一个唯一的值。(例如,将股票号码「S021」设定到两个ITEM 元素中将会造成违法。)例子:
&?xml version="1.0"?&
&!DOCTYPE INVENTORY
&!ELEMENT INVENTORY (ITEM*)&
&!ELEMENT ITEM (#PCDATA)&
&!ATTLIST ITEM StockCode ID
#REQUIRED&
&INVENTORY&
&!--Each ITEM must have a different StockCode
&ITEM StockCode="S021"&Peach Tea
Pot&/ITEM&
&ITEM StockCode="S034"&Electric
Coffee Grinder&/ITEM&
&ITEM StockCode="S086"&Candy
Thermometer&/ITEM&
&/INVENTORY&
#下面是你可以用来定义tokenized
型态属性的关键词,以及加诸在属性值上限制的完整列表:
ID在每一个元素中属性都必须拥有一个唯一值
&!ELEMENT ITEM (#PCDATA)&
&!ATTLIST ITEM StockCode ID #REQUIRED GoesWith IDREF
#IMPLIED&接着你可以使用这个属性来参考另一个ITEM 元素,如下所示:
&ITEM StockCode="S034"&Electric
Coffee Grinder&/ITEM&
&ITEM StockCode="S047"
GoesWith="S034"&Coffee Grinder
Brush&/ITEM&
IREFS:这种属性就像IDREF 型态,除了它的值可以参考数个识别代号-以空格符分隔-全部包含在引号字符串内。例如,如果你像这样为GoesWith 属性指定IDREFS 型态
&!ATTLIST ITEM StockCode ID #REQUIRED GoesWith
#IMPLIED&你可以用它来参考数个其它元素:
&ITEM StockCode="S034"&Electric
Coffee Grinder&/ITEM&
&ITEM StockCode="S039"&1 pound
Breakfast Blend Coffee
Beans&/ITEM&
&ITEM StockCode="S047" GoesWith="S034
S039"&Coffee Grinder
Brush&/ITEM&
ENTITY:属性值必须与宣告于DTD 中未解析的实体相符合。
&!ELEMENT IMAGE EMPTY&
&!ATTLIST IMAGE Source ENTITY
#REQUIRED&如果你宣告一个名为Logo
的未解析实体内含影像的图形数据,你可以将该实体指定到文件中IMAGE 元素的Source 属性,如下所示:
&IMAGE Source="Logo" /&
&!ELEMENT BOOK (#PCDATA)&
&!ATTLIST BOOK ISBN NMTOKEN
#REQUIRED&你可以为它指定一个以数字起头的值(对于NMTOKEN与NMTOKENS型态而言,起始字符是数字字符是被允许的,但对于其它tokenized 型态则不被允许):
&BOOK ISBN="9-"&The
Portrait of a Lady&/BOOK&
NMTOKENS列举型态
&!ATTLIST FILM Class (fictional |instructional
|documentary)"fictional"&下面是展示Class 属性用途的有效XML 文件:
&?xml version="1.0"?&
&!DOCTYPE FILM
&!ELEMENT FILM (TITLE,(STAR | NARRATOR |
INSTRUCTOR))&
&!ATTLIST FILM Class
(fictional|instructional|documentary)"fictional"&
&!ELEMENT TITLE (#PCDATA)&
&!ELEMENT STAR (#PCDATA)&
&!ELEMENT NARRATOR (#PCDATA)&
&!ELEMENT INSTRUCTOR (#PCDATA)&
&FILM Class="instructional"&
&TITLE&The Use and Care of
XML&/TITLE&
&NARRATOR&Michael
Young&/NARRATOR&
&/FILM&如果你省略Class 属性,它会被指定为默认值「fictional」。为Class 属性指定一个非「fictional」、「in-structional」,或「documentary」的值将会发生违反有效性的错误。
6.#REQUIRED:利用这种格式,你必须为相关型态的每一个元素设定属性值。
#IMPLIED:就我理解,意思是可以有属性值,也可以没有。
AttValue:为属性设定一个默认值,如果你没有为属性设定值,那么系统自动使用默认值。
AttValue:这个的意思是无论你是否为属性设定属性值,都必须使用默认值。外部DTD子集
&?xml version="1.0"?&
&!DOCTYPE SIMPLE
SYSTEM"Simple.dtd"&
&SIMPLE&This is an extremely
simplistic XML
document.&/SIMPLE&而Simple.dtd 档案将会拥有下面内容:
&!ELEMENT SIMPLE ANY&
实体的型态:
参数:一般实体不带限制,参数实体则包含了可以用在DTD中的XML文字。
2.内部VS外部:内部实体是指包含在引号字符串中的实体,外部实体包含在外部文档中。
3.已解析VS未解析:已解析的实体是可以把其内容直接解析出来放在XML文档中的,未解析实体不能。实体使用介绍:& 一般内部已解析实体例如,下面的DTD 定义了一个名为title 的一般内部已解析实体:
&!DOCTYPE ARTICLE
&!ELEMENT ARTICLE
(TITLEPAGE,INTRODUCTION,SECTION*)&
&!ELEMENT TITLEPAGE
(#PCDATA|SUBTITLE)*&
&!ELEMENT SUBTITLE (#PCDATA)&
&!ELEMENT INTRODUCTION
(#PCDATA)&
&!ELEMENT SECTION (#PCDATA)&
&!ENTITY title "The Story of
XML&SUBTITLE&The Future Language of
Internet&/SUBTITLE&"&
title实体包含了字符数据加上一个元素(SUBTITLE)。根据位于DTD中的宣告部分,该内容只能正确地放置在TITLEPAGE 元素中,如下所示:
&TITLEPAGE&
Author:Michael Young
&/TITLEPAGE&
XML 解析器将把实体参照(&)的部分替换成实体的内容,并且将这些内容如同你将文字输入到文件中相同位置的方式来进行处理,就像这样:
&TITLEPAGE&
Title:The Story of XML
&SUBTITLE&The Future Language of the
Internet&/SUBTITLE&
Author:Michael Young
&/TITLEPAGE&
& 一般外部已解析实体例如,下面的DTD 将外部档案Topics.XML 定义成一般外部已解析实体:
&!DOCTYPE ARTICLE
&!ELEMENT ARTICLE
(TITLEPAGE,INTRODUCTION,SECTION*)&
&!ELEMENT TITLEPAGE (#PCDATA)&
&!ELEMENT INTRODUCTION ANY&
&!ELEMENT SECTION (#PCDATA)&
&!ENTITY topics SYSTEM
"Topics.xml"&
&实体的内容可以正确地被安插在INTRODUCTION 元素中
&INTRODUCTION&
Here 's what this article covers:
&/INTRODUCTION&
一般外部未解析实体&?xml version="1.0"?&
&!DOCTYPE BOOK
&!ELEMENT BOOK
(TITLE,AUTHOR,COVERIMAGE)&
&!ELEMENT TITLE (#PCDATA)&
&!ELEMENT AUTHOR (#PCDATA)&
&!ELEMENT COVERIMAGE EMPTY&
&!ATTLIST COVERIMAGE Source ENTITY
#REQUIRED&
&!NOTATION GIF SYSTEM
"ShowGif.exe"&
&!ENTITY faun SYSTEM "Faun.gif " NDATA
&TITLE&The Marble
Faun&/TITLE&
&AUTHOR&Nathaniel
Hawthorne&/AUTHOR&
&COVERIMAGE Source="faun" //&
参数内部已解析实体&!DOCTYPE BOOK
&!ENTITY %author
"&!--author information --&
&!ELEMENT AUTHOR (#PCDATA)&
&!ATTLIST AUTHOR Nationality CDATA
'American'&"
&!ELEMENT BOOK (TITLE,AUTHOR)&
&!ELEMENT TITLE (#PCDATA)&
&上面的DTD 与下面这个是相等的:
&!DOCTYPE BOOK
&!ELEMENT BOOK (TITLE,AUTHOR)&
&!ELEMENT TITLE (#PCDATA)&
&!--author information --&
&!ELEMENT AUTHOR (#PCDATA)&
&!ATTLIST AUTHOR Nationality CDATA
'American'&
参数外部已解析实体&?xml version="1.0"?&
&!DOCTYPE INVENTORY
&!ELEMENT INVENTORY (BOOK
&!ENTITY %book_decls SYSTEM
"Book.dtd"&
&!ENTITY &#65533;_decls SYSTEM
&INVENTORY&
&BOOKTITLE&The Marble
Faun&/BOOKTITLE&
&AUTHOR&Nathaniel
Hawthorne&/AUTHOR&
&PAGES&473&/PAGES&
&CDTITLE&Concerti Grossi Opus
3&/CDTITLE&
&COMPOSER&Handel&/COMPOSER&
&LENGTH&72
minutes&/LENGTH&
&BOOKTITLE&Leaves of
Grass&/BOOKTITLE&
&AUTHOR&Walt
Whitman&/AUTHOR&
&PAGES&462&/PAGES&
&!--additional items...--&
&/INVENTORY&这里是实体档案Book.dtd 的内容:
&!ELEMENT BOOK
(BOOKTITLE,AUTHOR,PAGES)&
&!ELEMENT BOOKTITLE (#PCDATA)&
&!ELEMENT AUTHOR (#PCDATA)&
&!ELEMENT PAGES
(#PCDATA)&而这里是实体档案CD.dtd 的内容:
&!ELEMENT CD
(CDTITLE,COMPOSER,LENGTH)&
&!ELEMENT CDTITLE (#PCDATA)&
&!ELEMENT COMPOSER (#PCDATA)&
&!ELEMENT LENGTH
(#PCDATA)&看了这些例子,我认为对于实体的运用已经可以了,如果还有不明白,就要查些别的资料了。
五.串接样式表(CSS)
使用串接样式表来显示XML
文件有两个基本步骤:
1.建立样式表档案。
2.将样式表链接到XML文件。一个CSS示例:
Inventory01.css
margin-top:12
font-size:10pt}
{font-style:italic}
{font-weight:bold}
Inventory01.xml
&?xml version="1.0"?&
&?xml-stylesheet type="text/css"
href="Inventory01.css"?&
&INVENTORY&
&TITLE&The Adventures of
Huckleberry
Finn&/TITLE&
&AUTHOR&Mark
Twain&/AUTHOR&
&BINDING&mass market
paperback&/BINDING&
&PRICE&$5.49&/PRICE&
&TITLE&Leaves of
Grass&/TITLE&
&AUTHOR&Walt
Whitman&/AUTHOR&
&BINDING&hardcover&/BINDING&
&PAGES&462&/PAGES&
&PRICE&$7.75&/PRICE&
&/INVENTORY&注意:CSS大小写一致。关于CSS的几点:
1.使用多个元素与多个规则
POEM,TITLE,AUTHOR,DATE,STANZA
margin-bottom:12pt}
2.使用上下文选择器上下文选择器的意思是在css中写明元素的时候从它的父元素或者父元素的父元素等等开始写起,就好像写明它路径的全部或者一部分一样。上下文选择器的优先权大于一般选择器。例如,假设下面是一份XML 文件的根元素:
&NAME&Santa
&STATE&New
Mexico&/STATE&
&STATE&California&/STATE&
&/MAPS&附加样式表中的下列规则可能会导致浏览器将「New Mexico」以一般字型编排,但「California」则是以斜体字型编排:
CITY STATE
{font-style:normal}
{font-style:italic}
3.使用STYLE属性透过STYLE 属性的设定拥有较高的优先权, 。然而,使用STYLE 属性的确违反了将格式信息与XML 档案中文件内容的定义与结构分开的CSS 原则。
STYLE='font-style:font-size:14pt'&
The Adventures of Huckleberry Finn
&/TITLE&在有效的XML 文件中,在你使用该属性之前,你需要在DTD 中宣告STYLE 属性。你应该将属性宣告如下:
&!ATTLIST TITLE STYLE CDATA
4.汇入其他样式表可以用@import命令把几个样式表汇入到一个样式表中。至于优先权的问题,只要记住一条就可以了。那就是:后汇入的样式表的优先权较高。那么可以得知,原有的样式表优先权最低。例:
@import url(Book.css);
margin-top:12
font-size:10pt}
如何写CSS(核心部分)
ps:以下仅是很简略地记录了css的用法,如果要充分使用css请查阅别的资料。
1.设定字型属性:
font-family 属性指定了被用来显示元素文字字型的名称,如下面范例所示:
BOOK {font-family:Arial}
属性设定了用来显示元素文字的字号。你可以为这个字型指定四种不同型式的值,这里就不赘述了,仅举一例:STANZA {font-size:12pt}
font-style(字型样式)属性控制了元素的文字是否以斜体(italic)或一般直立(罗马正体铅字(normal))字符来显示。例:TITLE {font-style:italic}
font-weight 属性决定了元素的字符能够以多粗多黑的字体出现(那就是,多黑与多粗)。例:TITLE
{font-weight:bold}。
font-variant 属性用来将元素的文字转换成大写字符。例:TITLE
{font-variant:small-caps}将文字全部转换成大写字符。
2.设定色彩属性对于色彩的设定,分为四种方式,如有需要,请查阅原书。例:AUTHOR {color:blue}
3.设定背景属性
CSS 标准提供了下列属性让你修改元素的背景:
& background-color 例:TITLE {background-color:yellow}
& background-image例:STANZA {background-image:url(Leaf.bmp)}
& background-repeat例:STANZA{background-image:url(Leaf.bmp);background-repeat:repeat}水平和垂直地重复图像,repeat-x为水平方向上重复,repeat-y为垂直方向上的重复。
& background-position例:STANZA{background-image:url(Leaf.bmp);
background-repeat:no-
background-position:.5in
.25in}设定背景图像的位置,这里是水平与垂直的座标值。
4.设定Text
Spacing(文字间距)与Alignment(行高)属性
CSS 标准提供了下列属性,用来修改间距、行高与文字的其它特性
& letter-spacing(字符间距)
& vertical-align(垂直行高)
& text-align(文字行高)
& text-indent(文字缩排)
& line-height(行高)
& text-transform(文字转换)
& text-decoration(文字装饰)
六.XSL样式表
当 时偶们年轻的博士老师对XSL很是重视,他对CSS就极为不屑,认为它是秋后的蚂蚱蹦跶不了几天了,XSL才是终能成正果的生力军,呵呵,或许有些极端,
但是也是很有道理的啊。CSS仅仅允许你指定每个XML 元素的格式,XSL 样式表却提供了完整的输出控制权。XSL的威力就在于把数据变成你自己的,你想怎么用都行,了不起吧。废话少说,进入正题。利用XSL样式表显示XML
1.建立一个XSL样式表;
2.把XSL样式表链接到XML文件。优先权问题如果一个XML有多个XSL样式表,,浏览器将使用第一个XSL 样式表,而忽略其它样式表。如果你同时将串接样式表与XSL 样式表链接至同一份XML 文件,浏览器将只会使用XSL 样式表。先举一例
XslDemo01.xsl
&?xml version="1.0"?&
&!--File Name:XslDemo01.xsl --&
&xsl:stylesheet
xmlns:xsl="http://www.w3.org/TR/WD-xsl"&
&xsl:template match="/"&
Description&/H2&
STYLE="font-style:italic"&Author:&/SPAN&
&xsl:value-of
select="BOOK/AUTHOR"/&&BR/&
STYLE="font-style:italic"&Title:&/SPAN&
&xsl:value-of
select="BOOK/TITLE"/&&BR/&
STYLE="font-style:italic"&Price:&/SPAN&
&xsl:value-of
select="BOOK/PRICE"/&&BR/&
STYLE="font-style:italic"&Binding
type:&/SPAN&
&xsl:value-of
select="BOOK/BINDING"/&&BR/&
STYLE="font-style:italic"&Number of
pages:&/SPAN&
&xsl:value-of
select="BOOK/PAGES"/&
&/xsl:template&
&/xsl:stylesheet&关于XSL的几点
1.不像在串接样式表中包含的是规则(rules),XSL 样式表包含了一个或多个样板,每个样板包含了XML 文件中特定分枝的元素的展示信息。XSL 样式表中的xsl:stylesheet 文件元素,必须包含一个以上的XSL 样板元素,简称为样板。
2.必须要有命名空间。你可以在xsl:stylesheet
元素的起始卷标中定义这个命名空间,如下所示:
xmlns:xsl="http://www.w3.org/TR/WD-xsl"
3.样板的match属性用来指出特定的分枝。。在上面的范例中,样本是以「/」或「matches」来代表整个XML 文件的根元素。因此这个特定样板包含了显示整个XML 文件的指令。每个XSL 样式表中必须精确地只包含一个match 属性被设定为「/」的样板。
4.了解根样本(/)并不表示代表整个XML
文件的文件元素(或根元素)是非常重要的。更确切的说,根样本代表了整个文件,文件元素只是文件中的一个子元素。其实说简单点,/才是整个XML文件的根。
建立XSL文件的方法:我认为主要是把特殊的一些东东记住理解即可。
1.value-of元素:XSL 元素value-of 会将特定XML 元素的文字内容-包含任何该XML 元素所拥有的子元素的文字内容-加到浏览器处理和显示的HTML 输出中。你可以藉由将样本指定到value-of XSL 元素的select 属性,来指定特定的XML 元素。例:&xsl:value-of
select="BOOK/PAGES"/&
2.for-each元素:元素for-each 从其select 属性中指定的样本相对应XML 文件元素集合中,每次输出此集合中相对应XML 元素的元素区块,直到集合中的元素都输出完成。
3.apply-templates元素:这个元素就是可以通过select属性选择你要对哪些元素进行特殊的匹配。例如:
&?xml-stylesheet type="text/xsl"
href="XslDemo03.xsl"?&
XslDemo03.xsl&?xml
version="1.0"?&
&!--File Name:XslDemo03.xsl --&
&xsl:stylesheet
xmlns:xsl="http://www.w3.org/TR/WD-xsl"&
&xsl:template match="/"&
Inventory&/H2&
&xsl:apply-templates select="INVENTORY/BOOK"
&/xsl:template&
&xsl:template match="BOOK"&
STYLE="font-style:italic"&Title:&/SPAN&
&xsl:value-of
select="TITLE"/&&BR/&
STYLE="font-style:italic"&Author:&/SPAN&
&xsl:value-of
select="AUTHOR"/&&BR/&
STYLE="font-style:italic"&Binding
type:&/SPAN&
&xsl:value-of
select="BINDING"/&&BR/&
STYLE="font-style:italic"&Number of
pages:&/SPAN&
&xsl:value-of
select="PAGES"/&&BR/&
STYLE="font-style:italic"&Price:&/SPAN&
&xsl:value-of
select="PRICE"/&&P/&
&/xsl:template&
&/xsl:stylesheet&这
个范例样式表中拥有两个样板。一个包含显示整份文件的指令。(透过match="/"的设定,来指定文件根元素)所有的XSL 样式表都必须具有这个样板。另一个样板则包含了显示BOOK 元素的指令。(这个样板中的match=
"BOOK"的设定)浏览器会先从处理对应到文件根元素的样板。XSL 元素apply-templates 告诉浏览器对于根元素INVENTORY 中的每个BOOK 元素,浏览器必须处理每个对应到BOOK 元素的样板-即match 属性被设定成「BOOK」的样板。样式表中包含了下列对应到BOOK 元素的样板。
4.筛选简单地在筛选运算子中加入一个元素名称,使对应到的元素皆具有此子元素。例如,下面所示的样本,对应到任何具有子元素CD 的ITEM 元素,不用考虑子元素CD 中的内容:
match="ITEM [CD]"对应到任何具有COLOR 子元素的SHIRT 元素,而且子元素COLOR 还须符合具有文字「red」的条件:
match="SHIRT
[COLOR='red']"相反地,下面的样本对应到任何具有子元素COLOR 的SHIRT 元素,而且子元素COLOR 还须符合不具有文字「red」的条件:
select="SHIRT [COLOR!='red']"
5.排序你可以藉由分号的使用,来将order-by
属性设定成一个以上的样本,以分号区隔。浏览器将使用样本排列的顺序来排序这些元素。你可以在每个样本前加上符号「+」或「-」,来指定是递增或递减排序。例如,下面for-each 元素的order-by 属性设定会使得浏览器以作者的姓来递增排序BOOK 元素,而当具有相同姓时,则以名字来递增排序:
&xsl:for-each select="INVENTORY/BOOK"
order-by="+AUTHOR/LASTNAME;+AUTHOR/FIRSTNAME"&
6.存取XML 的属性
XSL 将属性视为属于XML
文件中的一个元素,好像是XML
文件中的子元素。然而,要在XSL样本中读取属性,你必须在属性名称前加上字符@,作为属性名称与元素名称的识别。例如,在下列起始标签中的筛选运算子从 所有BOOK 元素,筛选出属性InStock 的属性值为「yes」的BOOK
元素。换句话说,筛选运算子筛选出有库存的书籍:
&xsl:for-each select="INVENTORY/BOOK
[@InStock='yes']"&读书笔记写到这里,其中两章没写,请见谅。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信