System Architecture with XML

Soon after the first XML hype ceased, software architects and engineers became aware that it is not sufficient just to know where to put the brackets to make systems collaborate. Even more important than syntax is agreeing about an ontology a system of meaning.
In this chapter we introduce formal semantics, context, and ontologies. If you plan to implement collaborative applications, this is required reading.
One way to specify semantic aspects formally is the definition of constraints. In Section 4.1, we take a close look at constraints and how they can be defined in schemata, especially in XML Schema. Constraints are, however, only one aspect of the definition of formal semantics. Ontologies provide additional means for the declaration of formal semantics. In Section 4.2, we discuss the different levels of ontological depth and introduce languages for the definition of ontologies such as DAML and OIL. In Section 4.3, we take an excursion into the Western philosophy of the past 2,000 years. We learn that context is important when interpreting the meaning of a message, especially in a globalized environment. This leads into Section 4.4, where we take a closer look at the formal treatment of context. In Section 4.4.2, we discuss a practical approach for implementing context-aware semantics with XML: the Schema Adjunct Framework.
The Internet is about sharing information. This involves publishing the information, navigating to the relevant information, and interpreting that information. HTML is hardly able to fulfill these requirements, and XML was designed...