| PostgreSQL 9.1.24 문서 | ||||
|---|---|---|---|---|
| 이전 | 위로 | 9장. 함수 및 연산자 | 다음 | |
여기에 설명된 함수 및 함수와 유사한 표현식
  섹션은 유형의 값에 대해 작동합니다.토토 커뮤니티.
  확인하다섹션 8.13용
  에 대한 정보토토 커뮤니티유형. 그만큼
  함수형 표현토토 커뮤니티parse그리고토토 커뮤니티직렬화다음으로 변환
  그리고 유형에서토토 커뮤니티여기서는 반복되지 않습니다.
  이러한 기능의 대부분을 사용하려면 다음을 설치해야 합니다.
  다음으로 구축됨구성
  --with-lib토토 커뮤니티.
함수 집합과 함수형 표현식은 다음과 같습니다. SQL 데이터에서 XML 컨텐츠를 생성하는 데 사용할 수 있습니다. 따라서, 쿼리 결과 형식을 지정하는 데 특히 적합합니다. 클라이언트 애플리케이션에서 처리하기 위해 XML 문서로 변환합니다.
토토 커뮤니티comment(텍스트)
      함수토토 커뮤니티comment다음과 같은 XML 주석이 포함된 XML 값을 생성합니다.
      텍스트를 콘텐츠로 지정했습니다. 텍스트에는 다음이 포함될 수 없습니다."--"또는
      로 끝나다"-"그래서 결과 구성은 다음과 같습니다.
      유효한 XML 주석. 인수가 널인 경우 결과는 다음과 같습니다.
      널.
예:
SELECT 토토 커뮤니티comment('안녕하세요');
  토토 커뮤니티주석
--------------
 <!--안녕하세요--
    
토토 커뮤니티concat(토토 커뮤니티[, ...])
      함수토토 커뮤니티concat개별 토토 커뮤니티 값 목록을 연결하여
      토토 커뮤니티 콘텐츠 조각을 포함하는 단일 값입니다. Null 값
      생략되었습니다; null이 아닌 항목이 없는 경우에만 결과는 null입니다.
      인수.
예:
SELECT 토토 커뮤니티concat('<abc/', '<barfoo</bar');
      토토 커뮤니티concat
---------
 <abc/<barfoo</bar
      XML 선언이 있는 경우 다음과 같이 결합됩니다. 만약에 모든 인수 값에는 동일한 XML 버전 선언이 있습니다. 해당 버전이 결과에 사용되며, 그렇지 않으면 버전이 사용되지 않습니다. 모든 인수 값이 독립형 선언 값을 갖는 경우"그렇습니다", 그러면 해당 값은 다음에서 사용됩니다. 결과. 모든 인수 값이 독립형인 경우 선언 값이 있고 적어도 하나는 다음과 같습니다."아니요", 그러면 결과에 사용됩니다. 또 다른 결과에는 독립형 선언이 없습니다. 결과가 나오면 독립형 선언이 필요하다고 결정되었지만 버전 선언, 버전 1.0의 버전 선언 XML에는 XML 선언이 필요하기 때문에 사용됩니다. 버전 선언을 포함합니다. 인코딩 선언은 다음과 같습니다. 모든 경우에 무시되고 제거됩니다.
예:
SELECT 토토 커뮤니티concat('<?토토 커뮤니티 version="1.1"?<foo/', '<?토토 커뮤니티 version="1.1"standalone="no"?<bar/');
             토토 커뮤니티concat
----------------------
 <?토토 커뮤니티 version="1.1"?<foo/<bar/
    
토토 커뮤니티요소(이름이름 [, 토토 커뮤니티속성(값 [ASattname] [, ... ])] [, 콘텐츠, ...])
      그토토 커뮤니티요소표현
      주어진 이름, 속성 및
      콘텐츠.
예:
SELECT 토토 커뮤니티element(이름 foo);
 토토 커뮤니티요소
