. You need to position your data in XML for the transformation. Therefore, there is the overhead to create XML. That was extra work I would rather not have done. If your data is coming from the Model as XML, then there is an argument to using XSL-FO – but IMO not a strong one.
2. You need to create an XSL style sheet. This means that the developer needs XSL skills. More importantly, the maintenance staff needs XSL skills. Since the developers already know Java, why develop a second skill set?
Avoid. This book appears to have quite a reputation, but despite being in its 2nd edition, it is riddled with errors. The book exhibits some fundamental misapprehensions about TCP/IP; as a result it perpetrates some astonishing misinformation, much of it quite basic. Partial list: the nature of a socket close operation; what IOException when closing a socket means; what happens when the listen backlog is exceeded; specification of the ServerSocket constructors; Nagle's algorithm (Socket.setTcpNoDelay); linger; keepalive; etc etc.Of the examples which do work, the PortScanner and LocalPortScanner are provided in versions which perpetrate atrocities on the local machine and network by not closing sockets. Multi-homing very cursorily treated, not even indexed. Firewalls apparently treated in one page. Role of TTL in multicast apparently ignored.