WS_XML_WRITER_PROPERTY_ID列挙 (webservices.h)

各 xml ライター プロパティは ID で識別され、関連付けられた値を持ちます。 この列挙体は、wsCreateWriterWsSetOutput、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 を使用している場合、このプロパティは最大バイト数です
ライターは、 WsSetOutputWsFlushWriter の呼び出し間で保持されます。
出力のバッファリングの目的。


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 Services の戻り値」を参照してください)。

このプロパティは、 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 バイトを含む 1 つのバッファーを返す 。


ライターが 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
1 つの 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 構造体。 This is
生成された 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 文字列の場合:



syntax<br><br>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br>&lt;container&gt;<br> &lt;emptyElement /&gt;<br> &lt;emptyElementWithEndTag&gt;&lt;/emptyElementWithEndTag&gt;<br>&lt;/container&gt;<br>

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




syntax<br><br>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br>&lt;container&gt;<br> &lt;emptyElement /&gt;<br> &lt;emptyElementWithEndTag&gt;&lt;/emptyElementWithEndTag&gt;<br>&lt;/container&gt;<br>

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



syntax<br><br>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br>&lt;container&gt;<br> &lt;emptyElement /&gt;<br> &lt;emptyElementWithEndTag /&gt;<br>&lt;/container&gt;<br>
WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS
値: 18
Windows 8 以降: 空の要素の出力方法を制御する BOOL

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


syntax<br>&lt;emptyElement /&gt;<br>

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


xml<br><emptyElement></emptyElement><br><br>


既定値は FALSE です

要件

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