How I may help
LinkedIn Profile Email me!
Call me using Skype client on your machine

Reload this page XML and SOAP

Here are my notes on XML, the Extensible Markup Language.

Microsoft's FREE XML Notepad 2007 provides a simple intuitive user interface for browsing and editing XML documents.

Take the Brainbench certification test on XML, XML Concepts, & XML

Video XML Tutorials at Stylus Studio


Topics this page:
on this page History/Summary
on this page XML Protocol Stack
on this page Infosetz
on this page XSLT
on this page XPointer, XLink
on this page Web Service Stack
on this page Your comments???

Related Topics:
another page on this site Free Training! 
another page on this site Technical Support 


Site Map List all pages on this site 
About this site About this site 
Go to first topic Go to Bottom of this page

Set screen XML History

    XML was first specified by the W3C “way back” in 1998 as a derivation of the more ambitious SGML (ISO 8879) serialization format that maps information to a byte stream.

    XML is widely embraced because it can be read by every machine (and human). Plus, it's extensibile.

    The content of XML models are defined by

    • Document Type Definitions (DTDs), and
    • XMI (XML Metadata Interchange) standard for expressing objects using XML. XMI specifies how to create XML schemas from models and reverse engineer models from XML documents, XMI 2.0 specifies how to create XML schemas from UML models. Variables in business processes are described using an XML Schema.


"Tonio" 1984 (Oil on canvas) by Sean Scully

Go to Top of this page.
Previous topic this page
Next topic this page

Set screen The XML Protocol Stack

    XML specifications are "layered" similar to the way the network protocol stackanother page on this site was designed in terms of isolated layers, listed here with the most abstract layer on top, progressing toward more concrete layers at the bottom.

    Specification # XML Protocol Stack name Enablers
    Application specific 7. Classes and objects  
    XML Schemas XSD definition language 6. Types and Instances XSLT defines transformations between schemas
    XML Information Set (Infoset) 5. Structural Items SAX streams & DOM hierarchies project
    XML 1.0 + Namespaces 4. Elements and Attributes
    XML 1.0 3. Entities and Documents XML Parsers
    OS/Protocol specific 2. Folders, Files, and Packets  
    Hardware specific 1. Sectors and Bitstreams  

Go to Top of this page.
Previous topic this page
Next topic this page

Set screen Infosets

    XML Information Set (Infoset)

    Programming software referencing XML use one of two APIs which projectinfosets onto programmatic interfaces:

    • DOM (Document Object Model) Node interface hierarchy allows dynamic "traversal" of the Tree Model

    • SAX (Simple API for XML), a streaming (forward-only, read-only) interface for working with large infosets. It was cooperatively developed on the XML-DEV mailing list by a group of developers led by David Megginson

Go to Top of this page.
Previous topic this page
Next topic this page

Set screen XML Formatting

    All XML documents should begin with a prologue containing the XML declaration.

      <?xml version='1.0' encoding='UTF-8'?>

    XML is case-sensitive. Start and end tags must use the exact same case for the element name.

    The most commonly used Unicode encoding in the English language world is UTF-8, an eight-bit Unicode transformation. Conveniently for English-speakers, the first 128 characters of UTF-8 correspond exactly to the ASCII character set. Another encoding, UCS-2, the canonical Unicode character set, uses the full 16-bit space for each character. Other commonly used encodings include ISO-8859-1 (which contains most Western European characters and is often called Latin-1), ISO-8859-5 (which includes Latin and Cyrillic characters), and EUC-JP and Shift_JIS (which encode Japanese.)

    XML, like HTTP, is a markup language specification. But XML is designed to be extensible 3 allow developers to define new custom tags using phrases such as this:

    XML is stricter than HTML. XML tags must nest as subelements.

    Companies & Products tool XML Diff and Merge Tool from IBM Alphaworks uses symbols and colors to identify changes to XML documents from a base document.

    tool XML Parser for Java from IBM Alphaworks

    Water, a new language for XML


    cXML, xCBL


Go to Top of this page.
Previous topic this page
Next topic this page

