[XML] XML의 구조 및 문법

2020. 5. 29. 11:19·SW 공학 & 프로그래밍 언어
728x90
반응형

1. 트리형태 구조 예시

<bookstore>
  <book category="어린이">
    <title lang="ko">뽀로로와 친구들</title>
    <author>저자</author>
    <year>2xxx</year>
    <price>12,000원</price>
  </book>
  <book category="교육">
    <title lang="ko">아이들을 위한 교육</title>
    <author>저자</author>
    <year>2xxx</year>
    <price>3000원</price>
  </book>
  <book category="IT">
    <title lang="en">신기술 xxxx</title>
    <author>저자</author>
    <year>2003</year>
    <price>20,000</price>
  </book>
</bookstore>

 

  • Root element: bookstore
  • 첫번째 element: book[속성(attribute): category]
  • 두번째 elements: title[속성(attribute): lang] / author / year / price

2. XML 문법 규칙(태그활용법)

  1. 태그
    HTML: 여는 태그와 닫는 태그가 있어야하며 몇몇 태그는 닫는 태그가 없어도 지장이 없다.
    XML: 태그를 열면 반드시 태그를 닫아야 한다.
  2. 대소문자 구분
    <Message> 잘못 된 태그 </message>
    <message> 알맞은 태그  </message>
    
    1. 숫자, -(대시), .(마침표)로 시작할 수 없고
    2. 특수문자 및 공백(스페이스바) 사용 불가
       !, ?, ,, #, @, %, &, ;, <, >, (, ), ', ", `, {, }, /, [, ], \, ^, $, |, ~, *, +, =
  3. 트리구조 형식처럼 태그도 열고 닫는 형태를 트리구조처럼 감싸야한다.
    <b><i>This text is bold and italic</i></b>
  4. 속성(attribute) 값은 " " 로 감싸야한다.
     <book category="어린이">
  5. 최상위 루트는 반드시 필요
    사용하고자 하는 태그가 있으면 해당 태그의 최상위 태그가 있어야한다.
  6. 개체 참조(특별한 의미로 사용되는 문자)
    XML에서 <, >, ", ', &와 같은 개체 참조 목록이 있다.
    "<"를 사용할 시, 태그 시작을 의미하기에 에러가 발생한다.
    &lt; 	< 	홑화살괄호 (꺽쇠 기호) 
    &gt; 	> 	홑화살괄호 (꺽쇠 기호) 
    &amp; 	& 	앤드 기호
    &apos; 	' 	작은따옴표
    &quot; 	" 	큰따옴표
    
    XML에서 '<' 와 '&' 는 절대 허용되지 않는다.
    '>' 는 허용이 되지만, '&gt;'으로 바꾸는(parsing) 습관을 들이자
  7. 주석문
    ※ 주석문 사용법
    <!-- 주석 가능 -->
    <!--<!-- 주석 불가능 -->-->
    
    '-->'들 중 앞에만 인식하기에 나머지 뒤에 '-->' 아무 의미없는 문자이다
    (<!--<!-- 주석 불가능 -->)-->
    괄호 쳐진곳만 주석으로 인식한다.
  8. 공백 유지
    HTML: 텍스트를 입력할 때, 공백이 많을 경우 하나로 생략하여 출력
    XML: 모든 공백을 유지하여 출력
  9. 줄바꿈 -  새로운 줄(Line Feed)
    XML: LF
    - 보통 사용하는 윈도우 응용프로그램은 CR(carriage return)+LF(line feed)를 통해 줄바꿈이 됨
    - 유닉스는 LF를 통해 줄바꿈이 됨

   위 문법 규칙을 잘 지킨 XML은 "Well-formed XML"이라고 한다.

 

   

728x90
반응형
저작자표시 (새창열림)

'SW 공학 & 프로그래밍 언어' 카테고리의 다른 글

[IntelliJ] Task 'wrapper' not found in project ':~'. 문제 해결  (0) 2025.05.30
웹 응답값 유지가 되는 방법  (0) 2025.03.13
[형상관리] 형상관리에 대해서... SCM, VCS, SVN, git...  (1) 2022.01.14
[문제해결] IE 부모창, 팝업창 appendChild ERROR  (0) 2021.05.30
'SW 공학 & 프로그래밍 언어' 카테고리의 다른 글
  • [IntelliJ] Task 'wrapper' not found in project ':~'. 문제 해결
  • 웹 응답값 유지가 되는 방법
  • [형상관리] 형상관리에 대해서... SCM, VCS, SVN, git...
  • [문제해결] IE 부모창, 팝업창 appendChild ERROR
크크크크
크크크크
공뷰를 합시다.
    반응형
  • 크크크크
    Tom's Note
    크크크크
  • 전체
    오늘
    어제
    • 분류 전체보기 (130)
      • IT 지식 (6)
      • CS (66)
        • 알고리즘 & 자료구조 (19)
        • 운영체제 (41)
        • 네트워크 (1)
        • 데이터베이스 (5)
      • 보안 (6)
      • SW 공학 & 프로그래밍 언어 (5)
        • Java (28)
        • 디자인 패턴 (1)
        • 형상관리 (2)
        • 톰캣(WAS) (2)
        • SW 방법론 (3)
        • 스프링부트 (5)
      • 시스템 설계 (4)
        • Docker (2)
      • 자격증 (2)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      su
      which
      apropos
      REST API
      java
      비트연산
      스프링부트
      단반향
      불변
      2차
      ADsP
      /etc/passwd
      DI
      문제해결
      whereis
      자바
      usermod
      1급
      알고리즘
      Chage
      man
      passwd
      chmod
      분석기법
      cifs
      DTO
      리눅스
      docker
      whatis
      암호설정
    • 최근 댓글

    • 최근 글

    • 250x250
    • hELLO· Designed By정상우.v4.10.3
    크크크크
    [XML] XML의 구조 및 문법
    상단으로

    티스토리툴바