Поделиться через


перечисление WS_XML_WRITER_PROPERTY_ID (webservices.h)

Каждое свойство записи XML определяется идентификатором и имеет связанное значение. Это перечисление используется в структуре WS_XML_WRITER_PROPERTY, которая используется в качестве параметра для WsCreateWriter, WsSetOutput, WsSetOutputToBufferи WsWriteXmlBufferToBytes. Он также используется непосредственно в качестве параметра для WsGetWriterProperty.

Синтаксис

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;

Константы

 
WS_XML_WRITER_PROPERTY_MAX_DEPTH
Значение: 0
ULONG, указывающий максимальную глубину документа, который позволит автору.

Глубина измеряется в любой точке по количеству вложенных начальных элементов.

Глубина 0 предотвращает запись всех начальных элементов.

Это свойство по умолчанию — 32.
WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT
Значение: 1
Структура WS_XML_WRITER_MTOM_ENCODING, указывающая, разрешает ли модуль записи несколько элементов и непустое пространство на верхнем уровне документа. Это свойство
Не может быть задано значение TRUE с WS_XML_WRITER_MTOM_ENCODING.

Это свойство по умолчанию используется для FALSE.
WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
Значение: 2
ULONG, указывающий
максимальное количество атрибутов, которые модуль записи разрешает для элемента.

Это свойство по умолчанию — 128.
WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
Значение: 3
boOL, указывающий, должен ли модуль записи выдавать соответствующее xml-объявление в начале документа.

Это свойство по умолчанию используется для FALSE.
WS_XML_WRITER_PROPERTY_INDENT
Значение: 4
ULONG, указывающий, сколько пробелов отступа следует использовать для форматирования XML. Если отступ равен нулю, форматирование не происходит.

Это свойство по умолчанию — 0.
WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
Значение: 5
ULONG, указывающий одно из следующих элементов.

Если модуль записи использует WS_XML_WRITER_BUFFER_OUTPUT, это свойство является максимальным числом байтов.
модуль записи будет храниться в вызовах WsSetOutput для буферизации выходных данных.

Если модуль записи использует WS_XML_WRITER_STREAM_OUTPUT, это свойство является максимальным числом байтов.
модуль записи будет храниться в вызовах WsSetOutput и WsFlushWriter для
цели буферизации выходных данных.

Это свойство не действует при указании WsSetOutputToBuffer.

Это свойство по умолчанию — 4096.
WS_XML_WRITER_PROPERTY_CHARSET
Значение: 6
Значение WS_CHARSET, которое
возвращает символьный набор, который модуль записи использует для кодирования документа. Это значение доступно только для
текстовые документы.
WS_XML_WRITER_PROPERTY_BUFFERS
Значение: 7
Структура WS_BUFFERS
возвращает набор буферов, содержащих созданные xml-байты.

Если модуль записи использует WS_XML_WRITER_BUFFER_OUTPUT, возвращаются все созданные байты и
буферы допустимы, пока WsSetOutput или WsFreeWriter.

Если модуль записи использует WS_XML_WRITER_MTOM_ENCODING, то не должно быть открытых элементов.
Вспомогательные части MIME будут созданы и включены в возвращаемые буферы. После этого
возникает, любой API, который пытается записать дальше в xml-документ, вернет WS_E_INVALID_OPERATION.
(См. возвращаемые значения веб-служб Windows.)

Это свойство недоступно при использовании WS_XML_WRITER_STREAM_OUTPUT.

Это свойство недоступно для модуля записи, который имеет значение WS_XML_BUFFER.

Это может быть менее удобным, но более эффективным, чем использование WS_XML_WRITER_PROPERTY_BYTES, потому что
модуль записи не должен объединять буферы, составляющие документ в один буфер.
WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE
Значение: 8
ULONG
указывает максимальное количество байтов, которое будет буфером записи.

Если модуль записи использует WS_XML_WRITER_BUFFER_OUTPUT, это максимальное число
байты, которые будут буферичены для всего документа. Вызовы WsFlushWriter не влияют.

Если модуль записи использует WS_XML_WRITER_STREAM_OUTPUT, это максимальное количество
данные, которые будут буферизовываться между вызовами WsFlushWriter.

Это свойство не действует при указании WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES
Значение: 9
Структура WS_BUFFERS
возвращает один буфер, содержащий созданные xml-байты.

Если модуль записи использует WS_XML_WRITER_BUFFER_OUTPUT, возвращаются все созданные байты и
буфер действителен до WsSetOutput или WsFreeWriter.

Если модуль записи использует WS_XML_WRITER_MTOM_ENCODING, то не должно быть открытых элементов.
Вспомогательные части MIME будут созданы и включены в возвращаемые буферы. После этого
возникает, любой API, который пытается записать дальше в xml-документ, вернет WS_E_INVALID_OPERATION.

