XML 참조 매뉴얼

XML 참조 매뉴얼

노드 타입

아래 표는 다양한 W3C 노드 타입과 그들이 가질 수 있는 자식 요소를 나열합니다:

노드 타입 설명 자식 요소
Document 전체 문档(DOM 트리의 루트 노드)을 나타냅니다.
  • Element (최대 하나)
  • ProcessingInstruction
  • Comment
  • DocumentType
DocumentFragment 문档의 일부를 포함한 가벼운 Document 객체를 나타냅니다.
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
DocumentType 문档에 정의된 엔티티에 대한 인터페이스를 제공합니다. None
ProcessingInstruction 처리 지시를 나타냅니다. None
EntityReference entity 참조 요소를 나타냅니다.
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
Element element(요소) 요소를 나타냅니다.
  • Text
  • Comment
  • ProcessingInstruction
  • CDATASection
  • EntityReference
Attr 속성을 나타냅니다.
  • Text
  • EntityReference
Text 요소나 속성 내의 텍스트 내용을 나타냅니다. None
CDATASection 파서가 해석하지 않는 텍스트로文档의 CDATA 부분을 나타냅니다. None
Comment 비고를 나타냅니다. None
Entity 엔티티를 나타냅니다.
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
Notation DTD에서 선언된 기호를 나타냅니다. None

노드 타입 - 반환된 값

아래 표는 각 노드 타입에 대해 nodeName과 nodeValue 속성이 반환할 수 있는 값을 나열합니다:

노드 타입 nodeName의 반환 값 nodeValue의 반환 값
Document #document null
DocumentFragment #document fragment null
DocumentType doctype 이름 null
EntityReference entity 참조 이름 null
Element element 이름 null
Attr 속성 이름 속성 값
ProcessingInstruction target 노드의 내용
Comment #comment 비고 텍스트
Text #text Node Content
CDATASection #cdata-section Node Content
Entity Entity Name null
Notation Symbol Name null

NodeTypes -有名常数

NodeType Named Constant
1 ELEMENT_NODE
2 ATTRIBUTE_NODE
3 TEXT_NODE
4 CDATA_SECTION_NODE
5 ENTITY_REFERENCE_NODE
6 ENTITY_NODE
7 PROCESSING_INSTRUCTION_NODE
8 COMMENT_NODE
9 DOCUMENT_NODE
10 DOCUMENT_TYPE_NODE
11 DOCUMENT_FRAGMENT_NODE
12 NOTATION_NODE

Top

XML DOM Node 객체

Node 객체의 속성

속성 설명
attributes 이 노드를 포함하는 속성의 NamedNodeMap(이 노드가 요소라면)
baseURI 노드의 절대 기준 URI를 반환합니다.
childNodes 노드의 자식 노드의 NodeList을 반환합니다.
firstChild 노드의 첫 번째 자식 노드를 반환합니다.
lastChild 노드의 마지막 자식 노드를 반환합니다.
nextSibling 노드 이후에紧接着的同级节点.
nodeName 노드의 이름을 반환합니다. 노드의 타입에 따라 다릅니다.
nodeType 노드의 타입을 반환합니다.
nodeValue 노드의 값을 설정하거나 반환합니다. 노드의 타입에 따라 다릅니다.
ownerDocument 노드의 루트 요소(문서 객체)를 반환합니다.
parentNode 노드의 부모 노드를 반환합니다.
prefix 노드의 이름 공간 접두사를 설정하거나 반환합니다.
previousSibling 노드 이전에紧接着的同级节点.
textContent 노드 및 자식의 텍스트 내용을 설정하거나 반환합니다.

Node 객체의 메서드

메서드 설명
appendChild() 새 자식 노드를 노드의 자식 노드 목록의 마지막에 추가합니다.
cloneNode() 노드를 복사합니다.
compareDocumentPosition() DOM 계층 구조(문서)에서 두 노드의 위치를 비교합니다.
getFeature(feature,version) 지정된 특성과 버전을 구현하는 전용 API를 포함하는 DOM 객체를 반환합니다.
getUserData(key)

노드의 키와 연결된 객체를 반환합니다.

먼저 객체를 이 노드에 설정해야 합니다. 같은 키를 사용하여 setUserData를 호출합니다.

