The previous sections described the basic configuration of the document loading system. For many sites, this configuration should be sufficient.

However, some sites have complex repositories that may require custom handling of the XHTML output. For example, a repository may contain multiple versions of the same data, each in a different language. To enable the document loading system to handle situations like this, the ATG platform includes interfaces and classes that you can implement or extend to handle the particular needs of your site. The main interfaces are PropertyAccessor, which defines how the document loaders obtain property values, and VariantProducer, which specifies logic for creating multiple XHTML documents from the same repository item.

Classes that implement these interfaces must be stateless, because they can be accessed by multiple threads at the same time. Rather than maintaining state themselves, these classes instead use the Context class to store state information and to pass data to each other.

This section discusses:

 
loading table of contents...