enumerasi WS_XML_WRITER_PROPERTY_ID (webservices.h)

Setiap properti penulis xml diidentifikasi oleh ID dan memiliki nilai terkait. Enumerasi ini digunakan dalam struktur WS_XML_WRITER_PROPERTY , yang digunakan sebagai parameter untuk WsCreateWriter, WsSetOutput, WsSetOutputToBuffer, dan WsWriteXmlBufferToBytes. Ini juga digunakan langsung sebagai parameter untuk WsGetWriterProperty.

Sintaks

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;

Konstanta

 
WS_XML_WRITER_PROPERTY_MAX_DEPTH
Nilai: 0
ULONG yang menentukan kedalaman maksimum dokumen yang akan diizinkan penulis.


Kedalaman diukur kapan saja dengan jumlah elemen mulai berlapis.


Kedalaman 0 mencegah elemen awal ditulis.


Properti ini default ke 32.
WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT
Nilai: 1
Struktur WS_XML_WRITER_MTOM_ENCODING yang menentukan apakah penulis akan mengizinkan beberapa elemen dan ruang non-putih di tingkat atas dokumen. Properti ini
mungkin tidak diatur ke TRUE dengan WS_XML_WRITER_MTOM_ENCODING.


Properti ini default ke FALSE.
WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
Nilai: 2
ULONG yang menentukan
jumlah maksimum atribut yang akan diizinkan penulis pada elemen.


Properti ini default ke 128.
WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
Nilai: 3
BOOL yang menentukan apakah penulis harus memancarkan deklarasi xml yang sesuai di awal dokumen.


Properti ini default ke FALSE.
WS_XML_WRITER_PROPERTY_INDENT
Nilai: 4
ULONG yang menentukan berapa banyak spasi inden yang harus digunakan untuk memformat xml. Jika inden adalah nol, tidak ada pemformatan yang terjadi.


Properti ini default ke 0.
WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
Nilai: 5
ULONG yang menentukan salah satu hal berikut ini.

Jika penulis menggunakan WS_XML_WRITER_BUFFER_OUTPUT, maka properti ini adalah jumlah maksimum byte
penulis akan mempertahankan seluruh panggilan ke WsSetOutput untuk tujuan output buffering.


Jika penulis menggunakan WS_XML_WRITER_STREAM_OUTPUT, maka properti ini adalah jumlah maksimum byte
penulis akan mempertahankan seluruh panggilan ke WsSetOutput dan WsFlushWriter untuk
tujuan output buffering.


Properti ini tidak berpengaruh ketika ditentukan dengan WsSetOutputToBuffer.


Properti ini default ke 4096.
WS_XML_WRITER_PROPERTY_CHARSET
Nilai: 6
Nilai WS_CHARSET yang
mengembalikan set karakter yang digunakan penulis untuk mengodekan dokumen. Nilai ini hanya tersedia untuk
dokumen teks.
WS_XML_WRITER_PROPERTY_BUFFERS
Nilai: 7
Struktur WS_BUFFERS
yang mengembalikan sekumpulan buffer yang berisi byte xml yang dihasilkan.


Jika penulis menggunakan WS_XML_WRITER_BUFFER_OUTPUT, semua byte yang dihasilkan dikembalikan, dan
buffer valid hingga WsSetOutput atau WsFreeWriter dipanggil.


Jika penulis menggunakan WS_XML_WRITER_MTOM_ENCODING, maka tidak boleh ada elemen terbuka.
Bagian MIME pendukung akan dihasilkan dan disertakan dalam buffer yang dikembalikan. Setelah ini
terjadi, API apa pun yang mencoba menulis lebih lanjut ke dokumen xml akan mengembalikan WS_E_INVALID_OPERATION.
(Lihat Nilai Pengembalian Windows Web Services.)

Properti ini tidak tersedia saat menggunakan WS_XML_WRITER_STREAM_OUTPUT.


Properti ini tidak tersedia pada penulis yang diatur ke WS_XML_BUFFER.


Ini mungkin kurang nyaman tetapi lebih efisien daripada menggunakan WS_XML_WRITER_PROPERTY_BYTES karena
penulis tidak harus menggabungkan buffer yang terdiri dari dokumen menjadi satu buffer.
WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE
Nilai: 8
ULONG yang
menentukan jumlah maksimum byte yang akan di-buffer oleh penulis.


Jika penulis menggunakan WS_XML_WRITER_BUFFER_OUTPUT, maka ini adalah jumlah maksimum
byte yang akan di-buffer untuk seluruh dokumen. Panggilan ke WsFlushWriter tidak berpengaruh.


Jika penulis menggunakan WS_XML_WRITER_STREAM_OUTPUT, maka ini adalah jumlah maxmimum
data yang akan di-buffer antara panggilan WsFlushWriter .


Properti ini tidak berpengaruh ketika ditentukan dengan WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES
Nilai: 9
Struktur WS_BUFFERS
yang mengembalikan buffer tunggal yang berisi byte xml yang dihasilkan.


Jika penulis menggunakan WS_XML_WRITER_BUFFER_OUTPUT, semua byte yang dihasilkan dikembalikan, dan
buffer valid hingga WsSetOutput atau WsFreeWriter dipanggil.


