打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

微信公众号 CCBible/Bible101/DBible 微博@基督徒百科@Bible101@歌珊地圣经引擎@如鹰展翼而上 QQ群 4619600/226112909/226112998 同步推送#今日真道圣言#

命名空间({{#ifeq:|no

|英语
|英语

}}:{{#switch:en

|zh|gan|zh-yue = Namespace
|jp|jap = Namespace模板参数错误:日语请使用ja
|gr = Namespace模板参数错误:希腊语请使用elgre
|kr = Namespace模板参数错误:朝鲜语请使用kokor。kr为卡努里语,如该语言条目已建立,请至Template talk:Lang回报取消此警告。
|kp = Namespace模板参数错误:朝鲜语请使用kokor
|po = Namespace模板参数错误:波兰语请使用plpol
|sp = Namespace模板参数错误:西班牙语请使用esspa
|cz = Namespace模板参数错误:捷克语请使用cscze
|kz = Namespace模板参数错误:哈萨克语请使用kkkaz
|dk = Namespace模板参数错误:丹麦语请使用da
|unicode|ipa = Namespace模板参数错误:请检查更正引用语言代码
|#default = Namespace}}{{#switch:en
|ar|fa|he|ps|ur = ‎
|#default = }}{{#if:
 {{#ifeq:  | true
 | dontcat    
 }}{{#ifeq:  | no
 | dontcat
 }}{{#switch: ¬
 | yes
 | ¬   =   
 | #default = dontcat   
 }}{{#switch: 
 | no = 
   Template:Basepage subpage
 | only = 
   Template:Basepage subpage
 }}

| |

 {{#switch:
   {{#ifeq:  | false
   |   
   | {{#ifeq:  | yes
     |   
     | {{#ifeq:  | yes
       |   
       | {{#if:x   

|


     {{#if:{{#titleparts:{{#if:|  | 命名空间 }}|0|2}}
     | 
        
          
            
              
                
                       
                 
               
             
           
         
       
     | 
             
       
     }}   
   
 

}}

       }}
     }}
   }}
 | hide = 
 | #default  = 
   {{#ifeq: h0#384!5nea+w9 |  [[Category:含有{{#switch:en
 |ar       = 阿拉伯語
 |en|eng   = 英語 
 |es       = 西班牙語
 |de       = 德語
 |fr       = 法語
 |ja|jp|jap= 日語
 |bg       = 保加利亞語
 |cs       = 捷克語
 |da       = 丹麥語
 |nl       = 荷蘭語
 |et       = 愛沙尼亞語
 |fi       = 芬蘭語
 |el|gre   = 希臘語
 |hu       = 匈牙利語
 |ga       = 愛爾蘭語
 |grc      = 古希臘語
 |la|lat   = 拉丁語
 |cy       = 威爾斯語
 |sl|slv   = 斯洛維尼亞語
 |zh-yue|yue|zh-hk = 粵語
 |zh|zh-hans|zh-hant|zh-cn|zh-tw|zh-sg = 明確引用中文
 |#default = {{#ifexist:Category:含有Template:ISO 639 name en的條目
   |Template:ISO 639 name en
   |非中文內容
   }}
 }}的條目]] 
   | 
     {{#switch:
 {{#if: 
   | {{{demospace}}}
   | {{#ifeq:|
     | main
     | {{#ifeq:|talk
       | talk
       |  
       }}
     }} 
   }}

| main = | talk = | user = | wikipedia = | image = | mediawiki = | template = | help = | category = | portal = | other | #default =

}}

   | 
     {{#iferror: {{#expr: 1 + {{#switch:
 {{#if: 
   | {{{demospace}}}
   | {{#ifeq:|
     | main
     | {{#ifeq:|talk
       | talk
       |  
       }}
     }} 
   }}

| main = [[Category:含有{{#switch:en

 |ar       = 阿拉伯語
 |en|eng   = 英語 
 |es       = 西班牙語
 |de       = 德語
 |fr       = 法語
 |ja|jp|jap= 日語
 |bg       = 保加利亞語
 |cs       = 捷克語
 |da       = 丹麥語
 |nl       = 荷蘭語
 |et       = 愛沙尼亞語
 |fi       = 芬蘭語
 |el|gre   = 希臘語
 |hu       = 匈牙利語
 |ga       = 愛爾蘭語
 |grc      = 古希臘語
 |la|lat   = 拉丁語
 |cy       = 威爾斯語
 |sl|slv   = 斯洛維尼亞語
 |zh-yue|yue|zh-hk = 粵語
 |zh|zh-hans|zh-hant|zh-cn|zh-tw|zh-sg = 明確引用中文
 |#default = {{#ifexist:Category:含有Template:ISO 639 name en的條目
   |Template:ISO 639 name en
   |非中文內容
   }}
 }}的條目]]

| talk = | user = | wikipedia = | image = | mediawiki = | template = | help = | category = | portal = | other | #default =

}} }} | {{#switch:

 {{#if: 
   | {{{demospace}}}
   | {{#ifeq:|
     | main
     | {{#ifeq:|talk
       | talk
       |  
       }}
     }} 
   }}

| main = [[Category:含有{{#switch:en

 |ar       = 阿拉伯語
 |en|eng   = 英語 
 |es       = 西班牙語
 |de       = 德語
 |fr       = 法語
 |ja|jp|jap= 日語
 |bg       = 保加利亞語
 |cs       = 捷克語
 |da       = 丹麥語
 |nl       = 荷蘭語
 |et       = 愛沙尼亞語
 |fi       = 芬蘭語
 |el|gre   = 希臘語
 |hu       = 匈牙利語
 |ga       = 愛爾蘭語
 |grc      = 古希臘語
 |la|lat   = 拉丁語
 |cy       = 威爾斯語
 |sl|slv   = 斯洛維尼亞語
 |zh-yue|yue|zh-hk = 粵語
 |zh|zh-hans|zh-hant|zh-cn|zh-tw|zh-sg = 明確引用中文
 |#default = {{#ifexist:Category:含有Template:ISO 639 name en的條目
   |Template:ISO 639 name en
   |非中文內容
   }}
 }}的條目]]

