Presents your XML E-NEWSLETTER for June 26, 2002 -------------------------------------------- WHAT'S IN YOUR XML TOOLKIT? As a developer, it's important to be familiar with the tools you are using. Most developers are comfortable using tools they know but tend to be skeptical of new ones. However, the mastery of tools greatly improves productivity. Tools are as important when working with XML as they are when working with any other technology, and there are many situations in which having the right tool on hand can save you time and frustration. Let's look at some components that you might include in your custom XML Toolkit. PARSERS Probably the most important item in your toolkit is the XML parser itself. Depending on the environment, you may need several parsers. For example, if you only have a Java parser on hand and the project is in C++, you'll have a problem. It might also be helpful to have multiple versions of each parser. XML has changed over the years and different versions implement different features and have various compatibility issues. Some of the most popular XML parsers include those from the Apache Group and Microsoft. DOCUMENTATION Beyond the actual XML parser, you'll need the documentation. Although most organizations are now online (and allow you to download new parsers and view documentation via the Internet) not all of them are. You don't want to find yourself in a situation where you need the documentation and (for whatever reason) Internet access is unavailable. Having the appropriate documentation for your parsers and tools can help alleviate problems for which the implementation is not intuitive. SAMPLES AND EXAMPLES One of the most powerful items in any developer's toolkit is sample code. For XML developers, this includes sample XML documents, samples of XPath techniques, and sample XSL templates. As you learn how to apply a particular XML technique, archiving it in your library can prove helpful at a later time. This is especially true of lesser-used techniques. Without a proper example, you might spend time recreating or searching the Internet. By storing these examples and samples in your toolkit, they will be ready when you need them. TOOLS Although you may not consider many of the items mentioned so far as tools, they are all part of the toolkit. There are a handful of additional tools that are useful for XML developers as well. To start with, a tool for formatting XML documents is a must-have. The ability to view a document in a neat and printable format can go a long way when troubleshooting a problem. One such tool is Microsoft Internet Explorer. It formats XML documents and presents them in a way that is easy to view and navigate. Next, a tool that can generate DTDs from XML documents, sample XML documents from DTDs, and Schemas from DTDs is a necessity. It is typically easier for XML developers to start with a working document and then reverse-engineer the DTD. By starting with the DTD, you can often omit important pieces of data; starting with the XML document, you get closer to what you want. A tool that works in this manner can speed development. XML Spy combines these features with many others and can be very helpful if you work frequently with XML documents. Finally, there are a handful of auxiliary tools that should be included in your toolkit. This includes XPath evaluators and XSL processors. Powerful tools like these can help troubleshoot advanced issues with XPath and XSL templates. LIBRARIES The final components of your toolkit should be any relevant libraries. You may have several Java packages or JARs with XML functions you frequently use. Place your JARs and Java files into your toolkit library. Additionally, you may have written or collected various XSL functions. Organize and store these in your library as well. A final item to include in your library might be finished XML solutions, which include source code, templates, DTDs, Schemas, and static documents. Brian Schaffner is a senior consultant for Fujitsu Consulting. He provides architecture, design, and development support for Fujitsu's Telcom360 group. ----------------------------------------