Projects: Programming style for DJ: Define: for each method traversal graph parameters: TraversalGraph fetchPart, TraversalGraph averageComp, ... Fill parameters in when method is called. Problem: writing actual parameters requires some knowledge of visitors. Could formulate those reqs. and check them at compile-time. Problem: lots of traversal arguments? porting applications to the web implementing simple collaborations AspectJ projects? Manual translation of collaborations to AspectJ Integrating with XML Take DTD as input and generate Java code 31 motivation Take schema notation instead. Compare XSL and Java code. Maintaining XML documents using LL(1) language Implementing XPath: the navigation language for XML Use strategies