WS_XML_WRITER_PROPERTY_ID-Enumeration (webservices.h)

Jede XML Writer-Eigenschaft wird durch eine ID identifiziert und verfügt über einen zugeordneten Wert. Diese Enumeration wird in der WS_XML_WRITER_PROPERTY-Struktur verwendet, die als Parameter für WsCreateWriter, WsSetOutput, WsSetOutputToBuffer und WsWriteXmlBufferToBytes verwendet wird. Es wird auch direkt als Parameter für WsGetWriterProperty verwendet.

Syntax

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;

Konstanten

 
WS_XML_WRITER_PROPERTY_MAX_DEPTH
Wert: 0
Eine ULONG , die die maximale Tiefe des Dokuments angibt, die der Writer zulassen soll.


Die Tiefe wird an einem beliebigen Punkt durch die Anzahl geschachtelter Startelemente gemessen.


Eine Tiefe von 0 verhindert das Schreiben von Startelementen.


Diese Eigenschaft ist standardmäßig auf 32 festgelegt.
WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT
Wert: 1
Eine WS_XML_WRITER_MTOM_ENCODING-Struktur , die angibt, ob der Writer mehrere Elemente und Nicht-Leerzeichen auf der obersten Ebene des Dokuments zulässt. Diese Eigenschaft
kann mit WS_XML_WRITER_MTOM_ENCODING nicht auf TRUE festgelegt werden.


Diese Eigenschaft ist standardmäßig FALSE.
WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
Wert: 2
Ein ULONG-Element , das angibt
die maximale Anzahl von Attributen, die der Writer für ein Element zulässt.


Diese Eigenschaft ist standardmäßig auf 128 festgelegt.
WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
Wert: 3
Eine BOOL , die angibt, ob der Writer am Anfang des Dokuments eine entsprechende XML-Deklaration ausgeben soll.


Diese Eigenschaft ist standardmäßig FALSE.
WS_XML_WRITER_PROPERTY_INDENT
Wert: 4
Ein ULONG-Element , das angibt, wie viele Einrückungsräume zum Formatieren der XML-Datei verwendet werden sollen. Wenn der Einzug 0 ist, erfolgt keine Formatierung.


Diese Eigenschaft ist standardmäßig auf 0 festgelegt.
WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
Wert: 5
Eine ULONG , die eine der folgenden Angaben angibt.

Wenn der Writer WS_XML_WRITER_BUFFER_OUTPUT verwendet, ist diese Eigenschaft die maximale Anzahl von Bytes.
Der Writer behält für Aufrufe von WsSetOutput zum Puffern der Ausgabe bei.


Wenn der Writer WS_XML_WRITER_STREAM_OUTPUT verwendet, ist diese Eigenschaft die maximale Anzahl von Bytes.
Der Writer behält die Aufrufe von WsSetOutput und WsFlushWriter für
Zwecke der Pufferung der Ausgabe.


Diese Eigenschaft hat keine Auswirkung, wenn sie mit WsSetOutputToBuffer angegeben wird.


Diese Eigenschaft ist standardmäßig auf 4096 festgelegt.
WS_XML_WRITER_PROPERTY_CHARSET
Wert: 6
Ein WS_CHARSET Wert, der
gibt den Zeichensatz zurück, den der Writer zum Codieren des Dokuments verwendet. Dieser Wert ist nur für
Textdokumente.
WS_XML_WRITER_PROPERTY_BUFFERS
Wert: 7
Eine WS_BUFFERS-Struktur
, die einen Satz von Puffern zurückgibt, die die generierten XML-Bytes enthalten.


Wenn der Writer WS_XML_WRITER_BUFFER_OUTPUT verwendet, werden alle generierten Bytes zurückgegeben, und
die Puffer sind gültig, bis WsSetOutput oder WsFreeWriter aufgerufen wird.


Wenn der Writer WS_XML_WRITER_MTOM_ENCODING verwendet, dürfen keine geöffneten Elemente vorhanden sein.
Die unterstützenden MIME-Teile werden generiert und in die zurückgegebenen Puffer eingeschlossen. Einmal
tritt auf, dass jede API, die versucht, weiter in das XML-Dokument zu schreiben, WS_E_INVALID_OPERATION zurückgibt.
(Siehe Rückgabewerte für Windows-Webdienste.)

