Compartilhar via


WS_XML_WRITER_PROPERTY_ID enumeração (webservices.h)

Cada propriedade de gravador xml é identificada por uma ID e tem um valor associado. Essa enumeração é usada dentro da estrutura WS_XML_WRITER_PROPERTY, que é usada como um parâmetro para WsCreateWriter, WsSetOutput, WsSetOutputToBuffere WsWriteXmlBufferToBytes . Ele também é usado diretamente como um parâmetro para WsGetWriterProperty.

Sintaxe

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
Valor: 0
Um ULONG que especifica a profundidade máxima do documento que o gravador permitirá.

A profundidade é medida a qualquer momento pelo número de elementos de início aninhados.

Uma profundidade de 0 impede que qualquer elemento inicial seja gravado.

Essa propriedade usa como padrão 32.
WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT
Valor: 1
Uma estrutura WS_XML_WRITER_MTOM_ENCODING que especifica se o gravador permitirá vários elementos e espaço não branco no nível superior do documento. Esta propriedade
pode não ser definido como TRUE com WS_XML_WRITER_MTOM_ENCODING.

Essa propriedade usa como padrão FALSE.
WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
Valor: 2
Um ULONG que especifica
o número máximo de atributos que o gravador permitirá em um elemento.

Essa propriedade usa como padrão 128.
WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
Valor: 3
Um BOOL que especifica se o gravador deve emitir uma declaração xml apropriada no início do documento.

Essa propriedade usa como padrão FALSE.
WS_XML_WRITER_PROPERTY_INDENT
Valor: 4
Um ULONG que especifica quantos espaços de recuo devem ser usados para formatar o xml. Se o recuo for zero, nenhuma formatação ocorrerá.

Essa propriedade usa como padrão 0.
WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
Valor: 5
Um ULONG que especifica um dos seguintes.

Se o gravador estiver usando WS_XML_WRITER_BUFFER_OUTPUT, essa propriedade será o número máximo de bytes
o gravador manterá entre chamadas para WsSetOutput para fins de saída de buffer.

Se o gravador estiver usando WS_XML_WRITER_STREAM_OUTPUT, essa propriedade será o número máximo de bytes
o gravador manterá entre chamadas para WsSetOutput e WsFlushWriter para
finalidades de saída de buffer.

Essa propriedade não tem efeito quando especificada com WsSetOutputToBuffer.

Essa propriedade usa como padrão 4096.
WS_XML_WRITER_PROPERTY_CHARSET
Valor: 6
Um valor WS_CHARSET que
retorna o conjunto de caracteres que o gravador está usando para codificar o documento. Esse valor só está disponível para
documentos de texto.
WS_XML_WRITER_PROPERTY_BUFFERS
Valor: 7
Uma estrutura WS_BUFFERS
que retorna um conjunto de buffers que contêm os bytes xml gerados.

Se o gravador estiver usando WS_XML_WRITER_BUFFER_OUTPUT, todos os bytes gerados serão retornados e
os buffers são válidos até que WsSetOutput ou WsFreeWriter seja chamado.

Se o gravador estiver usando WS_XML_WRITER_MTOM_ENCODING, não deverá haver elementos abertos.
As partes MIME de suporte serão geradas e incluídas nos buffers retornados. Depois disso
ocorre, qualquer API que tentar gravar mais no documento xml retornará WS_E_INVALID_OPERATION.
(Consulte Valores retornados dos Serviços Web do Windows.)

Essa propriedade não está disponível ao usar WS_XML_WRITER_STREAM_OUTPUT.

Essa propriedade não está disponível em um gravador definido como um WS_XML_BUFFER.

Isso pode ser menos conveniente, mas mais eficiente do que usar WS_XML_WRITER_PROPERTY_BYTES porque o
O gravador não precisa concatenar os buffers que compõem o documento em um único buffer.
WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE
Valor: 8
Um ULONG que
especifica o número máximo de bytes que o gravador armazenará em buffer.

Se o gravador estiver usando WS_XML_WRITER_BUFFER_OUTPUT, esse será o número máximo de
bytes que serão armazenados em buffer para todo o documento. As chamadas para WsFlushWriter não têm efeito.

Se o gravador estiver usando WS_XML_WRITER_STREAM_OUTPUT, essa será a quantidade maxmimum de
dados que serão armazenados em buffer entre chamadas de WsFlushWriter.

Essa propriedade não tem efeito quando especificada com WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES
Valor: 9
Uma estrutura WS_BUFFERS
que retorna um único buffer que contém os bytes xml gerados.

Se o gravador estiver usando WS_XML_WRITER_BUFFER_OUTPUT, todos os bytes gerados serão retornados e
o buffer é válido até que WsSetOutput ou WsFreeWriter seja chamado.

