第二讲 第二章节 --XML属性值

---摘自《ChinaAsp》 (文/jspery)
    前面的讲座中曾经出现过元素的属性值.
     e.g: "<我的故事 价值="无价之宝">
             .........  
           </我的故事>"
其中  价值="无价之宝" 这段代码就是根元素"我的故事"的属性值
    那么,属性值可以做什么呢?xml中的属性值可以被用来为元素添加额外的说明信息.其实我们很早以前就已经接触过属性值,而且频率非常的高,那就是出现在html中的属性值.
     e.g:  <font size="7" color="red">属性值在html中的运用</font>
                 ~~~~~~~~ ~~~~~~~~~~~
           <a href="http://go.go.go">到处都是属性值的运用</a>
    在xml中,我们也可以应用属性值到元素,但不要太频繁,毕竟XML是用来储存
和发送数据信息的,因此它的可扩展性就显得非常重要,我们可能随时需要向xml文件中添加数据,虽然使用属性值可以方便的为元素添加额外信息说明,但是这样做非常不利于日后的维护和更新...更何况,这些事情使用元素来做才是正确真正的选择(因此,本人不推荐频繁使用属性值).
     e.g:  属性值运用  <?xml version="1.0" encoding="GB2312"?>
                       <我的介绍 姓名="jsper" 性别="unknow" 职业="无"
                                 联系方式="jsper@371.net">
                       </我的介绍>
          不使用属性值 <?xml version="1.0" encoding="GB2312"?>
                       <我的介绍>
                       <姓名>jsper</姓名>
                       <性别>unknow</性别>
                       <职业>无</职业>
                       <联系方式>jsper@371.net</联系方式>
                       </我的介绍>
    显而易见,频繁的使用属性值很难与维护和更新,而且,使用属性值还有一系列的弱点---1,属性值不可以包含多重数值(元素可以);2,属性值难于扩展(考虑到长远打算);3,属性值不能够用于描述结构内容(子元素则可以);4,属性值很难通过DTD来进行一个测试(关于DTD的介绍,请期待后续教程)
    也许你们的语法老师都告诉过你们这样一句话"是规则就有例外",在这里也同样应验...毕竟属性值也不是一无是处^_^.我们可以用数值来表示同一元素的不同内容.如下
      e.g:       <?xml version="1.0" encoding="GB2312"?>
                 <通讯薄>                 
                    <我的网友 编号="008">
                         <姓名>飞鸟</姓名>
                         <性别>未知</性别>
                         <联系方式>不详</联系方式>
                    </我的网友>
                     
                    <我的网友 编号="009">
                         <姓名>飞鱼</姓名>
                         <性别>中性</性别>
                         <联系方式>未知</联系方式>
                    </我的网友>
                 </通讯薄>   
      在这里,我们用的是数字来区分元素"我的网友",当然你也可以用其他的
方式来区分.例如"编号="一号"" (第二章节完)