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 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 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 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 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 |