Dreamweaver에서 서버측 XSL 변환을 수행하는 방법을 살펴봅니다. XSLT 페이지를 만들고 HTML 페이지를 XSLT 페이지로 변환합니다.
Dreamweaver의 현재 버전 이후로 사용자 인터페이스가 간소화되었습니다. 따라서 이 문서에 설명된 옵션 중에 Dreamweaver의 현재 버전에 없는 옵션이 있을 수 있습니다. 자세한 내용은 이 문서를 참조하십시오.
서버측 XSL 변환 수행을 위한 워크플로
서버에서 서버측 XSL 변환을 수행할 수 있습니다. XML 데이터를 표시하는 페이지를 작성하기 전에 서버측 및 클라이언트측 XSL 변환과 웹 페이지에서 XML 및 XSL 사용에 대해 읽어보십시오.
서버는 서버 측 변환을 수행하도록 제대로 구성되어 있어야 합니다. 자세한 내용은 서버 관리자에게 문의하십시오.
서버측 XSL 변환을 수행하기 위한 일반적인 워크플로는 다음과 같습니다(각 단계는 다른 주제에서 설명됩니다):
1.Dreamweaver 사이트를 설정합니다.
2.서버 기술을 선택하고 애플리케이션 서버를 설정합니다.
3.애플리케이션 서버를 테스트합니다.
예를 들어, 처리가 필요한 페이지를 만들고 애플리케이션 서버가 페이지를 처리하는지 확인합니다.
4.XSLT 조각이나 페이지를 만들거나 HTML 페이지를 XSLT 페이지로 전환합니다.
Dreamweaver 사이트에서 XSLT 조각이나 전체 XSLT 페이지를 만듭니다.
기존 HTML 페이지를 전체 XSLT 페이지로 변환합니다.
5.XML 데이터 소스를 페이지에 연결합니다.
6.데이터를 XSLT 조각이나 전체 XSLT 페이지에 바인딩하여 XML 데이터를 표시합니다.
7.적절한 경우 XML 데이터 자리 표시자가 포함된 테이블이나 테이블 행에 반복 영역 XSLT 객체를 추가합니다.
8.참조를 삽입합니다.
동적 페이지에서 XSLT 조각에 대한 참조를 삽입하려면 XSL 변환 서버 비헤이비어를 사용합니다.
동적 페이지에서 전체 XSLT 페이지에 대한 참조를 삽입하려면 동적 페이지에서 모든 HTML 코드를 삭제한 다음 XSL 변환 서버 비헤이비어를 사용합니다.
9.페이지와 조각을 게시합니다.
동적 페이지와 XSLT 조각(또는 전체 XSLT 페이지)을 모두 애플리케이션 서버에 게시합니다. 로컬 XML 파일을 사용하는 경우 해당 파일도 게시해야 합니다.
10. 브라우저에서 동적 페이지를 보세요.
그렇게 하면 애플리케이션 서버가 XML 데이터를 변환하여 동적 페이지에 삽입하고 브라우저에 표시합니다.
XSLT 페이지 만들기
웹 페이지에서 XML 데이터를 표시할 수 있는 XSLT 페이지를 만들 수 있습니다. 전체 XSLT 페이지(<body> 태그와 <head> 태그가 포함된 XSLT 페이지)를 만들거나 XSLT 조각을 만들 수 있습니다. XSLT 조각을 만들면 본문이나 헤드 태그가 없는 독립적인 파일, 즉 나중에 동적 페이지에 삽입되는 간단한 코드 조각을 만드는 것입니다.
기존 XSLT 페이지로 시작하는 경우 XML 데이터 소스를 해당 페이지에 연결해야 합니다.
XSLT(전체 페이지)를 선택하여 전체 XSLT 페이지를 만듭니다.
XSLT 부분을 만들려면 [XSLT(부분)]을 선택합니다.
- [컴퓨터 또는 LAN에서 로컬 파일 연결]을 선택하고 [검색] 버튼을 클릭한 후 컴퓨터에 있는 로컬 XML 파일을 찾아 선택하고 [확인]을 클릭합니다.
- [인터넷에서 원격 파일 연결]을 선택하고 인터넷에 있는 XML 파일(RSS 피드의 파일 등)의 URL을 입력한 다음 [확인]을 클릭합니다.
[취소] 버튼을 클릭하면 연결된 XML 데이터 소스가 없는 새 XSLT 페이지가 생성됩니다.
바인딩 패널이 XML 데이터 소스의 스키마로 채워집니다.
다음 표에서는 나타날 수 있는 스키마의 다양한 요소에 대한 설명을 제공합니다.
Element |
표시 |
세부 정보 |
|---|---|---|
<> |
필수적인 비반복 XML 요소 |
부모 노드에 정확하게 한 번 표시되는 요소 |
<>+ |
XML 요소 반복 |
부모 노드에 여러 번 표시되는 요소 |
<>+ |
옵션 XML 요소 |
부모 노드에 나타나지 않거나 여러 번 나타나는 요소 |
굵게 표시되는 요소 노드 |
현재 컨텍스트 요소 |
삽입 포인터가 반복 영역 안에 있을 경우 일반적으로 반복 요소 |
@ |
XML 속성 |
|
HTML 페이지를 XSLT 페이지로 변환
기존 HTML 페이지를 XSLT 페이지로 변환할 수도 있습니다. 예를 들어, XML 데이터를 추가하려는 미리 디자인된 정적 페이지가 있는 경우 XSLT 페이지를 만들고 처음부터 페이지를 다시 디자인하는 대신 해당 페이지를 XSLT 페이지로 변환할 수 있습니다.
문서 창에서 페이지 사본을 엽니다. 새 페이지는 .xsl 확장자로 저장되는 XSL 스타일 시트입니다.
XML 데이터 소스 연결
기존 XSLT 페이지로 시작하거나 Dreamweaver에서 새 XSLT 페이지를 만들 때 XML 데이터 소스를 첨부하지 않는 경우 바인딩 패널을 사용하여 XML 데이터 소스를 첨부해야 합니다.
또는 [바인딩] 패널의 오른쪽 위 모서리에 있는 [소스] 링크를 클릭하여 XML 데이터 소스를 추가할 수도 있습니다.
[로컬 파일 첨부]를 선택하고 [찾아보기] 버튼을 클릭한 다음 컴퓨터의 로컬 XML 파일을 찾아보고 [확인]을 클릭합니다.
[원격 파일 첨부]를 선택하고 인터넷상의 XML 파일(RSS 피드의 XML 파일 등) URL을 입력합니다.
바인딩 패널에 XML 데이터 소스의 스키마가 표시됩니다.
XSLT 페이지에 XML 데이터 표시
XSLT 페이지를 만들고 XML 데이터 소스를 첨부한 후 데이터를 페이지에 바인딩할 수 있습니다. 이렇게 하려면 XML 데이터 자리 표시자를 페이지에 추가한 다음 XPath Expression Builder 또는 속성 관리자를 사용하여 페이지에 표시될 선택된 데이터의 형식을 지정합니다.
대부분의 경우 Repeating Region XSLT 개체를 사용하여 페이지에 반복되는 XML 요소를 표시합니다. 이 경우 하나 이상의 열이 있는 단일 행 표를 만들거나 표 헤더를 포함하려면 두 행 표를 만들 수 있습니다.
XML 데이터 자리 표시자가 페이지에 나타납니다. 자리 표시자가 강조 표시되고 중괄호로 표시됩니다. XPath(XML Path language) 구문을 사용하여 XML 스키마의 계층적 구조를 설명합니다. 예를 들어, 하위 요소 title을 페이지로 드래그하고 해당 요소에 상위 요소 rss, channel, item이 있는 경우 다이내믹 콘텐츠 자리 표시자의 구문은 {rss/channel/item/title}입니다.
페이지의 XML 데이터 자리 표시자를 두 번 클릭하여 XPath Expression Builder를 엽니다. XPath Expression Builder를 사용하여 선택된 데이터의 형식을 지정하거나 XML 스키마에서 다른 항목을 선택할 수 있습니다.
[브라우저에서 미리보기]를 사용하여 작업 내용을 미리 보면 Dreamweaver에서 애플리케이션 서버를 사용하지 않고 내부 XSL 변환이 수행됩니다.
반복 XML 요소 표시
Repeating Region XSLT 개체를 사용하면 XML 데이터 소스의 반복 요소를 웹 페이지에 표시할 수 있습니다. 예를 들어, 뉴스피드에서 기사 제목과 설명을 표시하고 해당 뉴스피드에 10~20개의 기사가 포함되어 있는 경우, XML 파일의 각 제목과 설명은 반복 요소의 하위 요소일 것입니다.
XML 데이터 자리 표시자가 포함된 Design view의 모든 영역을 반복 영역으로 변경할 수 있습니다. 하지만 가장 일반적인 영역은 테이블, 테이블 행 또는 일련의 테이블 행입니다.
선택 항목은 테이블, 테이블 행 또는 텍스트 단락 등 무엇이든 될 수 있습니다.
페이지에서 영역을 정확하게 선택하려면 문서 창의 왼쪽 아래 모서리에 있는 태그 선택기를 사용할 수 있습니다. 예를 들어 영역이 표일 경우 페이지에서 표 안쪽을 클릭한 다음 태그 선택기에서 해당 태그를 클릭합니다.
[삽입] > [XSLT 개체] > [Repeating Region]을 선택하세요.
[삽입] 패널의 XSLT 카테고리에서 [Repeating Region] 버튼을 클릭하세요.
[문서] 창에서 반복 영역 주위에 얇고 탭이 있는 회색 윤곽선이 나타납니다. 브라우저에서 작업을 미리 볼 때 ([파일] > [브라우저에서 미리 보기])에는 회색 윤곽선이 사라지고 선택 영역이 확장되어 XML 파일의 지정된 반복 요소가 표시됩니다.
페이지에 Repeating Region XSLT 개체를 추가하면 [문서] 창의 XML 데이터 자리 표시자가 잘립니다. 이는 Dreamweaver가 XML 데이터 자리 표시자의 XPath를 잘라서 반복 요소의 경로에 상대적이 되도록 하기 때문입니다.
반복 영역(XSL) 속성 설정
속성 관리자에서 다른 XML 노드를 선택하여 반복 영역을 만들 수 있습니다.
반복 영역 XSLT 오브젝트 편집
영역에 Repeating Region XSLT 오브젝트를 추가한 후에는 속성 검사기를 사용하여 편집할 수 있습니다.
동적 페이지에 XSLT 조각 삽입
XSLT 조각을 만든 후에는 XSL 변환 서버 동작을 사용하여 동적 웹 페이지에 삽입할 수 있습니다.페이지에 서버 동작을 추가하고 브라우저에서 페이지를 볼 때, 애플리케이션 서버가 선택한 XSLT 조각의 XML 데이터를 표시하는 변환을 수행합니다. Dreamweaver는 ColdFusion, ASP 또는 PHP 페이지에 대한 XSL 변환을 지원합니다.
동적 페이지에 전체 XSLT 페이지의 내용을 삽입할 경우 절차가 동일합니다. XSL 변환 서버 비헤이비어를 사용하여 전체 XSLT 페이지를 삽입하기 전에 동적 페이지에서 모든 HTML 코드를 삭제하십시오.
XSLT 부분을 삽입할 경우 삽입 포인터가 정확한 위치에 있는지 확인할 수 있도록 페이지에 삽입 포인터를 놓은 다음 반드시 [코드 및 디자인 뷰 표시] 버튼을 클릭해야 합니다. 그렇지 않으면 원하는 곳에 삽입 포인터를 놓기 위해 코드 보기에서 다른 곳을 클릭해야 할 수 있습니다.
Dreamweaver는 다음 텍스트 필드를 지정된 조각에 첨부된 XML 파일의 경로 또는 URL로 채웁니다. 변경하려면 [찾아보기] 버튼을 클릭하고 다른 파일을 찾아봅니다.
사이트의 루트 폴더에 런타임 라이브러리 파일이 포함된 includes/MM_XSLTransform/ 폴더도 생성됩니다.애플리케이션 서버는 이 파일에 정의된 함수를 사용하여 변환을 수행합니다.
동적 페이지에서 XSLT 조각 삭제하기
XSLT 조각을 삽입하는 데 사용된 XSL 변환 서버 동작을 삭제하여 페이지에서 XSLT 조각을 제거할 수 있습니다.서버 동작을 삭제하면 XSLT 조각만 삭제되며 연결된 XML, XSLT 또는 런타임 라이브러리 파일은 삭제되지 않습니다.
항상 이런 방법으로 서버 비헤이비어를 제거해야 합니다. 생성된 코드를 수동으로 삭제하면 서버 비헤이비어는 [서버 비헤이비어] 패널에서 사라질 수 있지만 결국 부분적으로만 제거되는 것입니다.
XSL 변환 서버 동작 편집
동적 웹 페이지에 XSLT 조각을 추가한 후 언제든지 XSL 변환 서버 동작을 편집할 수 있습니다.
동적 링크 만들기
XSLT 페이지에서 사용자가 XML 데이터의 지정된 단어 또는 단어 그룹을 클릭할 때 특정 URL로 링크되는 동적 링크를 만들 수 있습니다. 자세한 지침은 www.adobe.com/go/dw_documentation의 Dreamweaver 정오표를 참조하십시오.
XSLT 부분에 스타일 적용
전체 XSLT 페이지를 만들 때(즉, <body> 및 <head> 태그가 포함된 XSLT 페이지), 페이지에 XML 데이터를 표시한 다음 속성 관리자 또는 CSS 스타일 패널을 사용하여 다른 콘텐츠와 마찬가지로 데이터 형식을 지정할 수 있습니다. 그러나 동적 페이지에 삽입할 XSLT 조각을 만들 때(예: ASP, PHP 또는 ColdFusion 페이지에 삽입할 조각) 조각과 동적 페이지의 스타일 렌더링이 더 복잡해집니다. 동적 페이지와 별도로 XSLT 조각 작업을 수행하지만 조각이 동적 페이지 내에서 사용하도록 고안되었으며 XSLT 조각의 출력이 궁극적으로 동적 페이지의 <body> 태그 내 어딘가에 있다는 점을 기억하는 것이 중요합니다. 이 워크플로에서는 XSLT 조각에 <head> 요소(스타일 정의 또는 외부 스타일시트 링크 등)를 포함하지 않도록 주의해야 합니다. 이렇게 하면 애플리케이션 서버가 이러한 요소를 동적 페이지의 <body>에 배치하여 잘못된 마크업을 생성합니다.
예를 들어, 동적 페이지에 삽입할 XSLT 조각을 만들고 동적 페이지와 동일한 외부 스타일시트를 사용하여 조각의 형식을 지정하려고 할 수 있습니다. 조각에 동일한 스타일시트를 첨부하면 결과 HTML 페이지에 스타일시트에 대한 중복 링크가 포함됩니다(하나는 동적 페이지의 <head> 섹션에, 다른 하나는 XSLT 조각의 콘텐츠가 표시되는 페이지의 <body> 섹션에). 이 방법 대신 디자인 타임 스타일시트를 사용하여 외부 스타일시트를 참조해야 합니다.
XSLT 조각의 콘텐츠 형식을 지정할 때는 다음 워크플로를 사용하십시오:
먼저, 외부 스타일 시트를 동적 페이지에 첨부합니다. 이 절차는 모든 웹 페이지의 내용에 스타일을 적용하는 가장 좋은 방법입니다.
그런 다음 동일한 외부 스타일 시트를 디자인 타임 스타일 시트와 같이 XSLT 부분에 첨부합니다. 이름이 의미하듯이 디자인 타임 스타일 시트는 Dreamweaver 디자인 뷰에서만 사용할 수 있습니다.
이전 두 단계를 완료했으면 동적 페이지에 첨부한 동일한 스타일 시트를 사용하여 XSLT 부분에 새 스타일을 만들 수 있습니다. 스타일 시트에 대한 참조는 Dreamweaver에서 사용할 경우에만 유효하므로 HTML 출력이 보다 깔끔하게 정리되고, 부분은 디자인 뷰에 적합한 스타일을 표시합니다. 또한 디자인 뷰에서 동적 페이지를 보거나 브라우저에서 동적 페이지를 미리 볼 때 모든 스타일이 동적 페이지와 부분 모두에 적용됩니다.
브라우저에서 XSLT 부분을 미리 볼 경우 스타일은 표시되지 않습니다. 동적 페이지의 컨텍스트 내 XSLT 부분을 보려면 동적 페이지를 브라우저에서 미리 봐야 합니다.
XSL 변환에서 매개 변수 사용
웹 페이지에 XSL Transformation 서버 동작을 추가할 때 XSL 변환에 대한 매개변수를 정의할 수 있습니다. 매개변수는 XML 데이터가 처리되고 표시되는 방식을 제어합니다. 예를 들어, 매개변수를 사용하여 뉴스피드에서 특정 기사를 식별하고 나열할 수 있습니다. 페이지가 브라우저에 로드되면 매개변수로 지정한 기사만 표시됩니다.
XSL 변환에 XSLT 매개변수 추가
정적 값을 사용하려면 [값] 상자에 입력하세요.
동적 값을 사용하려면 [값] 상자 옆의 동적 아이콘을 클릭하고 [동적 데이터] 대화 상자를 완료한 후 [확인]을 클릭하십시오. 자세한 내용은 [동적 데이터] 대화 상자의 [도움말] 버튼을 클릭하십시오.
XSLT 매개 변수 편집
XSLT 매개 변수 삭제
조건부 XSLT 영역 만들기 및 편집
XSLT 페이지에서 간단한 조건부 영역 또는 여러 조건부 영역을 만들 수 있습니다.[디자인] 보기에서 요소를 선택하고 선택 영역에 조건부 지역을 적용하거나 문서의 삽입점이 있는 곳에 조건부 지역을 삽입할 수 있습니다.
예를 들어, 상품을 사용할 수 없을 때 상품 가격 옆에 "사용할 수 없음"이라는 단어를 표시하려면 페이지에 "사용할 수 없음" 텍스트를 입력하고 선택한 후 선택한 텍스트에 조건부 지역을 적용합니다. Dreamweaver가 선택 영역을 <xsl:if> 태그로 둘러싸고, 데이터가 조건식의 조건에 일치할 때만 페이지에 "사용할 수 없음" 단어만 표시합니다.
조건부 XSLT 영역 적용
XSLT 페이지에 삽입할 간단한 조건식을 작성할 수 있습니다. 조건부 지역 대화 상자를 열 때 콘텐츠가 선택되어 있으면 콘텐츠가 <xsl:if> 블록으로 래핑됩니다. 콘텐츠가 선택되지 않은 경우 <xsl:if> 블록이 페이지의 삽입점에 추가됩니다. 대화 상자를 사용해 시작한 다음 코드 보기에서 식을 사용자 정의하는 것이 좋습니다.
<xsl:if> 요소는 다른 언어의 if 문과 유사합니다. 이 요소는 조건을 테스트하고 결과에 따라 작업 과정을 수행하는 방법을 제공합니다. <xsl:if> 요소를 사용하면 단일 참 또는 거짓 값에 대한 식을 테스트할 수 있습니다.
다음 예제에서는 컨텍스트 노드의 @available 속성 값이 true인지 테스트하려고 합니다.
다음 코드가 XSLT 페이지에 삽입됩니다.
<xsl:if test="@available='true'">
내용 위치
</xsl:if>
true와 같은 문자열 값은 따옴표로 묶어야 합니다. Dreamweaver가 따옴표를 인코딩하여(') 유효한 XHTML로 입력되도록 합니다.
값에 대한 노드 테스트 외에도 조건문에서 지원되는 모든 XSLT 함수를 사용할 수 있습니다.조건은 XML 파일 내의 현재 노드에 대해 테스트됩니다. 다음 예제에서는 결과 세트의 마지막 노드를 테스트하려고 합니다.
조건식 작성에 대한 자세한 정보와 예제는 참조 패널의 <xsl:if> 섹션을 참조하십시오([도움말] > [참조]).
여러 조건부 XSLT 지역 적용
XSLT 페이지에 삽입할 간단한 조건식을 작성할 수 있습니다. 조건부 지역 대화 상자를 열 때 콘텐츠가 선택되어 있으면 콘텐츠가 <xsl:choose> 블록으로 래핑됩니다. 콘텐츠를 선택하지 않으면 <xsl:choose> 블록이 페이지의 삽입점에 추가됩니다. 대화 상자를 사용해 시작한 다음 코드 보기에서 식을 사용자 정의하는 것이 좋습니다.
<xsl:choose> 요소는 다른 언어의 case 문과 유사합니다. 이 요소는 조건을 테스트하고 결과에 따라 작업 과정을 수행하는 방법을 제공합니다. <xsl:choose> 요소를 사용하면 여러 조건을 테스트할 수 있습니다.
다음 예제에서는 컨텍스트 노드의 price 하위 요소가 5보다 작은지 테스트하려고 합니다.
예제에서 다음 코드가 XSLT 페이지에 삽입됩니다:
<xsl:choose>
<xsl:when test="price<5">
내용 위치
</xsl:when>
<xsl:otherwise>
내용 위치
</xsl:otherwise>
</xsl:choose>
조건을 지정하고 [확인]을 클릭하면 <xsl:choose> 블록에 다른 <xsl:when> 태그가 삽입됩니다.
조건식 작성에 대한 자세한 정보와 예제는 참조 패널의 <xsl:choose> 섹션을 참조하십시오([도움말] > [참조]).
조건부 영역(If) 속성 설정
조건부 지역 설정 속성 관리자의 목적은 XSL 페이지의 조건부 지역에서 사용되는 조건을 변경하는 것입니다. 조건부 영역은 조건을 검사하고 결과에 따라 액션을 수행합니다.
조건부(When) 속성 설정
다중 조건부 지역 설정 속성 관리자의 목적은 XSL 페이지의 다중 조건부 지역에서 사용되는 조건을 변경하는 것입니다. 다중 조건부 지역은 조건을 테스트하고 결과에 따라 작업 과정을 수행합니다.
XSL 주석 삽입
문서에 XSL 주석 태그를 추가하거나 선택한 부분을 XSL 주석 태그로 감쌀 수 있습니다.
문서에 XSL 주석 태그 추가
디자인 보기에서 [삽입] > [XSLT 객체] > [XSL 주석]을 선택하고 주석 내용을 입력한 후(또는 상자를 비워두고) [확인]을 클릭합니다.
코드 보기에서 [삽입] > [XSLT 객체] > [XSL 댓글]을 선택합니다.
삽입 패널의 XSLT 카테고리에서 XSL 댓글 아이콘을 클릭할 수도 있습니다.
선택 영역을 XSL 주석 태그로 감싸기
XPath Expression Builder를 사용하여 XML 데이터의 표현식을 추가합니다
XPath(XML Path Language)는 XML 문서의 일부를 지정하기 위한 비XML 구문입니다.이는 주로 XML 데이터의 쿼리 언어로 사용되며, SQL 언어가 데이터베이스를 쿼리하는 데 사용되는 것과 같습니다. XPath에 대한 자세한 정보는 www.w3.org/TR/xpath에서 W3C 웹 사이트의 XPath 언어 사양을 참조하세요.
XPath Expression Builder는 특정 데이터 노드를 식별하고 반복 지역을 위한 간단한 XPath 표현식을 작성할 수 있는 Dreamweaver 기능입니다. XML 스키마 트리에서 값을 드래그하는 방법 대신 이 방법을 사용하면 표시되는 값의 형식을 지정할 수 있다는 장점이 있습니다.현재 컨텍스트는 XPath Expression Builder 대화 상자가 열릴 때 XSL 파일에서 삽입점의 위치를 기반으로 식별됩니다. 현재 컨텍스트는 XML 스키마 트리에 굵게 표시됩니다. 이 대화 상자 내에서 선택하면 현재 컨텍스트를 기준으로 올바른 XPath 문이 생성됩니다. 이는 초보자와 고급 사용자 모두에게 올바른 XPath 표현식을 작성하는 과정을 단순화합니다.
이 기능은 데이터의 특정 노드를 식별하는 간단한 XPath 표현식을 작성하거나 반복 영역에 대해 간단한 XPath 표현식을 작성할 수 있도록 설계되었습니다. 표현식을 직접 편집할 수는 없습니다. 복잡한 표현식을 만들어야 할 경우 [XPath 표현식 작성기] 대화 상자를 사용하여 시작한 다음 코드 보기나 속성 관리자에서 표현식을 사용자 정의합니다.
특정 노드를 식별하는 XPath 표현식 만들기
노드를 식별하기 위해 올바른 XPath 표현식이 표현식 상자에 작성됩니다.
XML 스키마 트리에서 다른 노드를 선택하면 표현식이 선택 사항을 반영하도록 변경됩니다.
다음 예제에서는 item 노드의 price 하위 요소를 표시하려고 합니다:
이 선택 항목은 XSLT 페이지에 다음 코드를 삽입합니다:
<xsl:value-of select="price"/>
선택 항목을 포맷하는 것은 노드의 값이 숫자를 반환할 때 유용합니다. Dreamweaver는 사전 정의된 포맷 기능 목록을 제공합니다. 사용 가능한 포맷 기능의 전체 목록과 예제는 참조 패널을 확인하세요.
다음 예제에서는 price 하위 요소를 소수점 두 자리의 통화로 포맷하려고 합니다:
이러한 옵션은 XSLT 페이지에 다음 코드를 삽입합니다:<xsl:value-of select="format-number(provider/store/items/item/price,'$#.00')"/>
노드를 선택하여 값을 반환하는 방법에 대한 자세한 정보와 예제는 [참조] 패널의 <xsl:value-of/> 섹션을 참조하십시오.
반복할 노드 선택
반복할 노드를 선택하고, 필요에 따라 결과를 필터링할 수 있습니다. [XPath Expression Builder] 대화 상자에서 선택한 콘텐츠가 <xsl:for-each> 블록 내부에 둘러싸입니다.콘텐츠를 선택하지 않은 경우 <xsl:for-each> 블록이 커서 위치에 입력됩니다.
올바른 XPath 표현식이 Expression 상자에 작성되어 노드를 식별합니다.
반복 항목은 XML 스키마 트리에서 더하기(+) 기호로 식별됩니다.
다음 예제에서는 XML 파일 내의 각 item 노드를 반복하려고 합니다.
[확인]을 클릭하면 XSLT 페이지에 다음 코드가 삽입됩니다:
<xsl:for-each select="provider/store/items/item">
내용 위치
</xsl:for-each>
경우에 따라 반복되는 노드의 하위 집합으로만 작업하고 싶을 수 있습니다. 예를 들어, 특정 값을 가진 특성이 있는 항목만 원할 수 있습니다. 이 경우 필터를 생성해야 합니다.
반복되는 데이터 필터링
필터를 사용해 특정 특성 값을 가진 반복 노드를 식별하세요.
필터링 방식
필터링하려는 데이터가 포함된 반복 노드를 지정합니다. 팝업 메뉴는 XML 스키마 트리에서 선택한 노드를 기준으로 상위 노드 목록을 제공합니다.
위치
결과를 제한하는 데 사용할 필터 기준 노드의 특성 또는 하위 요소를 지정합니다. 팝업 메뉴에서 특성 또는 하위 요소를 선택하거나, 스키마 트리 내 더 깊은 곳에 있는 하위 요소를 식별하기 위해 이 필드에 고유한 XPath 식을 입력할 수 있습니다.
연산자
필터 식에 사용할 비교 연산자를 지정합니다.
값
[필터링 방식] 노드에서 확인할 값을 지정합니다. 값을 입력합니다. XSLT 페이지에 동적 매개변수가 정의된 경우 팝업 메뉴에서 하나를 선택할 수 있습니다.
팝업 메뉴에서 값을 입력하거나 선택하면 식 상자의 XPath 식이 변경됩니다.
다음 예제에서는 결과 집합을 @available 특성의 값이 true인 item 노드로 제한하려고 합니다.
[확인]을 클릭하면 XSLT 페이지에 다음 코드가 삽입됩니다:<xsl:for-each select="provider/store/items/item[@available = 'true']"> Content goes here </xsl:for-each>
true와 같은 문자열 값은 따옴표로 묶어야 합니다. Dreamweaver는 따옴표를 자동으로 인코딩(')하여 유효한 XHTML로 입력되도록 합니다.
필터 조건의 일부로 상위 노드를 지정할 수 있는 더 복잡한 필터를 만들 수 있습니다.다음 예제에서는 결과 세트를 item 노드 중에서 store의 @id 속성이 1이고 item의 price 노드가 5보다 큰 노드로 제한하려고 합니다.
[확인]을 클릭하면 다음 코드가 XSLT 페이지에 삽입됩니다:<xsl:for-each select="provider/store[@id = 1]/items/item[price > 5]"> Content goes here </xsl:for-each>
반복 영역에 대한 자세한 정보와 예제는 참조 패널의 <xsl:for-each> 섹션을 확인하십시오.