Se o gravador estiver usando WS_XML_WRITER_MTOM_ENCODING, não deverá haver elementos abertos.
As partes MIME de suporte serão geradas e incluídas nos buffers retornados. Depois disso
ocorre, qualquer API que tentar gravar mais no documento xml retornará WS_E_INVALID_OPERATION.

Essa propriedade não está disponível ao usar WS_XML_WRITER_STREAM_OUTPUT.

Essa propriedade não está disponível em um gravador definido como um WS_XML_BUFFER.

Isso pode ser mais conveniente, mas menos eficiente do que usar WS_XML_WRITER_PROPERTY_BUFFERS porque o
O gravador pode precisar concatenar os buffers que compõem o documento em um único buffer.
WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE
Valor: 10
Um bool que
indica que WsWriteStartAttribute foi chamado e o gravador é
posicionado no conteúdo do atributo.
WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE
Valor: 11
Um ULONG usado com WS_XML_WRITER_MTOM_ENCODING. Isso especifica a quantidade máxima de dados que
será armazenado em buffer para fins de gravação das partes MIME. WsWriteBytes e
WsPullBytes precisam armazenar dados em buffer para emitir os dados como uma parte MIME separada que
segue o documento e isso pode ser usado para limitar o quanto é armazenado em buffer.

Essa propriedade usa como padrão 65536.
WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
Valor: 12
Uma estrutura WS_BYTES que contém um buffer que o gravador pode usar para codificar o documento xml. Isso é
útil quando um limite superior no tamanho dos dados xml gerados é conhecido ou o chamador deseja possuir
o buffer no qual os bytes são colocados.

Se o tamanho especificado for maior ou igual a WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE, o
O gravador não alocará de seus buffers internos.

Esse buffer pode aparecer como um dos buffers retornados pela propriedade WS_XML_WRITER_PROPERTY_BUFFERS ou WS_XML_WRITER_PROPERTY_BYTES.

O chamador deve garantir que o buffer especificado seja válido para o tempo de vida do gravador.
WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
Valor: 13
Um BOOL usado com WS_XML_WRITER_TEXT_ENCODING. Definir isso como VERDADEIRO permite referências de caractere
de caracteres considerados inválidos por XML 1.0 a serem aceitos.

Definir essa propriedade como TRUE pode afetar a interoperabilidade.

Essa propriedade usa como padrão FALSE.
WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
Valor: 14
Um ULONG que especifica o número máximo de declarações exclusivas de xmlns que podem aparecer no escopo a qualquer momento
ao escrever o documento.

Essa propriedade usa como padrão 32.
WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
Valor: 15
Um ULONG que especifica um dos seguintes.

Se o gravador estiver usando WS_XML_WRITER_BUFFER_OUTPUT, então essa propriedade
retorna o número de bytes que foram gravados no gravador.

Se o gravador estiver usando WS_XML_WRITER_STREAM_OUTPUT, essa propriedade
retorna o número de bytes que foram gravados no gravador desde a última chamada para
WsFlushWriter.

Se o gravador estiver gravando uma marca inicial de elemento no momento, o tamanho da marca inicial não será incluído em
o valor retornado.

Essa propriedade não está disponível em um gravador que foi definido usando WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
Valor: 16
Um ULONG que retorna o número máximo de bytes necessários para fechar quaisquer elementos abertos.

Um aplicativo pode usar WS_XML_WRITER_PROPERTY_BYTES_WRITTEN e
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE para aproximar quanto adicional
os dados podem ser gravados no documento. Ao fazer isso, o aplicativo deve levar em conta
a codificação do documento que está sendo gravado.

Essa propriedade não está disponível em um gravador que foi definido usando WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS
Valor: 17
Um BOOL que controla como WsCopyNode copia elementos sem conteúdo.

Quando essa propriedade é definida como FALSE, WsCopyNode preserva se cada elemento é representado
como um par de marcas de início/término ou como um elemento vazio. Quando essa propriedade estiver definida como TRUE, WsCopyNode
converter elementos sem conteúdo em elementos vazios.

A codificação binária não dá suporte a elementos vazios. Ao usar WsCopyNode com
um gravador que usa a codificação binária dessa propriedade não tem nenhum efeito de qualquer maneira. Todos os elementos vazios são
convertido em elementos sem conteúdo.

Por padrão, essa propriedade é FALSE.

Para uma cadeia de caracteres XML de entrada como:









Se essa propriedade for FALSE, WsCopyNode gerará o seguinte xml:









Se essa propriedade for TRUE, WsCopyNode gerará o seguinte xml:







WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS
Valor: 18
Windows 8 ou posterior: uma BOOL que controla como os elementos vazios são emitidos.

Se definido como FALSE, um elemento criado apenas por chamadas para WsWriteStartElement e WsWriteEndElement será emitido da seguinte maneira:





Se definido como TRUE, esse elemento será emitido da seguinte maneira:

XML



O padrão é FALSE

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
cabeçalho webservices.h