182
Performance Considerations
//Sun Microsystems, Inc.
J2EE Blueprints Group//DTD Invoice 1.0//EN: /com/sun/j2ee/blue
prints/xmldocuments/rsrc/schemas/Invoice.dtd
# XSD URI to physical location (URL or resource path)
http\://blueprints.j2ee.sun.com/LineItem: /com/sun/j2ee/blue
prints/xmldocuments/rsrc/schemas/LineItem.xsd
http\://blueprints.j2ee.sun.com/Invoice: /com/sun/j2ee/blue
prints/xmldocuments/rsrc/schemas/Invoice.xsd
Code Example 4.12
A Simple Entity Catalog
Although simple implementations such as Code Example 4.11 solve many of
the common problems related to external entity management, developers should
bear in mind that better solutions are on the horizon. For example, organizations
such as the Oasis Consortium are working on formal XML catalog specifications.
(See the Web site
http://www.oasis open.org
for more information on entity
resolution and XML catalogs.)
In summary, you may want to consider implementing a custom entity resolu
tion or, even better, resort to a more elaborate XML catalog solution in the fol
lowing circumstances:
E
To protect the integrity of your application against malicious modification of
external schemas by redirecting references to secured copies (either local cop
ies or those on trusted repositories)
E
During design and, even more so, during production, to protect your applica
tion against unexpected, legitimate evolution of the schemas upon which it is
based. Instead, you want to defer accounting for this evolution until after you
have properly assessed their impact on your application.
E
To improve performance by maintaining local copies of otherwise remotely
accessible schemas.
4.5
Performance Considerations
It is important to consider performance when processing XML documents. XML
document processing handling the document in a pre or post processing stage to
an application's business logic may adversely affect application performance
New Page 1