SAX2 Visual Basic Common Notices

 

This topic provides comparison and contrast of language-specific changes that are common across all SAX interfaces when working in either Microsoft® Visual Basic®.

Visual Basic Wrappers

Visual Basic wrappers are constructed from C++/COM interfaces by:

  • Replacing the "I" prefix in front of the interface/class name with "IVB".

  • Replacing all string representations from w_char_t*/int to BSTR. For handlers, strings should be passed by reference.

  • Replacing IerrorInfo parameters with BSTRs containing error messages.

  • Replacing HRESULT parameters with long.

  • Making all parameter names follow simplified Hungarian notation for Visual Basic. For example, strName is used in place of pwchName. Prefixes are "srt", "n", "l", and "o".

  • Wherever C++ uses NULL, Visual Basic uses VT_Empty.

  • All interfaces are derived from IDispatch.

Currently, Visual Basic and C++ wrappers are completely disconnected for the user. However, the same coclasses implement both C++ and VB interfaces.

Features

Features handled and recognized by SAXXMLReader are:

  • "exhaustive-errors"

  • "http://xml.org/sax/features/external-general-entities"

  • "http://xml.org/sax/features/external-parameter-entities"

  • "http://xml.org/sax/features/lexical-handler/parameter-entities"

  • "http://xml.org/sax/features/namespaces"

  • "http://xml.org/sax/features/namespace-prefixes"

  • "preserve-system-identifiers"

  • "schema-validation"

  • "server-http-request"

Properties

Properties handled and recognized by SAXXMLReader are:

  • "http://xml.org/sax/properties/lexical-handler"

  • "http://xml.org/sax/properties/declaration-handler"

  • "http://xml.org/sax/properties/dom-node"

  • "schemas"

  • "schema-declaration-handler"

  • "charset"

  • "xmldecl-encoding"

  • "xmldecl-version"

  • "xmldecl-standalone"

Base interface

All interfaces are derived from IDispatch.