'W3C'에 해당하는 글 97건

XSL

W3C/XML 2006. 12. 12. 18:06
XSL (eXtensible Stylesheet Language)

XSL은 문서의 스타일을 포현하는 XML 포맷팅 언어이다.
XML 문서에 적절한 XSL 문서를 적용하면 HTML처럼 화려한 XML 문서를 만들 수 있다.

  • XSLT (XSL-Transformation Language)
    XSL에 포함되어 기존의 XML 문서를 주로 XML, HTML과 같은 다른 포맷의 문서나 다른 XML 문서로 변환하고자 할 때 사용한다. XSL 문서는 XSLT 처리기를 거쳐 다양한 형태의 문서로 변환된다.


  • XPath (XML Path Language)
    XSLT를 통해 문서 변환할 때 사용되는 경로설정을 위한 표현식으로 XML 문서를 트리 형태로 관리하고 지정된 노드를 검색하는 기능을 한다.


  • XSL-FO (XSL-Formatting Object)
    FO의 한 종류로, 사용법은 복잡하지만 정교하게 스타일을 지정해야 하는 출판이나 XML 문서를 모든 출판매체로 출력하는 경우에 매우 유용하다. XSL-FO는 독자적으로 사용할 수 없기 때문에 사용자에 의해 만들어진 XSL Formatter를 거쳐 실제 결과를 얻는 동작 방식을 취해야 한다.

XSL 문서 생성

1: <?xml version="1.0" encoding="UTF-8">
2: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   ...
   </xsl:stylesheet>

  1. XSL도 XML 문법 규칙을 따라 작성되므로 XML 선언부를 꼭 기록한다.
  2. XSL 문서의 최상위 엘리먼트를 나타내는 XSL 네임스페이스를 포함한 <xsl:stylesheet>를 선언한다.
@ XSLT 사용
1: <?xml version="1.0" encoding="UTF-8">
2: <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   ...
   </xsl:transform>

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

Schema DataType

W3C/XML 2006. 12. 11. 22:59
데이터타입 (DataType)

스키마에서는 문자, 디코딩된 바이너리, 숫자, 날짜/시간 데이터타입등 다양한 데이터타입을 제공한다.

1. string 형 데이터타입
string: 길이가 유한한 문자열을 나타낸다.
anyURI: 표준 인터넷 URI를 나타낸다.
NOTATION: 외부 비XML 데이터의 링크를 선언할 때 사용된다.
QName: 2개의 NCname의 연결된 형태를 나타낼 때 사용한다.

2. encoded binary 데이터타입
boolean: true와 false 중 하나의 값을 갖는다.
hexBinary: 16진수의 이진 데이터를 인코딩할 때 사용한다.
base64Binary: 이진 데이터의 base64 인코딩시 사용한다.

3. 숫자형 데이터타입
decimal: 십진수를 나타낼 때 사용된다.
float: 32비트의 부동 소수점을 갖는 수를 나타낼 때 사용된다.
double: 64비트의 부동 소수점을 갖는 수를 나타낼 때 사용된다.

4. 날짜/시간 데이터타입
duration: 아주 긴 시간을 표현할 때 사용된다.
dateTime: 그래고리언 시간 표기법에 의해 시간을 표현할 때 사용된다.
date: 그래고리언 시간 표기법 중에 날짜 표기를 나타낸다.
time: 시간을 표현할 때 사용한다.
gYearMonth: 년도와 월을 표현할 때 사용한다.
gYear: 년도만 표현할 때 사용한다.
gMonthDay: 월과 날짜를 표현할 때 사용한다.
gMonth: 월만 표현할 때 사용한다.
gDay: 날짜만 표현할 때 사용한다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

Group indicators

W3C/XML 2006. 12. 11. 22:53
그룹 지시어 (Group indicators)
그룹(Group)은 엘리먼트의 집합과의 연관을 정의할 때 사용된다.

1. 엘리먼트를 그룹핑(Grouping) 하는 방법
: 그룹핑 안에 엘리먼트를 선언

