首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页制作XML/XSLT

XML入门教程:元素声明

来源: 互联网    日期:2009-2-22
 
网页教学网核心提示:有效文档中使用的每个元素都必须在文档的DTD中用元素声明进行声明。element_name可是任何合法的XML名称,content_model(内容模型)指定元素可以或必须包含的子元素以及子元素的顺序。下面具体介绍内容模型的内容。

上节文档类型声明中的每一项都是元素声明,定义了每个元素的约束。元素声明的格式为:

<!ELEMENT element_name (content_model)>

有效文档中使用的每个元素都必须在文档的DTD中用元素声明进行声明。element_name可是任何合法的XML名称,content_model(内容模型)指定元素可以或必须包含的子元素以及子元素的顺序。下面具体介绍内容模型的内容。

#PCDATA,规定元素只包含已析的字符数据。下面声明指出一个name元素可以包含文本,但不能划分为独立的area_code、number和extension元素:

  • <!ELEMENT name (#PCDATA)>
    
  • 子元素,可指明元素的子元素。下面声明表示name元素必须包含且只包含一个desc元素。

    <!ELEMENT name (desc)>
    

    也可用逗号为分隔符,指明多个子元素。并且子元素出现的次序必须按定义时的顺序。如:

    <!ELEMENT name (id,desc)>
    

    name元素的id子元素必须在desc子元素前面,否则验证会出错,该文档不是一个有效的XML文档。

    下面这个文档是有效的
    <name>
       <id>1</id>
       <desc>dtd test</desc>
    </name>
    
    下面这个文档是无效的,顺序颠倒了
    <name>
       <desc>dtd test</desc>
       <id>1</id>
    </name>
    
    下面的文档也是无效的,有多余的元素
    <name>
       <id>1</id>
       <desc>dtd test</desc>
       <date>2005/01/31</date>
    </name>
    
  • 子元素的个数,我们可通过正则表达式来规定子元素的个数。

    • ?,允许零个或一个该元素

    • *,允许零个或多个该元素

    • +,允许一个或多个该元素

    下面我们可利用这些符号规定id子元素必须出现,且只能出现一次,而desc子元素可选。本文

    <!ELEMENT name (id,desc*)>

    根据上面的声明,下面的name元素都是有效的。

    <name>
       <id>1</id>
       <desc>dtd test</desc>
    </name>
    
    <name>
       <id>2</id>
    </name>
    
    <name>
       <id>3</id>
       <desc>dtd test</desc>
       <desc>another test</desc>
    </name>
    
  • 可选项(|),选项是一个参数列表,每个参数间用“|”分隔,代表能且只能选一个子元素。

    <!ELEMENT choice (good | bad)>
    

    上例的choice元素可选一个good子元素,或bad子元素,且只能从选一个。可选的参数列可以多项,不限于两项。如:

    <!ELEMENT choice (one | two | three | four)>
    
  • 小括号,可用小括号把选项括起来,以表达更丰富的意思,如我们想表示choice元素必须包含一个good子元素,并且必须包含ok子元素或bad子元素的一个。

    <!ELEMENT choice (good,(ok|bad))>
    
  • 混合内容,在一些文档中,一个元素可能既包含子元素,也包含字符串,这些内容叫混合内容。可用以下方式表示:

    <!EMEMENT description (#PCDATA | term)* )>
    

    该声明表示description元素可包含已析的字符串和term子元素,且允许出现零次或多次,如:

    <description>
    this is a <term>dtd</term> test.
    </description>
    

    #PCDATA必须在第一位,可选的子元素可任意多项。

  • 空元素,某些元素不用包含任何内容,称之为空元素。写成以/>结束的独立标签。

    <!ELEMENT image EMPTY>
    

    示例:

    <image src="http://www.xml.com/dtd.jpg" />
    
  • ANY,允许元素内包含任意内容。该选项在dtd测试时很有用,在生产系统中尽量不要使用。

    <!ELEMENT page ANY>
    


更多的XML入门教程:元素声明请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2009-2-22   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报