aesthetics  →
being  →
complexity  →
database  →
enterprise  →
ethics  →
fiction  →
history  →
internet  →
knowledge  →
language  →
licensing  →
linux  →
logic  →
method  →
news  →
perception  →
philosophy  →
policy  →
purpose  →
religion  →
science  →
sociology  →
software  →
truth  →
unix  →
wiki  →
essay  →
feed  →
help  →
system  →
wiki  →
critical  →
discussion  →
forked  →
imported  →
original  →
[ temporary import ]
please note:
- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
{{selfref|For use in Wikipedia, see Wikipedia:Namespace.}}In computing, a namespace is a set of symbols that are used to organize objects of various kinds, so that these objects may be referred to by name. Prominent examples include:
  • file systems are namespaces that assign names to files;CONFERENCE

, Atul
, Adya
, William
, Bolosky
, Miguel
, Castro
, Gerald
, Cermak
, Ronnie
, Chaiken
, John
, Douceur
, Jon
, Howell
, Jacob
, Lorch
, Marvin
, Theimer
, Roger
, Wattenhofer
, FARSITE: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment
, Proc. USENIX Symp. on Operating Systems Design and Implementation
, 2002
, The primary construct established by a file system is a hierarchical directory namespace, which is the logical repository for files.
, yes
,weblink" title="">weblink
, 2010-07-28
  • some programming languages organize their variables and subroutines in namespaces;WEB,weblink C FAQ: What is a namespace, C Online Net,weblink A namespace is nothing but a group of assemblies, classes, or types. A namespace acts as a container—like a disk folder—for classes organized into groups usually based on functionality. C namespace syntax allows namespaces to be nested., 2010-02-23,weblink" title="">weblink 2013-10-20, yes, WEB,weblink An overview of namespaces in PHP, PHP Manual, What are namespaces? In the broadest definition namespaces are a way of encapsulating items. This can be seen as an abstract concept in many places. For example, in any operating system directories serve to group related files, and act as a namespace for the files within them., WEB,weblink Creating and Using Packages, Java Documentation, Oracle, A package is a grouping of related types providing access protection and name space management. Note that types refers to classes, interfaces, enumerations, and annotation types. Enumerations and annotation types are special kinds of classes and interfaces, respectively, so types are often referred to in this lesson simply as classes and interfaces., {{better source|date=July 2015}}
  • computer networks and distributed systems assign names to resources, such as computers, printers, websites, (remote) files, etc.
Namespaces are commonly structured as hierarchies to allow reuse of names in different contexts. As an analogy, consider a system of naming of people where each person has a proper name, as well as a family name shared with their relatives. If the first names of family members are unique only within each family, then each person can be uniquely identified by the combination of first name and family name; there is only one Jane Doe, though there may be many Janes. Within the namespace of the Doe family, just "Jane" suffices to unambiguously designate this person, while within the "global" namespace of all people, the full name must be used.In a similar way, hierarchical file systems organize files in directories. Each directory is a separate namespace, so that the directories "letters" and "invoices" may both contain a file "to_jane".In computer programming, namespaces are typically employed for the purpose of grouping symbols and identifiers around a particular functionality and to avoid name collisions between multiple identifiers that share the same name.In networking, the Domain Name System organizes websites (and other resources) into hierarchical namespaces.

Name conflicts

Element names are defined by the developer. This often results in a conflict when trying to mix XML documents from different XML applications.This XML carries HTML table information:

This XML carries information about a table (i.e. a piece of furniture):
African Coffee Table
If these XML fragments were added together, there would be a name conflict. Both contain a element, but the elements have different content and meaning.An XML parser will not know how to handle these differences.

Solution via prefix

Name conflicts in XML can easily be avoided using a name prefix.The following XML distinguishes between information about the HTML table and furniture by prefixing "h" and "f" at the beginning xml/xml_namespaces.asp


African Coffee Table

Naming system

A name in a namespace consists of a namespace identifier and a local name.WEB,weblink Namespaces in XML 1.0 (Third Edition), XML Core Working Group, W3C, 8 December 2009, 2012-03-30, IETF, URN Syntax, 2141, Syntax, 2, 1, Moats, Ryan, 1997, May, Internet Engineering Task Force, IETF, 2012-03-30, The namespace name is usually applied as a prefix to the local name.In augmented Backus–Naur form:
name = separator
When local names are used by themselves, name resolution is used to decide which (if any) particular item is alluded to by some particular local name.">

