2009-11-08 5 views
2

바이너리 데이터를 XML로 보내야하며 표준 방법으로 base64를 사용하고 있습니다.Base64 XML 바이너리 콘텐츠

  • 저장하시오 XS로 이진 : base64Binary 인
  • 저장하시오 XS로베이스 64 진수의 UTF-8 인코딩 문자열 표현 : 문자열 요소

제에서 단 I는 두 가지 옵션을 케이스는 스키마는 읽 두 번째 경우

<xs:element name="Image" type="xs:base64Binary" /> 

을 스키마 읽기 :

<xs:element name="Image" type="xs:string" /> 

첫 번째 옵션이 "올바른"것으로 의심되지만 두 번째 옵션보다 큰 XML이 생성됩니다. XML 인스턴스의 첫 번째 요소는 "U1Vrc ..."로 시작하고 두 번째 요소는 "SUkqAAA .."등으로 시작합니다.

어느 것이 가장 일반적으로 보입니까?

+0

대부분의 사람들은 XML을 사용하여 바이너리를 보내지 않습니다. 그러나 꼭해야한다면'base64Binary' 나'hexBinary' 데이터 타입을 사용하십시오. –

답변

2

가장 좋은 방법은 바이너리 데이터를 XML에 저장하지 않고 별도로 보내고 XML이 필요에 따라 외부 데이터를 참조하도록하는 것입니다. 그러나 XML로 직접 저장해야하는 경우 base64Binary 및 hexBinary가 바이너리 데이터의 유일한 기본 제공 데이터 유형이지만 확실하게 유일한 선택은 아닙니다. XML 문자열과 호환되는 알파/숫자 알파벳을 사용하여 데이터를 인코딩하는 다른 알고리즘도 있습니다. XML을 통해 제한된 바이너리 바이트 만 인코딩하고 나머지는 인코딩되지 않은 채로 유지하는 자체 구문을 고안하거나 고안하십시오.

+0

필자는 옵션을 이해하고 있지만 "허용"되었거나 널리 사용되는 옵션이 있는지 여부를 알아 내려고 노력하고 있습니다. 이는 제 3 자에게 바이너리 데이터를 제출하기 위해 제공 될 것이기 때문입니다. –

+0

그러면 XML이 기본적으로 지원하는 가장 작고 표준적인 형식이기 때문에 기본적으로 base64가 붙어 있습니다. –