<xs:group name="studentgroup">
  <xs:sequence>
       <xs:element name="firstname" type="xs:string"/>
       <xs:element name="lastname" type="xs:string"/>
       <xs:element name="birthday" type="xs:date"/>
  </xs:sequence>
</xs:group>
- 선언된 그룹은 다른 그룹이나 complexType 에서 참조될 수 있다.

<xs:element name="student" type="studentinfo">
<xs:complexType name="studentinfo">
  <xs:sequence>
       <xs:group ref="studentgroup">
       <xs:element name="country" type="xs:string"/>
  </xs:sequence>
</xs:complexType>
</xs:element>

@ xml 문서 결과
<student>
  <firstname>Hong</firstname>
  <lastname>Gil-Dong</lastname>
  <birthday>1999.9.9</birthday>
  <country>Korea</country>
</student>


2. 속성을 그룹핑(Grouping) 하는 방법
: 그룹핑 안에 속성을 선언

<xs:attributeGroup name="studentgroup">
  <xs:attribute name="firstname" type="xs:string"/>
  <xs:attribute name="lastname" type="xs:string"/>
  <xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>
- 선언된 Attribute의 그룹은 다른 속성 그룹이나 complexType 에서 참조될 수 있다.

<xs:element name="student" type="studentinfo">
  <xs:complexType>
       <xs:attributeGroup ref="studentgroup"/>
  </xs:complexType>
</xs:element>

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

Occurrence indicators

W3C/XML 2006. 12. 11. 22:46
발생 지시어 (Occurrence indicators)

1. 최대 발생 (maxOccurs)
: 현재 엘리먼트가 최대 몇 번까지 발생할 것인가를 나타낸다.

<xs:element name="person">
   <xs:complexType>
       <xs:sequence>
           <xs:element name="full_name" type="xs:string"/>
           <xs:element name="child_name" type="xs:string" maxOccurs="10"/>
       </xs:sequence>
   </xs:complexType>
</xs:element>
- maxOccurs 가 10으로 설정되어 있으므로 최대 10번까지 발생하게 된다.
- 무한정 발생하고 싶을 때는 maxOccurs="unbounded" 로 설정한다.


2. 최소 발생 (minOccurs)
: 현재 엘리먼트가 최소 몇 번까지 발생할 것인가를 나타낸다.

<xs:element name="person">
   <xs:complexType>
       <xs:sequence>
           <xs:element name="full_name" type="xs:string"/>
           <xs:element name="child_name" type="xs:string" maxOccurs="10" minOccurs="0"/>
       </xs:sequence>
   </xs:complexType>
</xs:element>
- minOccurs 가 0으로 설정되어 있으므로 현재 엘리먼트는 한번도 발생하지 않을 수 있고, 만약에 발생한다면 최대 10변까지 발생하게 된다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

Order indicators

W3C/XML 2006. 12. 11. 22:41
순서 지시어 (Order indicators)

1. 순서에 상관이 없는 엘리먼트가 오는 경우 <xs:all>
<xs:element name="person">
   <xs:complexType>
       <xs:all>
           <xs:element name="firstname" type="xs:string"/>
           <xs:element name="lastname" type="xs:string"/>
       </xs:all>
   </xs:complexType>
</xs:element>
- 이 스키마는 자식 엘리먼트의 순서가 바뀌어도 Valid 스키마 문서가 된다.

2. 여러 엘리먼트 중에 한 엘리먼트를 선택(Choice)하는 경우 <xs:choice>
<xs:element name="person">
   <xs:complexType>
       <xs:choice>
           <xs:element name="employee" type="employee"/>
           <xs:element name="member" type="member"/>
       </xs:choice>
   </xs:complexType>
</xs:element>

3. 선언된 순서(Sequence)로 엘리먼트가 오는 경우 <xs:sequence>
<xs:element name="person">
   <xs:complexType>
       <xs:sequence>
           <xs:element name="firstname" type="xs:string"/>
           <xs:element name="lastname" type="xs:string"/>
       </xs:sequence>
   </xs:complexType>
</xs:element>
- 순서를 지키지 않으면 Valid XML 이 되지 않고 Well-Formed XML 이 된다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,