Set screen XML Standards

    Boston-based OASIS (Organization for the Advancement of Structured Information Standards) maintains the and the United Nations CEFACT (Center for Trade Facilitation and Electronic Business), who are trying to standardize XML tag names — Business Transaction Protocols (BTP) by — for all business transactions being conducted on-line.
    • The ebXML (electronic business XML) specification (draft v1.0.2 dated Jan 2001) is based on the Open-EDI Reference Model (ISO/IEC 14662). It has 3 parts:
      • Dynamically formulate trading partnerships through a registry and repository (RegRep or RR), which supplies a Trading Partner Profile (TPP) which define what ebXML processes are supported.
      • Negotiate and implement collaborative partner agreements (CPAs), formerly known as Trading Partner (TP) agreements. TPA/CPA data structures is adopted from IBM's tpaML.
      • Exchange electronic business transactions using a consistent XML-based messaging infrastructure -- formerly known as Transport, Routing, and Packaging (TRP)
    • ebXML is in competition with XAML (Transaction Authority Markup Language) based on the eXtended Open Collaboration Protocol (XOCP) used by BEA's WebLogic Collaborate product.

  • AuthXML and s2ml S2ML from Netegrity define the format of communications of authentication, authorization, and profile information. They allow interoperability of secure e-business transactions between disparate security systems.

  • In March 2002, OASIS formed the XML Common Biometric Format (XCBF) Technical committee to develop a Common Biometric Exchange File Format (CBEFF) which consists of data element names necessary to uniquely describe parts of each human body —DNA, iris scans, hand geometry, fingerprints, face contours, etc. [ article]

    ebXML is being pushed by Oracle, Sun, and others in their camp.

Go to Top of this page.
Previous topic this page
Next topic this page

Set screen XSLT

    XSLT is a language for defining transformations between schemas.

    XSLT relies on XPath (XML Path Language) for describing intra-document addressing.

    XPointer (a language for describing inter-document addressing, points, and ranges) relies on XML Base.


    MSXML, Saxon, Instant Saxon, Xalan, Oracle XSL, Sablotron, XT, Unicorn, Napa, 4XSLT, and XML Pull Parser.

Go to Top of this page.
Previous topic this page
Next topic this page

Set screen Assets

    XPointer lets you specify subsections of documents

  • XLink lets you connect documents and subsections


Go to Top of this page.
Previous topic this page
Next topic this page

Set screen SOAP Processing

    A round-trip process:

    1. serialize (marshall) data from objects into XML,
    2. encode data for HTTP and SMTP transports,
    3. bind to the remote object,
    4. move data to the destination,
    5. receive the response,
    6. deserialize (unmarshalls) the response back into objects,
    7. return the results to the calling method.
    If a NULL value needs to be sent with an input parameter required by a SOAP operation, an xsi:nil attribute must be added with a value of "true". For example: <CustomerID xsi:nil="true" />

    SAP SOAP Processor is used up to Web AS 620. From SAP NetWeaver 2004 on, please use the Web Service Framework.

Go to Top of this page.
Previous topic this page
Next topic this page

Set screen SOAP Processing Performance

    SOAP Performance
    Among SOAP encoding styles adopted by technology providers.

    • RPC SOAP Remote Procedure Call (RPC) encoding, also known as "Section 5 encoding" for where it's defined in the SOAP 1.1 specification (

      SOAP RPC is the simplest for developers. It expects a response message with a single result element. Its developers only need to code a single call to a generalized SOAP stack.

      However, the processing overhead of RPC-SOAP makes it the slowest of all.

      RPC was the default within IBM WebSphere Application Developer until v5.

    • RPC-Literal (SOAP Remote Procedure Call Literal encoding) uses RPC methods to make the call as a single Tree, but requires developers to marshall and unmarshall the body of the SOAP envelope. MS does not support this.
    • Doc-style (SOAP document-style encoding), also known as messagestyle or document-literal encoding, is efficient because an entire XML document is sent to a server and a return value is not required.

      This (in wrapped pattern) has been the default within MS .NET development tools, but since v5 adopted by IBM for WSDL binding.

    • Benefits of document style Web services include the document possibly having multiple elements.

    • StAX (Streaming API for XML)
    • JSR 109
    • JAX-RPC RMI-IIOP protocol is faster than SOAP because it doesn't go through the HTTP web container and SOAP router service, but directly invokes stateless session EJBs and JNDI. JAX-RPC handlers intercept a SOAP message during a service invocation to map Java Exceptions to and from SOAP Faults, to make SOAP "transparent" for passing exceptions in scenarios where the JAX-RPC is being used at either ends of a Web service interaction.

    The generalized SOAP stack provided by vendor are:

    • IBM WebSphere 4 - Apache SOAP library. Apache SOAP type mapping
      IBM WebSphere 5 - SAX-based Apache AXIS library.
    • BEA WebLogic - BEA JAX-RPC APIs and one that implements the Java Web Services (JWS) APIs.
    • SunONE Application Server - Java 1.4 JAX-RPC library

