ISAXXMLReader::putFeature Method

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This method sets the value of a feature.

Syntax

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 Value

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:

  • "https://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.
  • "https://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.
  • "https://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.
  • "https://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 "https://xml.org/sax/features/string-interning" and "https://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

Header msxml2.h, msxml2.idl
Library uuid.lib
Windows Embedded CE Windows CE .NET 4.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

ISAXXMLReader::getFeature Method
ISAXXMLReader