제36장 HTP

내용 목차

36.1. 개요
36.2. Apache 연동
36.3. 프러시저와 함수
36.3.1. BODYCLOSE
36.3.2. BODYOPEN
36.3.3. BR
36.3.4. CENTER
36.3.5. CENTERCLOSE
36.3.6. CENTEROPEN
36.3.7. FONTCLOSE
36.3.8. FONTOPEN
36.3.9. HEADCLOSE
36.3.10. HEADER
36.3.11. HEADOPEN
36.3.12. HR
36.3.13. HTMLCLOSE
36.3.14. HTMLOPEN
36.3.15. IMG
36.3.16. IMG2
36.3.17. LINE
36.3.18. PRINT
36.3.19. PRN
36.3.20. TITLE

본 장에서는 HTP 패키지의 기본 개념과 패키지 내의 프러시저와 함수를 사용하는 방법을 설명한다.

36.1. 개요

HTP은 HTML 소스코드를 생성하는 패키지이다. 프러시저를 사용하여 HTML 태그를 작성하고, 합쳐진 소스코드를 내보내는 역할을 한다. 예를 들어 HTP.HTMLOPEN은 <HTML>, HTP.HTMLCLOSE는 </HTML> 태그를 생성한다.

36.2. Apache 연동

Tibero 5.0부터는 mod_tbpsm라는 Apache 모듈을 구현하여 배포한다. Apache HTTP 서버로부터 온 요청에 따라 mod_tbpsm을 이용하여 HTP 패키지로 구현된 프러시저를 호출하고 생성된 HTML 페이지를 내보낸다(단, Windows는 지원하지 않는다).

참고

mod_tbpsm 설정 및 사용 방법은 "Tibero 애플리케이션 개발자 안내서"를 참고한다.

36.3. 프러시저와 함수

본 절에서는 HTP 패키지에서 제공하는 프러시저와 함수를 알파벳 순으로 설명한다.

36.3.1. BODYCLOSE

</BODY> 태그를 작성하는 프러시저이다. </BODY> 태그는 HTML 문서 중 본 내용의 끝을 의미한다.

BODYCLOSE 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.BODYCLOSE
  • 예제

    BEGIN
        HTP.BODYCLOSE;
    END;

    다음은 생성된 HTML 코드이다.

    </BODY>

36.3.2. BODYOPEN

<BODY> 태그를 작성하는 프러시저이다. <BODY> 태그는 HTML 문서 중 본 내용의 시작을 의미하고, 속성을 지정하여 배경 등을 변경할 수 있다.

