문제

나는 읽으려고 노력했다 http://www.w3.org/tr/xml-infoset/ 그리고 Wikipedia 항목. 그러나 솔직히 나는 여전히 차이가 무엇인지 확실하지 않습니다.

인용구 :

XML 문서에는 정보가 잘 구성되어 있고 네임 스페이스 제약 조건을 충족하는 경우 정보 세트가 있습니다. 정보 세트를 갖기 위해 XML 문서가 유효 할 필요가 없습니다.

Wikipedia 항목에서는 의미가없는 것 같습니다. 유효하지 않은 문서에는 어떻게 의미론을 가질 수 있으므로 어떻게 '정보'세트가 될 수 있습니까?

이것이 'Infoset'은 무엇입니까?

적절하고 제한된 네임 스페이스를 만족시킵니다

XML은? 그리고 어떤 방식으로 그것이 그 자체로 유용합니다. 다시 말해, 왜 의미 적으로 말하면 XML Infoset? XML로 표현할 수없는 정보가 있습니까? 그렇다면 XML Infoset의 제한 세트를 볼 수 있지만 확실히 XML Infoset은 '정보'라는 용어만큼 의미가 없습니까?

흥미로운 답변에 감사드립니다. 나는 여전히 XML Infoset이 INFOSET이라는 용어와 달리 목적을 가지고있는 이유를 여전히 이해할 수 없습니다. 하지만 너희들은 나에게 질문에 대한 직접적인 답을 주었다.

도움이 되었습니까?

해결책

XML 텍스트와 XML Infoset의 구별을 생각하는 유용한 생각은 다음을 고려하는 것입니다. 빠른 Infoset. 이것은 XML Infoset의 이진 표현입니다.

따라서 XML 데이터 (노드, 요소, 속성 등)를 나타내는 개념적 모델 인 초록 "Infoset"이 있습니다. 이것은 물리적으로 텍스트 XML 문서 또는 빠른 Infoset 스트림으로 표시 될 수 있습니다. 둘 다 동일한 데이터를 나타내지 만 근본적으로 다른 방식으로 나타납니다.

다른 팁

XML은 텍스트가 아닙니다. XML "은"XML Infoset입니다. 그런 다음 XML 문서에서 텍스트로 직렬화 될 수 있지만 현실 인 XML Infoset입니다.

예를 들어, 인포셋은 메모리에 DOM 트리로 존재할 수 있습니다. 추상 객체 모델의 구현으로 메모리에 존재합니다.

UTF-8으로 직렬화 한 다음 UTF-16으로 연속화되면 어떻게해야합니까? 결과는 두 가지 다른 비트 세트이지만 동일한 Infoset 일 것입니다.

텍스트를 사용하면 문자열 연결과 같은 일을하는 것이 합리적이라고 생각하십시오. "<"를 XML 요소의 중간에 연결하고 싶지 않습니다. 먼저 인코딩해야합니다. 단지 텍스트라면 왜 이것을해야합니까? 예를 들어 DOM을 사용한 경우 Element.innerText = "<"; 직렬화되면 "<"는 "<"로 인코딩됩니다. 그러나 그것은 같은 인포셋입니다.

유효한 XML 문서는 DTD 또는 XSD (또는 기타 표준)의 요구 사항을 충족합니다. 잘 형성된 경우 주어진 DTD 또는 XSD의 규칙을 위반하는 경우에도 여전히 '유효하지 않습니다'.

편집 : 나는 XML 의이 영역을 처음 접했지만 Infoset은 실제 기술 구현과 무관하게 XML 문서의 '초록 레벨'설명 인 것 같습니다. 예를 들어 문서 개체 모델 일 수 있습니다. 구현.

XML Infoset은 유효한 XML 문서를 설명하는 데 사용할 수있는 속성 및 엔티티와 같은 추상 개념 세트입니다. 사양에 따르면, "XML 문서의 정보 세트는 여러 정보 항목으로 구성되어 있으며, 잘 형성된 XML 문서의 정보 세트에는 최소한 문서 정보 항목 및 기타 여러 가지가 포함됩니다."

XML 문서가 INFOSET이기 때문에 XSD를 준수하고 유효한 XML 문서입니다.

MSDN 의이 링크를 참조하십시오.http://msdn.microsoft.com/en-us/library/aa468561.aspx

그것은 개념에 대한 정말 좋은 설명이며 희망적으로 당신에게 그것을 분명히 할 것입니다.

내가 방금 만나는 좋은 예는 들어 있습니다 David Chappell의 WCF PDF. 예를 들어 TCP를 사용할 때 작동하는 방식입니다.

커뮤니케이션의 양 당사자가 WCF를 구축 할 때 최적의 성능을 허용하기 위해이 경우 사용 된 와이어 인코딩은 최적화 된 이진 버전의 SOAP입니다. 메시지는 여전히 INFOSET이라고하는 SOAP 메시지의 데이터 구조를 준수하지만 인코딩은 XML의 표준 앵글 브래킷 및 텍스트 형식 대신 해당 Infoset의 이진 표현을 사용합니다. 이 옵션을 사용하는 것은 콜센터 클라이언트 응용 프로그램과 통신하는 데 적합합니다. WCF를 기반으로하고 성능이 가장 중요한 문제입니다.

XML은 언어이므로 구문을 가지므로 XML Infoset은 데이터 모델의 사양을 가지고 있으므로 구문보다는 데이터 모델을 기반으로하는 응용 프로그램이 필요하기 때문입니다. XML은 XML INFOSET 전에 제공됩니다. 참조 : 웹 링크베이스 액세스에 대한 프로토콜 고려 사항

XML Infoset은 직렬화 된 XML 문서를 구조화 해야하는 방법에 대한 요구 사항입니다.

직렬화 된 XML은 일부 바이너리 형식과 같이 다른 형태를 가질 수 있습니다 (빠른 Infoset) 또는 텍스트 (가장 인기있는 형태).

기본적으로 XML 문서 형식 (텍스트)의 경우 각 요소와 속성은 XSD Trough 대응 네임 스페이스에 정의되어야합니다.

여기 예를 찾을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top