次の方法で共有


WS_XML_WRITER_PROPERTY_ID列挙 (webservices.h)

各 xml ライター プロパティは ID によって識別され、関連付けられた値を持っています。 この列挙体は、wsCreateWriter、WsSetOutput、wsSetOutputToBuffer、および wsWriteXmlBufferToBytesするためのパラメーターとして使用される、WS_XML_WRITER_PROPERTY 構造体内で使用されます。 また、WsGetWriterPropertyを するためのパラメーターとしても直接使用されます。

構文

typedef enum {
  WS_XML_WRITER_PROPERTY_MAX_DEPTH = 0,
  WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT = 1,
  WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES = 2,
  WS_XML_WRITER_PROPERTY_WRITE_DECLARATION = 3,
  WS_XML_WRITER_PROPERTY_INDENT = 4,
  WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE = 5,
  WS_XML_WRITER_PROPERTY_CHARSET = 6,
  WS_XML_WRITER_PROPERTY_BUFFERS = 7,
  WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE = 8,
  WS_XML_WRITER_PROPERTY_BYTES = 9,
  WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE = 10,
  WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE = 11,
  WS_XML_WRITER_PROPERTY_INITIAL_BUFFER = 12,
  WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES = 13,
  WS_XML_WRITER_PROPERTY_MAX_NAMESPACES = 14,
  WS_XML_WRITER_PROPERTY_BYTES_WRITTEN = 15,
  WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE = 16,
  WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS = 17,
  WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS = 18
} WS_XML_WRITER_PROPERTY_ID;

定数

 
WS_XML_WRITER_PROPERTY_MAX_DEPTH
値: 0
ライターが許可するドキュメントの最大深度を指定する ULONG

深さは、入れ子になった開始要素の数によって任意の時点で測定されます。

深さが 0 の場合、開始要素が書き込まれなくなります。

このプロパティの既定値は 32 です。
WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT
値: 1
ライターがドキュメントの最上位レベルで複数の要素と空白以外のスペースを許可するかどうかを指定する WS_XML_WRITER_MTOM_ENCODING 構造体。 このプロパティ
WS_XML_WRITER_MTOM_ENCODINGで TRUE を に設定することはできません。

このプロパティは、既定で FALSE
します。
WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
値: 2
を指定する ULONG
ライターが要素に対して許可する属性の最大数。

このプロパティの既定値は 128 です。
WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
値: 3
ライターがドキュメントの先頭に適切な xml 宣言を出力するかどうかを指定する BOOL

このプロパティは、既定で FALSEします。
WS_XML_WRITER_PROPERTY_INDENT
値: 4
xml の書式設定に使用するインデントのスペースの数を指定する ULONG。 インデントが 0 の場合、書式設定は行われません。

このプロパティの既定値は 0 です。
WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
値: 5
次のいずれかを指定する ULONG

ライターが WS_XML_WRITER_BUFFER_OUTPUTを使用している場合、このプロパティは最大バイト数です
ライターは、出力をバッファリングするために wsSetOutput 呼び出し間で保持されます。

ライターが WS_XML_WRITER_STREAM_OUTPUTを使用している場合、このプロパティは最大バイト数です
ライターは、WsSetOutput
し、WsFlushWriter を する呼び出し間で保持されます。
出力のバッファリングの目的。

このプロパティは、wsSetOutputToBuffer
で指定 場合は無効です。

このプロパティの既定値は 4096 です。
WS_XML_WRITER_PROPERTY_CHARSET
値: 6
次の WS_CHARSET
は、ライターがドキュメントのエンコードに使用している文字セットを返します。 この値は、次の場合にのみ使用できます。
テキスト ドキュメント。
WS_XML_WRITER_PROPERTY_BUFFERS
値: 7
WS_BUFFERS 構造体
生成された xml バイトを含むバッファーのセットを返す〘。

ライターが WS_XML_WRITER_BUFFER_OUTPUTを使用している場合は、生成されたすべてのバイトが返され、
バッファーは、WsSetOutput 、または WsFreeWriter 呼び出されるまで有効です。

ライターが WS_XML_WRITER_MTOM_ENCODINGを使用している場合は、開いている要素が存在しない必要があります。
サポートされる MIME パーツが生成され、返されるバッファーに含まれます。 一度
が発生すると、xml ドキュメントにさらに書き込もうとする API は、WS_E_INVALID_OPERATIONを返します。
(Windows Web サービスの戻り値
を参照してください)。

このプロパティは、WS_XML_WRITER_STREAM_OUTPUTを使用する場合は使用できません。

このプロパティは、WS_XML_BUFFERに設定されているライターでは使用できません。

これは便利ではないかもしれませんが、WS_XML_WRITER_PROPERTY_BYTES を使用するよりも効率的です。
ライターは、ドキュメントを構成するバッファーを 1 つのバッファーに連結する必要はありません。
WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE
値: 8
ULONG
は、ライターがバッファーに格納する最大バイト数を指定します。

ライターが WS_XML_WRITER_BUFFER_OUTPUTを使用している場合、これは次の最大数です。
ドキュメント全体に対してバッファーに格納されるバイト数。 WsFlushWriter 呼び出しても効果はありません。

ライターが WS_XML_WRITER_STREAM_OUTPUTを使用している場合、これは最大
WsFlushWriter
呼び出しの間 バッファーされるデータ。