------------
 <푸/
SELECT 토토 커뮤니티element(이름 foo, 토토 커뮤니티attributes('xyz' 막대형));
    토토 커뮤니티요소
------------------
 <foo bar="xyz"/
SELECT 토토 커뮤니티element(이름 foo, 토토 커뮤니티attributes(현재_날짜를 막대로), 'cont', 'ent');
             토토 커뮤니티요소
------------------------
 <foo bar="2007-01-26"콘텐츠</foo
      유효한 XML 이름이 아닌 요소 및 속성 이름 문제가 되는 문자를 다음으로 대체하여 이스케이프됩니다. 순서_x흐흐흐흐_, 여기서흐흐흐흐캐릭터의 유니코드입니다. 16진수 표기법의 코드 포인트입니다. 예를 들어:
SELECT 토토 커뮤니티element(이름 "foo$bar", 토토 커뮤니티attributes('xyz' as "a&b"));
            토토 커뮤니티요소
----------------------------------
 <foo_x0024_bar a_x0026_b="xyz"/
      다음의 경우 명시적인 속성 이름을 지정할 필요가 없습니다. 속성 값은 열 참조입니다. 이 경우 기본적으로 열 이름이 속성 이름으로 사용됩니다. 다른 경우에는 속성에 명시적인 이름을 지정해야 합니다. 따라서 이 예는 유효합니다.
CREATE TABLE 테스트(a 토토 커뮤니티, b 토토 커뮤니티); SELECT 토토 커뮤니티element(name test, 토토 커뮤니티attributes(a, b)) FROM test;
그러나 이것은 그렇지 않습니다:
SELECT 토토 커뮤니티element(name test, 토토 커뮤니티attributes('constant'), a, b) FROM test;
SELECT 토토 커뮤니티element(name test, 토토 커뮤니티attributes(func(a, b))) FROM test;
      지정된 경우 요소 내용은 다음에 따라 형식이 지정됩니다. 데이터 유형에. 콘텐츠 자체가 유형인 경우토토 커뮤니티, 복잡한 XML 문서를 구성할 수 있습니다. 예를 들어:
SELECT 토토 커뮤니티element(이름 foo, 토토 커뮤니티attributes('xyz' 막대형),
                            토토 커뮤니티element(이름 abc),
                            토토 커뮤니티comment('테스트'),
                            토토 커뮤니티element(이름 xyz));
                  토토 커뮤니티요소
---------------------------------
 <foo bar="xyz"<abc/<!--test--<xyz/</foo
      다른 유형의 콘텐츠는 유효한 토토 커뮤니티로 형식화됩니다 문자 데이터. 이는 특히 캐릭터가 <, , &는 엔터티로 변환됩니다. 바이너리 데이터(데이터 유형바이테아)은 Base64 또는 16진수 인코딩으로 표시됩니다. 구성 매개변수 설정토토 커뮤니티binary. 그만큼 개별 데이터 유형에 대한 특정 동작은 SQL 및 PostgreSQL 데이터 유형을 정렬하기 위해 발전 XML 스키마 사양을 사용하면 더 많은 정보를 얻을 수 있습니다. 정확한 설명이 나옵니다.
토토 커뮤니티forest(내용 [AS이름] [, ...])
      그토토 커뮤니티forest표현
      주어진 요소를 사용하여 요소의 XML 포리스트(시퀀스)를 생성합니다.
      이름과 내용.
예:
SELECT 토토 커뮤니티forest('abc' AS foo, 123 AS bar);
          토토 커뮤니티forest
-----------------
 <fooabc</foo<bar123</bar
SELECT 토토 커뮤니티forest(테이블_이름, 열_이름)
정보_스키마.열에서
WHERE table_schema = 'pg_catalog';
                                         토토 커뮤니티forest
