ISAXXMLReader::putFeature Method

This method sets the value of a feature.

HRESULT putFeature(
  const wchar_t* pwchName,
  VARIANT_BOOL* vfValue
);

Parameters

  • pwchName
    [in] Pointer to the name of the feature (zero-terminated Unicode string).
  • vfValue
    [in] Current state of the feature (True or False).

Return Values

The following table lists the return values for the putFeature method.

Feature Returns
namespaces S_OK: Not parsing and legal.

E_FAIL: If namespace-prefixes is False. Parsing or illegal.

namespace-prefixes S_OK: Not parsing and legal.

E_FAIL: If namespaces is False. Parsing or illegal.

external-general-entities
external-parameter-entities
S_OK: Not parsing.

E_FAIL: Parsing or illegal.

"normalize-line-breaks" S_OK
"server-http-request" S_OK: Not parsing.

E_FAIL: Parsing.

validation
string-interning
E_FAIL
Other features E_INVALIDARG

Remarks

The feature name is any fully qualified Uniform Resource Identifier (URI). However, at this time, the ISAXXMLReader interface recognizes only the following features and their settings:

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

      (Default) Perform name space processing.

    • False

      This value has no effect and returns E_FAIL.

    • Access

      Read-only for parsing; read/write when not parsing.

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

      Report the original prefixed names and attributes used for namespace declarations in the QNames (qualified names) field.

    • False

      Do not report attributes used for namespace declarations and, optionally, do not report original prefixed names.

    • Access

      Read-only for parsing; read/write when not parsing.

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

      Include all external general (text) entities.

    • False

      (Default) Do not include external general entities.

    • Access

      Read-only for parsing; read/write when not parsing.

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

      Include all external parameter entities, including the external document type definition (DTD) subset.

    • False

      (Default) Do not include any external parameter entities, including the external DTD subset.

    • Access

      Read-only for parsing; read/write when not parsing.

  • "normalize-line-breaks"
    • True

      (Default) Normalize CR-LF sequence into single LF per XML 1.0 specifications.

    • False

      Keep CR-LF intact, as usual in COM programming.

    • Access

      Read-only for parsing; read/write when not parsing.

  • "server-http-request"
    • True

      Use the server-safe ServerXMLHTTP object for the parseURL method.

    • False

      (Default) Use the WinInet component to get data through HTTP for parseURL.

    • Access

      Read-only for parsing; read/write when not parsing.

The values for the namespaces and namespace-prefixes features may be available only in a specific context, such as before, during, or after a parse.

The reader recognizes the "http://xml.org/sax/features/string-interning" and "http://xml.org/sax/features/validation" features. However, you cannot set these features in the current SAX2 implementation.

The behavior of the reader depends on the values of the namespaces and namespace-prefixes, as shown in the following table.

If namespaces is...
and namespace-prefixes is...
True
True
True
False
False
True
False
False
Reports name space names Yes Yes Yes* Illegal
Reports startPrefixMapping and endPrefixMapping events Yes Yes Yes Illegal
Reports QNames Yes* Yes Yes Illegal
Reports xmlns attributes No Yes Yes Illegal

The SAX2 specifications state the implementation must report QNames when the namespace or namespace-prefixes feature is set to False. The namespace and namespace-prefixes features cannot both be set to False.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Msxml2.h, Msxml2.idl.
Link Library: Uuid.lib.

See Also

getFeature Method | ISAXXMLReader:IUnknown Interface

 Last updated on Saturday, April 10, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.