Partager via


énumération WS_XML_WRITER_PROPERTY_ID (webservices.h)

Chaque propriété d’enregistreur xml est identifiée par un ID et a une valeur associée. Cette énumération est utilisée dans la structure WS_XML_WRITER_PROPERTY , qui est utilisée comme paramètre pour WsCreateWriter, WsSetOutput, WsSetOutputToBuffer et WsWriteXmlBufferToBytes. Il est également utilisé directement comme paramètre pour WsGetWriterProperty.

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;

Constantes

 
WS_XML_WRITER_PROPERTY_MAX_DEPTH
Valeur : 0
ULONG qui spécifie la profondeur maximale du document autorisée par l’enregistreur.


La profondeur est mesurée à n’importe quel point par le nombre d’éléments de début imbriqués.


Une profondeur de 0 empêche l’écriture de tous les éléments de début.


Cette propriété a la valeur par défaut 32.
WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT
Valeur : 1
Une structure WS_XML_WRITER_MTOM_ENCODING qui spécifie si l’enregistreur autorise plusieurs éléments et des espaces non blancs au niveau supérieur du document. Cette propriété
peut ne pas avoir la valeur TRUE avec WS_XML_WRITER_MTOM_ENCODING.


Cette propriété a la valeur PAR défaut FALSE.
WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
Valeur : 2
ULONG qui spécifie
nombre maximal d’attributs que l’enregistreur autorise sur un élément.


Cette propriété a la valeur par défaut 128.
WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
Valeur : 3
BoOL qui spécifie si l’enregistreur doit émettre une déclaration xml appropriée au début du document.


Cette propriété a la valeur PAR défaut FALSE.
WS_XML_WRITER_PROPERTY_INDENT
Valeur : 4
ULONG qui spécifie le nombre d’espaces de retrait à utiliser pour mettre en forme le xml. Si le retrait est égal à zéro, aucune mise en forme ne se produit.


Cette propriété a la valeur par défaut 0.
WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
Valeur : 5
ULONG qui spécifie l’un des éléments suivants.

Si l’enregistreur utilise WS_XML_WRITER_BUFFER_OUTPUT, cette propriété est le nombre maximal d’octets
l’enregistreur conservera les appels à WsSetOutput à des fins de mise en mémoire tampon de sortie.


Si l’enregistreur utilise WS_XML_WRITER_STREAM_OUTPUT, cette propriété est le nombre maximal d’octets
l’enregistreur conservera les appels à WsSetOutput et WsFlushWriter pour
objectifs de la sortie de mise en mémoire tampon.


Cette propriété n’a aucun effet lorsqu’elle est spécifiée avec WsSetOutputToBuffer.


Cette propriété est définie par défaut sur 4 096.
WS_XML_WRITER_PROPERTY_CHARSET
Valeur : 6
Valeur WS_CHARSET qui
retourne le jeu de caractères utilisé par l’enregistreur pour encoder le document. Cette valeur est disponible uniquement pour
documents texte.
WS_XML_WRITER_PROPERTY_BUFFERS
Valeur : 7
Structure WS_BUFFERS
qui retourne un ensemble de mémoires tampons contenant les octets xml générés.


Si l’enregistreur utilise WS_XML_WRITER_BUFFER_OUTPUT, tous les octets générés sont retournés, et
les mémoires tampons sont valides jusqu’à ce que WsSetOutput ou WsFreeWriter soit appelé.


Si l’enregistreur utilise WS_XML_WRITER_MTOM_ENCODING, il ne doit y avoir aucun élément ouvert.
Les parties MIME de prise en charge sont générées et incluses dans les mémoires tampons retournées. Une fois ce
se produit, toute API qui tente d’écrire davantage dans le document xml retourne WS_E_INVALID_OPERATION.
(Voir Valeurs de retour des services web Windows.)

Cette propriété n’est pas disponible lors de l’utilisation de WS_XML_WRITER_STREAM_OUTPUT.


Cette propriété n’est pas disponible sur un enregistreur défini sur un WS_XML_BUFFER.


Cela peut être moins pratique, mais plus efficace que l’utilisation de WS_XML_WRITER_PROPERTY_BYTES , car le
writer n’a pas besoin de concaténer les mémoires tampons qui composent le document en une seule mémoire tampon.
WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE
Valeur : 8
ULONG qui
spécifie le nombre maximal d’octets que l’enregistreur met en mémoire tampon.


Si l’enregistreur utilise WS_XML_WRITER_BUFFER_OUTPUT, il s’agit du nombre maximal de
octets qui seront mis en mémoire tampon pour l’ensemble du document. Les appels à WsFlushWriter n’ont aucun effet.


Si l’enregistreur utilise WS_XML_WRITER_STREAM_OUTPUT, il s’agit de la quantité maximale de
données qui seront mises en mémoire tampon entre les appels WsFlushWriter .


Cette propriété n’a aucun effet lorsqu’elle est spécifiée avec WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES
Valeur : 9
Structure WS_BUFFERS
qui retourne une mémoire tampon unique contenant les octets xml générés.


Si l’enregistreur utilise WS_XML_WRITER_BUFFER_OUTPUT, tous les octets générés sont retournés, et
la mémoire tampon est valide jusqu’à ce que WsSetOutput ou WsFreeWriter soit appelé.