-----------------------------------------------------------------
 <table_namepg_authid</table_name<column_name롤 이름</column_name
 <table_namepg_authid</table_name<column_namerolsuper</column_name
 ...
      두 번째 예에서 볼 수 있듯이 요소 이름은 다음과 같습니다. 콘텐츠 값이 열 참조인 경우 생략됩니다. 경우에는 기본적으로 열 이름이 사용됩니다. 그렇지 않으면 이름 지정해야 합니다.
유효한 XML 이름이 아닌 요소 이름은 다음과 같이 이스케이프됩니다.
      다음으로 표시됨토토 커뮤니티요소위.
      마찬가지로 콘텐츠 데이터는 유효한 토토 커뮤니티 콘텐츠를 만들기 위해 이스케이프됩니다.
      이미 유형이 아닌 경우토토 커뮤니티.
XML 포리스트는 다음과 같은 경우 유효한 XML 문서가 아닙니다.
      둘 이상의 요소로 구성되므로 다음과 같은 경우에 유용할 수 있습니다.
      포장하다토토 커뮤니티forest표현식토토 커뮤니티요소.
토토 커뮤니티pi(이름대상 [, 내용])
      그토토 커뮤니티pi표현식 생성
      XML 처리 명령. 콘텐츠가 있는 경우 다음과 같아야 합니다.
      문자 시퀀스를 포함하지 않습니다.?.
예:
SELECT 토토 커뮤니티pi(php 이름, 'echo "hello world";');
            토토 커뮤니티pi
----------------
 <?php echo "hello world";?
    
토토 커뮤니티root(토토 커뮤니티, 버전텍스트| 값 없음 [, 독립 실행형 yes|no|no 값])
      그토토 커뮤니티root표현
      토토 커뮤니티 값의 루트 노드 속성을 변경합니다. 만약
      버전이 지정되면 루트의 값을 대체합니다.
      노드의 버전 선언; 독립형 설정인 경우
      지정하면 루트 노드의 값을 대체합니다.
      독립형 선언.
SELECT 토토 커뮤니티root(토토 커뮤니티parse(문서 '<?토토 커뮤니티 version="1.1"?<contentabc</content')),
               버전 '1.0', 독립형 예);
                토토 커뮤니티root
---------------------------
 <?토토 커뮤니티 version="1.0" 독립형="예"?
 <contentabc</content
    
토토 커뮤니티agg(토토 커뮤니티)
      함수토토 커뮤니티agg이요,
      여기에 설명된 다른 함수와 달리 집계
      기능. 입력 값을 집계에 연결합니다.
      함수 호출, 매우 유사토토 커뮤니티concat그렇지만 연결은 제외됩니다.
      단일 표현식 전체가 아닌 행 전체에서 발생합니다.
      열. 보다PostgreSQL : 문서 : 9.1 : 토토 사이트 함수집계 함수에 대한 추가 정보를 확인하세요.
예:
CREATE TABLE 테스트(y int, x 토토 커뮤니티);
테스트 값에 삽입(1, '<fooabc</foo');
테스트 값에 삽입(2, '<bar/');
SELECT 토토 커뮤니티agg(x) FROM 테스트;
        토토 커뮤니티agg
---------
 <fooabc</foo<bar/
      연결 순서를 결정하려면,주문 기준절이 집계에 추가될 수 있습니다. 에 설명된 대로 전화하세요.섹션 4.2.7. 예를 들어:
SELECT 토토 커뮤니티agg(x ORDER BY y DESC) FROM 테스트;
        토토 커뮤니티agg
---------
 <bar/<fooabc</foo
      다음과 같은 비표준 접근 방식이 권장되었습니다. 이전 버전에서도 여전히 특정 상황에서는 유용할 수 있습니다. 사례:
SELECT 토토 커뮤니티agg(x) FROM (SELECT * FROM test ORDER BY y DESC) AS 탭;
        토토 커뮤니티agg
