Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

As its name states, SAX2 is a simple application programming interface (API) for XML parsers. Microsoft provides a version of this API to use with its parser, the Microsoft® XML Parser (MSXML). This API offers fewer than a dozen interfaces that you can implement to create SAX2 applications for reading and processing XML documents. These interfaces map as closely as possible to the publicly developed, Java language-based SAX2.

Mapping Java Language Interfaces to COM/C++

Implementing the SAX Java language-based interfaces within a COM/C++ environment presents some challenges. In general, the following guidelines are followed.

  • Java language conventions are mapped to COM/C++ conventions as closely as possible.

  • Errors and abnormal conditions are returned in COM through return codes (HRESULTs). Additional fields provided by derived exception classes, such as the line and position of a parsing error, must be accommodated in the class, which returns specific HRESULT values.

  • If a particular class or interface is supposed to be extended, protected members should be made public, because this is the only option in the COM Interface Definition Language (IDL).

  • Friendly default members and methods should be made public if used in other classes or interfaces. Otherwise, they might be hidden in the private section of the implementation behind interfaces.

  • If it is natural and simplifies development using a COM object, a class from a Java language package can be reduced. However, the reduction of the class must be implemented so that additional classes can be introduced without breaking an existing application.

For a list of the Microsoft SAX2 interfaces, see the SAX2 Reference node in the table of contents.

See Also