Diese Eigenschaft ist bei Verwendung von WS_XML_WRITER_STREAM_OUTPUT nicht verfügbar.


Diese Eigenschaft ist für einen Writer, der auf eine WS_XML_BUFFER festgelegt ist, nicht verfügbar.


Dies ist möglicherweise weniger bequem, aber effizienter als die Verwendung von WS_XML_WRITER_PROPERTY_BYTES , da
Writer muss die Puffer, aus denen das Dokument besteht, nicht zu einem einzelnen Puffer verketten.
WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE
Wert: 8
Eine ULONG, die
gibt die maximale Anzahl von Bytes an, die der Writer puffert.


Wenn der Writer WS_XML_WRITER_BUFFER_OUTPUT verwendet, ist dies die maximale Anzahl von
Bytes, die für das gesamte Dokument gepuffert werden. Aufrufe von WsFlushWriter haben keine Auswirkung.


Wenn der Writer WS_XML_WRITER_STREAM_OUTPUT verwendet, ist dies die maximale Menge von
Daten, die zwischen WsFlushWriter-Aufrufen gepuffert werden.


Diese Eigenschaft hat keine Auswirkung, wenn sie mit WsSetOutputToBuffer angegeben wird.
WS_XML_WRITER_PROPERTY_BYTES
Wert: 9
Eine WS_BUFFERS-Struktur
, der einen einzelnen Puffer zurückgibt, der die generierten XML-Bytes enthält.


Wenn der Writer WS_XML_WRITER_BUFFER_OUTPUT verwendet, werden alle generierten Bytes zurückgegeben, und
der Puffer ist gültig, bis WsSetOutput oder WsFreeWriter aufgerufen wird.


Wenn der Writer WS_XML_WRITER_MTOM_ENCODING verwendet, dürfen keine geöffneten Elemente vorhanden sein.
Die unterstützenden MIME-Teile werden generiert und in die zurückgegebenen Puffer eingeschlossen. Einmal
tritt auf, dass jede API, die versucht, weiter in das XML-Dokument zu schreiben, WS_E_INVALID_OPERATION zurückgibt.


Diese Eigenschaft ist bei Verwendung von WS_XML_WRITER_STREAM_OUTPUT nicht verfügbar.


Diese Eigenschaft ist für einen Writer, der auf eine WS_XML_BUFFER festgelegt ist, nicht verfügbar.


Dies ist möglicherweise bequemer, aber weniger effizient als die Verwendung von WS_XML_WRITER_PROPERTY_BUFFERS , da
Writer muss möglicherweise die Puffer, aus denen das Dokument besteht, zu einem einzelnen Puffer verketten.
WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE
Wert: 10
Eine BOOL , die
gibt an, dass WsWriteStartAttribute aufgerufen wurde und der Writer ist.
auf Attributinhalt positioniert.
WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE
Wert: 11
Eine ULONG,die mit WS_XML_WRITER_MTOM_ENCODING verwendet wird. Dies gibt die maximale Datenmenge an, die
wird zum Schreiben der MIME-Teile gepuffert. WsWriteBytes und
WsPullBytes müssen Daten puffern , um die Daten als separaten MIME-Teil auszustrahlen, der
folgt dem Dokument, und dies kann verwendet werden, um zu begrenzen, wie viel gepuffert wird.


Diese Eigenschaft ist standardmäßig 65536.
WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
Wert: 12
Eine WS_BYTES-Struktur , die einen Puffer enthält, den der Writer zum Codieren des XML-Dokuments verwenden kann. This is
nützlich, wenn eine Obergrenze für die Größe der generierten XML-Daten bekannt ist oder der Aufrufer besitzen möchte
der Puffer, in dem die Bytes platziert werden.


Wenn die angegebene Größe größer oder gleich WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE ist, dann
Writer ordnet nicht über seine internen Puffer zu.


Dieser Puffer kann als einer der Puffer angezeigt werden, die von der Eigenschaft WS_XML_WRITER_PROPERTY_BUFFERS oder WS_XML_WRITER_PROPERTY_BYTES zurückgegeben werden.


