Condividi tramite


enumerazione WS_XML_WRITER_PROPERTY_ID (webservices.h)

Ogni proprietà del writer xml è identificata da un ID e ha un valore associato. Questa enumerazione viene utilizzata all'interno della struttura WS_XML_WRITER_PROPERTY, usata come parametro per WsCreateWriter, WsSetOutput, WsSetOutputToBuffere WsWriteXmlBufferToBytes. Viene usato anche direttamente come parametro per WsGetWriterProperty.

Sintassi

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;

Costanti

 
WS_XML_WRITER_PROPERTY_MAX_DEPTH
Valore: 0
ULONG che specifica la profondità massima del documento consentito dal writer.

La profondità viene misurata in qualsiasi punto in base al numero di elementi iniziali annidati.

Una profondità pari a 0 impedisce la scrittura di elementi iniziali.

Per impostazione predefinita, questa proprietà è 32.
WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT
Valore: 1
Struttura WS_XML_WRITER_MTOM_ENCODING che specifica se il writer consentirà più elementi e spazi non vuoti al livello superiore del documento. Questa proprietà
potrebbe non essere impostato su true con WS_XML_WRITER_MTOM_ENCODING.

Per impostazione predefinita, questa proprietà è FALSE.
WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
Valore: 2
ULONG che specifica
Il numero massimo di attributi consentiti dal writer per un elemento.

Per impostazione predefinita, questa proprietà è 128.
WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
Valore: 3
Un BOOL che specifica se il writer deve generare una dichiarazione XML appropriata all'inizio del documento.

Per impostazione predefinita, questa proprietà è FALSE.
WS_XML_WRITER_PROPERTY_INDENT
Valore: 4
ULONG che specifica il numero di spazi di rientro da utilizzare per formattare il codice xml. Se il rientro è zero, non viene eseguita alcuna formattazione.

Per impostazione predefinita, questa proprietà è 0.
WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
Valore: 5
ULONG che specifica una delle opzioni seguenti.

Se il writer usa WS_XML_WRITER_BUFFER_OUTPUT, questa proprietà è il numero massimo di byte
il writer manterrà tra le chiamate a WsSetOutput ai fini del buffering dell'output.

Se il writer usa WS_XML_WRITER_STREAM_OUTPUT, questa proprietà è il numero massimo di byte
il writer manterrà tra le chiamate a WsSetOutput e WsFlushWriter per
finalità del buffering dell'output.

Questa proprietà non ha alcun effetto se specificata con WsSetOutputToBuffer.

Per impostazione predefinita, questa proprietà è 4096.
WS_XML_WRITER_PROPERTY_CHARSET
Valore: 6
Valore WS_CHARSET che
restituisce il set di caratteri utilizzato dal writer per codificare il documento. Questo valore è disponibile solo per
documenti di testo.
WS_XML_WRITER_PROPERTY_BUFFERS
Valore: 7
Struttura WS_BUFFERS
che restituisce un set di buffer contenenti i byte xml generati.

Se il writer usa WS_XML_WRITER_BUFFER_OUTPUT, vengono restituiti tutti i byte generati e
i buffer sono validi fino a quando non viene chiamato WsSetOutput o WsFreeWriter.

Se il writer usa WS_XML_WRITER_MTOM_ENCODING, non devono essere presenti elementi aperti.
Le parti MIME di supporto verranno generate e incluse nei buffer restituiti. Una volta questo
si verifica, qualsiasi API che tenta di scrivere ulteriormente nel documento xml restituirà WS_E_INVALID_OPERATION.
Vedere i valori restituiti di Servizi Web Windows.)

Questa proprietà non è disponibile quando si usa WS_XML_WRITER_STREAM_OUTPUT.

Questa proprietà non è disponibile in un writer impostato su un WS_XML_BUFFER.

Questo può essere meno conveniente ma più efficiente rispetto all'uso di WS_XML_WRITER_PROPERTY_BYTES perché
writer non deve concatenare i buffer che costituiscono il documento in un singolo buffer.
WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE
Valore: 8
Un ULONG che
specifica il numero massimo di byte memorizzati nel buffer dal writer.

Se il writer usa WS_XML_WRITER_BUFFER_OUTPUT, questo è il numero massimo di
byte che verranno memorizzati nel buffer per l'intero documento. Le chiamate a WsFlushWriter non hanno alcun effetto.

Se il writer usa WS_XML_WRITER_STREAM_OUTPUT, si tratta dell'importo massimo di
dati che verranno memorizzati nel buffer tra chiamate di WsFlushWriter.

Questa proprietà non ha alcun effetto se specificata con WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES
Valore: 9
Struttura WS_BUFFERS
che restituisce un singolo buffer contenente i byte xml generati.

Se il writer usa WS_XML_WRITER_BUFFER_OUTPUT, vengono restituiti tutti i byte generati e
il buffer è valido fino a quando non viene chiamato WsSetOutput o WsFreeWriter.

