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[4] produced by the W3C, and several other related specifications, all gratis open standards.
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.
It is defined in the XML 1.0 Specification[4] produced by the W3C, and several other related specifications, all gratis open standards.
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.
- Argument
-
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.
- Attribute
-
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.
- Boolean
-
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.
- CDATA
-
The term CDATA, meaning character data, is used for distinct, but related purposes in the markup languages SGML and
XML.
- Class
-
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.
- Composition
-
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.
- Constructor
-
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
-
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
-
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 OOP
techniques 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.
- DTD
-
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 (aka Singleton) where a slash follows the element name.
- Encapsulation
-
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.
- Exception
-
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.
- Extends
-
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)."
- Field
-
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 class
needs 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.
- Inheritance
-
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.
- Interface
-
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.
- MarkUp
-
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.
- Method
-
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.
- Object
-
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.
- OOP
-
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 the 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.
- Polymorphism
-
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
-
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.
- Primitive
-
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.
- Procedure
-
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.
- Responsibilities
-
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.
- Siblings
-
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.
- Subclass
-
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's based on.
- Superclass
-
The most general class of a group of classes that share some attributes and operations.
- UML
-
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.
- Void
-
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.