Der Aufrufer muss sicherstellen, dass der angegebene Puffer für die Lebensdauer des Writers gültig ist.
WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
Wert: 13
Ein BOOL , der mit WS_XML_WRITER_TEXT_ENCODING verwendet wird. Wenn Sie dies auf TRUE festlegen, werden Zeichenverweise zugelassen.
von Zeichen, die von XML 1.0 als ungültig betrachtet werden, um akzeptiert zu werden.


Das Festlegen dieser Eigenschaft auf TRUE kann sich auf die Interoperabilität auswirken.


Diese Eigenschaft ist standardmäßig FALSE.
WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
Wert: 14
Eine ULONG , die die maximale Anzahl eindeutiger xmlns-Deklarationen angibt, die jederzeit im Bereich angezeigt werden können.
beim Schreiben des Dokuments.


Diese Eigenschaft ist standardmäßig auf 32 festgelegt.
WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
Wert: 15
Eine ULONG , die eine der folgenden Angaben angibt.

Wenn der Writer WS_XML_WRITER_BUFFER_OUTPUT verwendet, dann diese Eigenschaft
gibt die Anzahl der Bytes zurück, die in den Writer geschrieben wurden.


Wenn der Writer WS_XML_WRITER_STREAM_OUTPUT verwendet, dann diese Eigenschaft
gibt die Anzahl der Bytes zurück, die seit dem letzten Aufruf von in den Writer geschrieben wurden.
WsFlushWriter.


Wenn der Writer gerade ein Starttag des Elements schreibt, ist die Größe des Starttags nicht in enthalten.
der zurückgegebene Wert.


Diese Eigenschaft ist für einen Writer, der mit WsSetOutputToBuffer festgelegt wurde, nicht verfügbar.
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
Wert: 16
Eine ULONG , die die maximale Anzahl von Bytes zurückgibt, die zum Schließen aller geöffneten Elemente erforderlich sind.


Eine Anwendung kann WS_XML_WRITER_PROPERTY_BYTES_WRITTEN und
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE , um zu ermitteln, wie viel zusätzliche
Daten können in das Dokument geschrieben werden. Dabei sollte die Anwendung berücksichtigen.
die Codierung des zu schreibenden Dokuments.


Diese Eigenschaft ist für einen Writer, der mit WsSetOutputToBuffer festgelegt wurde, nicht verfügbar.
WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS
Wert: 17
Ein BOOL , das steuert, wie WsCopyNode Elemente ohne Inhalt kopiert.


Wenn diese Eigenschaft auf FALSE festgelegt ist, behält WsCopyNode bei, ob jedes Element dargestellt wird.
als Start/End-Tagpaar oder als leeres Element. Wenn diese Eigenschaft auf TRUE festgelegt ist, wird WsCopyNode
Konvertieren von Elementen ohne Inhalt in leere Elemente.


Die binäre Codierung unterstützt keine leeren Elemente. Bei Verwendung von WsCopyNode mit
Ein Writer, der die binäre Codierung dieser Eigenschaft verwendet, hat in beiden Richtungen keine Auswirkungen. Alle leeren Elemente sind
in Elemente ohne Inhalt konvertiert.


Standardmäßig ist diese Eigenschaft FALSE.


Für eine XML-Eingabezeichenfolge wie:



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>

Wenn diese Eigenschaft FALSE ist, generiert WsCopyNode den folgenden XML-Code:




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>

Wenn diese Eigenschaft TRUE ist, generiert WsCopyNode den folgenden XML-Code:



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
Wert: 18
Windows 8 oder höher: Ein BOOL, das steuert, wie leere Elemente ausgegeben werden.

Wenn dieser Wert auf FALSE festgelegt ist, wird ein Element, das nur durch Aufrufe von WsWriteStartElement und WsWriteEndElement erstellt wird, wie folgt ausgegeben:


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

Wenn dieser Wert auf TRUE festgelegt ist, wird dieses Element wie folgt ausgegeben:


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


Der Standardwert ist FALSE.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Kopfzeile webservices.h