| talk = | user = | wikipedia = | image = | mediawiki = | template = | help = | category = | portal = | other | #default =

}} | }}

   }}
 }}

}})表示标识符(identifier)的上下文(context)。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其它命名空间中。

例如,设Bill是X公司的员工,工号为123,而John是Y公司的员工,工号也是123。由于两人在不同的公司工作,可以使用相同的工号来标识而不会造成混乱,这里每个公司就表示一个独立的命名空间。如果两人在同一家公司工作,其工号就不能相同了,否则在支付工资时便会发生混乱。

这一特点是使用命名空间的主要理由。在大型的计算机程序文档中,往往会出现数百或数千个标识符。命名空间(或类似的方法,见“命名空间的模拟”一节)提供一隐藏区域标识符的机制。通过将逻辑上相关的标识符组织成相应的命名空间,可使整个系统更加模块化

编程语言中,命名空间是一种特殊的作用域,它包含了处于该作用域内的标识符,且本身也用一个标识符来表示,这样便将一系列在逻辑上相关的标识符用一个标识符组织了起来。许多现代编程语言都支持命名空间。在一些编程语言(例如C++Python)中,命名空间本身的标识符也属于一个外层的命名空间,也即命名空间可以嵌套,构成一个命名空间,树根则是无名的全局名空间

函数的作用域可被视作隐式命名空间,它们和可见性、可访问性和对象生命周期不可分割的联系在一起。

在常用编程语言中的应用

C++语言中,命名空间使用namespace来声明,并使用{ }来界定命名空间的作用域.
: <source lang=cpp> namespace foo {

 int bar;

} </source>

在XML中的应用

XML虽然不是一个独立的编程语言,但是它的出现使得命名空间的使用变得更为广泛。

在同一个命名空间里,所有的元素名都必须唯一。

声明一个命名空间使用XML保留的属性xmlns,它的值必须是URI(统一资源标志符 Uniform Resource Identifier而非URL--Universal Resource Locator)指代.比如xmlns="http://www.w3.org/1999/xhtml".注意,事实上URI是不可读的,但它对XML解析器来说就只是简单不过的字串.比如,http://www.w3.org/1999/xhtml/ 这个地址本身并不包含任何代码,它只表示XHTML命名空间.使用URI (比如"http://www.w3.org/1999/xhtml")去标示一个命名空间,而不是用一个简短的字串 (比如"xhtml"),这样做是为了减少不同命名空间标示符冲突的可能性.

维基百科中的应用

主{{#ifeq:||条目|页面}}:[[Wikipedia:名字空间{{#if:||{{{l1}}}}}]]{{#if:

|{{#if:|、|和}}[[{{{2}}}{{#if:||{{{l2}}}}}]]{{#if: |{{#if:|、|和}}[[{{{3}}}{{#if:||{{{l3}}}}}]]{{#if: |{{#if:|、|和}}[[{{{4}}}{{#if:||{{{l4}}}}}]]{{#if: |{{#if:|、|和}}[[{{{5}}}{{#if:||{{{l5}}}}}]]{{#if: |{{#if:|、|和}}[[{{{6}}}{{#if:||{{{l6}}}}}]]{{#if: |{{#if:|、|和}}[[{{{7}}}{{#if:||{{{l7}}}}}]]{{#if: |{{#if:|、|和}}[[{{{8}}}{{#if:||{{{l8}}}}}]]{{#if: |{{#if:|、|和}}[[{{{9}}}{{#if:||{{{l9}}}}}]]{{#if:

|和[[{{{10}}}{{#if:||{{{l10}}}}}]]}}}}}}}}}}}}}}}}}}{{#if:|

(在模板{{[[{{#switch:
|#default = Main 
| = 
   {{#ifeq:  | 
     | Template:main            
     | Main      
   }}

}}|main]]{{#if:||{{{arg}}}}}}}中使用了太多的参数)}}

命名空间的模拟

参见

外部链接