공유 XFDF 네임스페이스 파싱

공유 XFDF XML 파서는 상속된 기본 네임스페이스와 선언된 접두사를 해석합니다. 그래서 XML 생산자가 정규화된 이름을 써도 Adobe XFDF 요소는 같은 의미를 유지합니다

로컬 destination 임포트는 정규화된 Adobe Dest, GoTo, destination 모드 요소를 받고, annotation을 만들기 전에 외부 바인딩, 일관성 없는 네임스페이스 변경, 무효한 컨테이너, 반복된 destination 데이터를 거부합니다

원래 로드 문서 코덱은 자기의 비정규화 레거시 XML 프로파일을 계속 받습니다. 네이티브 트랜잭션은 더 엄격한 Adobe XFDF 네임스페이스 요구를 유지합니다

이름과 직렬화

THPDFXFDFNode는 직렬화를 위해 원본 QualifiedName을 유지하고 해석된 NamespaceURI를 노출하며, Name은 인식된 Adobe나 비정규화 요소의 로컬 이름을 제공합니다

외부 정규화 요소 이름은 Name에 정규화된 채로 남습니다. 공유 코덱이 실수로 그것을 Adobe 어휘로 취급하지 않도록 하기 위해서입니다. 외부 콘텐츠를 다룰 때는 소비자가 NamespaceURI를 확인해야 합니다

분리된 직렬화 콘텐츠에 필요한 네임스페이스 선언이 유지되고, 리치 텍스트 본문 콘텐츠는 혼합 텍스트 순서와 네임스페이스 바인딩을 보존합니다

외부 서브트리 밖에서 실제로 필요한 네임스페이스 바인딩만 그 보존 XML에 추가됩니다. 중첩된 외부 노드는 중복된 완전 서브트리를 유지하지 않습니다

공유 파서는 누적 보존 XML과 추가 선언을 입력 바이트 길이의 4배에 4096 UTF-16 코드 유닛을 더한 값으로 제한하며, 네임스페이스 확장이 그 워킹 한도를 넘으면 EHPDFXFDFLimitError를 일으킵니다

속성과 접두사 검사

반복된 어휘 속성과 반복된 확장 속성 이름은 마지막 값을 적용하는 대신 거부됩니다. 기본 네임스페이스는 요소 이름에 적용되고, 접두사 없는 속성 이름은 비정규화로 남습니다

선언된 접두사와 예약된 xml·xmlns 바인딩은 W3C Namespaces in XML 1.0, Third Edition의 네임스페이스 제약을 따릅니다. 네임스페이스 URI 비교는 대소문자를 구분합니다

이것은 여전히 라이브러리의 제한된 XFDF 어휘와 호환성 프로파일이며, 일반 XML 스키마 검증 주장은 없습니다

Annotation destination · 매핑 annotation 교환