Si l’enregistreur utilise WS_XML_WRITER_MTOM_ENCODING, il ne doit y avoir aucun élément ouvert.
Les parties MIME de prise en charge sont générées et incluses dans les mémoires tampons retournées. Une fois ce
se produit, toute API qui tente d’écrire davantage dans le document xml retourne WS_E_INVALID_OPERATION.


Cette propriété n’est pas disponible lors de l’utilisation de WS_XML_WRITER_STREAM_OUTPUT.


Cette propriété n’est pas disponible sur un enregistreur défini sur un WS_XML_BUFFER.


Cela peut être plus pratique, mais moins efficace que l’utilisation de WS_XML_WRITER_PROPERTY_BUFFERS , car le
writer peut avoir besoin de concaténer les mémoires tampons qui composent le document en une seule mémoire tampon.
WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE
Valeur : 10
Un boOL qui
indique que WsWriteStartAttribute a été appelé et que l’enregistreur est
positionné sur le contenu de l’attribut.
WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE
Valeur : 11
ULONG utilisé avec WS_XML_WRITER_MTOM_ENCODING. Cela spécifie la quantité maximale de données qui
sera mis en mémoire tampon à des fins d’écriture des parties MIME. WsWriteBytes et
WsPullBytes doit mettre en mémoire tampon les données afin d’émettre les données en tant que partie MIME distincte qui
suit le document, et cela peut être utilisé pour limiter la quantité de mémoire tampon.


Cette propriété est définie par défaut sur 65536.
WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
Valeur : 12
Une structure WS_BYTES qui contient une mémoire tampon que l’enregistreur peut utiliser pour encoder le document xml. This is
utile lorsqu’une limite supérieure de la taille des données xml générées est connue ou que l’appelant souhaite posséder
mémoire tampon dans laquelle les octets sont placés.


Si la taille spécifiée est supérieure ou égale à WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE, le
writer n’allouera pas à partir de ses mémoires tampons internes.


Cette mémoire tampon peut apparaître comme l’une des mémoires tampons retournées par la propriété WS_XML_WRITER_PROPERTY_BUFFERS ou WS_XML_WRITER_PROPERTY_BYTES.


L’appelant doit s’assurer que la mémoire tampon spécifiée est valide pendant la durée de vie de l’enregistreur.
WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
Valeur : 13
BoOL utilisé avec WS_XML_WRITER_TEXT_ENCODING. La définition de cette valeur sur TRUE autorise les références de caractères
de caractères considérés comme non valides par XML 1.0 pour être acceptés.


La définition de cette propriété sur TRUE peut affecter l’interopérabilité.


Cette propriété a la valeur PAR défaut FALSE.
WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
Valeur : 14
ULONG qui spécifie le nombre maximal de déclarations uniques xmlns pouvant apparaître dans l’étendue à n’importe quel point
lors de l’écriture du document.


Cette propriété a la valeur par défaut 32.
WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
Valeur : 15
ULONG qui spécifie l’un des éléments suivants.

Si l’enregistreur utilise WS_XML_WRITER_BUFFER_OUTPUT, cette propriété
retourne le nombre d’octets qui ont été écrits dans l’enregistreur.


Si l’enregistreur utilise WS_XML_WRITER_STREAM_OUTPUT, cette propriété
retourne le nombre d’octets qui ont été écrits dans l’enregistreur depuis le dernier appel à
WsFlushWriter.


Si l’enregistreur écrit actuellement une balise de démarrage d’élément, la taille de la balise de début n’est pas incluse dans
valeur retournée.


Cette propriété n’est pas disponible sur un enregistreur défini à l’aide de WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
Valeur : 16
ULONG qui retourne le nombre maximal d’octets nécessaires pour fermer les éléments ouverts.


Une application peut utiliser WS_XML_WRITER_PROPERTY_BYTES_WRITTEN et
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE pour estimer le montant supplémentaire
les données peuvent être écrites dans le document. Dans ce cas, l’application doit prendre en compte
encodage du document en cours d’écriture.


Cette propriété n’est pas disponible sur un enregistreur défini à l’aide de WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS
Valeur : 17
BoOL qui contrôle la façon dont WsCopyNode copie les éléments sans contenu.


Lorsque cette propriété a la valeur FALSE, WsCopyNode conserve si chaque élément est représenté
en tant que paire d’étiquettes de début/fin, ou en tant qu’élément vide. Lorsque cette propriété a la valeur TRUE, WsCopyNode
convertir des éléments sans contenu en éléments vides.


L’encodage binaire ne prend pas en charge les éléments vides. Lors de l’utilisation de WsCopyNode avec
un enregistreur utilisant l’encodage binaire cette propriété n’a aucun effet dans les deux sens. Tous les éléments vides sont
converti en éléments sans contenu.


Par défaut, cette propriété est FALSE.


Pour une chaîne XML d’entrée comme :



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>

Si cette propriété a la valeur FALSE, WsCopyNode génère le code xml suivant :




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>

Si cette propriété a la valeur TRUE, WsCopyNode génère le code xml suivant :



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
Valeur : 18
Windows 8 ou version ultérieure : boOL qui contrôle la façon dont les éléments vides sont émis.

S’il est défini sur FALSE, un élément créé en appelant uniquement wsWriteStartElement et WsWriteEndElement est émis comme suit :


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

S’il est défini sur TRUE, cet élément est émis comme suit :


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


La valeur par défaut est FALSE

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
En-tête webservices.h