zoukankan      html  css  js  c++  java
  • 关于命名空间

    命名空间的作用是为了避免元素命名冲突

    命名冲突

    在XML中,元素名称是自定义的,当两个不同的XML树在同一个文档中使用相同的元素名时,就会发生命名冲突,如下:
    它们都使用到了<table>,XML解析器无法确定如何处理这类冲突

    <!--以下表示HTML表格的信息-->
    <table>
        <tr>
            <td>Apples</td>
            <td>Bananas</td>
        </tr>
    </table>
    
    <!--以下表示有关桌子的信息(一件家具)-->
    
    <table>
        <name>African Coffee Table</name>
            <width>80</width>
        <length>120</length>
    </table>

    前缀

    在XML中的命名冲突可以通过使用名称前缀从而容易地避免。如下:

    <!--下面实例中,不会有冲突,因为两个 <table> 元素有不同的名称-->
    <h:table>
        <h:tr>
            <h:td>Apples</h:td>
            <h:td>Bananas</h:td>
        </h:tr>
    </h:table>
    
    <f:table>
        <f:name>African Coffee Table</f:name>
        <f:width>80</f:width>
        <f:length>120</f:length>
    </f:table>

    命名空间

    当在XML中使用前缀时,必须定义命名空间,使得该命名空间与前缀相关联
    命名空间是在元素的开始标签的 xmlns 属性中定义的

    命名空间声明的语法:xmlns:前缀="URI"。

    在下面实例中,<table>标签的xmlns属性定义了 h: 和 f: 前缀的合格命名空间

    <!--当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联-->
    <root>
    
        <h:table xmlns:h="http://www.w3.org/TR/html4/">
            <h:tr>
                <h:td>Apples</h:td>
                <h:td>Bananas</h:td>
            </h:tr>
        </h:table>
    
        <f:table xmlns:f="http://www.w3cschool.cc/furniture">
            <f:name>African Coffee Table</f:name>
            <f:width>80</f:width>
            <f:length>120</f:length>
        </f:table>
    
    </root>
    
    
    <!--命名空间,可以在他们被使用的元素中或者在 XML 根元素中声明-->
    <root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3cschool.cc/furniture">
    
        <h:table>
            <h:tr>
                <h:td>Apples</h:td>
                <h:td>Bananas</h:td>
            </h:tr>
        </h:table>
    
        <f:table>
            <f:name>African Coffee Table</f:name>
            <f:width>80</f:width>
            <f:length>120</f:length>
        </f:table>
    
    </root>

    注意:
      命名空间URI不会被解析器用于查找信息。
      其目的是赋予命名空间一个惟一的名称
      但很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息

  • 相关阅读:
    AtCoder Grand Contest 029C
    AtCoder Grand Contest 034D
    JZOJ 4418. 【HNOI2016模拟4.1】Prime的把妹计划(单调栈+线段树)
    COCI 2015/2016 PROKLETNIK(单调栈+线段树)
    常用数论定理(费马小定理&欧拉定理&扩展欧拉定理)
    JZOJ 3252. 【GDOI三校联考】炸弹(树形DP)
    prufer序列入门
    NOI2020全国统一省选-GDOI游记(爆炸记)
    Manacher算法操作详解
    JZOJ 6493. 【GDOI2020模拟03.04】迷宫(状压DP)
  • 原文地址:https://www.cnblogs.com/shiliye/p/11843675.html
Copyright © 2011-2022 走看看