Jika penulis menggunakan WS_XML_WRITER_MTOM_ENCODING, maka tidak boleh ada elemen terbuka.
Bagian MIME pendukung akan dihasilkan dan disertakan dalam buffer yang dikembalikan. Setelah ini
terjadi, API apa pun yang mencoba menulis lebih lanjut ke dokumen xml akan mengembalikan WS_E_INVALID_OPERATION.


Properti ini tidak tersedia saat menggunakan WS_XML_WRITER_STREAM_OUTPUT.


Properti ini tidak tersedia pada penulis yang diatur ke WS_XML_BUFFER.


Ini mungkin lebih nyaman tetapi kurang efisien daripada menggunakan WS_XML_WRITER_PROPERTY_BUFFERS karena
penulis mungkin perlu menggabungkan buffer yang terdiri dari dokumen menjadi satu buffer.
WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE
Nilai: 10
BOOL yang
menunjukkan bahwa WsWriteStartAttribute telah dipanggil dan penulis
diposisikan pada konten atribut.
WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE
Nilai: 11
ULONG yang digunakan dengan WS_XML_WRITER_MTOM_ENCODING. Ini menentukan jumlah maksimum data yang
akan di-buffer untuk tujuan menulis bagian MIME. WsWriteBytes dan
WsPullBytes perlu menyangga data untuk memancarkan data sebagai bagian MIME terpisah yang
mengikuti dokumen, dan ini dapat digunakan untuk membatasi berapa banyak yang di-buffer.


Properti ini default ke 65536.
WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
Nilai: 12
Struktur WS_BYTES yang berisi buffer yang dapat digunakan penulis untuk mengodekan dokumen xml. Ini adalah
berguna ketika batas atas pada ukuran data xml yang dihasilkan diketahui, atau pemanggil ingin memiliki
buffer tempat byte ditempatkan.


Jika ukuran yang ditentukan lebih besar dari atau sama dengan WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE, maka
penulis tidak akan mengalokasikan dari buffer internalnya.


Buffer ini mungkin muncul sebagai salah satu buffer yang dikembalikan oleh properti WS_XML_WRITER_PROPERTY_BUFFERS atau WS_XML_WRITER_PROPERTY_BYTES.


Pemanggil harus memastikan bahwa buffer yang ditentukan valid untuk masa pakai penulis.
WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
Nilai: 13
BOOL yang digunakan dengan WS_XML_WRITER_TEXT_ENCODING. Mengatur ini ke TRUE mengizinkan referensi karakter
karakter yang dianggap tidak valid oleh XML 1.0 untuk diterima.


Mengatur properti ini ke TRUE dapat memengaruhi interoperabilitas.


Properti ini default ke FALSE.
WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
Nilai: 14
ULONG yang menentukan jumlah maksimum deklarasi unik xmln yang mungkin muncul dalam cakupan kapan saja
saat menulis dokumen.


Properti ini default ke 32.
WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
Nilai: 15
ULONG yang menentukan salah satu hal berikut ini.

Jika penulis menggunakan WS_XML_WRITER_BUFFER_OUTPUT, maka properti ini
mengembalikan jumlah byte yang telah ditulis ke penulis.


Jika penulis menggunakan WS_XML_WRITER_STREAM_OUTPUT, maka properti ini
mengembalikan jumlah byte yang telah ditulis ke penulis sejak panggilan terakhir ke
WsFlushWriter.


Jika penulis saat ini menulis tag mulai elemen, maka ukuran tag mulai tidak disertakan dalam
nilai yang dikembalikan.


Properti ini tidak tersedia pada penulis yang diatur menggunakan WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
Nilai: 16
ULONG yang mengembalikan jumlah maksimum byte yang diperlukan untuk menutup elemen yang terbuka.


Aplikasi dapat menggunakan WS_XML_WRITER_PROPERTY_BYTES_WRITTEN dan
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE perkiraan berapa banyak tambahan
data dapat ditulis ke dokumen. Saat melakukannya, aplikasi harus mempertimbangkan
pengodean dokumen yang sedang ditulis.


Properti ini tidak tersedia pada penulis yang diatur menggunakan WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS
Nilai: 17
BOOL yang mengontrol bagaimana WsCopyNode menyalin elemen tanpa konten.


Ketika properti ini diatur ke FALSE, WsCopyNode mempertahankan apakah setiap elemen diwakili
sebagai pasangan tag awal/akhir, atau sebagai elemen kosong. Ketika properti ini diatur ke TRUE, WsCopyNode akan
mengonversi elemen tanpa konten menjadi elemen kosong.


Pengodean biner tidak mendukung elemen kosong. Saat menggunakan WsCopyNode dengan
penulis yang menggunakan pengodean biner properti ini tidak berpengaruh dengan cara apa pun. Semua elemen kosong adalah
dikonversi menjadi elemen tanpa konten.


Secara default, properti ini adalah FALSE.


Untuk string XML input seperti:



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>

Jika properti ini FALSE, WsCopyNode akan menghasilkan xml berikut:




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>

Jika properti ini TRUE, WsCopyNode akan menghasilkan xml berikut:



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
Nilai: 18
Windows 8 atau yang lebih baru: BOOL yang mengontrol bagaimana elemen kosong dipancarkan.

Jika diatur ke FALSE, elemen yang dibuat hanya dengan panggilan ke WsWriteStartElement dan WsWriteEndElement akan dipancarkan sebagai berikut:


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

Jika diatur ke TRUE, elemen tersebut akan dipancarkan sebagai berikut:


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


Defaultnya adalah FALSE

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP]
Header webservices.h