Examples{| classwikitable|+ Examples of names in a namespace! Context !! Name !! Namespace identifier !! Local name
Path (computing)>Path /home/user/readme.txt /home/user (path) readme.txt (file name)
Domain name >| www (host name)
#Use in common languages>C++ std::array std array
UN/LOCODE >| NYC (locality)
XML namespace>XML xmlns:xhtml="" weblink body
Perl module#Perl packages and namespaces>Perl $DBI::errstr DBI $errstr
Java package>Java java.util.Date java.util Date
Uniform resource name (URN) >| fi-fe19991055
Handle System >| 1000/182 (Handle local name)
Digital object identifier >| 182 (publication)
MAC address >organizationally unique identifier) >| 67-89-ab (NIC specific)
PCI ID >| abcd (Device ID)
USB Implementers Forum#Obtaining a vendor ID>USB VID/PID 2341 003fStephen J. Gowdy."List of USB ID's".2013.
|| 2341 (Vendor ID) || 003f (Product ID)


Delegation of responsibilities between parties is important in real-world applications, such as the structure of the World Wide Web. Namespaces allow delegation of identifier assignment to multiple name issuing organisations whilst retaining global uniqueness.IETF, Functional Requirements for Uniform Resource Names, 1731, Requirements for functional capabilities, 2, 3, Sollins & Masinter, 1994, December, Internet Engineering Task Force, IETF, 2012-03-30, A central Registration authority registers the assigned namespace identifiers allocated. Each namespace identifier is allocated to an organisation which is subsequently responsible for the assignment of names in their allocated namespace. This organisation may be a name issuing organisation that assign the names themselves, or another Registration authority which further delegates parts of their namespace to different organisations.

Hierarchy{{anchor|hierarchical namespace}}

A naming scheme that allows subdelegation of namespaces to third parties is a hierarchical namespace.A hierarchy is recursive if the syntax for the namespace identifiers is the same for each subdelegation. An example of a recursive hierarchy is the Domain name system.An example of a non-recursive hierarchy are Uniform resource name representing an Internet Assigned Numbers Authority (IANA) number.{| class=wikitable|+ Hierarchical namespace breakdown for urn:isbn:978-3-16-148410-0, an identifier for the book The Logic of Scientific Discovery by Karl Popper, 10th edition.! Registry !! Registrar !! Example Identifier !! Namespace identifier !! Namespace
Uniform resource name (URN) >Internet Assigned Numbers Authority >| Formal URN namespace
Uniform resource name>Formal URN namespace Internet Assigned Numbers Authority urn:isbn:978-3-16-148410-0 ISBN International Standard Book Numbers as Uniform Resource Names
International Article Number (EAN) >GS1 >List of GS1 country codes>Bookland
International Standard Book Number (ISBN) >International ISBN Agency >| German-speaking countries
International Standard Book Number#Publisher code>German publisher code Agentur für Buchmarktstandards {{ISBNT| Mohr Siebeck

Namespace versus scope

A namespace identifier may provide context (Scope in computer science) to a name, and the terms are sometimes used interchangeably. However, the context of a name may also be provided by other factors, such as the location where it occurs or the syntax of the name.{| class=wikitable|+Examples of naming systems with local and global scope, and with and without namespaces! !! Without a namespace !! With a namespace
Local scope >Vehicle registration plate >Path (computing)>Relative path in a File system
Global scope >Universally unique identifier >| Domain Name System

In programming languages

{{MOS|date=February 2017|shortcut=MOS:SYNTAX|section=1}}For many programming languages, namespace is a context for their identifiers. In an operating system, an example of namespace is a directory. Each name in a directory uniquely identifies one file or subdirectory, but one file may have the same name multiple times.WEB, 2010-02-23,weblink C# FAQ: What is a namespace, C# Online Net,weblink For instance, [under Microsoft Windows, Windows], to access the built-in input-output (I/O) classes and members, use the System.IO namespace. Or, to access Web-related classes and members, use the System{{Not a typo, ., Web namespace.}}As a rule, names in a namespace cannot have more than one meaning; that is, different meanings cannot share the same name in the same namespace. A namespace is also called a context, because the same name in different namespaces can have different meanings, each one appropriate for its namespace.Following are other characteristics of namespaces: As well as its abstract language technical usage as described above, some languages have a specific keyword used for explicit namespace control, amongst other uses. Below is an example of a namespace in C++:
  1. include
// how one brings a name into the current scope// in this case, it's bringing them into global scopeusing std::cout;using std::endl;namespace Box1 {
int boxSide = 4;
}namespace Box2 {
int boxSide = 12;
}int main() {
int boxSide = 42;

- content above as imported from Wikipedia
- "namespace" does not exist on GetWiki (yet)
- time: 7:20pm EDT - Mon, Sep 24 2018
[ this remote article is provided by Wikipedia ]
LATEST EDITS [ see all ]
M.R.M. Parrott