간단한 xml xsl 예제

이 예제는 기본 예제보다 약간 더 복잡합니다. 제목은 장 요소 아래에 있으며 이들 각각에는 ID 태그가 없습니다. 즉, 장의 자식 요소이고 toc_id 특성이 있는 제목만 처리하는 템플릿을 작성해야 합니다. 이를 필터링하기 위한 Xpath 표현식은 다음과 같은 것입니다. xsl:for-each는 select 특성의 XPath 식과 일치하는 모든 항목을 소위 노드 집합으로 수집합니다. 그런 다음 이 노드 집합의 요소 다음에 요소를 처리합니다. 또한 정렬 문을 추가할 수 있습니다(코드와 같이 아래 참조). 실제 예제(두 파일의 소스 검토): 변환 언어를 XSLT(XSL 변환)라고 합니다. XSLT를 사용하면 XML 문서를 다른 형식으로 변환할 수 있습니다. 예를 들어 XSLT를 사용하여 XML 파일의 일부(또는 전부)를 다른 콘텐츠가 포함된 HTML 문서로 동적으로 출력할 수 있습니다.

다음 예제에서는 제목에 ID를 제공하지 않는 텍스트(예: 더 빈번한 상황)를 다룹니다. 각 제목에 대해 고유한 ID를 만들려면 보다 정교한 Xpath 표현식이 필요합니다. “POS_” 문자열과 챕터의 위치를 사용하는 ID를 생성하기로 결정했습니다. 일반적으로 이 명령은 파일의 시작 부분(xsl:stylesheet 이후)에 삽입됩니다. 다음은 먼저 주요 HTML 방언(HTML4, XHTML, HTML5)을 다루는 몇 가지 예제를 제공합니다. 그런 다음 XML에서 다른 XML로 변환하는 예제를 추가합니다. (3) 등등 …. XSLT 프로세서는 항상 지정된 컨텍스트 내에서 작동한다는 것을 이해하는 것이 중요합니다. 이 예제에서는 프로세서가 “페이지” 요소 내에 있으면 제목, 콘텐츠 및 주석을 자식 요소로 인식합니다. 프로세서가 콘텐츠 요소 내에 있으면 위의 예제에서만 텍스트가 표시됩니다.

예: 이 예제에서는 5명의 학생에 대한 정보가 포함된 XML 파일을 만들고 XSLT를 사용하여 XML 파일을 표시합니다. XML 구조에 따라 중첩된 TOC를 만들지 여부에 따라 이 작업은 매우 간단하거나 상당히 복잡할 수 있습니다. 스택오버플로우와 같은 많은 예제를 온라인에서 찾을 수 있습니다. 다음은 간단한 “Hello XSLT” 예제에 대한 전체 코드입니다. 예제 2 이 예제에서는 CD 가격이 10보다 높을 때 “아티스트” 열에 분홍색 배경색을 추가하고 CD 가격이 9보다 높고 10보다 낮거나 같을 때 회색 배경색을 추가합니다. 이전 XML 예제를 사용하여 XML 문서를 출력할 때 문서 맨 위에 제목과 텍스트를 추가하려고 하는 경우를 가정해 보겠습니다. 예 1 예제에서는 CD 가격이 10보다 높을 때 “아티스트” 열에 분홍색 배경색을 추가합니다. 그림 1의 예제에는 루트 노드와 일치하는 템플릿과 작성자 노드와 일치하는 템플릿이 두 개 있습니다.

루트 노드와 일치하는 템플릿은 문서의 제목을 출력한 다음 작성자 노드의 자식인 Author 노드와 일치하는 모든 템플릿(적용 템플릿을 통해)을 처리하도록 합니다. 그러나 브라우저에서 이러한 XML 파일의 “소스를 볼”인 경우 변환된 파일이 아닌 XML 문서만 표시됩니다. XSLT는 XML 문서를 변경하지 않지만 이 예제에서는 XSLT를 사용하여 XML을 일시적으로 조작하는 방법을 보여 주며 이 예제에서는 XSLT를 사용할 수 있습니다. 다음 예제에서는 값 추출의 사용을 보여 줍니다.