WS_XML_WRITER_PROPERTY_ID 열거형(webservices.h)

각 xml 기록기 속성은 ID로 식별되며 연결된 값을 가집니다. 이 열거형은 WsCreateWriter, WsSetOutput, WsSetOutputToBufferWsWriteXmlBufferToBytes에 대한 매개 변수로 사용되는 WS_XML_WRITER_PROPERTY 구조 내에서 사용됩니다. 또한 WsGetWriterProperty에 대한 매개 변수로 직접 사용됩니다.

Syntax

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 구조체입니다. 이 속성
WS_XML_WRITER_MTOM_ENCODINGTRUE로 설정되지 않을 수 있습니다.


이 속성의 기본값은 FALSE입니다.
WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES
값: 2
를 지정하는 ULONG
작성기가 요소에 허용할 최대 특성 수입니다.


이 속성의 기본값은 128입니다.
WS_XML_WRITER_PROPERTY_WRITE_DECLARATION
값: 3
작성기가 문서의 시작 부분에 적절한 xml 선언을 내보내야 하는지를 지정하는 BOOL 입니다.


이 속성의 기본값은 FALSE입니다.
WS_XML_WRITER_PROPERTY_INDENT
값: 4
xml의 서식을 지정하는 데 사용해야 하는 인덴팅 공백 수를 지정하는 ULONG 입니다. 들여쓰기 가 0이면 서식이 발생하지 않습니다.


이 속성의 기본값은 0입니다.
WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE
값: 5
다음 중 하나를 지정하는 ULONG 입니다.

작성기가 WS_XML_WRITER_BUFFER_OUTPUT 사용하는 경우 이 속성은 최대 바이트 수입니다.
작성기는 출력을 버퍼링하기 위해 WsSetOutput 에 대한 호출에서 유지됩니다.


작성기가 WS_XML_WRITER_STREAM_OUTPUT 사용하는 경우 이 속성은 최대 바이트 수입니다.
작성기는 WsSetOutputWsFlushWriter 에 대한 호출에서 유지됩니다.
는 출력을 버퍼링하기 위한 목적입니다.


이 속성은 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 부분이 생성되고 반환된 버퍼에 포함됩니다. 이 경우
가 발생합니다. xml 문서에 추가 쓰기를 시도하는 모든 API는 WS_E_INVALID_OPERATION 반환합니다.
( Windows Web Services 반환 값을 참조하세요.)

이 속성은 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 부분이 생성되고 반환된 버퍼에 포함됩니다. 이 경우
가 발생합니다. xml 문서에 추가 쓰기를 시도하는 모든 API는 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
WS_XML_WRITER_MTOM_ENCODING 사용하는 ULONG입니다. 이 값은 최대 데이터 양을 지정합니다.
는 MIME 파트를 작성하기 위해 버퍼링됩니다. WsWriteBytes
WsPullBytes 는 데이터를 별도의 MIME 부분으로 내보내기 위해 데이터를 버퍼링해야 합니다.
는 문서를 따르며 버퍼링되는 양을 제한하는 데 사용할 수 있습니다.


이 속성의 기본값은 65536입니다.
WS_XML_WRITER_PROPERTY_INITIAL_BUFFER
값: 12
작성기가 xml 문서를 인코딩하는 데 사용할 수 있는 버퍼를 포함하는 WS_BYTES 구조체입니다. This is
생성된 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
WS_XML_WRITER_TEXT_ENCODING 사용되는 BOOL입니다. 이를 TRUE 로 설정하면 문자 참조가 허용됩니다.
XML 1.0에서 유효하지 않은 것으로 간주되는 문자의 수입니다.


이 속성을 TRUE 로 설정하면 상호 운용성에 영향을 줄 수 있습니다.


이 속성의 기본값은 FALSE입니다.
WS_XML_WRITER_PROPERTY_MAX_NAMESPACES
값: 14
언제든지 scope 나타날 수 있는 최대 xmlns 고유 선언 수를 지정하는 ULONG
문서를 작성하는 동안


이 속성의 기본값은 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
WsCopyNode가 콘텐츠 없이 요소를 복사하는 방법을 제어하는 BOOL입니다.


이 속성을 FALSE로 설정하면 WsCopyNode 는 각 요소가 표시되는지 여부를 유지합니다.
시작/끝 태그 쌍 또는 빈 요소로. 이 속성이 TRUE로 설정되면 WsCopyNode
는 콘텐츠가 없는 요소를 빈 요소로 변환합니다.


이진 인코딩은 빈 요소를 지원하지 않습니다. 와 함께 WsCopyNode를 사용하는 경우
이 속성을 인코딩하는 이진 인코딩을 사용하는 작성기는 어느 쪽도 영향을 주지 않습니다. 모든 빈 요소는 다음과 같습니다.
는 콘텐츠가 없는 요소로 변환됩니다.


기본적으로 이 속성은 FALSE입니다.


다음과 같은 입력 XML 문자열의 경우:



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>

이 속성이 FALSE이면 WsCopyNode 는 다음 xml을 생성합니다.




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>

이 속성이 TRUE이면 WsCopyNode 는 다음 xml을 생성합니다.



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
값: 18
Windows 8 이상: 빈 요소를 내보내는 방법을 제어하는 BOOL입니다.

FALSE로 설정하면 WsWriteStartElementWsWriteEndElement 호출에 의해서만 생성되는 요소가 다음과 같이 내보내집니다.


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

TRUE로 설정하면 해당 요소가 다음과 같이 내보내지게 됩니다.


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


기본값은 FALSE입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱 | UWP 앱]
머리글 webservices.h