PHP 초보자를 위한 XML
1.xml이란
XML은 Extensible Markup Language(Extensible Markup Language)의 약어로, 그 중 마크업이 핵심이다. 콘텐츠를 생성한 다음 적합한 태그로 표시하여 각 단어, 구문 또는 정보 덩어리를 인식 가능하고 분류 가능한 정보로 만들 수 있습니다. 사용자가 만드는 파일 또는 문서 인스턴스는 요소(태그)와 콘텐츠로 구성됩니다. 요소는 인쇄물에서 읽거나 전자적으로 처리할 때 문서를 더 잘 이해하는 데 도움이 될 수 있습니다. 요소에 대한 설명이 많을수록 문서의 일부를 식별하기가 더 쉽습니다. 태그의 출현 이후, 태그된 콘텐츠에는 장점이 있습니다. 즉, 컴퓨터 시스템이 없어도 인쇄된 데이터는 태그를 통해 여전히 이해할 수 있습니다
2.xml 구축
앞서 언급했듯이 XML 파일은 콘텐츠와 마크업으로 구성됩니다. 마크업으로 요소를 둘러싸면 요소 내에 대부분의 콘텐츠가 포함됩니다. 예를 들어 XML 요리책을 만들어야 한다고 가정해 보겠습니다. Ice Cream Sundae라는 레시피를 XML로 작성해야 합니다. 레시피 이름을 표시하려면 이 텍스트를 요소에 포함해야 합니다. 즉, 텍스트의 시작과 끝에 여는 태그와 닫는 태그를 추가해야 합니다. 요소 이름은 recipename으로 지정할 수 있습니다. 요소의 여는 태그를 표시하려면
문서 또는 문서 집합에 대한 요소 이름을 만들 수 있습니다. 특정 요구 사항에 따라 요소를 결합하는 규칙을 만들 수 있습니다. 요소 이름은 더 구체적이거나 더 일반적일 수 있습니다. 추가할 요소를 결정하는 규칙을 생성할 수도 있습니다. 이러한 규칙은 엄격할 수도 있고 느슨할 수도 있으며 전적으로 귀하에게 달려 있습니다. 중요하다고 생각되는 부분을 식별하려면 문서의 요소를 만드십시오.
3.xml 만들기
XML 문서의 첫 번째 줄은 XML 선언일 수 있습니다. 이는 파일을 XML 파일로 식별하는 파일의 선택적 부분으로, 도구와 사람이 XML을 인식하는 데 도움이 됩니다(SGML이나 기타 마크업으로 착각하지 않고). 이 선언은 간단히 <?xml?>로 작성하거나 XML 버전(<?xml version="1.0"?>) 또는 심지어 <?xml version="과 같은 문자 인코딩을 포함할 수 있습니다. 유니코드 1.0의 경우" 인코딩="utf-8"?>. 이 선언은 파일 시작 부분에 나타나야 하므로 여러 개의 작은 XML 파일을 하나의 큰 XML 파일로 병합하려는 경우 이 선택적 정보를 무시할 수 있습니다.
4.루트 요소 생성
루트 요소의열기 및 닫기 태그는 XML 문서의 내용을 둘러싸는 데 사용됩니다. 파일은 하나의 루트 요소만 가질 수 있으며 이를 포함하려면 "래퍼"를 사용해야 합니다. 목록 1은 루트 요소의 이름이 <recipe>인 요약된 예를 보여줍니다. (전체 XML 파일은 다운로드 섹션을 참조하세요).
5.명명된 요소
지금까지는 <recipe> XML에서는 요소의 이름을 선택한 다음 해당 이름을 기반으로 해당 DTD 또는 스키마를 정의합니다. 이름 생성 시 영문자, 숫자, 밑줄(_) 등 특수문자를 사용할 수 있습니다. 이름을 지을 때 주의해야 할 사항은 다음과 같습니다.
· 요소 이름에는 공백이 있어서는 안 됩니다.
· 이름은 영문자로만 시작할 수 있으며 숫자나 기호는 사용할 수 없습니다. (첫 문자 뒤에는 문자, 숫자, 규정 기호를 사용하거나 이들을 혼합하여 사용할 수 있습니다.)
· 대소문자 제한은 없으나, 혼동되지 않도록 일관되어야 합니다.
이전 예에 이어 <recipename>이라는 요소가 추가되면 시작 태그 <recipename>과 해당 종료 태그 </recipename>가 생깁니다.
6.중첩 요소
중첩이란 다른 요소 안에 요소를 배치하는 것을 의미합니다. 이러한 새 요소를 하위 요소라고 하며, 이를 포함하는 요소를 상위 요소라고 합니다. 목록 3에 표시된 것처럼 <recipe> 루트 요소에는 여러 다른 요소가 중첩되어 있습니다. 이러한 중첩된 하위 요소에는 <recipename>, <ingredlist> 및 <preptime>이 포함됩니다. <ingredlist> 요소에는 여러 하위 요소 <listitem>이 포함되어 있습니다. XML 문서는 여러 수준의 중첩을 사용할 수 있습니다.
일반적인 구문 오류는 상위 요소와 하위 요소의 잘못된 중첩입니다. 모든 하위 요소는 해당 상위 요소의 여는 태그와 닫는 태그 내에 완전히 포함되어야 합니다. 각 형제 요소는 다음 형제 요소가 시작되기 전에 끝나야 합니다
<?xml version="1.0" encoding="UTF-8"?> <recipe> <recipename>Ice Cream Sundae</recipename> <ingredlist> <listitem> <quantity>3</quantity> <itemdescription>chocolate syrup or chocolate fudge</itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>nuts</itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>cherry</itemdescription> </listitem> </ingredlist> <preptime>5 minutes</preptime> </recipe>
7.요소와 속성이 포함된 xml 파일
<?xml version="1.0" encoding="UTF-8"?> <recipe type="dessert"> <recipename cuisine="american" servings="1">Ice Cream Sundae</recipename> <preptime>5 minutes</preptime> </recipe>