Go to Top of this page.
Previous topic this page
Next topic this page

Set screen WS (Web Services) Stack

    Aspect - Protocol Group
    Meta Data UDDI Universal Description, Discovery, and Integration a SOAP-based Web service for locating WSDL-formatted protocol descriptions of Web services. UDDI provides a foundation for developers and administrators to readily share information about internal Web services across the enterprise and public Web services across the Internet. OASIS
    WSDL Web Services Description Language enables web services to be "self-describing", works for communication between service requesters and service providers using a XML instance document that complies with a W3C standard XML grammar. It is because of WSDL files that Web services are called because SOAP messages can be generated from WSDL files. Client code from a WSDL file. Each "Part" is a message parameter. WSDL 2.0 port type is called interface. W3C
    WS-Policy (v2)
    WS-SecurityPolicy (v2)
    Security WS-Security (v2) Enhances SOAP messaging to provide quality of protection through message integrity, message confidentiality, and single message authentication, especially through multiple hops. OASIS
    WS-Trust (v2) extensions that build on WS-Security to request and issue security tokens and to manage trust relationships.
    WS-SecureConversation (v2)
    WS-Federation (v3)
    Reliability WS-Routing (v1.1)
    WS-Referral (v2)
    WS-Addressing (v2) enables messaging systems to support message transmission in a transport-neutral manner through networks that include processing nodes such as endpoint managers, firewalls, and gateways. Previously known as WS-Routing, WS-Referral and SOAP Routing Protocol (SOAP-RP). W3C
    WS-ReliabilityMessaging (v3) allows messages to be delivered reliably between distributed applications in the presence of software component, system, or network failures.
    WS-Reliability(v3) Specifies open, reliable Web services messaging including guaranteed delivery, duplicate message elimination and message ordering, enabling reliable communication between Web services. OASIS
    Coordination WS-AutomicTransaction (v3) defines the coordination type used with the extensible coordination framework within the WS-Coordination specification.
    WS-Coordination (v3)
    WS-BusinessActivity (v3) defines the business activity coordination type that is to be used with the extensible coordination framework described in the WS-Coordination specification.
    Messaging SOAP (serialized Base64) (v1.2) Simple Object Access Protocol a type of binding that defines the XML-based information used for exchanging structured and typed information between peers in a decentralized, distributed environment. W3C XML
    MTOM Message Transmission Optimization Mechanism enables encoding of binary attachment within SOAP messages (but outside the XML payload) using XML-binary Optimized Packaging (XOP) which uses MIME encoding. W3C
    ASAP Asynchronous Service Access Protocol A very simple extension of SOAP that enables generic asynchronous Web services or long-running Web services. OASIS
    DIME (Direct Internet Message Encapsulation) within SOAP body.
    WS-Attachments (v2)
    XML Encryption
    XML Signature
    Transport Protocols TCP/IP

Go to Top of this page.
Previous topic this page
Next topic this page

Portions ©Copyright 1996-2010 Wilson Mar. All rights reserved. | Privacy Policy |

How I may help

Send a message with your email client program

Your rating of this page:
Low High

Your first name:

Your family name:

Your location (city, country):

Your Email address: 

  Top of Page Go to top of page

Thank you!