1. 작은 시퀀스
HTML은 배우기 쉽고 다목적입니다. 일반 PHP 프로그램이 HTML 언어에 내장되어 있습니다. 그러나 WEB이 점점 더 널리 사용됨에 따라 HTML의 약점은 점점 더 분명해지고 있습니다. XML의 출현은 이러한 단점을 보완하여 인터넷상의 모든 데이터를 처리할 수 있는 보편적인 방법을 제공합니다.
2. HTML의 한계 분석
1. HTML은 확장성이 좋지 않습니다. 일반적인 응용에서는 HTML이면 충분하지만, 수학, 화학 등의 기호를 다룰 때는 명백한 단점이 있고 확장이 불가능하여 개발에 큰 제약이 있습니다.
2. 링크가 유실된 후에는 자동 수정이 불가능합니다. 웹 페이지의 URL 주소는 자주 변경되므로 URL 주소 변경 시 수동으로 정보를 수정해야 합니다. 그렇지 않으면 "404 URL 주소를 찾을 수 없습니다."라는 메시지가 나타나 웹 페이지 유지 관리 작업량이 크게 늘어납니다.
3. 데이터 검색에 시간이 오래 걸립니다. HTML은 주로 웹 페이지의 표시를 제어하는 데 사용되므로 동일한 데이터라도 웹 페이지마다 저장 형식이 다르기 때문에 데이터 검색 시 필요한 정보를 빠르게 찾을 수 없습니다.
4. HTML은 2바이트 또는 다국적 문자를 충분히 지원하지 않습니다. 예를 들어, 중국어 정보 페이지는 다른 플랫폼에 표시되지 않을 수 있습니다.
바로 이러한 단점 때문에 사람들이 HTML을 대체할 수 있는 웹 페이지 제작 언어를 연구해 왔습니다. 그 중에는 이미 사용되고 있는 것들로는 Extensible Markup Language XML, CSS(Cascading Style Sheets), DHTML(Dynamic HTML) 등이 있습니다.
3. XML의 구성
다음은 몇 가지 주요 XML 기술의 간략한 목록입니다.
1. DTD(Document Type Declaration)
DTD의 주요 기능은 XML의 콘텐츠 모드를 정의하는 것입니다. ; XML 태그를 제한합니다. 데이터 범위는 속성의 데이터 유형을 정의합니다. 그러나 XML로 작성되지 않기 때문에 확장성이 상대적으로 낮고 제한된 수의 데이터 유형만 제공하므로 역할이 제한됩니다.
2.XML Schema
XML Schema의 기능은 DTD와 유사합니다. 그러나 차이점은 스키마 파일이 이를 참조하는 XML 파일의 특정 유형의 요소와 속성을 설명한다는 것입니다. 또한 스키마는 XML로 작성되므로 DTD에 비해 다음과 같은 장점이 있습니다.
·XML 스키마 콘텐츠 모델은 개방형이며 마음대로 확장할 수 있지만 DTD는 확장된 콘텐츠를 구문 분석할 수 없습니다.
·DTD는 콘텐츠 유형을 문자열로만 정의할 수 있는 반면, XML 스키마를 사용하면 콘텐츠 유형을 정수, 부동 소수점, 부울 또는 기타 여러 단순 데이터 유형으로 정의할 수 있습니다.
·XML 스키마는 네임스페이스를 사용하여 문서의 특수 노드를 스키마와 연결합니다. XML 파일은 해당 스키마를 여러 개 가질 수 있으며 XML 파일은 하나의 DTD만 가질 수 있습니다.
3. XLink
웹 언어로서 XML의 연결 능력은 매우 중요합니다. XML 연결 및 주소 지정 메커니즘에는 XLink, XPath 및 XPointer가 포함됩니다. XLink는 문서 간 단방향 또는 다방향의 복잡한 연결 관계를 구축할 수 있는 강력한 연결 방법은 물론 주석 링크, 요약 링크, 확장 링크 세트 등 다양한 연결 기능을 제공합니다. XPath는 XML 문서의 노드 및 노드 세트를 기준으로 위치 지정을 지원하기 위해 XSLT 및 XPointer에서 사용됩니다. XPointer는 XPath를 기반으로 XML 문서 내용(예: 문자열 또는 선택한 단락)의 내부 구조 위치 지정을 제공합니다. XML의 연결 기능은 HTML에 비해 크게 향상되었습니다.
4. CSS와 XSL
XML의 특징 중 하나는 내용과 형식의 분리입니다. 즉, XML 문서에는 문서를 표시/표현하는 방법에 대한 정보가 포함되어 있지 않습니다. CSS와 XSL(XML 스타일 언어)은 XML 문서 표시 문제를 해결합니다.
CSS(Cascading Style Sheets)는 HTML 및 XML에서도 사용할 수 있습니다. XSL은 XML 구문을 완전히 사용하며 CSS보다 훨씬 강력합니다.
5. DOM
DOM(문서 개체 모델)은 문서의 콘텐츠, 구조 및 스타일에 동적으로 액세스하고 업데이트할 수 있는 수단을 제공하는 플랫폼 및 언어 독립적인 프로그램 인터페이스입니다. 텍스트를 추가로 처리할 수 있으며 처리 결과를 프레젠테이션 페이지에 업데이트할 수 있습니다.
DOM의 목표는 코어, HTML, XML의 세 부분으로 구성된 XML 및 HTML용 표준 프로그래밍 인터페이스를 정의하는 것입니다. DOM의 핵심 부분은 모든 구조화된 문서를 나타낼 수 있는 기본 객체 세트를 설정합니다. HTML과 XML은 보다 편리한 문서 보기 역할을 하는 고급 인터페이스를 제공합니다. DOM 사양은 객체와 메소드로 구성됩니다. 프로그래머는 이를 사용하여 특정 유형의 문서에 더 쉽게 액세스하고 조작할 수 있습니다.
6. 네임스페이스
네임스페이스는 XML 파일의 요소 및 속성에 나타나는 모든 이름의 모음이며 URL로 구분됩니다. XML에서는 사용자가 태그와 요소를 직접 정의할 수 있습니다. 따라서 여러 XML 파일을 하나로 병합하면 충돌이 발생할 가능성이 높습니다. 네임스페이스는 이 문제를 해결합니다.
4. PHP의 XML 지원
PHP는 XML에 대한 강력한 지원을 제공합니다. XML "파서"를 사용하며, 이 파서를 지원하기 위해 20가지(PHP4) XML 파싱 기능을 제공합니다. 다음은 가장 일반적으로 사용되는 PHP 구문 분석 기능 중 일부입니다.
1.xml_parse
boolean xml_parse(int parser, string data, int [isFinal])
이 함수는 XML 형식의 파일 데이터를 구문 분석하는 데 사용됩니다. 매개변수 파서는 파싱 코드입니다. 매개변수 데이터는 구문 분석된 데이터 청크입니다. isFinal 매개변수를 생략할 수 있습니다. true로 설정하면 시스템이 자동으로 데이터의 마지막 부분을 data 매개변수로 보냅니다. 오류가 없으면 참값을 반환합니다.
2.xml_parser_create
int xml_parser_create(string [encoding])
이 함수는 새로운 XML 파서를 초기화하는 데 사용됩니다. 매개변수 인코딩은 생략될 수 있으며, 기본값은 ISO-8859-1입니다. US-ASCII와 UTF-8이 있습니다. 성공하면 다른 함수에서 사용할 수 있도록 파서 코드가 반환되고, 실패하면 false 값이 반환됩니다.
3. 매개변수 파서는 파싱 코드입니다. startElementHandler 및 endElementHandler 매개변수는 각각 요소의 시작과 끝 헤더입니다. startElementHandler에는 구문 분석 코드, 이름 및 속성이 포함되어야 하고, endElementHandler 매개 변수에는 구문 분석 코드와 이름이 포함됩니다. 오류가 없으면 참값을 반환합니다.
4. xml_set_character_data_handler
boolean xml_set_character_data_handler(int parser, string handler)
이 함수는 문자 데이터의 헤더를 구성합니다. 매개변수 파서는 파싱 코드입니다. 매개변수 핸들러에는 구문 분석 코드와 데이터 문자열이라는 두 가지 요소가 포함됩니다. 오류가 없으면 참값을 반환합니다.
5.xml_get_error_code
int xml_get_error_code(int parser);
이 함수는 XML 처리 중에 오류 코드를 얻을 수 있습니다. 매개변수 파서는 파싱 코드입니다. 파서에 오류가 있으면 거짓 값을 반환하고, 그렇지 않으면 오류 코드(예: XML_ERROR_BINARY_ENTITY_REF.... 등)를 반환합니다.
6.xml_error_string
string xml_error_string(int code)
이 함수는 XML 처리 중에 오류 코드를 얻을 수 있습니다. 매개변수 코드는 구문 분석 오류 코드입니다. 오류가 없으면 반환 값은 코드의 텍스트 설명 문자열입니다.
7. xml_get_current_line_number
int xml_get_current_line_number(int parser)
이 함수는 XML 구문 분석으로 현재 처리 중인 줄 번호를 가져오는 데 사용됩니다. 매개변수 파서는 파싱 코드입니다. 파서에 오류가 있으면 false 값을 반환하고, 오류가 없으면 줄 번호를 반환합니다.
8.xml_parser_free
boolean xml_parser_free(int parser)
이 함수는 현재 XML 파싱에 사용되는 메모리를 해제하는 데 사용됩니다. 매개변수 파서는 파싱 코드입니다. 오류가 없으면 참값을 반환하고, 그렇지 않으면 거짓값을 반환합니다.
위 내용은 프로그래밍 내용을 포함하여 PHP와 XML을 이용한 웹사이트 프로그래밍의 코딩 예제를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.