⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0303-0301.htm

📁 xml帮助文档
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0303-0301 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 3.3.3.1 命名空间作用于元素</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
	FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt9 {
	FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt10 {
	FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋体"
}
.TempOutline {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.TempOutline1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline11 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage0 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage11 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage111 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
</STYLE>



<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0 
onload=""><!-- 以下为主体内容 -->
<div align="center">
  <center>
<TABLE width="100%" border=0 style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
  <TBODY>
  <TR vAlign=top>
    <TD width=42 rowSpan=2></TD>
    <TD vAlign=center width="507" >
    <p align="center"><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD width=37 rowSpan=2></TD>
    </TR>
  <TR vAlign=top>
    <TD width="507" ><!-- 正文内容 -->
      <DIV class=pt10><B>3.3.3.1 命名空间作用于元素</B></DIV>
   &nbsp;&nbsp;&nbsp;
      <DIV></DIV><BR>
      <DIV class=pt9>
      <P>有了命名空间的声明,又有了命名空间下的合法名称,下面我们就可以在元素标记和属性中享受命名空间带来的一系列便利了。我们先来说说元素标记中对于命名空间的使用。</P>
      <P>合法名称可以用于起始元素标记、结束元素标记和空元素标记。合法名称中的前缀部分必须是一个已经声明过的命名空间前缀,声明的位置,既可以在使用该前缀的起始元素的标记处,也可以是引用处的父辈元素标记处。命名空间声明是作用到说明它的元素和该元素的所有子元素的,除非被其它命名空间声明所覆盖。例如:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;联系人:联系人列表 xmlns:联系人 ="联系人列表.dtd"&gt;<BR>&nbsp; 
            &lt;联系人:联系人&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;联系人:姓名&gt;张三&lt;/联系人:姓名&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;联系人:ID&gt;001&lt;/联系人:ID&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;联系人:公司&gt;A公司&lt;/联系人:公司&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;联系人:EMAIL&gt;zhang@aaa.com&lt;/联系人:EMAIL&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;联系人:电话&gt;(010)62345678&lt;/联系人:电话&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;联系人:地址&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;联系人:街道&gt;五街1234号&lt;/联系人:街道&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;联系人:城市&gt;北京市&lt;/联系人:城市&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;联系人:省份&gt;北京&lt;/联系人:省份&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;/联系人:地址&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;联系人:直接上级 xmlns:企业经理 
            ="企业经理.dtd"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;企业经理:姓名&gt;王五&lt;/企业经理:姓名&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;企业经理:电话&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;企业经理:秘书电话&gt;(010)62345678&lt;/企业经理:秘书电话&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;企业经理:手机&gt;13601234567&lt;/企业经理:手机&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/企业经理:电话&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;/联系人:直接上级&gt;<BR>&nbsp; 
        &lt;/联系人:联系人&gt;<BR>&lt;/联系人:联系人列表&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>这个例子的表达效果和3.3.2.1节中的例子是相同的,命名空间"联系人列表.dtd"的作用域,在除"直接上级"元素范围以外的任何地方;而命名空间"企业经理.dtd"的作用域在"直接上级"的各个子元素中。<BR><BR>同样,缺省的命名空间是作用到声明它的元素和该元素的子元素的。当然,这里所说的元素都是那些没有命名空间前缀的元素,有了前缀的元素仍然遵照前缀所指示的命名空间。</P>
      <P>在下面例子中,同时含有一个缺省的和一个非缺省的命名空间,它的表达效果和上面的例子是相同的。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;联系人列表 xmlns="联系人列表.dtd" xmlns:企业经理 
            ="企业经理.dtd"&gt;<BR>&nbsp; &lt;联系人&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;姓名&gt;张三&lt;/姓名&gt;<BR>&nbsp; &nbsp; 
            &lt;ID&gt;001&lt;/ID&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;公司&gt;A公司&lt;/公司&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;EMAIL&gt;zhang@aaa.com&lt;/EMAIL&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;电话&gt;(010)62345678&lt;/电话&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;地址&gt;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &lt;街道&gt;五街1234号&lt;/街道&gt;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &lt;城市&gt;北京市&lt;/城市&gt;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &lt;省份&gt;北京&lt;/省份&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;/地址&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;直接上级&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;企业经理:姓名&gt;王五&lt;/企业经理:姓名&gt;<BR>&nbsp; &nbsp;&nbsp;&nbsp; 
            &lt;企业经理:电话&gt;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
            &lt;企业经理:秘书电话&gt;(010)62345678&lt;/企业经理:秘书电话&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &nbsp;&nbsp;&nbsp;&nbsp;&lt;企业经理:手机&gt;13601234567&lt;/企业经理:手机&gt;<BR>&nbsp;&nbsp; 
            &nbsp;&nbsp; &lt;/企业经理:电话&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;/直接上级&gt;<BR>&nbsp; 
      &lt;/联系人&gt;<BR>&lt;/联系人列表&gt;</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>需要注意的是,在一个缺省的命名空间声明中,URI引用可以是空,这在直接方式的命名空间声明中是不允许的。当URI引用为空串时,在声明作用域范围内没有前缀的元素,被认为是不在任何命名空间作用域范围内的。下面是一个合法的XML文件,"直接上级"元素的两个子元素不属于任何命名空间,因此,它们也不属于联系人列表所规定的命名空间,和前面的“姓名”和“电话”不是一回事。</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">&lt;联系人列表 xmlns="联系人列表.dtd"&gt;<BR>&nbsp; 
            &lt;联系人&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;姓名&gt;张三&lt;/姓名&gt;<BR>&nbsp; 
            &nbsp; &lt;ID&gt;001&lt;/ID&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;公司&gt;A公司&lt;/公司&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;EMAIL&gt;zhang@aaa.com&lt;/EMAIL&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;电话&gt;(010)62345678&lt;/电话&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;地址&gt;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &lt;街道&gt;五街1234号&lt;/街道&gt;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &lt;城市&gt;北京市&lt;/城市&gt;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &lt;省份&gt;北京&lt;/省份&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;/地址&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;直接上级&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;姓名 xmlns = 
            ""&gt;王五&lt;/姓名&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;电话 xmlns = 
            ""&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;秘书电话 xmlns 
            = 
            ""&gt;(010)62345678&lt;/秘书电话&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            &lt;手机 xmlns = 
            ""&gt;13601234567&lt;/手机&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/电话&gt;<BR>&nbsp;&nbsp;&nbsp; 
            &lt;/直接上级&gt;<BR>&nbsp; 
      &lt;/联系人&gt;<BR>&lt;/联系人列表&gt;</TD></TR></TBODY></TABLE></CENTER></DIV></DIV>
      <P></P>
      <P></P></TD></TR></TBODY></TABLE>
  </center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -