XSL-FO 블록(블록)

XSL-FO의 출력은 블록 영역에 위치합니다.

XSL-FO 페이지, 흐름 및 블록

콘텐츠 "블록"은 "페이지"로 "유입"되고, 그런 다음 매체로 출력됩니다.

XSL-FO의 출력은 일반적으로 <fo:block> 요소에 삽입되며, <fo:block>는 <fo:flow> 요소에 삽입되고, <fo:flow>는 <fo:page-sequence> 요소에 삽입됩니다:

<fo:page-sequence>
  <fo:flow flow-name="xsl-region-body">
    <fo:block>
      <!-- Output goes here -->
    </fo:block>
  </fo:flow>
</fo:page-sequence>

블록 영역의 속성

블록은 사각형 상자 내에 위치한 출력 시퀀스입니다:

<fo:block border-width="1mm">
이 출력 블록 주위에는 1mm의 경계가 있습니다.
</fo:block>

블록 영역은 사각형 상자이므로 많은 공통 区域 속성을 공유할 수 있습니다:

  • space before 과 space after
  • margin
  • border
  • padding
  • space before

그림:

space beforespace after 이는 블록과 블록 간에 분할 역할을 하는 공백입니다.

margin 이는 블록 외측의 공백 영역입니다.

border 의 외부 경계의 사각형입니다. 네 가지 가장자리는 다른 너비를 가질 수 있습니다. 또한 다른 색상과 배경 이미지로 채울 수 있습니다.

padding 이는 내용 영역과 경계 사이의 영역입니다.

content지역은 실제 내용을 포함할 수 있습니다. 예를 들어, 텍스트, 이미지, 그래픽 등.

block margin

  • margin
  • margin-top
  • margin-bottom
  • margin-left
  • margin-right

block border

border style 속성:

  • border-style
  • border-before-style
  • border-after-style
  • border-start-style
  • border-end-style
  • border-top-style (동일한 border-before)
  • border-bottom-style (동일한 border-after)
  • border-left-style (동일한 border-start)
  • border-right-style (동일한 border-end)

border-color 속성:

  • border-color
  • border-before-color
  • border-after-color
  • border-start-color
  • border-end-color
  • border-top-color (동일한 border-before)
  • border-bottom-color (동일한 border-after)
  • border-left-color (border-start와 동일)
  • border-right-color (border-end와 동일)

박스 경계 너비 속성:

  • border-width
  • border-before-width
  • border-after-width
  • border-start-width
  • border-end-width
  • border-top-width (border-before와 동일)
  • border-bottom-width (border-after와 동일)
  • border-left-width (border-start와 동일)
  • border-right-width (border-end와 동일)

블록 패딩

  • padding
  • padding-before
  • padding-after
  • padding-start
  • padding-end
  • padding-top (padding-before와 동일)
  • padding-bottom (padding-after와 동일)
  • padding-left (padding-start와 동일)
  • padding-right (padding-end와 동일)

블록 배경

  • background-color
  • background-image
  • background-repeat
  • background-attachment (스크롤 또는 fixed)

블록 스타일 속성:

이 블록은 단독으로 스타일링할 수 있는 출력 시퀀스입니다:

<fo:block
  font-size="12pt"
  font-family="sans-serif">
이 블록의 출력은 12pt sans-serif 글꼴로 작성됩니다.
</fo:block>

글꼴 속성:

  • font-family
  • font-weight
  • font-style
  • font-size
  • font-variant

텍스트 속성:

  • text-align
  • text-align-last
  • text-indent
  • start-indent
  • end-indent
  • wrap-option (자동 줄바꿈 정의, 단어 줄바꿈)
  • break-before (정렬 분리 기호, 페이지 분리)
  • break-after (페이지 분리 정의)
  • reference-orientation (90" 내의 텍스트 회전 정의)

예제

<fo:block
    font-size="14pt" font-family="verdana" color="red"
    space-before="5mm" space-after="5mm">
W3School
</fo:block>
<fo:block
    text-indent="5mm"
    font-family="verdana" font-size="12pt"
    space-before="5mm" space-after="5mm">
CodeW3C.com에서 모든 웹 빌딩 강의를 찾을 수 있습니다.
기본 HTML과 XHTML에서 다음으로 고급 XML, XSL, 멀티미디어에 이르기까지 필요한 모든 웹 빌딩 강의를 찾을 수 있습니다.
및 WAP.
</fo:block>

결과:

위의 예제를 보면, 많은 제목과段落이 포함된 문서를 생성하려면 매우 많은 코드가 필요합니다.

일반적으로, XSL-FO 문서는 우리가 얼마 전에 했던 것처럼 형식화 정보와 내용을 결합하지 않습니다.

XSLT의 조금의 도움으로, 우리는 형식화 정보를 템플릿에 삽입하고 더 깨끗한 내용을 작성할 수 있습니다.

이 강의의 후반 부분에서 XSLT 템플릿을 사용하여 XSL-FO를 결합하는 방법을 배울 것입니다.