HPDFXFAResolveFieldValueNode

유닛: HPDFXFA

선언

function HPDFXFAResolveFieldValueNode(Document: TXFADocument;
  FieldNode, DataNode: TXFANode; CreateNode: Boolean= False;
  MaxNodes: Integer= 65536): TXFANode; overload;

function HPDFXFAResolveFieldValueNode(Document: TXFADocument;
  FieldNode, DataNode: TXFANode; CreateNode: Boolean;
  MaxNodes: Integer; var RemainingOperations: Integer; Deadline: Int64;
  DeadlineCheck: TXFABindingDeadlineCheck = nil): TXFANode; overload;

매개변수

매개변수의미
Documentfield, data, form 패킷을 소유한 네이티브 XFA 문서
FieldNode유효 값을 요청하는 템플릿 field
DataNodedataset occurrence 컨텍스트. 반복 field에는 자기 occurrence 컨텍스트가 필요합니다
CreateNodeFalse는 읽을 수 있는 데이터, 폼 값, 템플릿 기본값을 해석합니다. True는 쓰기 가능한 인스턴스 값을 반환합니다
MaxNodes네이티브 폼 인스턴스 생성에 넘기는 occurrence 상한

동작

기존에 바인딩된 dataset 노드는 콘텐츠가 비어 있어도 우선합니다. 없는 노드는 대응하는 네이티브 폼 값으로, 그다음 템플릿 field의 첫 value 자식으로 폴백합니다

읽기 전용 조회는 dataset이나 폼 노드를 만들지 않고, 이런 값 소스가 하나도 없으면 nil을 반환합니다

CreateNode True면 정상 데이터 바인딩이 쓰기 가능한 dataset 노드를 만들거나 반환합니다. 바인딩되지 않은 field나 쓰기 가능한 dataset이 없는 문서는 대신 별개의 네이티브 폼 값을 씁니다

새로 만든 dataset 노드는 처음에 비어 있을 수 있습니다. 호출자는 이전에 반환된 템플릿 기본값을 통해 할당하는 대신 커밋된 값을 공급합니다

반환된 노드는 Document 소유이며 호출자가 해제하면 안 됩니다. 읽기 전용 조회는 공유 템플릿 노드를 반환할 수 있으므로, 콘텐츠를 바꾸기 전에 CreateNode True로 쓰기 가능한 노드를 확보하세요

Document나 FieldNode가 null이면 nil을 반환합니다. 과도한 네이티브 폼 occurrence 인덱스나 조상 깊이는 폼 리졸버를 통해 EHPDFXFAError를 냅니다

소비자

예산 있는 overload는 네이티브 바인딩 해석과 호출자의 연산 허용량·데드라인을 공유합니다. RemainingOperations 0은 소진, 음수는 호출자 허용량 비활성, 음수 Deadline은 경과 시간 검사 비활성입니다

DeadlineCheck는 호출자의 클록 도메인을 공급할 수 있습니다. nil이면 GetTickCount64 밀리초를 쓰고, 인터랙티브 런타임은 설정된 단조 데드라인 검사를 공급합니다

바인딩 스캔은 고정된 세그먼트, 순회 깊이, 과금 단계 한도를 유지합니다. 예산 실패는 EHPDFXFAError를 내고 인터랙티브 트랜잭션은 네이티브 스냅샷을 복원합니다

바인딩 예산과 콜백 계약은 HPDFXFAResolveBoundDataNode와 TXFABindingDeadlineCheck를 참고하세요

인터랙티브 런타임과 XFA AcroForm 변환은 이 리졸버를 공유해, 없는 기본값과 명시적으로 빈 데이터, 반복 occurrence 값의 일관성을 지킵니다

인터랙티브 편집과 계산은 커밋 전에 쓰기 가능한 인스턴스 노드를 다시 확보해 다른 인스턴스의 템플릿 기본값을 지킵니다

관련 API

네이티브 XFA field 기본값, HPDFXFAResolveFormInstanceNode, 인터랙티브 동적 XFA 위젯 런타임