W3C Glossary Terms

These are all definitions obtained directly from W3C source material, often from official specifications or recommendations. The two principal sources are the Web Architecture glossary and the Web Services glossary; the remaining listings are drawn from various other W3C glossaries and definitions as presented in the online W3C Glossary service.

In general, this is the relative order of assumed authoritativeness, as well.

In addition, some of the definitions have supplementary entries from either wiktionary (using the closest computer-related term where there are multiples) or Wikipedia. Finally, in the case of a few entries, specific other references are invoked.

All source references are listed under Notes at the conclusion of this listing.


 * access control -- is protection of resources against unauthorized access; a process by which use of resources is regulated according to a security policy and is permitted by only authorized system entities according to that policy; see further RFC 2828
 * agent  -- is a program acting on behalf of a person or organization, akin to the notion of software agent in
 * annotation -- is the linking of a new commentary node to an existing node. If readers can annotate nodes, then they can immediately provide feedback if the information is misleading, out of date or plain wrong. Thus the quality of the information in the web can be improved
 * API (or application programming interface) -- defines how communication may take place between applications. Implementing APIs that are independent of a particular operating environment (as are the W3C DOM Level 2 specifications) may reduce implementation costs for multi-platform user agents and promote the development of multi-platform assistive technologies. Implementing conventional APIs for a particular operating environment may reduce implementation costs for assistive technology developers who wish to interoperate with more than one piece of software running on that operating environment
 * architecture -- 1. the structure or structures of a software program or computing system. This structure includes software components, the externally visible properties of those components, the relationships among them and the constraints on their use; or 2. an abstraction of the run-time elements of a software system during some phase of its operation. A system may be composed of many levels of abstraction and many phases of operation, each with its own software architecture
 * attribute -- is a distinct characteristic of an object. An object's attributes are said to describe the object. Objects' attributes are often specified in terms of their physical traits, such as size, shape, weight, and color, etc., for real-world objects. Objects in cyberspace might have attributes describing size, type of encoding, network address, etc.
 * binding -- 1. is an association between an interface, a concrete protocol and a data format. A binding specifies the protocol and data format to be used in transmitting messages defined by the associated interface; or 2. the mapping of an interface and its associated operations to a particular concrete message format and transmission protocol
 * class -- is a general concept, category or classification; it is something used primarily to classify or categorize other things. Formally, in RDF, it is a resource of type rdfs:Class with an associated set of resources, all of which have the class as a value of the rdf:type property. Classes are often called 'predicates' in the formal logical literature
 * component -- 1. is a software object, meant to interact with other components, encapsulating certain functionality or a set of functionalities. A component has a clearly defined interface and conforms to a prescribed behavior common to all components within an architecture; or 2. is an abstract unit of software instructions and internal state that provides a transformation of data via its interface; or 3. is a unit of architecture with defined boundaries
 * concept -- is a informal term for the abstractions "in the world" that ontologies describe
 * configuration -- is a collection of properties which may be changed. A property may influence the behavior of an entity
 * content -- is the document object as a whole or in parts. If in parts, the content is associated with an element in the source document; not all elements have content in which case they are called empty. The content of an element may include text, and it may include a number of sub-elements, in which case the element is called the parent of those sub-elements
 * database -- is used vaguely as a term for a collection of nodes . The management information for one of these is kept in one place with all accessible by the same server . Links outside this are "external", and those inside are "internal"; nothing is implied about how the information should be stored. According to, it is a collection of (usually) organized information in a regular structure, usually but not necessarily in a machine-readable format accessed by a computer
 * data format -- is a specification (for example, for XHTML, RDF/XML, SMIL, XLink, CSS, and PNG) that embodies an agreement on the correct interpretation of representation data
 * data model -- is a collection of descriptions of data structures and their contained fields, together with the operations or functions that manipulate them. According to, it is the structure of the data within a given domain and, by implication, the underlying structure of that domain itself. This means that a data model in fact specifies a dedicated grammar for a dedicated artificial language for that domain.
 * data set (or dataset) -- is a known grouping of data elements. According to, it is a file of related records on a computer-readable medium such as disk
 * data type (or datatype) -- with specific reference to the XML Schema, it is a 3-tuple, consisting of a) a set of distinct values, called its value space, b) a set of lexical representations, called its lexical space, and c) a set of facets that characterize properties of the value space, individual values or lexical item. These reside in a classification or category of various types of data, that states the possible values that can be taken, how they are stored, and what range of operations are allowed on them, used to qualify both the content and the structure of an element or attribute. According to http://www.en8848.com/Reilly%20Books/xml/schema/gloss.htm, datatypes can be either simple (when they describe an attribute or an element without an embedded element or attribute) or complex (when they describe elements with embedded child elements or attributes)
 * dictionary -- is a repository containing a definition of the content and structure of a database. It is used by runtime library functions for accessing and manipulating information from that database from
 * discovery -- is the act of locating a machine-processable description of a Web service-related resource that may have been previously unknown and that meets certain functional criteria. It involves matching a set of functional and other criteria with a set of resource descriptions. The goal is to find an appropriate Web service-related resource
 * document -- is any data that can be represented in a digital form. [Note: this definition is weak]
 * document type -- is a class of documents sharing a common abstract structure, which might be expressed as similar characteristics (for example, journal, article, technical manual, or memo), or a formal, machine-readable expression of structure and syntax rules, or schema type or same markup model.
 * domain -- is an identified set of agents and/or resources that is subject to the constraints of one of more policies. According to, it is content supplied in response to a request as a stream of data that, after being combined with any other streams it references, is structured such that it holds information contained within elements. A "document" may be a collection of smaller "documents", which in turn is a part of a greater "document"
 * element -- is any identifiable object within a document, for example, a character, word, image, paragraph or spreadsheet cell. In HTML and XML, an element refers to a pair of tags and their content, or an "empty" tag - one that requires no closing tag or content
 * encoding -- is a mapping from a character set definition to the actual code units used to represent the data, such as such as "UTF-8", "UTF-16", or "US-ASCII" (see further the Unicode specification [UNICODE]; also refer to "Character Model for the World Wide Web" [CHARMOD] for additional information about characters and character encodings). According to, it is the way in which symbols are mapped onto bytes, e.g., in the rendering of a particular font, or in the mapping from keyboard input into visual text
 * end point -- is an association between a binding and a network address, specified by a URI, that may be used to communicate with an instance of a service. An end point indicates a specific location for accessing a service using a specific protocol and data format
 * entity -- is a logical or physical storage unit containing document content. Entities may be composed of markup or character data that can be parsed, or unparsed content (e.g., non-XML or non-textual) content. Entity content may be either defined entirely within the document ("internal entities") or external to the document ("external entities"). In parsed entities, the replacement text may include references to other entities via mnemonic strings or standard references (e,g.,  for "&",   for "<",   for "©")
 * field -- also called data field, represents the basic unit of information storage in a database and is always defined to be an element of a record. A field has associated with it attributes such as name, type (for example, char or int), and length. Other terms used for field include: attribute, entity, or column
 * formalism -- is one of several alternative computational paradigms for a given theory; a set of symbols and a collection of systematic rules governing their uses and interrelations, as in knowledge representation or logic; from http://www.informatics.susx.ac.uk/books/computers-and-thought/gloss/node1.html
 * format -- used in the context of XML, it is a representation that conforms to the syntax rules in a given specification
 * gateway -- is an agent that terminates a message on an inbound interface with the intent of presenting it through an outbound interface as a new message. Unlike a proxy, a gateway receives messages as if it were the final receiver for the message. Due to possible mismatches between the inbound and outbound interfaces, a message may be modified and may have some or all of its meaning lost during the conversion process. For example, an HTTP PUT has no equivalent in SMTP
 * identifier -- is an unambiguous name for a resource
 * individual -- is an instance of a class; a single member. Note: within a given class and namespace, individual is synonomous with instance and may only assume a single value for each attribute. However, across namespaces and classes, instances of equivalent classes may represent the identical individual
 * information resource -- is a resource that has the property that all of its essential characteristics can be conveyed in a message
 * information set (or infoset) -- is a consistent set of definitions for use in other specifications that need to refer to the information in a well-formed document (XML in the case of this particular specification). A document has an information set if it is well-formed, meaning it contains at least a document information item and several others. Note that, based on this definition, infoset is not a subset of actual data instances
 * instance -- is a single member or individual within a class. Note: within a given class and namespace, instance is synonomous with individual and may only assume a single value for each attribute. However, across namespaces and classes, instances of equivalent classes may represent the identical individual
 * interface -- is defined in terms of protocols, by specifying the syntax, semantics, and sequencing constraints of the messages interchanged
 * link -- is the representation within resource that contains a reference to another resource, expressed with a URI identifying that other resource, this constitutes a link between the two resources. Additional metadata may also form part of the link
 * message -- may include data as well as metadata about a resource (such as the "Alternates" and "Vary" HTTP headers), the message data, and the message itself (such as the "Transfer-encoding" HTTP header). A message may even include metadata about the message metadata (for message-integrity checks, for instance). According to, it is 1. the basic unit of data sent from one Web services agent to another in the context of Web services; or 2. the basic unit of communication between a Web service and a requester
 * metadata -- is data about data on the Web, including but not limited to authorship, classification, endorsement, policy, distribution terms, IPR, and so on
 * model -- Note: the W3C provides definitions of subsets of model such as document model, data model, content model, but not for 'model' itself
 * module -- is a collection of semantically related features that represents a unit of functionality
 * namespace -- is the reference to vocabularies (in which element and attribute names are defined) in a global environment, which reduces the risk of name collisions in a given document when vocabularies are combined. When using namespaces, each local name in a vocabulary is paired with a URI (called the namespace URI) to distinguish the local name from local names in other vocabularies. Designers of data formats and vocabularies who declare namespaces thus make it possible to reuse and combine them in novel ways not yet imagined
 * node -- is a representation of a resource or a literal in a graph form; specifically, a vertex in a directed labeled graph
 * object -- is the object of an RDF triple, also an alternative term for individual (used for historical reasons). This is problematic, xxx
 * page -- in reference to the Web, is a collection of information, consisting of one or more resources, intended to be rendered simultaneously, and identified by a single Uniform Resource Identifier (URI). More specifically, a Web page consists of a resource with zero, one, or more embedded resources intended to be rendered as a single unit, and referred to by the URI of the one resource which is not embedded. (Note: under this definition, a page is a document, but not vice versa.)
 * payload -- is the information transferred as the payload of an HTTP request or HTTP response
 * person or organization -- may be the owner of agents that provide or request Web services
 * policy -- is a constraint on the behavior of agents or person or organization
 * property -- is a specific attribute with defined meaning that may be used to describe other resources. A property plus the value of that property for a specific resource is a statement about that resource. A property may define its permitted values as well as the types of resources that may be described with this property
 * protocol -- is a set of formal rules describing how to transmit data, especially across a network. Low level protocols define the electrical and physical standards to be observed, bit- and byte-ordering and the transmission and error detection and correction of the bit stream. High level protocols deal with the data formatting, including the syntax of messages, the terminal to computer dialogue, character sets, sequencing of messages etc. [FOLDOC]
 * proxy -- is an agent that relays a message between a requester agent and a provider agent, appearing to the Web service to be the requester
 * reference architecture -- is the generalized architecture of several end systems that share one or more common domains. The reference architecture defines the infrastructure common to the end systems and the interfaces of components that will be included in the end systems. The reference architecture is then instantiated to create a software architecture of a specific system. The definition of the reference architecture facilitates deriving and extending new software architectures for classes of systems. A reference architecture, therefore, plays a dual role with regard to specific target software architectures. First, it generalizes and extracts common functions and configurations. Second, it provides a base for instantiating target systems that use that common base more reliably and cost effectively [Ref Arch]
 * registry -- is an authoritative, centrally controlled store of information
 * representation -- is data that encodes information about resource state. Representations do not necessarily describe the resource, or portray a likeness of the resource, or represent the resource in other senses of the word "represent"
 * resource -- is anything that might be identified by a URI. According to, it is further explicated as an abstract object that represents either a physical object such as a person or a book or a conceptual object such as a color or the class of things that have colors. Web pages are usually considered to be physical objects, but the distinction between physical and conceptual or abstract objects is not determinative
 * schema -- is a document that describes an XML or RDF vocabulary; more generally, any document which describes, in formal way, a language or parameters of a langauge. With specific respect to RDF, it denotes resources which constitute the particular unchanging versions of an RDF vocabulary at any point in time, and is used to provide information (such as organization and relationship) about the interpretation of the statements in an RDF data model. It does not include the values associated with the attributes. According to, it is a formal description of the structure of a database: the names of the tables, the names of the columns of each table, and the type and other attributes of each column. (And similarly for the descriptive information of other database-like structures, such as XML files); a conceptual model of the structure of a database that defines the data contents and relationships (a database definition language specification is an implementation of a particular schema)
 * secondary resource -- is a resource related to another resource through the primary resource with additional identifying information (also known as the fragment identifier)
 * semantic -- is concerned with the specification of meanings. Often contrasted with syntactic to emphasize the distinction between expressions and what they denote
 * serialization -- is the process or action of converting something in a serial or into serial form; serialization means to force one-at-a-time access for the purposes of concurrency control, or to encode a data structure as a sequence of bytes [is the one-dimensional form of rendered content]
 * service -- is an application or abstract resource that provides tasks, computational or informational resources on request.
 * set -- is a mathematical set. According to, it is a well-defined collection of mathematical objects (called elements or members) often having a common property; specifies a one-to-many relationship between record types. One occurrence of the owner record type is related to many occurrences of a member record type. Also called a set type
 * statement -- is an expression following a specified grammar that names a specific resource, a specific property (attribute), and gives the value of that property for that resource
 * structure -- several pieces of data treated as a unit
 * subtype -- is a datatype that is generally related to another datatype (the supertype) by some notion of substitutability, meaning that computer programs written to operate on elements of the supertype can also operate on elements of the subtype
 * transformation -- is a process that changes a document or object into another, equivalent, object according to a discrete set of rules. This includes conversion tools, software that allows the author to change the schema or model defined for the original document to another one, and the ability to change the markup of lists and convert them into tables or similar
 * type -- is a property that ties an individual to a class of which it is a member. According to, it is a tag attached to variables and values used in determining what values may be assigned to what variables
 * URI scheme -- is a specification that explains the scheme-specific details of how scheme identifiers are allocated and become associated with a resource. The URI syntax is thus a federated and extensible naming system wherein each scheme's specification may further restrict the syntax and semantics of identifiers within that scheme
 * view -- is a particular rendering of the same content, which can be presented in a variety of ways
 * vocabulary -- is a collection of attributes that adequately describes an associated schema. According to http://www.nmlites.org/standards/language/glossary.html, it is a list or collection of words and definitions, or the language used by a specific group