현재 많은 웹사이트의 콘텐츠 데이터는 데이터베이스나 데이터 파일에 저장되어 있습니다. 웹 프로그램 개발자의 경우 데이터베이스에서 유용한 정보를 추출하려는 경우 전통적인 방법은 서버 측에서 스크립트(예: VBScript, javaScript, CGI, asp, Perl 등)를 작성하고 데이터베이스를 실행하는 것입니다. SQL 쿼리 관련 기록을 얻은 다음 쿼리 결과를 HTML 페이지로 구성하고 이를 클라이언트에 반환합니다. 사용자는 브라우저를 사용하여 최종 결과를 관찰합니다.
많은 상용 웹사이트에서는 시스템 서비스의 유연성과 확장성을 향상하고 서비스 대상을 더욱 다양화하기 위해 비즈니스 룰, 원본 데이터, 프리젠테이션 양식을 독립적인 서비스로 제공하기 위해 최선을 다하고 있습니다. 디스플레이에 데이터를 삽입하는 HTML의 방식은 분명히 이러한 요구를 충족하지 않습니다. 따라서 원본 데이터를 XML 문서에 저장하고 스타일 시트를 사용하여 콘텐츠를 표시하는 것은 전자상거래에 적합한 XML 기술의 장점입니다. 그러나 본질적으로 XSL 기술은 데이터 표시를 지향하지 않으며 표시 수단 및 방법 측면에서 HTML보다 훨씬 덜 풍부한 형식 변환 기술입니다. 프로그래머에게 더 이상적인 솔루션은 HTML과 XML의 두 가지 기술을 결합하여 서로의 장점을 보완하여 실제 원본 데이터가 끊임없이 변화하는 HTML 표시를 최대한 활용하면서 원래의 의미와 구조를 유지할 수 있도록 하는 것입니다. . XML Data Island는 이러한 기술 융합의 산물입니다.
IE에서 데이터 아일랜드를 처리하는 방법
XML 코드가 삽입된 이런 종류의 HTML 페이지를 처리할 수 있도록 Internet Explorer 4.0(이하 IE 4.0)에서는 DSO(Data Source Objects)를 도입했습니다. , 데이터 소스 객체) 기술, Java Applet을 사용하여 구현됩니다.
예:
<APPLET CODE=“com.ms.xml.dso.XMLDSO.class” ID=“xmldso” WIDTH=0 HEIGHT=0 MAYSCRIPT=TRUE> <PARAM NAME=“URL” VALUE=“myXML.xml”> </APPLET>
위의 예에서 CODE 속성은 DSO Java 애플릿을 지정하고 MAYSCRIPT 속성은 사용자 측 스크립트가 데이터 객체를 처리할 수 있도록 보장하며 PARAM 태그 XML 문서의 위치를 지정합니다.
Java 사용의 한계는 HTML 문서에 XML의 URL 주소만 기술할 수 있고 XML 태그를 직접 삽입할 수 없다는 점입니다. 이는 실제 데이터 아일랜드 솔루션에 비해 여전히 한참 뒤떨어져 있습니다. Microsoft는 Internet Explorer 5.0(이하 IE 5.0)에서 DSO 기술을 확장하여 이전의 한계를 극복하고 HTML과 XML을 완전히 통합했습니다. HTML 페이지는
예:
<HTML> <XML ID=“xmldso”> <?xml version=“1.0”?> some XML…… </XML>
각 데이터 아일랜드의 ID가 고유한 것으로 보장되는 한 페이지의 필요할 때마다 데이터 아일랜드를 삽입할 수 있으며, DSO는 서로 독립적입니다.
위 예시의 직접 삽입 방식 외에도 외부 참조를 사용하여 데이터 아일랜드를 연결할 수도 있습니다.
예:
<XML ID=“xmldso” SRC=“myXML.xml”> </XML>
이렇게 회사 고객이 IE 4.0을 계속 사용하는 경우에만 이러한 고객의 호환성 문제를 해결하기 위해 Java Applet이 무엇입니까? 프로그래머는 고려해야 할 옵션이 있습니다.
IE 5.0에서 구현한 DSO 기술에서는 SQL 언어를 통해 데이터베이스에 질의한 데이터가 ADO(ActiveX Data Objects) 레코드 세트에 저장된다. 서버는 이 ActiveX 컨트롤(일반적으로 ADO 레코드 세트)을 클라이언트에 보내고 클라이언트 스크립트 프로그램은 추가 처리를 수행합니다. 실제로 IE 5.0은 XML 데이터 아일랜드를 특수 ADO 레코드 세트로 처리합니다.
XML 데이터 바인딩
1. ADO 레코드 집합 매핑
XML의 각 기본 요소는 ADO 레코드 집합의 레코드에 매핑되고, 하위 요소는 그에 따라 레코드 집합의 필드(도메인이라고도 함)에 매핑됩니다.
예를 들어 XML 데이터 아일랜드 books.xml은 다음과 같이 존재합니다.
<XML ID=“xmldso”> <?xml version=“1.0”?> <booklist> <book> <title>Straight Talk About Computers</title> <isbn>72-80088-005</isbn> </book> <book> <title> Gourmet Microwave </title> <isbn>72-80081-082</isbn> </book> </booklist> </XML>
이 때 매핑된 ADO 레코드 세트는
입니다. title isbn
컴퓨터에 대한 솔직한 이야기 72-80088-005
Gourmet Microwave 72-80081-082
2. HTML 요소에 바인딩
HTML 문서에 데이터 아일랜드를 삽입한 후 XML 데이터 아일랜드를 HTML 요소에 바인딩할 수 있습니다. 각 DSO 항목(즉, 데이터 아일랜드)에는 고유한 ID 번호가 있습니다. 먼저 HTML 요소의 DATASRC 속성을 해당 ID로 설정하여 HTML 요소를 데이터 아일랜드와 연결합니다. 그런 다음 DATAFLD 속성 값을 설정하여 추출된 XML 요소를 결정합니다.
예를 들어 p 요소에 바인딩된 코드는 다음과 같습니다.
<p ID=title DATASRC=#xmldso DATAFLD=“title”></p> <p ID=PRice DATASRC=#xmldso DATAFLD=“isbn”></p>
참고: 모든 HTML 요소를 XML 데이터 아일랜드에 바인딩할 수 있는 것은 아닙니다. 현재 이 DSO 바인딩 메커니즘을 지원하는 요소는 다음과 같습니다:
A, APPLET, BUTTON, p, FRAME, IFRAME, IMG, INPUT(여기서 유형은 CHECKBOX, HIDDEN, LABEL, PASSWord, RADIO 및 TEXT), LABEL, MARQUEE, SELECT, SPAN, TABLE 및 TEXTAREA.
3. 테이블 형식의 명시적 XML 데이터
XML 데이터가 TABLE 요소에 바인딩되면 자동으로 다중 행 테이블 형식으로 표시될 수 있습니다.
예를 들어 XML 데이터를 TABLE 요소에 바인딩하는 코드는 다음과 같습니다.
<TABLE BORDER=1 DATASRC=“#xmldso”> <THEAD> <TR><TH>Title</TH> <TH>ISBN</TH></TR> </THEAD> <TBODY> <TR><TD><p DATAFLD=“title”></p></TD> <TD><p DATAFLD=“isbn”> </p></TD></TR> </TBODY> 1 </TABLE>
这样,通过将TABLE元素中的DATASRC属性设定为#xmldso,把两者绑定起来。表格内部分为表头(THEAD)和表体(TBODY)两部分。每一个
위 내용은 HTML과 XML의 보완적인 장점(1부)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!