Se il writer usa WS_XML_WRITER_MTOM_ENCODING, non devono essere presenti elementi aperti.
Le parti MIME di supporto verranno generate e incluse nei buffer restituiti. Una volta questo
si verifica, qualsiasi API che tenta di scrivere ulteriormente nel documento xml restituirà WS_E_INVALID_OPERATION.

Questa proprietà non è disponibile quando si usa WS_XML_WRITER_STREAM_OUTPUT.

Questa proprietà non è disponibile in un writer impostato su un WS_XML_BUFFER.

Questo può essere più conveniente ma meno efficiente rispetto all'uso di WS_XML_WRITER_PROPERTY_BUFFERS perché
Può essere necessario concatenare i buffer che costituiscono il documento in un singolo buffer.
WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE
Valore: 10
Un BOOL che
indica che WsWriteStartAttribute è stato chiamato e il writer è
posizionato sul contenuto dell'attributo.
WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE
Valore: 11
Un ULONG utilizzato con WS_XML_WRITER_MTOM_ENCODING. Specifica la quantità massima di dati che
verrà memorizzato nel buffer ai fini della scrittura delle parti MIME. WsWriteBytes e
WsPullBytes necessario memorizzare nel buffer i dati per generare i dati come parte MIME separata
segue il documento e può essere usato per limitare la quantità di buffer.

Per impostazione predefinita, questa proprietà è 65536.
WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
Valore: 12
Struttura WS_BYTES che contiene un buffer che il writer può utilizzare per codificare il documento xml. Questo è
utile quando è noto un limite superiore per le dimensioni dei dati XML generati o il chiamante vuole essere proprietario
buffer in cui vengono posizionati i byte.

Se le dimensioni specificate sono maggiori o uguali a WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE,
writer non allocherà dai buffer interni.

Questo buffer può essere visualizzato come uno dei buffer restituiti dalla proprietà WS_XML_WRITER_PROPERTY_BUFFERS o WS_XML_WRITER_PROPERTY_BYTES.

Il chiamante deve assicurarsi che il buffer specificato sia valido per la durata del writer.
WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
Valore: 13
Un BOOL utilizzato con WS_XML_WRITER_TEXT_ENCODING. Impostando su TRUE sono consentiti riferimenti a caratteri
di caratteri considerati non validi da XML 1.0 da accettare.

L'impostazione di questa proprietà su TRUE può influire sull'interoperabilità.

Per impostazione predefinita, questa proprietà è FALSE.
WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
Valore: 14
ULONG che specifica il numero massimo di dichiarazioni univoche xmlns che possono essere visualizzate nell'ambito in qualsiasi punto
durante la scrittura del documento.

Per impostazione predefinita, questa proprietà è 32.
WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
Valore: 15
ULONG che specifica una delle opzioni seguenti.

Se il writer usa WS_XML_WRITER_BUFFER_OUTPUT, questa proprietà
restituisce il numero di byte scritti nel writer.

Se il writer usa WS_XML_WRITER_STREAM_OUTPUT, questa proprietà
restituisce il numero di byte scritti nel writer dall'ultima chiamata a
WsFlushWriter.

Se il writer sta attualmente scrivendo un tag iniziale dell'elemento, le dimensioni del tag iniziale non sono incluse in
valore restituito.

Questa proprietà non è disponibile in un writer impostato utilizzando WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
Valore: 16
Oggetto ULONG che restituisce il numero massimo di byte necessari per chiudere gli elementi aperti.

Un'applicazione può usare WS_XML_WRITER_PROPERTY_BYTES_WRITTEN e
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE di approssimare quanto aggiuntivo
i dati possono essere scritti nel documento. In questo caso, l'applicazione deve prendere in considerazione
codifica del documento da scrivere.

Questa proprietà non è disponibile in un writer impostato utilizzando WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS
Valore: 17
Un BOOL che controlla come WsCopyNode copia gli elementi senza contenuto.

Quando questa proprietà è impostata su FALSE, WsCopyNode mantiene se ogni elemento è rappresentato
come coppia di tag iniziale/finale o come elemento vuoto. Quando questa proprietà è impostata su TRUE, WsCopyNode
convertire gli elementi senza contenuto in elementi vuoti.

La codifica binaria non supporta elementi vuoti. Quando si usa WsCopyNode con
un writer che usa la codifica binaria che questa proprietà non ha alcun effetto. Tutti gli elementi vuoti sono
convertito in elementi senza contenuto.

Per impostazione predefinita, questa proprietà è FALSE.

Per una stringa XML di input simile alla seguente:









Se questa proprietà è FALSE, WsCopyNode genererà il codice xml seguente:









Se questa proprietà è TRUE, WsCopyNode genererà il codice xml seguente:







WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS
Valore: 18
Windows 8 o versione successiva: bool che controlla la modalità di emissione degli elementi vuoti.

Se impostato su FALSE, verrà generato un elemento creato solo da chiamate a WsWriteStartElement e WsWriteEndElement:





Se impostato su TRUE, tale elemento verrà generato come segue:

XML



Il valore predefinito è false

Fabbisogno

Requisito Valore
client minimo supportato Windows 7 [app desktop | App UWP]
server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
intestazione webservices.h