XML Alphabet Soup
INDEX:
[Schema]
[Style]
[XHTML]
[Technologies]
[E-Business]
Because many standards are evolving and complicated. So if you are new in this area then may be you would find this "soup" good to you.

eXtensible Markup Language is a simple, standard way to delimit text data. It has been described as "the ASCII of the Web". It is a subset of SGML (Standard Generalized Markup Language). Like HTML 4.01, XML is based upon the Universal Character Set (UCS), defined in the ISO/IEC 10646 character set standard (which is currently congruent with the somewhat better-known Unicode standard). Commonly supported character encoding names for XML use are:
* Unicode: UTF-8, UTF-16
* ISO 10646: ISO-10646-UCS-2, ISO-10646-UCS-4
* ISO 8859: ISO-8859-n (n:1-9)
* JIS X-0208-1997: ISO-2022-JP, Shift-JIS, EUC-JP
* Internationalization & Localization
XML Schema express shared vocabularies and allow machines to carry out rules made by user. They declare the allowed elements, attributes, etc. It can be referred as metadata, data about data, go beyond the vocabulary definition to explain the relationships between certain types of data. RDF, XML-Data, DCD are some examples.
See Semantic Web
Resource Description Framework, a W3C backed effort for describing resources so that they may be discovered automatically. It is oriented around three concepts: resources, properties, and statements.
See Semantic Web
XML-Data aims for a more modest scope than RDF. It makes a distinction between syntactic and conceptual schemas.
See Semantic Web
Document Content Description is syntactically similar to XML-Data. It has no mention of relations and correlatives. It is strictly focused on defining XML vocabularies.
See Semantic Web
XML Signature is a method of associating a key with referenced data (octets); it does not normatively specify how keys are associated with persons or institutions, nor the meaning of the data being referenced and signed. This specification uses public key signatures and keyed hash authentication codes. These have substantially different security models.
With public key signatures, any number of parties can hold the public key and verify signatures while only the parties with the private key can create signatures. The number of holders of the private key should be minimized and preferably be one. Confidence by verifiers in the public key they are using and its binding to the entity or capabilities represented by the corresponding private key is an important issue, usually addressed by certificate or online authority systems.
Keyed hash authentication codes, based on secret keys, are typically much more efficient in terms of the computational effort required but have the characteristic that all verifiers need to have possession of the same key as the signer. Thus any verifier can forge signatures.
This specification permits user provided signature algorithms and keying information designators. Such user provided algorithms may have different security models. For example, methods involving biometrics usually depend on a physical characteristic of the authorized user that can not be changed the way public or secret keys can be and may have other security model differences.
XML Linking - W3C's mechanism for linking to other resources from within an XML document. Also allows non-XML documents to be linked.
XPath - W3C's general language specification for addressing parts of XML. XPointer wraps XPath.
XML Pointers - W3C's mechanism for pointing to a particular location in, or portion of, an XML document. While XPath is used to define the addressing mechanism, XPointer provides a standard way to use that mechanism in references. XPointers may be used to point to XML doc from non-XML sources, such as HTML.
XSL Transform - Querying XML document. XPath is a major component of XSLT as it is used in the mechanism of addressing individual information items in XML document. XSLT uses XPath to filter nodes out of documents. XSLT engines do not manipulate documents; they manipulate structure.
XSL (eXtensible Stylesheet Language) - has its roots in both CSS (Cascading Style Sheet) and DSSSL (Document Style Semantics and Specification Language). XSL is an application of XML. XSL style sheet is made up of TEMPLATES. It is an XML document. XSLT is a declarative language. There are two popular XSL processors: MSXML and XT. Today XSL is becoming increasingly closer to CSS. XSLhas three parts:
1. Transformation (XSLT)
2. Rendering (XSLF - can involve the use of XSLT)
3. Accessing the XML underlying structure (XPath)
XHTML - this implementation will obey all of grammar rules of XML (properly nested elements, quoted attributes, and so on), while conforming to the vocabulary of HTML (the elements and attributes that are avaliable for use and their relationships to one another). Both an HTML parser and an XML parser will parse a properly written document in XHTML.
Dynamic HTML - there is no such thing as a single DHTML standard. It is an amalgam of specifications that stem from multiple standards efforts and proprietary tehnologies that are built into the IE 4 or greater and Netscape v.4 or greater.
The relevant standards are:
* HTML
* CSS
* CSS-P
* DOM
* ECMA
Notes: CSS-P CSS-Poistioning purely Netscape's efforts not adopted by W3C for HTML 4.0. ECMA - European computer standards group published ECMA-262 politically neutral ECMA-Script in use by Navigator and IE.
Cascading Style Sheet - W3C's attempt to separate content from display. There are two levels of CSS CSS1 and CSS2, with level 3 well on the way. CSS2 introduced the concept of different media types, that is, target devices which share certain identifiable characteristics.
Interesting to note that CSS2 is not designed to succeed the CSS1 specification, but rather to extend it with new functionality. Many of the existing properties covered in the CSS1 have been defined better in CSS2. Also includes support for the following:
* ten (10) new media display types: ALL, AURAL, BRAILLE, EMBOSSED, HANDHELD, PRINT, PROJECTION, SCREEN, TTY, and TV. Each has particular characteristics.Also refer to Browser Compatibility
Document Object Model - an API that allows the manipulation of the tree structure. The W3C DOM is a language and platform-neutral definition as interfaces are defined for the different object comprising the DOM, but no specifics of implementation are provided. It could be done in any programming language. The HTML DOM as a special case of XML DOM.
DOM Level 0 - functionality implemented in version 3.0 of IE and version 3.0 of Netscape before any effort to standardize an object model for the behaviour of HTML pages.
DOM Level 1 - contains two main sections. The first, DOM (core) Level 1, contains specification for the interfaces that can access aby structured document, with some specific extensions that allow access to XML documents. The second section describes HTML-specific extensions to the DOM.
DOM Level 2 - contains all of the Level 1 objects, and adds the following:
* Support for namespaces
* Style sheet
* Filtering
* Event model
* Ranges
Scalable Vector Graphics is a language for describing two-dimensional graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. Text can be in any XML namespace suitable to the appplication, which enhances searchability and accessibility of the SVG graphics. SVG drawings can be dynamic and interactive. The Document Object Model (DOM) for SVG, which includes the full XML DOM, allows for straightforward and efficient vector graphics animation via scripting.
* See if your browser support SVG W3C technology road map
Simple API for XML - is an interface allows you to write application to read the data held in an XML document. It distinguishes from DOM is that it is event-based. With DOM, the application asks what is in the document by following object references in memory; with SAX, the parser tells the application what is in the document by notifying the application of a stream of parsing events.
Microsoft XML - the orginal DOM interface is deflned using a CORBA IDL (Interface Definition Language), but Microsoft's component technology (COM) uses COM IDL a different IDL.
The MSXML component integrates in the same component:
* an XML parser
* an extended DOM level 1 interface to the tree
* an XSLT transformation engine.
XT - a popular XSLT processor written by James Clark. Operates with any SAX-compliant parser. XT package comes with a Java parser named XP.
Wireless Markup Language is the language part of the WAP (Wireless Application Protocol). It is an application of XML.
WML coding uses ISO/IEC-10646 which is equivalent to Unicode 2.0. It supports the following subsets of Unicode:
* UTF-8 - 8-bit coding, 7-bit ASCII compatible
* ISO-8859-1 - extension of ASCII, e.g. ISO-Latin-1, commonly use in HTTP
* UCS-2 - defined by ISO-10646
Wireless Application Protocol has five layers:
* Application Layer: WAE (Wireless Application Environment)
* Session Layer: WSP (Wireless Session Protocol)
* Transaction Layer: WTP (Wireless Transaction Protocol)
* Security Layer: WTLS (Wireless Transport Layer Security)
* Transport Layer: WDP (Wireless Datagram Protocol)
WML, WML Script, WTA, WTAI(Wireless Telephone Application Interface), Content format (image, diary, etc) are found in the WAE.
XML Remote Procedural Calling serializes simple and more complex data types into XML to transport over the Internet.
Simple Object Access Protocol Working Draft v1.2 Part 0 SOAP version 1.2 is a simple messaging framework, defines on XML document, for exchanging structured and typed information between peers in a decentralized, distributed environment. SOAP does not define language bindings for a specific programming language. The specification defines an uniform representation for RPC invocations and responses. A SOAP message packed in an Envelope contains two sub-elements: a Header and a Body. The contents of the message are application defined and not a part of the SOAP specifications. The normative SOAP/HTTP binding specification in Part 2 defines the use of the HTTP POST method for conveying SOAP messages in HTTP requests.
Publish, bind and find mechanisms have their respective counterparts in three separate protocols that make up the Web services network stack: WSDL (Web Services Description Language), SOAP and UDDI (Universal Description and Discovery Interface).
Microsoft and SOAPSOAP is implemented by Microsoft's version of XML-RPC. It is an integral part of Microsoft's UPnP (Universal Plug and Play). SOAP slips transparently through any firewall that allows Web browser access (Firewall prevent many RPC and interprocess communications protocols from reaching their destinations because it is peggybacked on top of HTTP).
SOAP and JavaJava language bindings are pursued through the JAX-RPC initiative. The SOAP client identifies the server via a URI, connects to it via the underlying TCP/IP network, issues a HTTP request message and receives a HTTP response message over the same connection. It sends the SOAP message to a JSP or ASP page on a Web server listening for SOAP requests. The server performs the requested functions and wraps the SOAP envelope in a response object, such as a servlet or a COM object, which is sent back to the requesting machine.
SOAP plays the role of IIOP in CORBA (or JRMP in RMI).
WSDL plays the role of IDL (Interface Definition Language).
UDDI acts as a registry for publishing and locating Web services.
Common Object Request Broker Architecture, is a component architecture that simplifies client-server or n-tier development. A CORBA clients makes a request of a CORBA server through an ORB, Object Request Broker. CORBA is language-neutral. You define the services offer (the requests they listen to) using a language-neutral notation called Interface Definition Language IDL. Utilities that come with the ORB generate Java code, C++ code, or whatever language you need, from this IDL. XML is the protable data. Java is the portable code. And CORBA is the glue that makes it simple to call that code from anywhere.
The Object Management Group
Remote Method Invocation works only in a Java environment. Unlike other object broker technologies, RMI is built into the JVM itself. RMI is an object-oriented remote procedure call mechanism and not a full, object-oriented transaction-processing environment. But RMI forms the basis for Jini, Enterprise JavaBeans (EJB), and JavaSpaces, which each attempt to extend Java into a full distributed transaction-processing system.
* Java 2 Platform, Enterprise Edition, v 1.3 API Specification
* Java 2 Platform, Standard Edition, v 1.4.1 API Specification
* Java Web Services Developer Pack (Version 1_0) Combined API Specification
Universal Plug and Play - Unlike CORBA and COM/DCOM, UPnP seems primarily designed for home network or small business LAN rather than as a general Internet-capable product.
Web Distribution Data eXchange is a technology for exchanging complex data structures between programming languages. WDDX applications produce packets describing local objects through serialization, which can then be transmitted to remote servers where an application can de-centralized the packet to provide useful information it understands.
BizTalk Framework intent on guiding the creation and maintenance of XML data schemas to allow electronic commerce and application integration. Schemas posted to the library use Microsoft's XML Data-Reduce Schema (XML-DR) which is a cut down version of the XML-Data proposal for schemas in XML syntax.
Cocoon - from Apache XML project. Cocoon is now entering its second generation as an XML publishing framework based completely in Java. It has default support for Apache Xerces - XML parsers in Java, C++ (with Perl and COM bindings) and Apache Xalan - XSLT stylesheet processors, in Java and C++. Xerces is a XML parser and Xalan is a XSLT processor.