XML Fundamentals - Glossary

A B C D E F G H I  J K  L M N O P Q R  S T U  V W X Y Z 
Extensible Markup Language (XML) is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications. XML's design goals emphasize simplicity, generality, and usability over the Internet. It is a textual data format with strong support via Unicode for the languages of the world. Although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures, for example in web services. Many application programming interfaces (APIs) have been developed that software developers use to process XML data, and several schema systems exist to aid in the definition of XML-based languages.
Abstract class
A class that contains one or more methods that are declared but not implemented. It has a complete interface but only a partial implementation of that interface. Concrete subclasses of an abstract class are required to flesh out the implementation by overriding the abstract methods.
Accessor method
Public methods that allow other classes to read (but not change) the values of attributes of a class. They are also called getter methods, and merely return the value of the attribute.
Anonymous object
Objects for which no name is obvious or needed. Anonymous objects are commonly used in diagrams that show one object contained in another object; they can also be used to show samples of an object that may not be used in any particular part of the code.
One or more pieces of data passed to a method to operate upon. A method argument is indicated in a class diagram by the name of the argument inside parentheses:. Multiple arguments are separated by commas.
Components of a class, also known as a field or member variable. Often determined in the design phase by asking the question "what does the class know, track, record, or maintain?
Base class
The way that C++ programmers often refer to a superclass.
An expression or variable that can have only a true or false value. Java provides a Boolean type and the literal values True and False.
The term CDATA, meaning character data, is used for distinct, but related purposes in the markup languages SGML and XML.
The highest-level element in an object-oriented programs; classes contain both functions (methods) and data. Collaboration: A class's interaction with other classes to carry out all its necessary responsibilities; needed when the class by itself doesn't know or can't do everything it needs to know or do. The final step in object-oriented analysis is to identify the class's collaborators.
Class diagram
A method of displaying a class and its attributes in a reasonably language-independent fashion. A class diagram is divided into compartments; the name of the class appears in bold type in the top or name compartment, and the attributes of the class, its values, are given in the bottom compartment, the attributes compartment.
Class interface
The class's collection of methods and attributes; access specifiers define who is allowed to see which parts of the class. Depending on who's asking, the class presents different interfaces to the world. A class's interface defines the messages that an object of the class may receive.
A technique of building more complex entities from less complex ones. In class composition, classes may contain attributes that are themselves classes. In object composition, complex objects can be constructed from more primitive objects.
A method that constructs is used to create a new object, one that doesn't already exist; it is responsible for initializing all the attributes of an object to reasonable values before the object is used.
CRC Modeling
Class-Responsibility-Collaborator modeling; a style of analysis that defines classes by defining responsibilities and collaborations.
CSS1 is a simple style sheet mechanism that allows authors and readers to attach style (e.g. fonts, colors and spacing) to HTML documents. The CSS1 language is human readable and writable, and expresses style in common desktop publishing terminology.
CSS2 is a style sheet language that allows authors and users to attach style (e.g., fonts, spacing, and aural cues) to structured documents (e.g., HTML documents and XML applications). By separating the presentation style of documents from the content of documents, CSS2 simplifies Web authoring and site maintenance.
Data Binding
XML data binding is the binding of XML documents to objects designed especially for the data in those documents.
Data Clustering
Data clustering is a common technique for statistical data analysis, which is used in many fields, including machine learning, data mining, pattern recognition, image analysis and bioinformatics. Clustering is the classification of similar objects into different groups, or more precisely, the partitioning of a data set into subsets (clusters), so that the data in each subset (ideally) share some common trait - often proximity according to some defined distance measure.
Data flow programming
A class of programming in which the key element is data that flows between functions; only dependency relationships that specify which operations must complete before other operations must begin are specified. Both data flow programming and OOPtechniques and styles can be used in one language.
Default constructor
The initial value that a constructor assigns to attributes and method arguments. To specify default values for attributes in a class diagram, place an equal sign (=) and the default value after the attribute name.
Default value
The initial value that a constructor assigns to attributes and method arguments. To specify default values for attributes in a class diagram, place an equal sign (=) and the default value after the attribute name.
Derived class
The way that C++ programmers often refer to a subclass.
A Document Type Definition is one of several XML schema languages. DTD is a set of declarations that conform to a particular markup syntax and that describe a class, or type of SGML or XML documents, in terms of constraints on the structure of those documents. A DTD specifies, in effect, the syntax of an application of SGML or XML, such as the derivative language HTML or XHTML. This syntax is usually a less general form of the syntax of SGML or XML. While DTD is native to the XML specification, its capabilities are somewhat limited compared to more modern XML schema languages such as XML Schema and RELAX NG.
Document Type Declaration
The document type declaration names the document type being used and links to or includes its definition, the DTD.
Early binding
The assumption of a programming language that everything is known at compile time. It is always obvious which method will be invoked in which class at which point in the flow of a program.
Empty Element
XML provides special syntax for representing an element with empty content. Instead of writing a start tag followed immediately by an end tag, a document may contain the empty element tag Singleton where a slash follows the element name.
A key principle of object-oriented design and programming. Encapsulation includes: keeping both methods and variables together in a single clump or object; preventing code outside the object from accessing the inside of the object directly; and creating an outside, or interface, that your class presents to the outside world and that does not change.
A feature in many object-oriented languages and some non-object-oriented languages.that provides a way to handle values of attributes that violate constraints you have set in the class. This is not specifically a part of object-oriented design.
The preferred way, among Java programmers, of indicating that one class is a subclass of another class; "class B (the subclass) extends class A (the superclass)."
Synonym for attribute, also known as a member variable; see attribute.
Fourth-generation language
A programming language, like SQL (Structured Query Language), that defines the answer that's wanted rather than the method by which the answer is generated. You neither know nor care what algorithm is used to search that data structure for the requested information.
Friendly access
An access type supported by some object-oriented languages that allows certain closely related classes to access another class's normally private implementation.
Functional Programming
A class of programming that concentrates on the evaluation of expressions rather than the execution of commands; functional programming languages include Lisp, Scheme, and ML. The primary uses of functional programming are in teaching and artificial intelligence.
Getter method
Another name for an accessor method, a public method that allows other classes to read (but not change) the values of attributes of a class. They merely return the value of the attribute.
Hierarchical inheritance
Multiple levels of inheritance; that is, A can subclass B, which subclasses C, which subclasses D, which subclasses E. A shares all the attributes and operations of E, D, C, and B.
Immutable object
An object that is a member of a class with a constructor but no mutators; it can be initialized but not changed.Implementation inheritance: The ability of a superclass and a subclass to share identical code for the same method; each classneeds to contain only its own unique code. It inherits the rest of the code from its superclass. Implementation: The internal workings of a class; how a class does what it promises to do.
A mechanism that allows you to share truly common code for the general case, while supplementing or replacing that code for more specific cases. Inheritance can be inferred when one class "is a kind of" another class.
Inherits from
Another way of saying that one class is a subclass of another class.
The outside of your class that is used by other classes. It's the set of things your class promises to do; the interface of a class does not change once its design is finalized.
Interface inheritance
The guarantee that any message understood by the superclass will also be understood by a subclass. The subclass may respond to additional messages the superclass doesn't understand, and the subclass may very well do something different in response to the message, but it will understand the message.
Late binding
The ability of a programming language to support new classes and methods after compilation but not after the program is first loaded and executed.
A markup language combines text and extra information about the text. The extra information, for example about the text's structure or presentation, is expressed using markup, which is intermingled with the primary text. The best-known markup language in modern use is HTML (Hypertext Markup Language), one of the foundations of the World Wide Web. Historically, markup was (and is) used in the publishing industry in the communication of printed work between authors, editors, and printers.
Member variable
Synonym for attribute, also known as a field; see attribute.
An operation performed by members of the class; also called a function. The operations of a class say what an object does and define a class's behavior.
Method overloading
A feature supported by object-oriented languages; method overloading permits two methods (or constructors) to have the same name as each other, provided they can be distinguished by their argument lists.
Multiple inheritance
A feature supported by some object-oriented languages that allows a single subclass to to have more than one superclass. Typically a subclass with multiple inheritance has some attributes and behaviors in common with the one superclass and some in common with another superclass.
Mutator method
A method that allows nonsibling objects to change an object's state. Also known as a setter method.Noargs constructor: Another name for a default constructor. See default constructor.
A particular instance of a class that contains both the data that defines the object and the methods that operate on the object. When you define a class, you are setting the rules for all the objects of that class.
Object based
A program, such as Visual Basic, which supports classes and data abstraction but not inheritance or polymorphism.
Object diagram
An object diagram is similar to a class diagram. It is used to give examples of values for all the attributes or showing how an object changes as the system runs and is divided into two compartments. The top compartment holds the name of the object, followed by a colon and the name of the class. Both the name of the object and the name of the class are underlined. The bottom compartment holds the names of the object's attributes and their values.
Object-oriented language
Programming languages that support the inclusion of both data and methods in classes.
An abbreviation for Object-Oriented Programming.
Operations compartment
The name for the box at the bottom of the class diagram that contains method names; this course uses the convention that method names end with parentheses to distinguish between methods and attributes.
Operator overloading
A feature supported by some object-oriented languages; operator overloading allows you to define the behavior of operators like +, -, and * when used on instances of your class.
Overriding a method
Replacing a method that would otherwise be inherited from a superclass with a new method of the same name defined in the subclass. An overridden method has the same name and argument list in a superclass as it does in he subclass.
Pervasive computing
Pervasive computing (ubicomp, or sometimes ubiqcomp) integrates computation into the environment, rather than having computers which are distinct objects. Other terms for ubiquitous computing are pervasive computing, calm technology, and things that think.
A central concept of object-oriented design. Polymorphism applies a class's interface to many different subclasses. Through polymorphism, you can send the same message to different objects of different types and have them respond appropriately for their type. An instance of the subclass can stand in for the superclass. The superclass code is unaware of the actual type of the object it has been passed.
PCDATA means parsed character data. Think of character data as the text found between the start tag and the end tag of an XML element.
A low-level function, operator, or data type, built into a programming language, from which higher-level, more complex objects and operations can be constructed.
Private access
The most restrictive type of access. When attributes of a class have been made private, other classes can no longer read or change their values.
Problem domain
What the problem is that your project is supposed to help solve. Defining the problem domain is usually the first step in design, whether you use a procedural or an object-oriented design.
Procedural language
Structured programming requires well-defined flow control. A programming language that supports well-defined flow control because of a heavy reliance on procedures.
The highest-level element in procedural, or structured design; procedures define what the program does.
Protected access
An access level on an attribute or method that allows subclasses public access to it; it remains private to other classes.
Public access
The least restrictive type of access. Public attributes of a class allow their values to be read and changed by other classes.
Read-only properties
Attributes with an accessor method but no mutator method; they can be gotten but not set.
Things that a class knows or things the class does; setting a class's responsibilities is one of first steps in defining a class.
Result Tree
The output produced by running an XSLT stylesheet over an XML document using an XSLT engine.
Return value
The information returned by a method to whatever called it. It may be a programmer-defined data type or a primitive type. A method that does not return a value is called void.
Objects of the same class. Siblings are allowed to access the private elements of each other's objects.Signature: A method's list of argument types.
Static object
Objects that possess a state but no operations.
Style Sheet
An XSLT stylesheet specifies the presentation of a class of XML documents by describing how an instance of the class is transformed into an XML document that uses a formatting vocabulary, such as (X)HTML or XSL-FO.
One or more classes that are more specific versions of another similar class. A subclass inherits all the attributes and operations of the class it is based on.
The most general class of a group of classes that share some attributes and operations.
The Universal Discovery, Description, and Integration (UDDI) protocol enables web services to be registered so that they can be discovered by programmers and other web services. For example, if you’re going to create a web service that serves a particular function, such as providing up-to-theminute traffic reports by GPS coordinates, you can register that service with a UDDI registry. The global UDDI registry system consists of several different servers that all mirror each other, so by registering your company with one, you add it to all the others.
Unified Modeling Language, an industry-standard modeling language used to diagram the relationship of elements to one another, interrelated processes within a project, and code architecture.
Very late binding
The ability of a programming language to support the addition of new classes and methods until the very last moment, while the program is running.
A method that does not return a value to whatever called it.
Write-only properties
Attributes with a mutator method but no accessor method; they can be set but not gotten.
XML Registry
An XML registry is an information system that stores XML artifacts (e.g., XML schemas, data elements, etc.) and non-XML artifacts (e.g. supporting documents), as well as details (metadata) about the artifacts. The storage facility (e.g., a filesystem or database) that holds registered objects is known as a repository, while the part of the information system that maintains the metadata for the registered objects is known as a registry.