---------
 <bar/<fooabc</foo
    이 섹션에 설명된 표현식은 속성을 확인합니다 의토토 커뮤니티값.
토토 커뮤니티IS 문서
표현식IS 문서인수 XML 값이 적절한 XML이면 true를 반환합니다. 문서, 그렇지 않은 경우 거짓(즉, 내용임) 조각) 또는 인수가 null인 경우 null입니다. 보다섹션 8.13차이점에 대해 문서와 콘텐츠 조각 사이
토토 커뮤니티EXISTS(텍스트통과 중 [참조 기준] 토토 커뮤니티 [참조 기준])
      함수토토 커뮤니티exists첫 번째 인수의 XPath 표현식이 있으면 true를 반환합니다.
      모든 노드를 반환하고 그렇지 않으면 false를 반환합니다. (둘 중 하나의 인수인 경우
      null이면 결과도 null입니다.)
예:
SELECT 토토 커뮤니티exists('//town[text() = ''토론토'']' PASSING BY REF '<towns<town토론토</town<town오타와</town</towns');
 XML이 존재한다
------------
 티
(1행)
      그참조 기준절은 효과가 없습니다.
      PostgreSQL에서는 SQL 적합성과
      다른 구현과의 호환성. SQL 표준에 따라
      첫 번째참조 기준필수입니다.
      두 번째는 선택 사항입니다. 또한 SQL 표준에서는 다음을 지정합니다.
      그만큼토토 커뮤니티exists수용할 구조물
      XQuery 표현식을 첫 번째 인수로 사용하지만 PostgreSQL
      현재는 XPath만 지원합니다.
      XQuery.
토토 커뮤니티_is_well_formed(텍스트)토토 커뮤니티_is_well_formed_document(텍스트)토토 커뮤니티_is_well_formed_content(텍스트)
이 함수는 다음을 확인합니다.텍스트string은 부울 결과를 반환하는 올바른 형식의 토토 커뮤니티입니다.토토 커뮤니티_is_well_formed_document잘 구성된 문서를 확인하는 동안토토 커뮤니티_is_well_formed_content다음을 확인합니다.
      잘 구성된 콘텐츠입니다.토토 커뮤니티_is_well_formed다음의 경우 전자를 수행합니다.토토 커뮤니티option구성 매개변수가 다음으로 설정되었습니다.문서, 또는 후자로 설정된 경우콘텐츠. 이는 다음을 의미합니다.토토 커뮤니티_is_well_formed유용해요
      간단한 캐스트 유형인지 확인하기 위해토토 커뮤니티성공할 것이지만 다른 두 함수는
      해당 변형이 있는지 확인하는 데 유용합니다.토토 커뮤니티PARSE성공할 것입니다.
예:
XML 옵션을 문서로 설정;
SELECT 토토 커뮤니티_is_well_formed('<');
 토토 커뮤니티_is_well_formed 
-------
 에프
(1줄)
SELECT 토토 커뮤니티_is_well_formed('<abc/');
 토토 커뮤니티_is_well_formed 
-------
 티
(1줄)
토토 커뮤니티option을 콘텐츠로 설정;
SELECT 토토 커뮤니티_is_well_formed('abc');
 토토 커뮤니티_is_well_formed 
-------
 티
(1줄)
SELECT 토토 커뮤니티_is_well_formed_document('<pg:foo 토토 커뮤니티ns:pg="http://postgresql.org/stuff"bar</pg:foo');
 토토 커뮤니티_is_well_formed_document 
----------------
 티
(1줄)
SELECT 토토 커뮤니티_is_well_formed_document('<pg:foo 토토 커뮤니티ns:pg="http://postgresql.org/stuff"bar</my:foo');
 토토 커뮤니티_is_well_formed_document 
----------------
 에프
(1행)
      마지막 예는 검사에 다음이 포함되어 있음을 보여줍니다. 네임스페이스가 올바르게 일치합니다.
