yaml 예제

By in Non classé on 2 août 2019

YAML에는 인용되지 않은 문자열에서 사용할 수 없는 여러 특수 문자가 있습니다. 예를 들어 다음 샘플을 구문 분석하는 것은 실패합니다: YAML은 배열 및 목록의 항목을 구분하기 위해 쉼표를 필요로 하지 않기 때문에 JSON보다 Git과 같은 버전 제어 시스템에서 작동합니다. 예를 들어 JSON 배열인 경우 이 예제에서는 애완동물의 값을 동물 키에 매핑합니다. 시퀀스와 함께 사용하면 애완 동물 목록을 작성하기 시작했습니다. 다음 예제에서는 각 항목에 레이블을 지정하는 데 사용되는 대시가 들여쓰기로 계산되어 광고 항목이 자식및 매핑 선이 상위로 간주됩니다. 이 시퀀스는 목록의 각 항목을 동일한 수준으로 배치합니다. 항목 및 하위 항목이 있는 중첩 된 시퀀스를 만들려면 하위 항목의 각 대시 앞에 단일 공간을 배치하여 만들 수 있습니다. YAML은 들여쓰기를 위해 탭이 아닌 공백을 사용합니다. 아래에서 이예제를 볼 수 있습니다. Perl의 YAML.pm 같은 YAML의 일부 구현은 전체 파일(스트림)을 로드하고 이를 한꺼번에 구문 분석합니다. PyYaml과 같은 다른 구현은 게으르며 요청시에 따라 다음 문서를 반복합니다.

문서를 독립적으로 처리할 계획인 매우 큰 파일의 경우 처리하기 전에 전체 파일을 인스턴스화하는 것이 어려울 수 있습니다. 따라서 YAML.pm 경우에 따라 파일을 문서로 청크하고 개별적으로 구문 분석해야 합니다. YAML은 단순히 perl의 정규식으로 m/^—(|$)인 문서 구분 기호에서 분할해야 하기 때문에 이 작업을 쉽게 만듭니다. 이 마커는 콘텐츠에서 금지되어 있습니다[31]. YAML 사양은 인스턴스 문서를 « 프레젠테이션 » 또는 « 문자 스트림 »으로 식별합니다. [22] YAML 인스턴스 문서의 기본 논리 구조는 스칼라, 시퀀스 및 매핑입니다. [23] YAML 사양은 이러한 기본 논리 구조에 적용되는 몇 가지 기본 제약 조건도 나타냅니다. 예를 들어 사양에 따라 매핑 키에는 순서가 없습니다. 노드 순서가 중요한 모든 경우에 시퀀스를 사용해야 합니다. [24] YAML 자체에는 문서가 자체 유효성을 검사할 수 있는 XML의 언어 정의 문서 스키마 설명자가 없습니다.

그러나 YAML(예: 교리, Kwalify 및 Rx)에 대해 외부에서 정의된 스키마 설명자 언어가 여러 개 있습니다. 또한 YAML 문서 자체에서 YAML의 언어 정의 형식 선언에서 제공하는 의미 체계는 간단하고 일반적인 상황에서 유효성 검사기의 필요성을 완화하는 경우가 많습니다. 또한 XML에서 YAML 데이터 구조를 나타내는 YAXML을 사용하면 XML 스키마 가져오기 및 XSLT와 같은 출력 메커니즘을 YAML에 적용할 수 있습니다. 다음은 매번 완전히 설명되지 않고 두 단계가 반복적으로 재사용되는 계측기 시퀀서의 큐의 예입니다. 마지막 단계에서는 첫 번째 단계를 다시 사용하지만 « 병합 » 형식을 사용하여 슬롯 중 하나를 덮어씁니다. [18] 명확성, 컴팩트함 및 데이터 입력 오류를 피하기 위해 YAML은 노드 앵커(사용 & 참조)와 참조(*사용)를 제공합니다. 앵커에 대한 참조는 모든 데이터 유형에 대해 작동합니다(아래 예제에서 참조함 참조 참조 참조). YAML의 모든 구현에 모든 사양 정의 데이터 형식이 있는 것은 아닙니다. 이러한 기본 제공 형식은 이중 느낌표 sigil 접두사(!!)를 사용합니다. 여기에 표시되지 않는 특히 흥미로운 것들은 세트, 주문된지도, 타임스탬프 및 육각형입니다. 다음은 base64 인코딩된 바이너리 데이터의 예입니다. 다음은 YAML 문서(실제로 황소자리 구성)의 예입니다: 문서는 세 개의 대시로 시작하여 세 개의 마침표로 끝납니다.

Comments are closed.