On October 2, 1998, the W3C acknowledged receipt of a NOTE submission from Veo Systems Inc. under the title "Schema for Object-oriented XML". Reference: NOTE-SOX-19980930. The authors are Matt Fuchs (Veo Systems), Murray Maloney (Muzmo Communication), and Alex Milowski (Veo Systems). The NOTE was submitted on September 15, 1998.
The document abstract:
Automated processing of business documents in large-scale electronic commerce environments requires rigorous definition of the document structure, content and semantics to enable efficient software development processes for distributed applications. XML offers the Document Type Definition (DTD) as a formalism for defining the syntax and structure of XML documents. However, experience has shown that XML DTDs are not sufficient to specify content or semantics. Moreover, the fact that XML DTD syntax is incompatible with XML document syntax increases the complexity of supporting interoperation among heterogenous applications. Therefore, a schema facility is required to enable XML validation and higher levels of automated content checking by facilitating software mapping of XML data structures, supporting the generation of common application components, and enabling reuse at the document design and the application programming levels.
This submission proposes a schema facility, Schema for Object-oriented XML (SOX), for defining the structure, content and semantics of XML documents to enable XML validation and higher levels of automated content checking. SOX provides an alternative to XML DTDs for modeling markup relationships to enable more efficient software development processes for distributed applications. SOX also provides basic intrinsic datatypes, an extensible datatyping mechanism, content model and attribute interface inheritance, a powerful namespace mechanism, and embedded documentation. As compared to XML DTDs, SOX dramatically decreases the complexity of supporting interoperation among heterogenous applications by facilitating software mapping of XML data structures, expressing domain abstractions and common relationships directly and explicitly, enabling reuse at the document design and the application programming levels, and supporting the generation of common application components
SOX documents can be operated on by a SOX processor to produce many different types of output targets. Transformation of SOX documents will yield XML DTDs and object-oriented language classes to facilitate the development of intelligent applications, such as those needed to perform electronic commerce, for example. Other output targets from SOX includes documentation derived from the documentation-based elements in SOX itself, and user interface components. Further output targets are yet to be defined, but the inherent flexibility of SOX allows for many other options.
The SOX proposal is informed by the XML 1.0 specification as well as the XML-Data submission, the Document Content Description submission and the EXPRESS language reference manual (ISO 10303-11). A SOX document, or schema, is a valid XML document instance according to the SOX DTD, that represents a complete XML DTD-like structure. It has a document root element, and a representation of syntax that one would expect from a complete DTD, symbolically generated through the XML document instance.