데이터 유형의 값을 처리하려면토토 커뮤니티,
    PostgreSQL은 다음 기능을 제공합니다.xpath그리고xpath_exists27427_27472
xpath(xpath, 토토 커뮤니티 [, nsarray])
    함수xpath평가하다
    XPath 표현식xpath(a텍스트값)을 토토 커뮤니티 값에 대해토토 커뮤니티. 토토 커뮤니티 배열을 반환합니다.
    XPath에 의해 생성된 노드 세트에 해당하는 값
    표현.
두 번째 인수는 올바른 형식의 XML 문서여야 합니다. ~ 안에 특히 단일 루트 노드 요소가 있어야 합니다.
함수의 선택적 세 번째 인수는 다음의 배열입니다.
    네임스페이스 매핑. 이 배열은 2차원 배열이어야 합니다.텍스트두 번째 길이의 배열
    축은 2와 같습니다(즉, 배열의 배열이어야 합니다.
    각각은 정확히 2개의 요소로 구성됩니다. 첫 번째
    각 배열 항목의 요소는 네임스페이스 이름(별칭)이고
    두 번째는 네임스페이스 URI입니다. 별칭은 필수가 아닙니다.
    이 배열에 제공된 것은
    XML 문서 자체(즉, XML 문서 모두에 있음)
    그리고에서xpath함수
    컨텍스트, 별칭은 다음과 같습니다.현지).
예:
SELECT xpath('/my:a/text()', '<my:a 토토 커뮤니티ns:my="http://example.com"테스트</my:a',
             ARRAY[ARRAY['my', 'http://example.com']]);
 xpath  
--------
 시험
    기본(익명) 네임스페이스를 처리하려면 뭔가를 하십시오 이와 같이:
SELECT xpath('//mydefns:b/text()', '<a 토토 커뮤니티ns="http://example.com"<b테스트</b</a',
             ARRAY[ARRAY['mydefns', 'http://example.com']]);
 xpath
--------
 시험
    
xpath_exists(xpath, 토토 커뮤니티 [, nsarray])
    함수xpath_exists은
    의 특수화된 형태xpath함수. 개별 XML 값을 반환하는 대신
    XPath를 충족하면 이 함수는 다음을 나타내는 부울을 반환합니다.
    쿼리가 만족되었는지 여부. 이 기능은
    표준과 동등함토토 커뮤니티EXISTS술어(네임스페이스에 대한 지원도 제공한다는 점 제외)
    매핑 인수입니다.
예:
SELECT xpath_exists('/my:a/text()', '<my:a 토토 커뮤니티ns:my="http://example.com"테스트</my:a',
                     ARRAY[ARRAY['my', 'http://example.com']]);
 xpath_exists  
--------------
 티
(1행)
  다음 함수는 관계형 내용을 매핑합니다. 테이블을 XML 값으로 변환합니다. XML 내보내기로 생각할 수 있습니다. 기능:
table_to_토토 커뮤니티(tbl regclass, nulls boolean, tableforest boolean, targetns text)
query_to_토토 커뮤니티(쿼리 텍스트, nulls 부울, tableforest 부울, targetns 텍스트)
cursor_to_토토 커뮤니티(cursor refcursor, count int, nulls boolean,
              tableforest 부울, 대상 텍스트)
    각 함수의 반환 유형은 다음과 같습니다.토토 커뮤니티.
table_to_토토 커뮤니티컨텐츠를 매핑합니다
    명명된 테이블의 매개변수로 전달됨tbl. 그만큼regclass유형
    일반적인 표기법을 사용하여 테이블을 식별하는 문자열을 허용합니다.
    선택적 스키마 한정 및 큰따옴표를 포함합니다.query_to_토토 커뮤니티쿼리를 실행합니다
    텍스트가 매개변수로 전달됩니다.질의그리고 결과 집합을 매핑합니다.cursor_to_토토 커뮤니티표시된 개수를 가져옵니다.
    매개변수로 지정된 커서의 행커서. 이 변형은 큰 경우에 권장됩니다.
    결과 값이 쌓이기 때문에 테이블을 매핑해야 합니다.
    각 기능별로 메모리에 저장됩니다.