Это свойство недоступно при использовании WS_XML_WRITER_STREAM_OUTPUT.

Это свойство недоступно для модуля записи, который имеет значение WS_XML_BUFFER.

Это может быть более удобным, но менее эффективным, чем использование WS_XML_WRITER_PROPERTY_BUFFERS, так как
может потребоваться объединить буферы, составляющие документ в один буфер.
WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE
Значение: 10
BOOL
указывает, что вызывается WsWriteStartAttribute, а модуль записи —
расположено на содержимом атрибута.
WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE
Значение: 11
ULONG используется с WS_XML_WRITER_MTOM_ENCODING. Это указывает максимальный объем данных, которые
буферизовывается для записи частей MIME. WsWriteBytes и
WsPullBytes необходимо буферизовывать данные для отправки данных в виде отдельной части MIME, которая
следует документу, и это можно использовать для ограничения объема буферизации.

Это свойство по умолчанию — 65536.
WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
Значение: 12
Структура WS_BYTES, содержащая буфер, который модуль записи может использовать для кодирования xml-документа. Это
полезно, если верхняя граница по размеру созданных xml-данных известна, или вызывающий объект хочет принадлежать
буфер, в котором помещаются байты.

Если указанный размер больше или равен WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE, то
модуль записи не выделяется из внутренних буферов.

Этот буфер может отображаться как один из буферов, возвращаемых свойством WS_XML_WRITER_PROPERTY_BUFFERS или WS_XML_WRITER_PROPERTY_BYTES.

Вызывающий объект должен убедиться, что указанный буфер действителен в течение всего времени существования модуля записи.
WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES
Значение: 13
boOL используется с WS_XML_WRITER_TEXT_ENCODING. Если задано значение TRUE, ссылки на символы
символов, которые считаются недопустимыми в ФОРМАТЕ XML 1.0, которые должны приниматься.

Установка этого свойства на TRUE может повлиять на взаимодействие.

Это свойство по умолчанию используется для FALSE.
WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
Значение: 14
ULONG, указывающее максимальное количество уникальных объявлений xmlns, которые могут отображаться в области в любой точке.
при написании документа.

Это свойство по умолчанию — 32.
WS_XML_WRITER_PROPERTY_BYTES_WRITTEN
Значение: 15
ULONG, указывающий одно из следующих элементов.

Если модуль записи использует WS_XML_WRITER_BUFFER_OUTPUT, то это свойство
возвращает количество байтов, записанных в модуль записи.

Если модуль записи использует WS_XML_WRITER_STREAM_OUTPUT, то это свойство
возвращает количество байтов, записанных в модуль записи с момента последнего вызова
WsFlushWriter.

Если модуль записи в настоящее время записывает тег начала элемента, размер начального тега не включен в
возвращаемое значение.

Это свойство недоступно для модуля записи, который был задан с помощью WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE
Значение: 16
ULONG, возвращающее максимальное количество байтов, необходимое для закрытия всех открытых элементов.

Приложение может использовать WS_XML_WRITER_PROPERTY_BYTES_WRITTEN и
WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE приблизиться к дополнительным значениям
данные могут быть записаны в документ. При этом приложение должно учитывать
кодировка написанного документа.

Это свойство недоступно для модуля записи, который был задан с помощью WsSetOutputToBuffer.
WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS
Значение: 17
boOL, который управляет тем, как WsCopyNode копирует элементы без содержимого.

Если для этого свойства задано значение falseFALSE, WsCopyNode сохраняет, представлен ли каждый элемент.
как пара тегов start/end или пустой элемент. Если для этого свойства задано значение TRUE, WsCopyNode
преобразуйте элементы без содержимого в пустые элементы.

Двоичная кодировка не поддерживает пустые элементы. При использовании WsCopyNode
модуль записи с использованием двоичной кодировки этого свойства не влияет ни один из способов. Все пустые элементы:
преобразуется в элементы без содержимого.

По умолчанию это свойство FALSE.

Для входной XML-строки, например:









Если это свойство FALSE, WsCopyNode создаст следующий xml:









Если это свойство TRUE, WsCopyNode создаст следующий xml:







WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS
Значение: 18
Windows 8 или более поздней версии: boOL, которая определяет, как создаются пустые элементы.

Если задано значение falseFALSE, элемент, созданный только вызовами WsWriteStartElement и WsWriteEndElement будет создан следующим образом:





Если задано значение TRUE, этот элемент будет создан следующим образом:

xml



Значение по умолчанию — FALSE

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 7 [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 R2 [классические приложения | Приложения UWP]
заголовка webservices.h