Chapter 4 XML Processing
sumer of this document to issue many network connections to retrieve these dif
ferent fragments. Although this sort of modularization and inclusion may lead to
significant network overhead, it does allow consumers of document schemas and
instances to more finely tune caching mechanisms. See Performance Consider
ations on page 182.
Generally, document schema design and the layout of document instances
closely parallel object oriented design. In addition, design strategies exist that
identify and provide well defined solutions to common recurring problems in doc
ument schema design.
Keep the following recommendations in mind when designing an XML
Adopt and develop design patterns, naming conventions, and other best prac
tices similar to those used in object oriented modelling to address the issues of
reuse, modularization, and extensibility.
Leverage existing horizontal schemas, and vertical schemas defined within
your industry, as well as the custom schemas already defined within your en
Do not solely rely on self describing element and attribute names. Comment
and document custom schemas.
Use modelling tools that support well known schema languages such as XSD.
Keep in mind that reusing schemas may enable the reuse of the corresponding
XML processing code.
4.3.2 Receiving and Sending XML Documents
XML schemas of documents to be consumed and produced are part of the overall
exposed interface of an XML based application. The exposed interface encom
passes schemas of all documents passed along with incoming and outgoing mes
sages regardless of the message passing protocol SOAP, plain HTTP, or JMS.
Typically, an application may receive or return XML documents as follows:
Received through a Web service endpoint: either a JAX RPC service endpoint
or EJB service endpoint if the application is exposed as a Web service. (See
Chapter 3 for more information.)