BODYOPEN 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.BODYOPEN 
    (
        background       IN      VARCHAR2       DEFAULT NULL,
        attributes       IN      VARCHAR2       DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    background<BODY> 태그의 background 속성값이다. HTML문서의 배경 그림 파일 경로를 지정한다.
    attributes<BODY> 태그의 기타 속성 및 속성값들의 문자열이다.
  • 예제

    BEGIN
        HTP.BODYOPEN('/img/tibero.jpg');
    END;

    다음은 생성된 HTML 코드이다.

    <BODY background="/img/tibero.jpg">

36.3.3. BR

HTML 페이지의 새로운 라인을 가리키는 <BR> 태그를 작성하는 프러시저이다.

BR 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.BR 
    (
        clear         IN     VARCHAR2      DEFAULT NULL,
        attributes    IN     VARCHAR2      DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    clearCLEAR 속성의 값이다.
    attributes기타 속성 및 값들의 문자열이다.
  • 예제

    BEGIN
        HTP.BR;
    END;

    다음은 생성된 HTML 코드이다.

    <BR>

36.3.4. CENTER

<CENTER> 태그, 중앙에 배치될 문자열, </CENTER> 태그를 작성하는 프러시저이다.

CENTER 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.CENTER 
    (
        text      IN       VARCHAR2
    )
  • 파라미터

    파라미터설명
    text웹 페이지의 중앙에 배치될 문자열이다.
  • 예제

    BEGIN
        HTP.CENTER('Tibero');
    END;

    다음은 생성된 HTML 코드이다.

    <CENTER>Tibero</CENTER>

36.3.5. CENTERCLOSE

</CENTER> 태그를 작성하는 프러시저이다.

CENTERCLOSE 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.CENTERCLOSE
  • 예제

    BEGIN
        HTP.CENTERCLOSE;
    END;

    다음은 생성된 HTML 코드이다.

    </CENTER>

36.3.6. CENTEROPEN

<CENTER> 태그를 작성하는 프러시저이다.

CENTEROPEN 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.CENTEROPEN
  • 예제

    BEGIN
        HTP.CENTEROPEN;
        HTP.IMG(url => '/img/tibero.gif');
        HTP.CENTERCLOSE;
    END;

    다음은 생성된 HTML 코드이다.

    <CENTER>
    <IMG src="/img/tibero.glf">
    </CENTER>

36.3.7. FONTCLOSE

</FONT> 태그를 작성하는 프러시저이다. <FONT> 태그에서 부여된 속성들은 이 태그 앞까지만 적용된다.

FONTCLOSE 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.FONTCLOSE
  • 예제

    BEGIN
        HTP.FONTCLOSE;
    END;

    다음은 생성된 HTML 코드이다.

    </FONT>

36.3.8. FONTOPEN

<FONT> 태그를 작성하는 프러시저이다. 이후 작성되는 문자열들의 폰트 설정에 반영된다.

FONTOPEN 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.FONTOPEN 
    (
        color         IN       VARCHAR2    DEFAULT NULL,
        face          IN       VARCHAR2    DEFAULT NULL,
        size          IN       VARCHAR2    DEFAULT NULL,
        attributes    IN       VARCHAR2    DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    colorCOLOR 속성의 값이다.
    faceFACE 속성의 값이다.
    sizeSIZE 속성의 값이다.
    attributes기타 속성 및 속성값들의 문자열이다.
  • 예제

    BEGIN
        HTP.FONTOPEN(NULL, 'Fixedsys', 3);
    END;

    다음은 생성된 HTML 코드이다.

    <FONT face="Fixedsys" size="3">

36.3.9. HEADCLOSE

</HEAD> 태그를 작성하는 프러시저이다. </HEAD> 태그는 HTML 문서 중 머릿말의 끝을 의미한다.

HEADCLOSE 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.HEADCLOSE
  • 예제

    BEGIN
        HTP.HEADCLOSE;
    END;

    다음은 생성된 HTML 코드이다.

    </HEAD>

36.3.10. HEADER

헤더 시작 태그(<H1> ~ <H6>), 헤더 문자열 및 헤더 끝 태그(</H1> ~ </H6>)를 작성하는 프러시저이다.

HEADER 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.HEADER 
    (
        level       IN      PLS_INTEGER,
        name        IN      VARCHAR2,
        align       IN      VARCHAR2    DEFAULT NULL,
        nowrap      IN      VARCHAR2    DEFAULT NULL,
        clear       IN      VARCHAR2    DEFAULT NULL,
        attributes  IN      VARCHAR2    DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    level헤더의 레벨이다. 값은 1~6의 범위를 지정할 수 있다.
    name헤더에 표시되는 문자열이다.
    alignALIGN 속성의 값이다.
    nowrapNOWRAP 속성의 값이다.
    clearCLEAR 속성의 값이다.
    attributes기타 속성 및 값들의 문자열이다.
  • 예제

    BEGIN
        HTP.HEADER(1, 'Tibero');
    END;

    다음은 생성된 HTML 코드이다.

    <H1>Tibero</H1>

36.3.11. HEADOPEN

<HEAD> 태그를 작성하는 프러시저이다. <HEAD> 태그는 HTML 문서 중 머릿말의 시작을 의미한다.

HEADOPEN 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.HEADOPEN
  • 예제

    BEGIN
        HTP.HEADOPEN;
    END;

    다음은 생성된 HTML 코드이다.

    <HEAD>

36.3.12. HR

HTML 페이지에 가로줄을 그리는 <HR> 태그를 작성하는 프러시저이다.

HR 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.HR 
    (
        clear       IN      VARCHAR2    DEFAULT NULL,
        src         IN      VARCHAR2    DEFAULT NULL,
        attributes  IN      VARCHAR2    DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    clearCLEAR 속성의 값이다.
    src가로줄의 바탕 그림 파일을 지정하는 SRC 속성의 값이다.
    attributes기타 속성 및 값들의 문자열이다.
  • 예제

    BEGIN
        HTP.HR(src => "/img/tibero.jpg",
               attributes => 'size="10" noshade style="color:gray;"');
    END;

    다음은 생성된 HTML 코드이다.

    <HR src="/img/tibero.jpg" size="10" noshade style="color:gray;">

36.3.13. HTMLCLOSE

</HTML> 태그를 작성하는 프러시저이다. </HTML> 태그는 HTML 문서의 끝을 의미한다.

HTMLCLOSE 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.HTMLCLOSE
  • 예제

    BEGIN
        HTP.HTMLCLOSE;
    END;

    다음은 생성된 HTML 코드이다.

    </HTML>

36.3.14. HTMLOPEN

<HTML> 태그를 작성하는 프러시저이다. <HTML> 태그는 HTML 문서의 시작을 의미한다.

HTMLOPEN 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.HTMLOPEN
  • 예제

    BEGIN
        HTP.HTMLOPEN;
    END;

    다음은 생성된 HTML 코드이다.

    <HTML>

36.3.15. IMG

HTML 페이지에 그림을 삽입하는 <IMG> 태그를 작성하는 프러시저이다.

IMG 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.IMG 
    (
        url        IN      VARCHAR2,
        align      IN      VARCHAR2    DEFAULT NULL,
        alt        IN      VARCHAR2    DEFAULT NULL,
        ismap      IN      VARCHAR2    DEFAULT NULL,
        attributes IN      VARCHAR2    DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    url그림 파일을 지정하는 SRC 속성의 값이다.
    alignALIGN 속성의 값이다.
    alt웹 브라우저가 그림을 지원하지 않을 경우 대체할 문자열을 지정하는 ALT 속성의 값이다.
    ismapNULL이 아닐 경우 이미지 맵임을 가리키는 ISMAP 속성이 부여된다.
    attributes기타 속성 및 값들의 문자열이다.
  • 예제

    BEGIN
        HTP.IMG(url => '/img/tibero.gif', 
                attributes => 'WIDTH="200" HEIGHT="200" BORDER="1"');
    END;

    다음은 생성된 HTML 코드이다.

    <IMG src="/img/tibero.gif" WIDTH="200" HEIGHT="200" BORDER="1"> 

36.3.16. IMG2

HTML 페이지에 그림을 삽입하는 <IMG> 태그를 작성하는 프러시저이다. IMG 프러시저에서 usemap 파라미터만 추가된 프러시저이다.

IMG2 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.IMG 
    (
        url        IN      VARCHAR2,
        align      IN      VARCHAR2    DEFAULT NULL,
        alt        IN      VARCHAR2    DEFAULT NULL,
        ismap      IN      VARCHAR2    DEFAULT NULL,
        usemap     IN      VARCHAR2    DEFAULT NULL,
        attributes IN      VARCHAR2    DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    url그림 파일을 지정하는 SRC 속성의 값이다.
    alignALIGN 속성의 값이다.
    alt웹브라우저가 그림을 지원하지 않을 경우 대체할 문자열을 지정하는 ALT 속성의 값이다.
    ismapNULL이 아닐 경우 이미지맵임을 가리키는 ISMAP 속성이 부여된다.
    usemapUSEMAP 속성의 값이다.
    attributes기타 속성 및 값들의 문자열이다.
  • 예제

    BEGIN
        HTP.IMG2(url => '/img/tibero.gif', 
                 attributes => 'WIDTH="200" HEIGHT="200" BORDER="1"');
    END; 

    다음은 생성된 HTML 코드이다.

    <IMG src="/img/tibero.gif" WIDTH="200" HEIGHT="200" BORDER="1">

36.3.17. LINE

HTML 페이지에 가로줄을 그리는 <HR> 태그를 작성하는 프러시저이다. HR 프러시저와 똑같은 기능을 제공한다.

LINE 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.LINE 
    (
        clear       IN      VARCHAR2    DEFAULT NULL,
        src         IN      VARCHAR2    DEFAULT NULL,
        attributes  IN      VARCHAR2    DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    clearCLEAR 속성의 값이다.
    src가로줄의 바탕 그림 파일을 지정하는 SRC 속성의 값이다.
    attributes기타 속성 및 값들의 문자열이다.
  • 예제

    BEGIN
        HTP.LINE(src => "/img/tibero.jpg",
                 attributes => 'size="10" noshade style="color:gray;"');
    END;

    다음은 생성된 HTML 코드이다.

    <HR src="/img/tibero.jpg" size="10" noshade style="color:gray;">

36.3.18. PRINT

작성 진행 중인 HTML 소스코드 뒤에 입력 문자열 및 \n(새 줄 문자)을 작성하는 프러시저이다. HTML 소스코드 상의 새 줄의 의미이므로 실제 웹 페이지에서 새 줄을 추가하려면 <br> 태그를 작성해야 한다.

PRINT 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.PRINT 
    (
        str       IN       VARCHAR2        DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    strHTML 소스코드에 추가로 생성할 문자열이다.
  • 예제

    BEGIN
        HTP.PRINT('<html>');
        HTP.PRINT('<head>');
        HTP.PRINT('</head>');
        HTP.PRINT('<body>');
        HTP.PRINT('He');
        HTP.PRINT('llo');  -- He 바로 뒤에 붙어 Hello가 된다. (생성되는 HTML 소스코드상에서)
        HTP.PRINT('</body>');
        HTP.PRINT('</html>');    
    END;  

    다음은 생성된 HTML 코드이다.

    <html>
    <head>
    </head>
    <body>
    He
    llo
    </body>
    </html>

36.3.19. PRN

작성 진행 중인 HTML 소스코드 뒤에 입력 문자열을 작성하는 프러시저이다. PRINT 프러시저와 다르게 \n(새 줄 문자)가 붙지 않는다.

PRN 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.PRN 
    (
        str       IN       VARCHAR2     DEFAULT NULL
    )
  • 파라미터

    파라미터설명
    strHTML 소스코드에 추가로 생성할 문자열이다.
  • 예제

    BEGIN
        HTP.PRN('<html>');
        HTP.PRN('<head>');
        HTP.PRN('</head>');
        HTP.PRN('<body>');
        HTP.PRN('He');
        HTP.PRN('llo');  -- He 바로 뒤에 붙어 Hello가 된다. (생성되는 HTML 소스코드상에서)
        HTP.PRN('</body>');
        HTP.PRN('</html>');    
    END; 

    다음은 생성된 HTML 코드이다.

    <html><head></head><body>Hello</body></html>

36.3.20. TITLE

<TITLE> </TITLE> 태그 및 그 사이에 제목을 작성하는 프러시저이다. <TITLE> 태그는 웹브라우저 창에서 제목 표시줄에 표시되는 문자열을 지정한다.

TITLE 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    HTP.TITLE 
    (
        title      IN       VARCHAR2
    )
  • 파라미터

    파라미터설명
    title제목 문자열이다.
  • 예제

    BEGIN
        HTP.TITLE('Tibero');
    END;

    다음은 생성된 HTML 코드이다.

    <TITLE>Tibero</TITLE>