마크업언어란?

  • [Markup Language] 마크업 언어란? LINK



XML vs JSON vs YAML

  XML JSON YAML
eXtensible Markup Language JavaScript Object Notation YAML Ain’t Markup Language
→ 기존 Yet Another Markup Language
문서 마크업이 아닌 데이터 중심에 있다는 것을 보여주기 위해 뜻을 변경함
사이트   https://www.json.org/ https://yaml.org/
유효성 https://www.xmlvalidation.com/ https://jsonlint.com/ http://www.yamllint.com/
구조
정의
(HTML과 같은) 태그 사용 { } 중괄호 사용 들여쓰기 사용
(공백 수로 블록 구분)
확장자 .xml .json .yaml
장점 1 - 유연함 - 간결과 집중 - 한글같은 유니코드를 그대로 사용할 수 있음
장점 2 - 작성하기 쉬움 - java script에서 쉽게 사용 가능 - 주석 사용 가능
장점 3 - 사람이 이해하기 쉬움 - 속도가 xml보다 빠름 - 문자열을 ““로 감싸지 않아도 됨
장점 4 - 호환성이 좋음 - 툴 지원이 많음  
장점 5 - 제공되는 기능이 많음    
단점 1 - 장황함 - data type 제공이 적음 - 공백을 잘 맞춰줘야 함
단점 2 - 속도가 느림 - 명칭 공간을 지원하지 않음 - 한 줄로 작성 불가
단점 3 - 보안 취약성(BL / EE) - 그래픽 파일이나 문서 등 바이너리 코딩된 파일은 XML이 적합 - 사용처가 json에 비해 적음
단점 4   - 주석 사용 불가 - trace시 구조를 파악하기 어려움
사용처 XML 기반 데이터 베이스
모두 XML로 작성한 앱 로직 등
일반적으로 API 만들 때 일반적으로 설정 파일을 작성할 때



출처