만약테이블포레스트거짓이면 결과 XML 문서는 다음과 같습니다.
<테이블 이름
  <행
    <columnname1데이터</columnname1
    <columnname2데이터</columnname2
  </row
  <행
    ...
  </row
  ...
</테이블 이름
    만약테이블포레스트그렇습니다. 결과는 다음과 같은 XML 콘텐츠 조각입니다.
<테이블 이름 <columnname1데이터</columnname1 <columnname2데이터</columnname2 </테이블 이름 <테이블 이름 ... </테이블 이름 ...
테이블 이름을 사용할 수 없는 경우, 즉 쿼리를 매핑할 때 또는 커서, 문자열테이블사용됩니다 첫 번째 형식에서는,행두번째 체재.
이러한 형식 간의 선택은 사용자에게 달려 있습니다. 그만큼
    첫 번째 형식은 적절한 XML 문서이며 이는 중요합니다.
    많은 응용 프로그램에서. 두 번째 형식이 더 유용한 경향이 있습니다.
    에서cursor_to_토토 커뮤니티함수 if
    결과 값은 나중에 하나의 문서로 재조립됩니다.
    에. 위에서 설명한 XML 콘텐츠를 생성하는 기능은 다음과 같습니다.
    특정한토토 커뮤니티요소일 수 있습니다.
    맛에 맞게 결과를 변경하는 데 사용됩니다.
데이터 값은 다음에 대해 설명된 것과 동일한 방식으로 매핑됩니다.
    함수토토 커뮤니티요소위.