このプロパティは、wsSetOutputToBuffer
で指定 場合は無効です。
WS_XML_WRITER_PROPERTY_BYTES
値: 9
WS_BUFFERS 構造体
生成された xml バイトを含む単一のバッファーを返す

ライターが WS_XML_WRITER_BUFFER_OUTPUTを使用している場合は、生成されたすべてのバイトが返され、
バッファーは、WsSetOutput するか、WsFreeWriter が呼び出されるまで有効

ライターが WS_XML_WRITER_MTOM_ENCODINGを使用している場合は、開いている要素が存在しない必要があります。
サポートされる MIME パーツが生成され、返されるバッファーに含まれます。 一度
が発生すると、xml ドキュメントにさらに書き込もうとする API は、WS_E_INVALID_OPERATIONを返します。

このプロパティは、WS_XML_WRITER_STREAM_OUTPUTを使用する場合は使用できません。

このプロパティは、WS_XML_BUFFERに設定されているライターでは使用できません。

これは便利ですが、WS_XML_WRITER_PROPERTY_BUFFERS を使用するよりも効率が低い場合があります。
ライターは、ドキュメントを構成するバッファーを 1 つのバッファーに連結する必要がある場合があります。
WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE
値: 10
BOOL
は、wsWriteStartAttribute が呼び出され、ライターが
属性コンテンツに配置されます。
WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE
値: 11
WS_XML_WRITER_MTOM_ENCODINGで使用される ULONG。 これは、次のデータの最大量を指定します。
は、MIME パーツを記述する目的でバッファーされます。 wsWriteBytes
wsPullBytes 、データを別の MIME パートとして出力するためにデータをバッファーする必要があります。
はドキュメントに従います。これを使用して、バッファーの量を制限できます。

このプロパティの既定値は 65536 です。
WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
値: 12
ライターが xml ドキュメントのエンコードに使用できるバッファーを含む WS_BYTES 構造体。 これは
生成された XML データのサイズの上限がわかっている場合、または呼び出し元が所有する必要がある場合に便利です。
バイトが配置されるバッファー。

指定したサイズが WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE以上の場合は、
ライターは内部バッファーから割り当てられません。

このバッファーは、プロパティ WS_XML_WRITER_PROPERTY_BUFFERS または WS_XML_WRITER_PROPERTY_BYTESによって返されるバッファーの 1 つとして表示される場合があります。

呼び出し元は、指定されたバッファーがライターの有効期間中有効であることを確認する必要があります。
WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
値: 13
WS_XML_WRITER_TEXT_ENCODINGで使用される BOOL です。 これを TRUE に設定すると、文字参照が許可されます
受け入れられる XML 1.0 で無効と見なされる文字の数。

このプロパティを TRUE に設定すると、相互運用性に影響する可能性があります。

このプロパティは、既定で FALSEします。
WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
値: 14
任意の時点でスコープ内に表示できる xmlns 一意宣言の最大数を指定する ULONG
ドキュメントの書き込み中に〘

このプロパティの既定値は 32 です。
WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
値: 15
次のいずれかを指定する ULONG

ライターが WS_XML_WRITER_BUFFER_OUTPUTを使用している場合、このプロパティ
は、ライターに書き込まれたバイト数を返します。

ライターが WS_XML_WRITER_STREAM_OUTPUTを使用している場合、このプロパティ
は、最後の呼び出し以降にライターに書き込まれたバイト数を返します。
WsFlushWriterを します。

ライターが現在要素の開始タグを書き込んでいる場合、開始タグのサイズは
返される値。

このプロパティは、wsSetOutputToBuffer
使用して設定されたライターでは使用できません。
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
値: 16
開いている要素を閉じるのに必要な最大バイト数を返す ULONG

アプリケーションでは、WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
追加の量を概算する WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
データがドキュメントに書き込まれる場合があります。 これを行うときは、アプリケーションが考慮する必要があります
書き込まれるドキュメントのエンコード。

このプロパティは、wsSetOutputToBuffer使用して設定されたライターでは使用できません。
WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS
値: 17
WsCopyNode がコンテンツを含まない要素 コピーする方法を制御する BOOL

このプロパティを FALSEに設定すると、WsCopyNode
各要素が表されているかどうかを保持します。
開始/終了タグペアとして、または空の要素として。 このプロパティを TRUE設定すると、WsCopyNode

コンテンツのない要素を空の要素に変換します。

バイナリ エンコードでは、空の要素はサポートされていません。 で wsCopyNode 使用する場合
このプロパティをバイナリ エンコードを使用するライターは、どちらの方法でも効果はありません。 すべての空の要素は次のとおりです。
コンテンツを含まない要素に変換されます。

既定では、このプロパティは FALSE
です。

次のような入力 XML 文字列の場合:









このプロパティが FALSE
場合、WsCopyNode
次の xml が生成されます。









このプロパティが TRUE場合、WsCopyNode
次の xml が生成されます。







WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS
値: 18
Windows 8 以降: 空の要素の出力方法を制御する BOOL

FALSEに設定すると、WsWriteStartElement と wsWriteEndElement 呼び出しによってのみ作成される要素が次のように出力されます。





TRUE設定すると、その要素は次のように出力されます。

xml



既定値は FALSE

必要条件

要件 価値
サポートされる最小クライアント Windows 7 [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
ヘッダー webservices.h