hasAttributes() 지정된 노드에 어떤 속성이 있으면 true를 반환하고, 없으면 false를 반환합니다.
hasChildNodes() 지정된 노드가 자식 노드를 가지고 있으면 true를 반환하고, 없으면 false를 반환합니다.
insertBefore() 지정된 자식 노드 앞에 새 자식 노드를 삽입합니다.
isDefaultNamespace("URI) 지정된 이름 공간 URI가 기본인지 확인합니다.
isEqualNode(" 두 노드가 일치하는지 확인합니다。
isSameNode() 두 노드가 동일한 노드인지 확인합니다.
lookupNamespaceURI(" 지정된 접두사와 연결된 이름 공간 URI를 반환합니다.
lookupPrefix(" 지정된 이름 공간 URI와 연결된 접두사를 반환합니다.
normalize(" 접근가능한 텍스트 노드를 병합하고 비어 있는 텍스트 노드를 제거합니다.
removeChild(" 현재 노드에서 지정된 자식 노드를 제거하고 반환합니다.
replaceChild(" 자식 노드를 새 노드로 대체합니다.
setUserData("key,data,handler) 객체를 노드의 키와 연결합니다.

Top

XML DOM NodeList 객체

NodeList 객체의 속성

속성 설명
length 노드 목록에 있는 노드 수를 반환합니다.

NodeList 객체의 메서드

메서드 설명
item() 지정된 인덱스에서 노드 목록에 있는 노드를 반환합니다.

Top

XML DOM NamedNodeMap 객체

NamedNodeMap 객체의 속성

속성 설명
length 리스트에서의 노드 수를 반환합니다.

NamedNodeMap 객체의 메서드

메서드 설명
getNamedItem() 지정된 이름을 가진 노드를 반환합니다.
getNamedItemNS() 지정된 이름과 이름 공간을 가진 노드를 반환합니다.
item() 지정된 인덱스处的 노드를 반환합니다.
removeNamedItem() 지정된 이름을 가진 노드를 제거합니다.
removeNamedItemNS() 지정된 이름과 이름 공간을 가진 노드를 제거합니다.
setNamedItem() 지정된 노드(이름에 따라)를 설정합니다.
setNamedItemNS() 지정된 노드(이름과 이름 공간에 따라)를 설정합니다.

Top

XML DOM Document 객체

Document 객체의 속성

속성 설명
childNodes 문서의 자식 노드의 NodeList을 반환합니다.
doctype 문서와 연관된 문서 타입 선언을 반환합니다.
documentElement 문서의 뿌리 노드를 반환합니다.
documentURI 문서의 위치를 설정하거나 반환합니다.
domConfig normalizeDocument() 호출할 때 사용한 설정을 반환합니다.
firstChild 문서의 첫 번째 자식 노드를 반환합니다.
implementation 이 문서를 처리하는 DOMImplementation 객체를 반환합니다.
inputEncoding 문서가 파싱할 때 사용하는 인코딩 방식을 반환합니다.
lastChild 문서의 마지막 자식 노드를 반환합니다.
nodeName 노드의 이름을 반환합니다. (노드의 타입에 따라 달라집니다.).
nodeType 노드의 노드 타입을 반환합니다.
nodeValue 노드의 값을 설정하거나 반환합니다. (노드의 타입에 따라 달라집니다.).
xmlEncoding 문서의 XML 인코딩 방식을 반환합니다.
xmlStandalone 문서가 독립적인지 설정하거나 반환합니다.
xmlVersion 문서의 XML 버전을 설정하거나 반환합니다.

Document 객체의 메서드

메서드 설명
adoptNode() 다른 문서의 노드를 이 문서에 채택하고 채택된 노드를 반환합니다.
createAttribute() 지정된 이름을 가진 속성 노드를 생성하고 새로운 Attr 객체를 반환합니다.
createAttributeNS() 지정된 이름과 이름 공간을 가진 속성 노드를 생성하고 새로운 Attr 객체를 반환합니다.
createCDATASection() CDATA 섹션 노드를 생성합니다.
createComment() 주석 노드를 생성합니다.
createDocumentFragment() 빈 DocumentFragment 객체를 생성하고 반환합니다.
createElement() 요소 노드를 생성합니다.
createElementNS() 지정된 이름 공간을 가진 요소 노드를 생성합니다.
createEntityReference() EntityReference 객체를 생성하고 이 객체를 반환합니다.
createProcessingInstruction() ProcessingInstruction 객체를 생성하고 이 객체를 반환합니다.
createTextNode() 텍스트 노드를 생성합니다.
getElementById() 지정된 값의 id 속성을 가진 요소를 반환합니다.
getElementsByTagName() 지정된 이름을 가진 모든 요소의 NodeList을 반환합니다.
getElementsByTagNameNS() 지정된 이름과 이름 공간을 가진 모든 요소의 NodeList을 반환합니다.
importNode() 노드를 다른 문서에서 이 문서로 가져옵니다.
normalizeDocument()
renameNode() 요소 노드나 속성 노드를 다시 이름을 지정합니다.

DocumentType 객체의 속성

각 문서는 null이나 DocumentType 객체로 값이 있는 DOCTYPE 속성을 가집니다.

DocumentType 객체는 XML 문서에 정의된 엔티티의 인터페이스를 제공합니다.

속성 설명
name DTD의 이름을 반환합니다.
publicId DTD의 공공 식별자를 반환합니다.
systemId 외부 DTD의 시스템 식별자를 반환합니다.

DocumentImplementation 객체의 메서드

DOMImplementation 객체는 문서 객체 모델에 독립적으로 특정 인스턴스의 작업을 수행합니다.

메서드 설명
createDocument() 지정된 문서 타입의 새 DOM Document 객체를 생성합니다.
createDocumentType() 빈 DocumentType 노드를 생성합니다.
getFeature() 지정된 특성과 버전의 API 객체를 반환합니다.(있을 경우)
hasFeature() DOM 구현이 특정 특성과 버전을 구현했는지 확인합니다.

ProcessingInstruction 객체의 속성

ProcessingInstruction 객체는 처리 지시를 나타냅니다.

ProcessingInstruction은 XML 문서 텍스트에 처리기 특정 정보를 유지하는 방법으로 사용됩니다.

속성 설명
data 이 처리 지시의 내용을 설정하거나 반환합니다.
target 이 처리 지시의 목표를 반환합니다.

Top

XML DOM Element 객체

Element 객체의 속성

속성 설명
attributes 요소의 속성의 NamedNodeMap를 반환합니다.
baseURI 요소의 绝对基准 URI를 반환합니다.
childNodes 요소의 자식 노드 NodeList를 반환합니다.
firstChild 요소의 첫 번째 자식 요소를 반환합니다.
lastChild 요소의 마지막 자식 요소를 반환합니다.
localName 요소 이름의 로컬 부분을 반환합니다.
namespaceURI 요소의 이름 공간 URI를 반환합니다.
nextSibling 이 요소 뒤에 있는 노드를 반환합니다.
nodeName 노드의 이름을 반환합니다. 노드 타입에 따라 다릅니다.
nodeType 노드의 타입을 반환합니다.
ownerDocument 요소의 루트 요소(문서 객체)를 반환합니다.
parentNode 요소의 부모 노드를 반환합니다.
prefix 요소의 이름 공간 접두사를 설정하거나 반환합니다.
previousSibling 이 요소 앞에 있는 노드를 반환합니다.
schemaTypeInfo 요소와 관련된 타입 정보를 반환합니다.
tagName 요소의 이름을 반환합니다.
textContent 요소 및 그 자식의 텍스트 내용을 설정하거나 반환합니다.

Element 객체의 메서드

메서드 설명
appendChild() 새로운 자식 노드를 이 노드의 자식 노드 목록의 마지막에 추가합니다.
cloneNode() 노드를 복사합니다.
compareDocumentPosition() 두 노드의 문서 위치를 비교합니다.
getAttribute() 속성의 값을 반환합니다.
getAttributeNS() 속성의 값을(이름 공간을 포함) 반환합니다.
getAttributeNode() Attribute 객체로 속성 노드를 반환합니다.
getAttributeNodeNS() Attribute 객체로 속성 노드(이름 공간을 포함)를 반환합니다.
getElementsByTagName() 지정된 이름을 가진 요소 노드 및 그 자식 노드와 일치하는 NodeList를 반환합니다.
getElementsByTagNameNS() 지정된 이름 공간을 가진 요소 노드 및 그 자식 노드와 일치하는 NodeList를 반환합니다.
getFeature(feature,version) 지정된 특성과 버전을 구현하는 전용 API를 포함하는 DOM 객체를 반환합니다.
getUserData(key) 노드에 연결된 객체를 반환합니다. 객체를 이 노드에 설정하려면 먼저 setUserData를 사용해야 합니다.
hasAttribute() 지정된 이름과 일치하는 속성을 가지고 있는지 확인합니다.
hasAttributeNS() 지정된 이름과 이름 공간과 일치하는 속성을 가지고 있는지 확인합니다.
hasAttributes() 이 요소가 속성을 가지고 있는지 확인합니다.
hasChildNodes() 이 요소가 자식 노드를 가지고 있는지 확인합니다.
insertBefore() 기존 자식 노드 앞에 새로운 자식 노드를 삽입합니다。
isDefaultNamespace("URI) 지정된 namespaceURI가 기본인지 확인합니다。
isEqualNode(" 두 노드가 일치하는지 확인합니다。
lookupNamespaceURI(" 지정된 접두사와 일치하는 이름 공간 URI를 반환합니다。
lookupPrefix(" 지정된 이름 공간 URI와 일치하는 접두사를 반환합니다。
normalize("

normalize() 메서드는 공백 텍스트 노드를 제거하고, 인접한 텍스트 노드를 연결합니다。

요소 아래의 모든 텍스트 노드(속성 포함)를 정규화하고, 구조(예: 요소, 주석, 처리 지시, CDATA 부분 및 엔티티 참조)만 텍스트 노드를 분리합니다。

즉, 인접한 텍스트 노드가 없으며, 공백 텍스트 노드도 없습니다。

removeAttribute(" 지정된 속성을 제거합니다。
removeAttributeNS(" 지정된 속성(이름 공간을 포함)을 제거합니다。
removeAttributeNode(" 지정된 속성 노드를 제거합니다。
removeChild(" 자식 노드를 제거합니다。
replaceChild(" 자식 노드를 대체합니다。
setUserData("key,data,handler) 객체와 요소의 키를 연결합니다。
setAttribute(" 새로운 속성을 추가합니다。
setAttributeNS(" 이름 공간을 포함한 새로운 속성을 추가합니다。
setAttributeNode(" 새로운 속성 노드를 추가합니다。
setAttributeNodeNS("attrnode) 이름 공간을 포함한 새로운 속성 노드를 추가합니다。
setIdAttribute("name,isId) Attribute 객체의 isId 속성이 true면, 이 메서드는 지정된 속성을 사용자 정의 ID 속성으로 선언합니다。
setIdAttributeNS("uri,name,isId) Attribute 객체의 isId 속성이 true면, 이 메서드는 지정된 속성(이름 공간을 포함)을 사용자 정의 ID 속성으로 선언합니다。
setIdAttributeNode("idAttr,isId) Attribute 객체의 isId 속성이 true면, 이 메서드는 지정된 속성을 사용자 정의 ID 속성으로 선언합니다。

Top

Attr 객체의 속성

속성 설명
baseURI 속성의 절대 기준 URI를 반환합니다。
isId 속성이 id 유형이면 true를 반환하고, 그렇지 않으면 false를 반환합니다。
localName 속성 이름의 로컬 부분을 반환합니다。
name 属性的 이름을 반환합니다。
namespaceURI 属性的命名空间 URI를 반환합니다。
nodeName 노드의 이름을 반환합니다. 노드의 타입에 따라 다릅니다.
nodeType 노드의 타입을 반환합니다.
nodeValue 노드의 값을 설정하거나 반환합니다. 노드의 타입에 따라 다릅니다.
ownerDocument 속성의 루트 요소(문서 객체)를 반환합니다.
ownerElement 속성이 속한 요소 노드를 반환합니다.
prefix 속성의 이름 공간 접두사를 설정하거나 반환합니다.
schemaTypeInfo 속성과 관련된 타입 정보를 반환합니다.
specified

문档에서 속성 값이 설정되면 true를 반환합니다;

속성 값이 DTD/Schema의 기본 값이면 false를 반환합니다.

textContent 속성의 텍스트 내용을 설정하거나 반환합니다.
value 속성의 값을 설정하거나 반환합니다.

Top

XML DOM Text 객체

Text 객체의 속성

속성 설명
data 요소나 속성의 텍스트를 설정하거나 반환합니다.
isElementContentWhitespace 텍스트 노드가 공백 문자 내용을 포함하는지�断합니다.
length 요소나 속성의 텍스트 길이를 반환합니다.
wholeText 이 노드와 인접한 모든 텍스트 노드의 모든 텍스트를 문서 순서로 연결하여 반환합니다.

Text 객체의 메서드

메서드 설명
appendData() 데이터를 노드에 추가합니다.
deleteData() 노드에서 데이터를 제거합니다.
insertData() 데이터를 노드에 삽입합니다.
replaceData() 노드 내의 데이터를 대체합니다.
replaceWholeText(text) 지정된 텍스트로 이 노드 및 모든 인접한 텍스트 노드의 텍스트를 대체합니다.
splitText() Text 노드를 두 부분으로 분할합니다.
substringData() 노드에서 데이터를 추출합니다.

Top

XML DOM CDATASection 객체

CDATASection 객체의 속성

속성 설명
data 이 노드의 텍스트를 설정하거나 반환합니다.
length CDATA 부분의 길이를 반환합니다.

CDATASection 객체의 메서드

메서드 설명
appendData() 데이터를 노드에 추가합니다.
deleteData() 노드에서 데이터를 제거합니다.
insertData() 데이터를 노드에 삽입합니다.
replaceData() 노드 내의 데이터를 대체합니다.
splitText() CDATA 노드를 두 노드로 분할합니다.
substringData() 노드에서 데이터를 추출합니다.

Top

XML DOM Comment 객체

Comment 객체의 속성

속성 설명
data 이 노드의 텍스트를 설정하거나 반환합니다.
length 이 노드의 텍스트 길이를 반환합니다.

Comment 객체의 메서드

메서드 설명
appendData() 데이터를 노드에 추가합니다.
deleteData() 노드에서 데이터를 제거합니다.
insertData() 데이터를 노드에 삽입합니다.
replaceData() 노드 내의 데이터를 대체합니다.
substringData() 노드에서 데이터를 추출합니다.

Top

XML DOM XMLHttpRequest 객체

XMLHttpRequest 객체의 메서드

메서드 설명
abort() 현재 요청을 취소합니다.
getAllResponseHeaders() 헤더 정보를 반환합니다.
getResponseHeader() 지정된 HTTP 응답 헤더의 값을 반환합니다.
open(method,url,async,uname,pswd)

지정된 요청 유형, URL, 요청을 동기적으로 처리할지 여부 및 요청의 다른 선택 사항 속성을 지정합니다.

  • method: 요청 타입: GET 또는 POST
  • url: 서버에서 파일 위치
  • async: true(비동기) 또는 false(동기)
send(string)

서버로 요청을 전송합니다.

string: POST 요청에만 사용됩니다

setRequestHeader() 태그/값 쌍을 전송할 헤더에 추가합니다.

XMLHttpRequest 객체의 속성

속성 설명
onreadystatechange each time the readyState property changes, a function (or function name) that is automatically called is stored.
readyState

XMLHttpRequest의 상태를 저장합니다. 0에서 4까지의 변화:

  • 0: 요청이 초기화되지 않았습니다
  • 1: 서버 연결이 설정되었습니다
  • 2: 요청이 수신되었습니다
  • 3: 요청이 처리 중입니다
  • 4: 요청이 완료되었으며, 응답이 준비되었습니다
responseText 문자로 응답 데이터를 반환합니다.
responseXML XML 데이터로 응답 데이터를 반환합니다.
status 상태 번호를 반환합니다(예: "404"은 "Not Found", "200"은 "OK").
statusText 상태 텍스트를 반환합니다(예: "Not Found" 또는 "OK").

Top

XSD 요소

XSLT 요소 설명
all 서브 요소가 어떤 순서로든 출현할 수 있으며, 각 서브 요소는 0번 또는 1번만 출현할 수 있도록 규정합니다.
annotation annotation 요소는 최상위 요소로, schema의 주석을 규정합니다.
any 创作者가 schema가 규정하지 않은 요소를 통해 XML 문서를 확장할 수 있도록 합니다.
anyAttribute 创作者가 schema가 규정하지 않은 속성을 통해 XML 문서를 확장할 수 있도록 합니다.
appInfo annotation 요소에서 애플리케이션이 사용할 정보를 규정합니다.
현재 요소나 현재 요소의 자식 요소에 템플릿을 적용합니다。 속성을 정의합니다.
attributeGroup 복잡한 타입 정의에서 사용할 속성 그룹을 정의합니다.
choice <choice> 선언에서 요소가 포함되도록 허용합니다.
complexContent 복잡한 타입(혼합 내용을 포함하거나 요소만 포함)에 대한 확장 또는 제한을 정의합니다.
complexType 複잡한 타입을 정의합니다.
documentation schema에서의 텍스트 주석을 정의합니다.
element 요소를 정의합니다.
extension 기존 simpleType 또는 complexType 요소를 확장합니다.
field 지정된 제한 조건을 정의하는 XPath 표현식을 규정합니다。
group 복잡한 유형 정의에서 사용되는 요소 그룹을 정의합니다。
import 다른 목표 이름 공간을 가진 여러 schema를 문서에 추가합니다。
include 동일한 목표 이름 공간을 가진 여러 schema를 문서에 추가합니다。
key 속성이나 요소 값(또는 값 집합)이 지정된 범위 내의 키여야 합니다。
keyref 속성이나 요소 값(또는 값 집합)이 지정된 키나 유일한 요소의 값에 해당해야 합니다。
list 간단 유형을 지정된 데이터 유형의 값의 목록으로 정의합니다。
notation XML 문서에서 XML이 아닌 데이터의 형식을 설명합니다。
redefine 외부 아키텍처 파일에서 가져온 간단하고 복잡한 유형, 그룹, 속성 그룹을 다시 정의합니다。
restriction simpleType, simpleContent, 또는 complexContent에 대한 제한을 정의합니다。
schema schema의 루트 요소를 정의합니다。
selector 지정된 제한 조건을 만족하는 요소 집합을 선택하는 XPath 표현식을 지정합니다。
sequence 서브 요소가 순서대로 반드시 등장해야 합니다. 각 서브 요소는 0번부터 무한 번으로 등장할 수 있습니다。
simpleContent complexType 요소에 대한 확장이나 제한을 포함하고 어떤 요소도 포함하지 않는 것을 정의합니다。
simpleType 제한 및 속성이나 텍스트만 포함하는 요소의 값에 대한 정보를 규정하는 하나의 단순 유형을 정의합니다。
union 여러 simpleType 정의의 집합을 정의합니다。
unique 속성이나 요소 값(또는 속성이나 요소 값을 조합한 값)이 지정된 범위 내에서 유일해야 합니다.

데이터 유형의 XSD 제한

XSD 제한 / Facets 참조

제한 설명
enumeration 허용되는 값의 목록을 정의합니다。
fractionDigits 허용되는 최대 소수점 자릿수를 정의합니다. 반드시 0보다 크거나 같아야 합니다。
length 허용되는 문자나 목록 항목의 정확한 개수를 정의합니다. 반드시 0보다 크거나 같아야 합니다。
maxExclusive 数值의 상한을 정의합니다. 허용되는 값은 이 값보다 작아야 합니다。
maxInclusive 数值의 상한을 정의합니다. 허용되는 값은 이 값보다 작거나 같아야 합니다。
maxLength 허용되는 문자나 목록 항목의 최대 개수를 정의합니다. 반드시 0보다 크거나 같아야 합니다。
minExclusive 数值的下限을 정의합니다. 허용되는 값은 이 값보다 크거나 같아야 합니다。
minInclusive 数值的下限을 정의합니다. 허용되는 값은 이 값보다 크거나 같아야 합니다。
minLength 허용할 수 있는 문자나 목록 항목의 최소 수를 정의합니다. 0보다 크거나 같아야 합니다。
pattern 허용할 수 있는 문자나 목록 항목의 최소 수를 정의합니다. 0보다 크거나 같아야 합니다。
허용할 수 있는 문자의 정밀한 시퀀스를 정의합니다。 totalDigits
허용할 수 있는 아라비아 숫자의 정밀도를 정의합니다. 0보다 커야 합니다。 whiteSpace

Top

백스페이스 문자(줄 바꿈, 엔터, 공백 및 탭)의 처리 방식을 정의합니다。

XSLT 요소 설명
요소 apply-imports
apply-templates import된 스타일시트에서 템플릿 규칙을 적용합니다。
현재 요소나 현재 요소의 자식 요소에 템플릿을 적용합니다。 요소에 속성을 추가합니다。
attribute-set 이름 지정된 속성 집합을 생성합니다。
call-template 지정된 템플릿을 호출합니다。
choose <when> 및 <otherwise>와 함께 사용하여 복잡한 조건 검사를 표현합니다。
comment 결과 트리에서 주석 노드를 생성합니다。
copy 현재 노드의 복사본을 생성합니다(자식 노드 및 속성 제외)
copy-of 현재 노드의 복사본을 생성합니다(자식 노드 및 속성 포함)
decimal-format format-number() 함수를 통해 숫자를 문자열로 변환할 때 사용할 문자와 기호를 정의합니다。
element 출력 문서에서 요소 노드를 생성합니다。
fallback 프로세서가 특정 XSLT 요소를 지원하지 않는 경우, 실행할 대체 코드를 정의합니다。
for-each 지정된 노드 집합의 각 노드를 순회합니다。
if 특정 조건이 성립될 때만 적용할 템플릿을 포함합니다。
import 한 스타일시트의 내용을 다른 스타일시트에 적재합니다。
include 한 스타일시트의 내용을 다른 스타일시트에 포함합니다。
key 이름 지정된 키를 선언합니다。
message 출력에 메시지를 쓰고(에러 보고를 위해 사용)
namespace-alias 스타일시트의 이름공간을 출력에서 다른 이름공간으로 대체합니다。
number 현재 노드의 정수 위치를 측정하고 숫자를 포맷합니다。
otherwise <choose> 요소의 기본 동작을 정의합니다。
output 출력 문서의 형식을 정의합니다。
param 지역적이거나 전역적인 매개변수를 선언합니다。
preserve-space 공백을 유지해야 할 요소를 정의합니다。
processing-instruction 처리 지시 노드를 생성합니다。
sort 결과를 정렬합니다。
strip-space 정의해야 할 요소에서 공백 문자를 제거해야 합니다。
stylesheet 스타일시트의 루트 요소를 정의합니다.
template 지정된 노드가 일치할 때 적용되는 규칙입니다.
text 스타일시트를 통해 텍스트 노드를 생성합니다.
transform 스타일시트의 루트 요소를 정의합니다.
value-of 선택된 노드의 값을 추출합니다.
variable 지역적이거나 전역적인 변수를 선언합니다.
when <choose> 요소의 동작을 규정합니다.
with-param 특정 템플릿에传入해야 하는 파라미터 값을 규정합니다.

Top

XSLT, XPath 및 XQuery 함수

접근 함수

이름 설명
fn:node-name(node) 파라미터 노드의 노드 이름을 반환합니다.
fn:nilled(node) 파라미터 노드를 거부하는지 여부를 반환하는 부울 값입니다.
fn:data(item.item,...) 요소 시퀀스를 받아들여서 원자 값 시퀀스를 반환합니다.
  • fn:base-uri()
  • fn:base-uri(node)
현재 노드 또는 지정된 노드의 base-uri 속성 값을 반환합니다.
fn:document-uri(node) 지정된 노드의 document-uri 속성 값을 반환합니다.

에러와 추적 함수

이름 설명
  • fn:error()
  • fn:error(error)
  • fn:error(error,description)
  • fn:error(error,description,error-object)

예제: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high')

결과: 외부 처리 환경에 http://example.com/test#toohigh 및 문자열 "Error: Price is too high"을 반환합니다.

fn:trace(value,label) 쿼리 디버깅에 사용됩니다.

数值 함수에 관한 내용

이름 설명
fn:number(arg)

파라미터의数值을 반환합니다. 파라미터는 부울 값, 문자열 또는 노드 집합일 수 있습니다.

예제: number('100')

결과: 100

fn:abs(num)

파라미터의 절대값을 반환합니다.

예제: abs(3.14)

결과: 3.14

예제: abs(-3.14)

결과: 3.14

fn:ceiling(num)

num 파라미터보다 큰 가장 작은 정수를 반환합니다.

예제: ceiling(3.14)

결과: 4

fn:floor(num)

num 인자보다 작거나 같은 가장 큰 정수를 반환합니다.

예제: floor(3.14)

결과: 3

fn:round(num)

num 인자를 가장 가까운 정수로 반올림합니다.

예제: round(3.14)

결과: 3

fn:round-half-to-even()

예제: round-half-to-even(0.5)

결과: 0

예제: round-half-to-even(1.5)

결과: 2

예제: round-half-to-even(2.5)

결과: 2

문자 함수에 관한 내용

이름 설명
fn:string(arg)

인자의 문자열 값을 반환합니다. 인자는 숫자, 논리 값 또는 노드 셋일 수 있습니다.

예제: string(314)

결과: "314"

fn:codepoints-to-string(int,int,...)

코드 포인트 시퀀스를 문자열로 반환합니다.

예제: codepoints-to-string(84, 104, 233, 114, 232, 115, 101)

결과: 'Thérèse'

fn:string-to-codepoints(string)

문자열을 코드 포인트 시퀀스로 반환합니다.

예제: string-to-codepoints("Thérèse")

결과: 84, 104, 233, 114, 232, 115, 101

fn:codepoint-equal(comp1,comp2) Unicode 코드 포인트 대조에 따라, comp1의 값이 comp2의 값과 같으면 true를 반환합니다. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), 그렇지 않으면 false를 반환합니다.
  • fn:compare(comp1,comp2)
  • fn:compare(comp1,comp2,collation)

comp1이 comp2보다 작으면 -1을 반환합니다. comp1이 comp2와 같으면 0을 반환합니다. comp1이 comp2보다 크면 1을 반환합니다. (사용하는 대조 규칙에 따라).

예제: compare('ghi', 'ghi')

결과: 0

fn:concat(string,string,...)

문자열 결합을 반환합니다.

예제: concat('XPath ','is ','FUN!')

결과: 'XPath is FUN!'

fn:string-join((string,string,...),sep)

sep 매개변수를 구분자로 사용하여 string 매개변수를 병합한 문자열을 반환합니다.

예제: string-join(('We', 'are', 'having', 'fun!'), ' ')

결과: ' We are having fun! '

예제: string-join(('We', 'are', 'having', 'fun!'))

결과: 'Wearehavingfun!'

예제: string-join((), 'sep')

결과: ''

  • fn:substring(string, start, len)
  • fn:substring(string, start)

start 위치에서 시작하는 지정된 길이의 서브 문자열을 반환합니다. 첫 번째 문자의 인덱스는 1입니다. len 매개변수를 생략하면 start 위치에서 문자열의 끝까지의 서브 문자열을 반환합니다。

예제: substring('Beatles', 1, 4)

결과: 'Beat'

예제: substring('Beatles', 2)

결과: 'eatles'

  • fn:string-length(string)
  • fn:string-length()

지정된 문자열의 길이를 반환합니다. string 매개변수가 없으면 현재 노드의 문자 값의 길이를 반환합니다。

예제: string-length('Beatles')

결과: 7

  • fn:normalize-space(string)
  • fn:normalize-space()

지정된 문자열의 시작과 끝의 공백을 제거하고, 내부의 모든 공백 시퀀스를 하나의 공백으로 대체한 후 결과를 반환합니다. string 매개변수가 없으면 현재 노드를 처리합니다。

예제: normalize-space(' The   XML ')

결과: 'The XML'

fn:normalize-unicode() Unicode 규격화를 수행합니다。
fn:upper-case(string)

string 매개변수를 대문자로 변환합니다。

예제: upper-case('The XML')

결과: 'THE XML'

fn:lower-case(string)

string 매개변수를 소문자로 변환합니다。

예제: lower-case('The XML')

결과: 'the xml'

fn:translate(string1, string2, string3)

string1에서 string2를 string3으로 대체합니다.

예제: translate('12:30','30','45')

결과: '12:45'

예제: translate('12:30','03','54')

결과: '12:45'

예제: translate('12:30','0123','abcd')

결과: 'bc:da'

fn:escape-uri(stringURI,esc-res)

예제: escape-uri("http://example.com/test#car", true())

결과: "http%3A%2F%2Fexample.com%2Ftest#car"

예제: escape-uri("http://example.com/test#car", false())

결과: "http://example.com/test#car"

예제: escape-uri ("http://example.com/~bébé", false())

결과: "http://example.com/~b%C3%A9b%C3%A9"

fn:contains(string1,string2)

string1이 string2를 포함하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

예제: contains('XML','XM')

결과:true

fn:starts-with(string1,string2)

string1이 string2로 시작하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

예제: starts-with('XML','X')

결과:true

fn:ends-with(string1,string2)

string1이 string2로 끝나면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

예제: ends-with('XML','X')

결과: false

fn:substring-before(string1,string2)

string1에서 string2가 나타나는 직전의 부분 문자열을 반환합니다.

예제: substring-before('12/10','/')

결과: '12'

fn:substring-after(string1,string2)

string1에서 string2가 나타나는 다음의 부분 문자열을 반환합니다.

예제:substring-after('12/10','/')

결과:'10'

fn:matches(string,pattern)

string 매개변수가 지정된 패턴과 일치하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

예제:matches("Merano", "ran")

결과:true

fn:replace(string,pattern,replace)

지정된 패턴을 replace 매개변수로 대체하고 결과를 반환합니다.

예제:replace("Bella Italia", "l", "*")

결과:'Be**a Ita*ia'

예제:replace("Bella Italia", "l", "")

결과:'Bea Itaia'

fn:tokenize(string,pattern)

예제:tokenize("XPath is fun", "\s+")

결과:("XPath", "is", "fun")

anyURI에 대한 함수

이름 설명
fn:resolve-uri(relative,base)  

부울 값에 관한 함수

이름 설명
fn:boolean(arg) 숫자, 문자열, 노드 집합의 부울 값을 반환합니다.
fn:not(arg)

먼저 boolean() 함수를 통해 매개변수를 부울 값으로 복원합니다.

부울 값이 false라면 true를 반환하고, 그렇지 않으면 true를 반환합니다.

예제:not(true())

결과: false

fn:true()

부울 값 true를 반환합니다.

예제:true()

결과:true

fn:false()

부울 값 false를 반환합니다.

예제:false()

결과: false

지속 시간, 날짜, 시간의 함수에 관한 내용

날짜, 시간, 지속 시간 구성 요소 추출 함수

이름 설명
fn:dateTime(date,time) 매개변수를 날짜와 시간으로 변환합니다.
fn:years-from-duration(datetimedur) 반환 매개변수 값의 연 부분의 정수를 표준 단어 표기법으로 표현합니다.
fn:months-from-duration(datetimedur) 반환 매개변수 값의 월 부분의 정수를 표준 단어 표기법으로 표현합니다.
fn:days-from-duration(datetimedur) 반환 매개변수 값의 일 부분의 정수를 표준 단어 표기법으로 표현합니다.
fn:hours-from-duration(datetimedur) 매개변수의 값을 시 부분의 정수로 반환하고, 표준 토폴로지 표기법으로 표현합니다.
fn:minutes-from-duration(datetimedur) 매개변수의 값을 분 부분의 정수로 반환하고, 표준 토폴로지 표기법으로 표현합니다.
fn:seconds-from-duration(datetimedur) 매개변수의 값을 분 부분의 데시imal 숫자로 반환하고, 표준 토폴로지 표기법으로 표현합니다.
fn:year-from-dateTime(datetime)

매개변수의 로컬 값에서 연 부분의 정수를 반환합니다.

예시: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

결과: 2005

fn:month-from-dateTime(datetime)

매개변수의 로컬 값에서 월 부분의 정수를 반환합니다.

예시: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

결과: 01

fn:day-from-dateTime(datetime)

매개변수의 로컬 값에서 일 부분의 정수를 반환합니다.

예시: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

결과: 10

fn:hours-from-dateTime(datetime)

매개변수의 로컬 값에서 시 부분의 정수를 반환합니다.

예시: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

결과: 12

fn:minutes-from-dateTime(datetime)

매개변수의 로컬 값에서 분 부분의 정수를 반환합니다.

예시: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

결과: 30

fn:seconds-from-dateTime(datetime)

매개변수의 로컬 값에서 초 부분의 데시imal 숫자를 반환합니다.

예시: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))

결과: 0

fn:timezone-from-dateTime(datetime) 시간의 시간대 부분이 있으면 반환합니다.
fn:year-from-date(date)

매개변수의 로컬 값에서 연을 나타내는 정수를 반환합니다.

예시: year-from-date(xs:date("2005-04-23"))

결과: 2005

fn:month-from-date(date)

시간의 지역 값에서 월 부분을 나타내는 정수를 반환합니다.

예제: month-from-date(xs:date("2005-04-23"))

결과: 4

fn:day-from-date(date)

시간의 지역 값에서 일 부분을 나타내는 정수를 반환합니다.

예제: day-from-date(xs:date("2005-04-23"))

결과: 23

fn:timezone-from-date(date) 시간의 시간대 부분이 있으면 반환합니다.
fn:hours-from-time(time)

시간의 지역 값에서 시 부분을 나타내는 정수를 반환합니다.

예제: hours-from-time(xs:time("10:22:00"))

결과: 10

fn:minutes-from-time(time)

시간의 지역 값에서 분 부분을 나타내는 정수를 반환합니다.

예제: minutes-from-time(xs:time("10:22:00"))

결과: 22

fn:seconds-from-time(time)

시간의 지역 값에서 초 부분을 나타내는 정수를 반환합니다.

예제: seconds-from-time(xs:time("10:22:00"))

결과: 0

fn:timezone-from-time(time) 시간의 시간대 부분이 있으면 반환합니다.
fn:adjust-dateTime-to-timezone(datetime,timezone)

timezone 매개변수가 비어 있으면 시간대 없는 dateTime를 반환합니다.

그렇지 않으면 시간대를 포함한 dateTime를 반환합니다.

fn:adjust-date-to-timezone(date,timezone)

timezone 매개변수가 비어 있으면 시간대 없는 날짜를 반환합니다.

그렇지 않으면 시간대를 포함한 날짜를 반환합니다.

fn:adjust-time-to-timezone(time,timezone)

timezone 매개변수가 비어 있으면 시간대 없는 시간을 반환합니다.

그렇지 않으면 시간대를 포함한 시간을 반환합니다.

QNames 관련 함수

이름 설명
fn:QName()  
fn:local-name-from-QName()  
fn:namespace-uri-from-QName()  
fn:namespace-uri-for-prefix()  
fn:in-scope-prefixes()  
fn:resolve-QName()  

노드에 대한 함수

이름 설명
  • fn:name()
  • fn:name(nodeset)
현재 노드나 지정된 노드 집합의 첫 번째 노드의 이름을 반환합니다.
  • fn:local-name()
  • fn:local-name(nodeset)
현재 노드나 지정된 노드 집합의 첫 번째 노드의 이름을 이름 공간 전파 없이 반환합니다.
  • fn:namespace-uri()
  • fn:namespace-uri(nodeset)
현재 노드나 지정된 노드 집합의 첫 번째 노드의 이름 공간 URI를 반환합니다.
fn:lang(lang)

현재 노드의 언어가 지정된 언어와 일치하면 true를 반환합니다.

예제: Lang("en")는 다음과 true입니다 <p xml:lang="en">...</p>

예제: Lang("de")는 다음과 false입니다 <p xml:lang="en">...</p>

  • fn:root()
  • fn:root(node)
현재 노드나 지정된 노드의 노드 트리의 루트 노드를 반환합니다. 일반적으로 문서 노드입니다.

시퀀스에 대한 함수

일반적인 함수

이름 설명
fn:index-of((item,item,...),searchitem)

searchitem 파라미터와 일치하는 위치를 시퀀스에서 반환합니다.

예제: index-of ((15, 40, 25, 40, 10), 40)

결과: (2, 4)

예제: index-of (("a", "dog", "and", "a", "duck"), "a")

결과: (1, 4)

예제: index-of ((15, 40, 25, 40, 10), 18)

결과: ()

fn:remove((item,item,...),position)

item 파라미터로 생성된 새 시퀀스를 반환하며, position 파라미터로 지정된 위치의 요소를 제거합니다.

예제: remove(("ab", "cd", "ef"), 0)

결과: ("ab", "cd", "ef")

예제: remove(("ab", "cd", "ef"), 1)

결과: ("cd", "ef")

예제: remove(("ab", "cd", "ef"), 4)

결과: ("ab", "cd", "ef")

fn:empty(item,item,...)

파라미터 값이 빈 시퀀스라면 true를 반환하며, 그렇지 않으면 false를 반환합니다.

예제: empty(remove(("ab", "cd"), 1))

결과: false

fn:exists(item,item,...)

매개변수 값이 비어있는 시퀀스가 아니면 true를 반환하며, 그렇지 않으면 false를 반환합니다.

예제: exists(remove(("ab"), 1))

결과: false

fn:distinct-values((item,item,...),collation)

유일한 다른 값을 반환합니다.

예제: distinct-values((1, 2, 3, 1, 2))

결과: (1, 2, 3)

fn:insert-before((item,item,...),pos,inserts)

item 매개변수로 구성된 새 시퀀스를 반환합니다. 동시에 pos 매개변수가 지정한 위치에 inserts 매개변수의 값을 삽입합니다.

예제: insert-before(("ab", "cd"), 0, "gh")

결과: ("gh", "ab", "cd")

예제: insert-before(("ab", "cd"), 1, "gh")

결과: ("gh", "ab", "cd")

예제: insert-before(("ab", "cd"), 2, "gh")

결과: ("ab", "gh", "cd")

예제: insert-before(("ab", "cd"), 5, "gh")

결과: ("ab", "cd", "gh")

fn:reverse((item,item,...))

지정된 항목의 역순을 반환합니다.

예제: reverse(("ab", "cd", "ef"))

결과: ("ef", "cd", "ab")

예제: reverse(("ab"))

결과: ("ab")

fn:subsequence((item,item,...),start,len)

start 매개변수가 지정한 위치에서 항목 시퀀스를 반환합니다. 시퀀스의 길이는 len 매개변수에 따릅니다.

첫 번째 항목의 위치는 1입니다.

예제: subsequence(($item1, $item2, $item3,...), 3)

결과: ($item3, ...)

예제: subsequence(($item1, $item2, $item3, ...), 2, 2)

결과: ($item2, $item3)

fn:unordered((item,item,...)) 구현에 따라 결정된 순서로 항목을 반환합니다.

테스트 시퀀스 용량 함수

이름 설명
fn:zero-or-one(item,item,...) 매개변수가 하나나 하나 이상의 항목을 포함하면 매개변수를 반환하고, 그렇지 않으면 오류를 생성합니다.
fn:one-or-more(item,item,...) 매개변수가 하나나 여러 개의 항목을 포함하면 매개변수를 반환하고, 그렇지 않으면 오류를 생성합니다.
fn:exactly-one(item,item,...) 매개변수가 하나의 항목을 포함하면 매개변수를 반환하고, 그렇지 않으면 오류를 생성합니다.

Equals, Union, Intersection and Except

이름 설명
fn:deep-equal(param1,param2,collation) param1과 param2가 서로 동일하면 (deep-equal) true를 반환하고, 그렇지 않으면 false를 반환합니다.

총합 함수

이름 설명
fn:count((item,item,...)) 노드의 개수를 반환합니다.
fn:avg((arg,arg,...))

매개변수 값의 평균을 반환합니다.

예제: avg((1,2,3))

결과: 2

fn:max((arg,arg,...))

기타 매개변수보다 큰 매개변수를 반환합니다.

예제: max((1,2,3))

결과: 3

예제: max(('a', 'k'))

결과: 'k'

fn:min((arg,arg,...))

기타 매개변수보다 작은 매개변수를 반환합니다.

예제: min((1,2,3))

결과: 1

예제: min(('a', 'k'))

결과: 'a'

fn:sum(arg,arg,...) 지정된 노드 집합 중 각 노드의 값의 합을 반환합니다.

시퀀스 생성 함수

이름 설명
fn:id((string,string,...),node) string 매개변수에 지정된 하나 또는 여러 개의 값과 일치하는 ID 값을 가진 요소 노드 시퀀스를 반환합니다.
fn:idref((string,string,...),node) string 매개변수에 지정된 하나 또는 여러 개의 값과 일치하는 IDREF 값을 가진 요소 또는 속성 노드 시퀀스를 반환합니다.
fn:doc(URI)  
fn:doc-available(URI) doc() 함수가 문서 노드를 반환하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
  • fn:collection()
  • fn:collection(string)
 

컨텍스트 함수

이름 설명
fn:position()

현재 처리되고 있는 노드의 index 위치를 반환합니다.

예제: //book[position()<=3]

결과: 앞 세 개의 book 요소를 선택합니다

fn:last()

처리된 노드 목록 내의 항목 수를 반환합니다.

예제: //book[last()]

결과: 마지막 book 요소를 선택합니다.

fn:current-dateTime() 현재의 dateTime(시간대를 포함하여)을 반환합니다.
fn:current-date() 현재의 날짜(시간대를 포함하여)을 반환합니다.
fn:current-time() 현재의 시간(시간대를 포함하여)을 반환합니다.
fn:implicit-timezone() 숨겨진 시간대의 값을 반환합니다.
fn:default-collation() 기본 대조의 값을 반환합니다.
fn:static-base-uri() base-uri의 값을 반환합니다.

XSLT 함수

또한 다음과 같은 내장된 XSLT 함수가 있습니다:

이름 설명
current() 현재 노드를 유일한 구성원으로 하는 노드 집합을 반환합니다.
document() 외부 XML 문서 내의 노드에 접근하는 데 사용됩니다.
element-available() XSLT 처리기가 지정된 요소를 지원하는지 검사합니다.
format-number() 숫자를 문자열로 변환합니다.
function-available() XSLT 처리기가 지정된 함수를 지원하는지 검사합니다.
generate-id() 지정된 노드를 식별하는 유일한 문자열 값을 반환합니다.
key() 이전에 <xsl:key> 문장으로 표시된 요소를 검색합니다.
node-set 트리를 노드 집합으로 변환합니다. 생성된 노드 집합은 항상 단일 노드를 포함하고 있으며 트리의 루트 노드입니다.
system-property() 시스템 속성의 값을 반환합니다.
unparsed-entity-uri() 해석되지 않은 엔티티의 URI를 반환합니다.

Top

기타 XML DOM 객체

Top