매개변수널결정합니다 null 값이 출력에 포함되어야 하는지 여부입니다. 사실이라면, 열의 null 값은 다음과 같이 표시됩니다.
<열 이름 xsi:nil="true"/
어디에서xsi토토 커뮤니티 네임스페이스입니다. 토토 커뮤니티 스키마 인스턴스의 접두사입니다. 적절한 네임스페이스 선언이 결과 값에 추가됩니다. 거짓인 경우, Null 값을 포함하는 열은 단순히 산출.
매개변수대상지정 결과의 원하는 토토 커뮤니티 네임스페이스. 특별한 것이 없다면 네임스페이스를 원하면 빈 문자열을 전달해야 합니다.
다음 함수는 XML 스키마 문서를 반환합니다. 해당에 의해 수행된 매핑을 설명합니다. 위의 함수:
table_to_토토 커뮤니티schema(tbl regclass, nulls 부울, tableforest 부울, targetns 텍스트) query_to_토토 커뮤니티schema(쿼리 텍스트, nulls 부울, tableforest 부울, targetns 텍스트) cursor_to_토토 커뮤니티schema(cursor refcursor, nulls boolean, tableforest boolean, targetns text)
동일한 매개변수가 순서대로 전달되는 것이 중요합니다 일치하는 XML 데이터 매핑과 XML 스키마를 얻기 위해 서류.
다음 함수는 XML 데이터 매핑을 생성하고 하나의 문서(또는 포리스트)에 해당 XML 스키마가 연결되어 있음 함께. 독립적이고 독립적인 경우에 유용할 수 있습니다. 자체 설명적인 결과가 필요합니다.
table_to_토토 커뮤니티_and_토토 커뮤니티schema(tbl regclass, nulls 부울, tableforest 부울, targetns 텍스트) query_to_토토 커뮤니티_and_토토 커뮤니티schema(쿼리 텍스트, nulls 부울, tableforest 부울, targetns 텍스트)
또한 다음 기능을 사용할 수 있습니다. 전체 스키마 또는 전체 스키마의 유사한 매핑을 생성합니다. 현재 데이터베이스:
schema_to_토토 커뮤니티(스키마 이름, nulls 부울, tableforest 부울, targetns 텍스트) Schema_to_토토 커뮤니티schema(스키마 이름, nulls 부울, tableforest 부울, targetns 텍스트) Schema_to_토토 커뮤니티_and_토토 커뮤니티schema(스키마 이름, nulls 부울, tableforest 부울, targetns 텍스트) Database_to_토토 커뮤니티(nulls 부울, tableforest 부울, targetns 텍스트) Database_to_토토 커뮤니티schema(nulls 부울, tableforest 부울, targetns 텍스트) Database_to_토토 커뮤니티_and_토토 커뮤니티schema(nulls boolean, tableforest boolean, targetns text)
이들은 잠재적으로 많은 양의 데이터를 생성한다는 점에 유의하십시오. 메모리에 구축해야합니다. 콘텐츠를 요청할 때 대규모 스키마나 데이터베이스의 매핑은 가치가 있을 수 있습니다. 대신 테이블을 별도로 매핑하는 것을 고려하는 것이 좋습니다. 커서를 통해서도 말이죠.
스키마 콘텐츠 매핑의 결과는 다음과 같습니다:
<스키마 이름 table1-매핑 table2-매핑 ... </스키마이름
테이블 매핑 형식은 다음에 따라 다릅니다.테이블포레스트설명된 매개변수 위에.
데이터베이스 콘텐츠 매핑의 결과는 다음과 같습니다 이것:
<데이터베이스 이름 <스키마1이름 ... </schema1name <스키마2이름 ... </schema2name ... </db이름
여기서 스키마 매핑은 위와 같습니다.
이것에 의해 생성된 출력을 사용하는 예로서
    함수,그림
    9-1다음의 출력을 변환하는 XSLT 스타일시트를 보여줍니다.table_to_토토 커뮤니티_and_토토 커뮤니티schema에게
    테이블 데이터의 테이블 형식 변환을 포함하는 HTML 문서입니다.
    비슷한 방식으로 이러한 함수의 결과는 다음과 같습니다.
    다른 XML 기반 형식으로 변환됩니다.
그림 9-1. 변환용 XSLT 스타일시트 SQL/토토 커뮤니티을 HTML로 출력
<?토토 커뮤니티 version="1.0"?
<xsl:스타일시트 버전="1.0"
    토토 커뮤니티ns:xsl="http://www.w3.org/1999/XSL/Transform"
    토토 커뮤니티ns:xsd="http://www.w3.org/2001/XMLSchema"
    토토 커뮤니티ns="http://www.w3.org/1999/xhtml"
  <xsl:출력 방법="토토 커뮤니티"
      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
      doctype-public="-//W3C/DTD XHTML 1.0 엄격//EN"
      들여쓰기="예"/
  <xsl:템플릿 일치="/*"
    <xsl:변수 이름="스키마" select="//xsd:스키마"/
    <xsl:변수 이름="테이블 유형 이름"
                  select="$schema/xsd:요소[@name=name(current())]/@type"/
    <xsl:변수 이름="행 유형 이름"
                  select="$schema/xsd:complexType[@name=$tabletypename]/xsd:sequence/xsd:element[@name='row']/@type"/
    <html
      <머리
        <title<xsl:value-of select="name(current())"/</title
      </head
      <본문
        <테이블
          <tr
            <xsl:for-each select="$schema/xsd:complexType[@name=$rowtypename]/xsd:sequence/xsd:element/@name"
              <th<xsl:value-of select="."/</th
            </xsl:for-each
          </tr
          <xsl:for-each select="행"
            <tr
              <xsl:for-each 선택="*"
                <td<xsl:value-of select="."/</td
              </xsl:for-each
            </tr
          </xsl:for-each
        </table
      </body
    </html
  </xsl:템플릿
</xsl:스타일시트