XSLT 쉽게 입문 제2 장:XSLT 의 인 스 턴 스

2.XSLT 의 인 스 턴 스 2.1 XSLT 가 XML 2.2 의 인 스 턴 스 2.3 과정 에서 2.4 XSLT 의 용 도 를 분석 합 니 다.2.1 XSLT 가 XML 을 어떻게 바 꾸 는 지 재 미 있 는 예 를 들 어 고무 진흙 을 해 본 적 이 있 습 니 다.서로 다른 틀 로 누 르 면 필요 한 모양 을 만 들 수 있 습 니 다.만약 에 우리 가 XML 데이터 문서 가 큰 고무 진흙 이 라 고 가정 하면 XSLT 는 하나의 틀 처럼 힘껏 누 르 면 필요 한 모양 을 만들어 서 서로 다른 필요 에 부 합 된 HTML 문 서 를 만 듭 니 다.구체 적 으로 아래 의 과정 설명 도 를 보십시오우 리 는 XML 원본 문 서 를 입력 하고 XSL 을 템 플 릿 으로 하여 엔진 전환 을 통 해 필요 한 HTML 문 서 를 최종 출력 합 니 다.그 중의 전환 엔진 은 바로 비유 에서'힘껏 눌 러 라'는 과정 이다.구체 적 인 응용 에서 이 전환 과정 을 실현 하 는 전문 적 인 소프트웨어 가 있 는데 이름 은 XML Processor 이다.현재 많은 Processor 소프트웨어(아래 상세 하 게 언급)가 있 으 며,IE 5.5 에 도 XML Processor 가 내장 되 어 있다.2.2 인 스 턴 스 지금 우 리 는 간단 한 XSLT 실제 응용 예 를 살 펴 보고 감각 적 인 인식 을 얻 었 다.많은 웹 디자이너 들 이 HTML 과 비슷 한 코드 를 봐 야 안심 할 수 있 고 코드 가 그렇게 친절 하고 익숙 하 다. 예 1:"Hello,world!"hello World 는 첫 번 째 튜 토리 얼 로 서 이미 프로그램 언어 중의 관례 이다.우리 도 이 관례 를 준수 하여 XSLT 를 어떻게 이용 하여'hello world'를 표시 하 는 지 보 자.이 예 는 실제 용도 가 없 지만 서 두 르 지 마 세 요.뒤에 더 자세 한 예 가 있 습 니 다.첫 번 째 단계:XML 문 서 를 입력 할 hello.xml 를 만 듭 니 다. Hello, world! 이것 은 매우 간단 한 XML 문서 로 한 노드 만 포함 하 는 XML 구조 트 리 입 니 다.두 번 째 단계:XSLT 문서 hello.xsl 을 만 듭 니 다.알림:기본 XSLT 파일 의 접미사 이름 은.xsl 입 니 다. First XSLT example

 현재 IE 5.0 이상 버 전의 브 라 우 저 로 이 hello.xsl 파일 을 열 수 있 습 니 다.XSL 의 구조 트 리 를 볼 수 있 습 니 다.세 번 째 단계:XML 에서 이 XSL 파일 을 호출 합 니 다.hello.xml 코드 변경: Hello, world! ok,이 원리 에서 모든 코드 가 완성 되 었 습 니 다.다음은 XSLT 프로세서(XML Processor)로 hello.xml 를 실행 하면'hello World'의 디 스 플레이 결 과 를 볼 수 있 습 니 다.유행 하 는 프로세서 소프트웨어 는 다음 과 같은 몇 가지 가 있다.(1).James Clark 의 XT.다운로드 사이트 주소:http://www.jclark.com/xml/xt.html(2).IBM 의 XML for Java 패키지,이름 은 LotusXSL 입 니 다.다운로드 사이트:www.alphaworks.ibm.com/tech/xml4j(3).Saxon.다운로드 사이트 주소:http://www.wrox.com(4).마이크로소프트 MSXML 3.다운로드 사이트 주소:http://www.microsoft.com/xml '헬 로 월 드'효 과 를 브 라 우 저 에서 보고 싶 은 데 어떻게 해 야 하나 요?마이크로소프트 IE 5.5 에 MSXML 3 해석 기 가 내장 되 어 있 습 니 다.IE 5.5 로 hello.xml 파일 을 열 면 결 과 를 볼 수 있 습 니 다.XML 구조 트 리 만 보인다 면 별도의'hello world'문구 가 아 닌 브 라 우 저 에 MSXML 3 버 전이 설치 되 어 있 지 않다 는 뜻 입 니 다.만약 설치 하지 않 고 또 효 과 를 보고 싶 으 면 어떻게 합 니까?그것 은 역시 우리 가 XML 튜 토리 얼 에서 의 낡은 방법 으로 JS 로 실현 하 는 것 이다.이것 은 본 고가 말 하고 자 하 는 범 위 를 넘 어 섰 지만 더욱 직관 적 이 고 이해 하기 편리 하도록 우 리 는 여기 서 실례 코드 를 제공한다.)다음은 실 현 된 코드 로 hello.htm 로 저장 할 수 있 으 며 위의 hello.xml,hello.xsl 과 같은 디 렉 터 리 아래 에 놓 을 수 있 습 니 다.마지막 으로 IE 5.0 이상 버 전 으로 hello.htm 를 열 면 효 과 를 볼 수 있 습 니 다. var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async="false";xmlDoc.load("hello.xml");nodes = xmlDoc.documentElement.childNodes;greeting.innerText = nodes.item(0).text;First XSLT Example
2.3 프로 세 스 분석 만약 당신 이 성공 적 으로 효 과 를 보 았 다 면,당신 은 이 코드 들 의 구체 적 인 의 미 를 알 고 싶 을 지도 모 릅 니 다.우 리 는 hello.xsl 파일 을 보 세 요.  이것 은 표준 XML 문서 의 첫 줄 코드 입 니 다.XSLT 자체 도 XML 문서 이기 때 문 입 니 다.encoding 속성 은 문서 에 사용 되 는 인 코딩 형식 을 정의 하 는 데 사 용 됩 니 다.iso-8859-1 은 주로 서유럽 과 북 미의 언어 인 코딩 을 지원 합 니 다.만약 당신 이 간 체 중국 어 를 사용 하고 싶다 면,다음 과 같이 써 야 합 니 다.  다음 코드 는:  이것 은 표준 XSLT 파일 의 첫 줄 코드 입 니 다.xsl:stylesheet 코드 는 문 서 를 스타일 시트 로 처리 한 다 는 뜻 입 니 다.xmlns:xsl 속성 은 이름 공간 성명 으로 XML 의 이름 공간 사용 방법 과 마찬가지 로 요소 이름 의 중복 과 혼란 을 방지 합 니 다.그 중에서 접두사 xsl 은 문서 에 사 용 된 요소 가 W3C 의 XSLT 규범 을 준수 한 다 는 뜻 이다.마지막 version 속성 은 스타일 시트 가 XSLT 1.0 의 표준 기능 만 사용 한 다 는 것 을 설명 합 니 다.이것 도 현재 유일한 표준 입 니 다.  요소 가 템 플 릿 규칙 을 정의 합 니 다.속성 match="/"는 XML 원본 문서 에서 이 템 플 릿 규칙 의 역할 의 시작 점 을 설명 합 니 다."/"XPath 문법 입 니 다.여기 있 는'/'는 XML 구조 트 리 의 뿌리(root)를 대표 합 니 다. 다음 코드 는: First XSLT Example

 설명:템 플 릿 규칙 이 실행 되면 템 플 릿 의 내용 은 출력 결 과 를 제어 합 니 다.예 를 들 어 템 플 릿 의 대부분 내용 은 HTML 요소 와 텍스트 로 구성 된다.요소 만 XSLT 문법 입 니 다.여기는 원본 문서 의 한 노드 의 값 을 출력 문서 로 복사 하 는 역할 을 합 니 다.select 속성 은 처리 할 노드 이름 을 상세 하 게 지정 합 니 다.이것 은 XPath 문법 입 니 다.'greeting'은 루트 노드 가 greeting 이라는 요 소 를 찾 고 템 플 릿 으로 이 노드 를 처리 한 다 는 뜻 입 니 다.구체 적 인 것 은요 소 를 찾 은 다음 요소 의 값 인'hello World'를 템 플 릿 스타일 로 출력 파일 에 복사 하 는 것 입 니 다.알림:XML 문 서 는 엄격 한 계층 구조(IE5 로 XML 파일 을 보면 XML 문서 와 유사 한 다단 계 관련 메뉴 를 볼 수 있 습 니 다)이기 때문에 XML 문 서 를 문서 트 리 라 고 부 릅 니 다.그 중에서 모든 요 소 를 트 리 의 노드 라 고 부 릅 니 다.뿌리 원 소 는 뿌리 노드 다. 마지막 으로 모든 요 소 를 닫 습 니 다: 
 자,예 해설 이 끝 났 습 니 다.당신 은 왜 이렇게 복잡 한 방법 으로'hello World'를 표시 해 야 하 는 지 생각해 본 적 이 있 습 니까?관건 은 표면 이 아니 라 실질 에 있다.이런 방법 으로 hello World 는 XML 문서 에서 추출 되 고 다양한 XSLT 템 플 릿 으로 처리 하여 서로 다른 필요 한 문 서 를 출력 할 수 있다.XSLT 의 주요 용 도 를 살 펴 보 겠 습 니 다.  2.4 XSLT 의 용도 XSLT 의 주요 용 도 는 데이터 변환 응용 이다.XML 기반 전자상거래 가 광범 위 하 게 보 급 됨 에 따라 XSLT 가 데이터 변환 으로서 의 역할 도 점점 중 요해지 고 있다.예 를 들 어 텔레비전 뉴스의 데이터 형식 을 신문 뉴스 에 필요 한 데이터 형식 으로 직접 전환한다.주식 데 이 터 를 직접 그림 으로 변환 하여 웹 페이지 에 표시 합 니 다.EDI(전자 데이터 교환)데 이 터 를 통계 하고 정렬 하 는 등.XSLT 는 유사 한 작업 을 처리 하 는 이상 적 인 도구 이다.

좋은 웹페이지 즐겨찾기