Podręcznik referencyjny XML

Podręcznik referencyjny XML

Typ węzła

Poniższa tabela pokazuje różne typy węzłów W3C oraz ich możliwe podelementy:

Typ węzła 描述 Podelementy
Document Oznacza cały dokument (korzeń drzewa DOM)
  • Element (maks. jeden)
  • ProcessingInstruction
  • Komentarz
  • DocumentType
DocumentFragment Oznacza lekki obiekt Document, który zawiera część dokumentu.
  • ProcessingInstruction
  • Komentarz
  • Text
  • CDATASection
  • EntityReference
DocumentType Zapewnia interfejs do entuty zdefiniowanej w dokumencie. Brak
ProcessingInstruction Oznacza instrukcję przetwarzania. Brak
EntityReference Oznacza element odwołania do entuty.
  • ProcessingInstruction
  • Komentarz
  • Text
  • CDATASection
  • EntityReference
Element Oznacza element (element)
  • Text
  • Komentarz
  • ProcessingInstruction
  • CDATASection
  • EntityReference
Attr Oznacza atrybut.
  • Text
  • EntityReference
Text Oznacza tekst w elemencie lub atrybucie. Brak
CDATASection Oznacza sekcję CDATA w dokumencie (tekst nie jest解析 przez parsera) Brak
Komentarz Oznacza komentarz. Brak
Entność Oznacza entytę.
  • ProcessingInstruction
  • Komentarz
  • Text
  • CDATASection
  • EntityReference
Notacja Oznacza symbol deklarowany w DTD. Brak

Typ węzła - zwracana wartość

Poniższa tabela pokazuje wartości, które mogą być zwrócone przez atrybuty nodeName i nodeValue dla każdego typu węzła:

Typ węzła Zwracana wartość nodeName Zwracana wartość nodeValue
Document #dokument null
DocumentFragment #fragment dokumentu null
DocumentType Nazwa doctype null
EntityReference Nazwa odwołania do entuty null
Element nazwa elementu null
Attr Nazwa atrybutu Wartość atrybutu
ProcessingInstruction cel Zawartość węzła
Komentarz #comment Komentarz tekstowy
Text #text Zawartość węzła
CDATASection #cdata-section Zawartość węzła
Entność Nazwa entności null
Notacja Nazwa symbolu null

NodeTypes - stałe nazwane

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

Obiekt Node XML DOM

Atrybuty obiektu Node

Atrybut 描述
atrybuty Zawiera atrybuty węzła NamedNodeMap (jeśli węzeł jest elementem).
baseURI Zwraca absolutny punkt odniesienia URI węzła.
childNodes Zwraca NodeList podwęzłów węzła.
firstChild Zwraca pierwszy podwęzeł węzła.
lastChild Zwraca ostatni podwęzeł węzła.
nextSibling Zwraca węzeł, który bezpośrednio następuje po bieżącym węźle na tym samym poziomie.
nodeName Zwróć nazwę węzła, w zależności od jego typu.
nodeType Zwróć typ węzła.
nodeValue Ustaw lub zwróć wartość węzła, w zależności od jego typu.
ownerDocument Zwraca element korzeniowy węzła (obiekt document).
parentNode Zwraca rodzica węzła.
prefix Ustawia lub zwraca prefiks przestrzeni nazw węzła.
previousSibling Zwraca węzeł, który bezpośrednio poprzedza bieżący węzeł na tym samym poziomie.
textContent Ustawia lub zwraca tekst zawarty przez węzeł oraz jego potomków.

Metody obiektu Node

Metoda 描述
appendChild() Dodaje nowy podwęzeł na końcu listy podwęzłów węzła.
cloneNode() Klonuje węzeł.
compareDocumentPosition() Porównuje pozycje dwóch węzłów w hierarchii DOM (dokument).
getFeature(feature,version) Zwraca obiekt DOM, który implementuje dedykowaną API dla określonych cech i wersji.
getUserData(key)

Zwraca obiekt powiązany z kluczem na węźle.

Najpierw należy ustawić obiekt na tym węźle, używając setUserData z tym samym kluczem.

hasAttributes() Zwraca true, jeśli określony węzeł ma jakieś atrybuty, w przeciwnym razie zwraca false.
hasChildNodes() Zwraca true, jeśli określony węzeł ma podwęzły, w przeciwnym razie zwraca false.
insertBefore() Wstawia nowy podwęzeł przed określony podwęzeł.
isDefaultNamespace(URI) Sprawdza, czy określony URI przestrzeni nazw jest domyślny.
isEqualNode() Sprawdza, czy dwa węzły są równe.
isSameNode() Sprawdza, czy dwa węzły są tymi samymi węzłami.
lookupNamespaceURI() Zwraca URI przestrzeni nazw związany z podanym prefiksem.
lookupPrefix() Zwraca prefiks związany z podanym URI przestrzeni nazw.
normalize() Łączy sąsiednie węzły tekstowe i usuwa puste węzły tekstowe.
removeChild() Usuwa (i zwraca) określony podwęzeł bieżącego węzła.
replaceChild() Zastępuje podwęzeł nowym węzłem.
setUserData(key,data,handler) Powiązuje obiekt z kluczem na węźle.

Top

Obiekt NodeList XML DOM

Atrybuty obiektu NodeList

Atrybut 描述
length Zwraca liczbę węzłów w liście węzłów.

Metody obiektu NodeList

Metoda 描述
item() Zwraca węzeł znajdujący się w liście węzłów na określonym indeksie.

Top

Obiekt NamedNodeMap XML DOM

Atrybuty obiektu NamedNodeMap

Atrybut 描述
length Zwróć liczbę węzłów w liście.

Metody obiektu NamedNodeMap

Metoda 描述
getNamedItem() Zwróć węzeł z określonym nazwanym.
getNamedItemNS() Zwróć węzeł z określonym nazwanym i przestrzenią nazw.
item() Zwróć węzeł na określonym indeksie.
removeNamedItem() Usuń węzeł z określonym nazwanym.
removeNamedItemNS() Usuń węzeł z określonym nazwanym i przestrzenią nazw.
setNamedItem() Ustaw określony węzeł (według nazwy).
setNamedItemNS() Ustaw określony węzeł (według nazwy i przestrzeni nazw).

Top

Obiekt Document XML DOM

Atrybuty obiektu Document

Atrybut 描述
childNodes Zwróć NodeList podrzędnych węzłów dokumentu.
doctype Zwróć deklarację typu dokumentu powiązaną z dokumentem.
documentElement Zwróć korzeń dokumentu.
documentURI Ustaw lub zwróć pozycję dokumentu.
domConfig Zwróć konfigurację używaną przy wywołaniu normalizeDocument().
firstChild Zwróć pierwszy podrzędny węzeł dokumentu.
implementation Zwróć obiekt DOMImplementation przetwarzający ten dokument.
inputEncoding Zwróć sposób kodowania używany przez dokument (podczas analizy).
lastChild Zwróć ostatni podrzędny węzeł dokumentu.
nodeName Zwróć nazwę węzła (zależy od jego typu).
nodeType Zwróć typ węzła.
nodeValue Ustaw lub zwróć wartość węzła (zależy od jego typu).
xmlEncoding Zwróć sposób kodowania XML dokumentu.
xmlStandalone Ustaw lub zwróć, czy dokument jest niezależny.
xmlVersion Ustaw lub zwróć wersję XML dokumentu.

Metody obiektu Document

Metoda 描述
adoptNode() Przyjmij węzeł z innego dokumentu do bieżącego dokumentu i zwróć przyjęty węzeł.
createAttribute() Utwórz węzeł atrybutu z określonym nazwanym, zwracając nowy obiekt Attr.
createAttributeNS() Utwórz węzeł atrybutu z określonym nazwanym i przestrzenią nazw, zwracając nowy obiekt Attr.
createCDATASection() Utwórz węzeł sekcji CDATA.
createComment() Utwórz węzeł komentarza.
createDocumentFragment() Utwórz pusty obiekt DocumentFragment i zwróć go.
createElement() Tworzy węzeł elementu.
createElementNS() Tworzy węzeł elementu o określonej przestrzeni nazw.
createEntityReference() Tworzy obiekt EntityReference i zwraca ten obiekt.
createProcessingInstruction() Tworzy obiekt ProcessingInstruction i zwraca ten obiekt.
createTextNode() Tworzy węzeł tekstowy.
getElementById() Zwraca element o określonej wartości atrybutu id.
getElementsByTagName() Zwraca NodeList wszystkich elementów o określonej nazwie.
getElementsByTagNameNS() Zwraca NodeList wszystkich elementów o określonej nazwie i przestrzeni nazw.
importNode() Importuje węzeł z innego dokumentu do tego dokumentu.
normalizeDocument()
renameNode() Zmienia nazwę węzła elementu lub atrybutu.

Atrybuty obiektu DocumentType

Każdy dokument ma atrybut DOCTYPE, który ma wartość null lub obiekt DocumentType.

Obiekt DocumentType dostarcza interfejs do definiowania jednostek dla dokumentu XML.

Atrybut 描述
name Zwraca nazwę DTD.
publicId Zwraca publiczny identyfikator DTD.
systemId Zwraca systemowy identyfikator zewnętrznego DTD.

Metody obiektu DocumentImplementation

Obiekt DOMImplementation wykonuje operacje niezależne od konkretnej instancji modelu dokumentu.

Metoda 描述
createDocument() Tworzy nowy obiekt DOM Document dla określonego typu dokumentu.
createDocumentType() Tworzy pusty węzeł DocumentType.
getFeature() Zwraca obiekt API, które osiągnęło określone cechy i wersję (jeśli istnieje).
hasFeature() Sprawdza, czy implementacja DOM osiągnęła określone cechy i wersję.

Atrybuty obiektu ProcessingInstruction

Obiekt ProcessingInstruction reprezentuje instrukcję przetwarzania.

Instrukcje przetwarzania są używane jako metoda do przechowywania specyficznych informacji procesora w tekście dokumentu XML.

Atrybut 描述
data Ustawia lub zwraca zawartość instrukcji przetwarzania.
cel Zwraca cel instrukcji przetwarzania.

Top

Obiekt Element XML DOM

Atrybuty obiektu Element.

Atrybut 描述
atrybuty Zwraca NamedNodeMap atrybutów elementu.
baseURI Zwraca absolutny punkt odniesienia URI elementu.
childNodes Zwraca NodeList podwęzłów elementu.
firstChild Zwraca pierwszego podwęzeł elementu.
lastChild Zwraca ostatniego podwęzeł elementu.
localName Zwraca lokalną część nazwy elementu.
namespaceURI Zwraca URI przestrzeni nazw elementu.
nextSibling Zwraca węzeł następujący po tym elemencie.
nodeName Zwraca nazwę węzła, w zależności od jego typu.
nodeType Zwróć typ węzła.
ownerDocument Zwraca element korzeń (obiekt dokumentu).
parentNode Zwraca węzeł nadrzędny elementu.
prefix Ustawia lub zwraca prefiks przestrzeni nazw elementu.
previousSibling Zwraca węzeł poprzedzający ten element.
schemaTypeInfo Zwraca informacje o typie powiązanym z elementem.
tagName Zwraca nazwę elementu.
textContent Ustawia lub zwraca tekst zawartość elementu oraz jego potomków.

Metody obiektu Element

Metoda 描述
appendChild() Dodaje nowy podwęzeł na końcu listy podwęzłów tego węzła.
cloneNode() Klonuje węzeł.
compareDocumentPosition() Porównuje pozycję dokumentu dwóch węzłów.
getAttribute() Zwraca wartość atrybutu.
getAttributeNS() Zwraca wartość atrybutu (z przestrzenią nazw).
getAttributeNode() Zwraca węzeł atrybutu jako obiekt Attribute.
getAttributeNodeNS() Zwraca węzeł atrybutu (z przestrzenią nazw) jako obiekt Attribute.
getElementsByTagName() Zwraca NodeList elementów węzłów, które pasują do elementu węzła oraz jego podwęzłów.
getElementsByTagNameNS() Zwraca NodeList elementów węzłów, które pasują do elementu węzła (z przestrzenią nazw) oraz jego podwęzłów.
getFeature(feature,version) Zwraca obiekt DOM, który implementuje dedykowaną API dla określonych cech i wersji.
getUserData(key) Zwraca obiekt powiązany z kluczem na węźle. Należy najpierw ustawić obiekt do tego węzła, używając samego klucza do wywołania setUserData.
hasAttribute() Zwraca, czy element ma atrybut o podanej nazwie.
hasAttributeNS() Zwraca, czy element ma atrybut o podanej nazwie i przestrzeni nazw.
hasAttributes() Zwraca, czy element ma atrybuty.
hasChildNodes() Zwraca, czy element ma podnode.
insertBefore() Wstawia nowy węzeł dziecka przed istniejącym podwęzłem.
isDefaultNamespace(URI) Zwraca, czy określony URI przestrzeni nazw jest domyślny.
isEqualNode() Sprawdza, czy dwa węzły są równe.
lookupNamespaceURI() Zwraca URI przestrzeni nazw, który pasuje do określonego prefiksu.
lookupPrefix() Zwraca prefiks, który pasuje do określonego URI przestrzeni nazw.
normalize()

Metoda normalize() usuwa puste węzły tekstowe i łączy sąsiednie węzły tekstowe.

Normalizuje wszystkie węzły tekstowe pod elementem (w tym atrybuty), gdzie tylko struktura (np. elementy, komentarze, instrukcje przetwarzania, sekcje CDATA i odwołania do encji) oddziela węzły tekstowe.

To znaczy, że nie istnieją sąsiednie węzły tekstowe ani puste węzły tekstowe.

removeAttribute() Usuwa określony atrybut.
removeAttributeNS() Usuwa określony atrybut (z przestrzenią nazw).
removeAttributeNode() Usuwa określony węzeł atrybutu.
removeChild() Usuwa podwęzeł.
replaceChild() Zastępuje podwęzeł.
setUserData(key,data,handler) Powiązuje obiekt z kluczem na elemencie.
setAttribute() Dodaje nowy atrybut.
setAttributeNS() Dodaje nowy atrybut (z przestrzenią nazw).
setAttributeNode() Dodaje nowy węzeł atrybutu.
setAttributeNodeNS(attrnode) Dodaje nowy węzeł atrybutu (z przestrzenią nazw).
setIdAttribute(name,isId) Jeśli atrybut obiektu Attribute ma atrybut isId ustawiony na true, ta metoda oznacza określony atrybut jako użytkownika określony atrybut ID.
setIdAttributeNS(uri,name,isId) Jeśli atrybut obiektu Attribute ma atrybut isId ustawiony na true, ta metoda oznacza określony atrybut (z przestrzenią nazw) jako użytkownika określony atrybut ID.
setIdAttributeNode(idAttr,isId) Jeśli atrybut obiektu Attribute ma atrybut isId ustawiony na true, ta metoda oznacza określony atrybut jako użytkownika określony atrybut ID.

Top

Atrybuty obiektu Attr

Atrybut 描述
baseURI Zwraca absolutny punkt odniesienia URI atrybutu.
isId Jeśli atrybut jest typu id, zwraca true, w przeciwnym razie zwraca false.
localName Zwraca lokalną część nazwy atrybutu.
name Zwraca nazwę atrybutu.
namespaceURI Zwraca URI przestrzeni nazw atrybutu.
nodeName Zwróć nazwę węzła, w zależności od jego typu.
nodeType Zwróć typ węzła.
nodeValue Ustaw lub zwróć wartość węzła, w zależności od jego typu.
ownerDocument Zwróć korzenne elementy (obiekt dokumentu).
ownerElement Zwróć węzeł elementu, do którego przypisany jest atrybut.
prefix Ustaw lub zwróć prefiks przestrzeni nazw atrybutu.
schemaTypeInfo Zwróć informacje o typie związane z tym atrybutem.
specified

Jeśli wartość atrybutu została ustawiona w dokumencie, zwróć true;

Jeśli wartość atrybutu jest wartością domyślną w DTD/Schema, zwróć false.

textContent Ustaw lub zwróć treść tekstu atrybutu.
value Ustaw lub zwróć wartość atrybutu.

Top

Obiekt Text XML DOM

Atrybuty obiektu Text

Atrybut 描述
data Ustaw lub zwróć tekst elementu lub atrybutu.
isElementContentWhitespace Sprawdź, czy węzeł tekstowy zawiera zawartość białych znaków.
length Zwróć długość tekstu elementu lub atrybutu.
wholeText Zwróć wszystkie teksty sąsiednich węzłów tekstowych, połączone w kolejności dokumentu.

Metody obiektu Text

Metoda 描述
appendData() Dołącz dane do węzła.
deleteData() Usuń dane z węzła.
insertData() Wstaw dane do węzła.
replaceData() Zastąp dane w węźle.
replaceWholeText(text) Zastąp tekst tego węzła i wszystkich sąsiednich węzłów tekstowych z podanym tekstem.
splitText() Rozdziel węzeł Text na dwa.
substringData() Wyodrębnij dane z węzła.

Top

Obiekt CDATASection XML DOM

Atrybuty obiektu CDATASection

Atrybut 描述
data Ustaw lub zwróć tekst tego węzła.
length Zwróć długość CDATA.

Metody obiektu CDATASection

Metoda 描述
appendData() Dołącz dane do węzła.
deleteData() Usuń dane z węzła.
insertData() Wstaw dane do węzła.
replaceData() Zastąp dane w węźle.
splitText() Rozdziel węzeł CDATA na dwa węzły.
substringData() Wyodrębnij dane z węzła.

Top

Obiekt Comment XML DOM

Atrybuty obiektu Comment

Atrybut 描述
data Ustaw lub zwróć tekst tego węzła.
length Zwróć długość tekstu tego węzła.

Metody obiektu Comment

Metoda 描述
appendData() Dołącz dane do węzła.
deleteData() Usuń dane z węzła.
insertData() Wstaw dane do węzła.
replaceData() Zastąp dane w węźle.
substringData() Wyodrębnij dane z węzła.

Top

Obiekt XMLHttpRequest XML DOM

Metody obiektu XMLHttpRequest

Metoda 描述
abort() Anuluj bieżące żądanie.
getAllResponseHeaders() Zwróć informacje nagłówkowe.
getResponseHeader() Zwróć wartość określonej wartości nagłówka HTTP odpowiedzi.
open(method,url,async,uname,pswd)

Określ typ żądania, URL, czy żądanie powinno być przetwarzane asynchronicznie oraz inne opcjonalne atrybuty żądania.

  • method: typ żądania: GET lub POST
  • url: lokalizacja pliku na serwerze
  • async: true (asynchroniczne) lub false (synchroniczne)
send(string)

Wysyłaj żądanie do serwera.

string: używane tylko w żądaniach POST

setRequestHeader() Dodaj parę etykieta/wartość do nagłówków do wysłania.

Atrybuty obiektu XMLHttpRequest

Atrybut 描述
onreadystatechange Przechowuje funkcję (lub nazwę funkcji) automatycznie wywoływane przy każdym zmianie wartości właściwości readyState.
readyState

Zapisuje stan XMLHttpRequest. Zmiany od 0 do 4:

  • 0: żądanie nie zainicjalizowane
  • 1: połączenie z serwerem ustanowione
  • 2: żądanie otrzymane
  • 3: przetwarzanie żądania
  • 4: żądanie zakończone, odpowiedź gotowa
responseText Zwraca dane odpowiedzi w formacie ciągu znaków.
responseXML Zwraca dane odpowiedzi w formacie danych XML.
status Zwraca numer stanu (np. "404" oznacza "Nie znaleziono", lub "200" oznacza "OK").
statusText Zwraca tekst stanu (np. "Nie znaleziono" lub "OK").

Top

Elementy XSD

element Wyjaśnienie
all Określa, że podelementy mogą występować w dowolnej kolejności, a każdy podelement może występować zero lub jeden raz.
annotation Element annotation jest elementem wierzchołkowym, który określa komentarze schema.
any Pozwala twórcy rozszerzyć dokument XML za pomocą elementów niezdefiniowanych przez schema.
anyAttribute Pozwala twórcy rozszerzyć dokument XML za pomocą atrybutów niezdefiniowanych przez schema.
appInfo Określ informacje, które aplikacja ma użyć w elemencie annotation.
attribute Zdefiniuj atrybut.
attributeGroup Zdefiniuj grupę atrybutów używaną w definicji złożonego typu.
choice Pozwala na zawarcie tylko jednego elementu wewnątrz deklaracji <choice>.
complexContent Zdefiniuj rozszerzenie lub ograniczenie złożonego typu (zawierającego mieszane zawartość lub zawierającego wyłącznie elementy).
complexType Zdefiniuj złożony typ.
dokumentacja Zdefiniuj tekstowe komentarze w schema.
element Zdefiniuj element.
extension Rozszerz istniejące elementy simpleType lub complexType.
field Określa wyrażenie XPath, które określa wartości używane do definiowania ograniczeń identyfikacyjnych.
group Definiuje grupę elementów używaną w definicji typów złożonych.
import Dodaje do dokumentu kilka schematów z różnymi celami przestrzeni nazw.
include Dodaje do dokumentu kilka schematów z tym samym celem przestrzeni nazw.
key Określa, że wartość atrybutu lub elementu (lub zestaw wartości) musi być kluczem w określonym zakresie.
keyref Określa, że wartość atrybutu lub elementu (lub zestaw wartości) musi odpowiadać wartości klucza lub unikalnego elementu.
list Definiuje prosty typ jako listę wartości określonego typu danych.
notation Opisuje format danych nie-XML w dokumencie XML.
redefine Przedefiniowuje proste i złożone typy, grupy i grupy atrybutów pobrane z zewnętrznego pliku schematu.
restriction Definiuje ograniczenia dla simpleType, simpleContent lub complexContent.
schema Definiuje korzeń schematu.
selector Określa wyrażenie XPath, które wybiera grupę elementów dla ograniczeń identyfikacyjnych.
sequence Wymaga, aby podelementy pojawiały się w kolejności. Każdy podelement może pojawiać się 0 do dowolnej liczby razy.
simpleContent Zawiera rozszerzenia lub ograniczenia elementów complexType i nie zawiera żadnych elementów.
simpleType Definiuje prosty typ, określa ograniczenia oraz informacje o wartościach atrybutów lub elementów zawierających tylko tekst.
union Definiuje zbiór wielu simpleType.
unique Wartość atrybutu lub elementu (lub kombinacja wartości atrybutu lub elementu) musi być unikalna w określonym zakresie.

Ograniczenia typów danych w XSD

Zobacz XSD ograniczenia / Facets

Ograniczenie 描述
enumeration Definiuje listę akceptowalnych wartości.
fractionDigits Definiuje maksymalną liczbę miejsc po przecinku. Musi być większa lub równa 0.
length Definiuje dokładną liczbę dozwolonych znaków lub elementów listy. Musi być większa lub równa 0.
maxExclusive Definiuje górną granicę wartości liczbowych. Dozwolone wartości muszą być mniejsze niż ta wartość.
maxInclusive Definiuje górną granicę wartości liczbowych. Dozwolone wartości muszą być mniejsze lub równe tej wartości.
maxLength Definiuje maksymalną liczbę dozwolonych znaków lub elementów listy. Musi być większa lub równa 0.
minExclusive Definiuje dolną granicę wartości liczbowych. Dozwolone wartości muszą być większe niż ta wartość.
minInclusive Definiuje dolną granicę wartości liczbowych. Dozwolone wartości muszą być większe lub równe tej wartości.
minLength Definicja minimalnej liczby dozwolonych znaków lub elementów listy. Musi być większa lub równa 0.
pattern Definicja dokładnej sekwencji znaków akceptowanych.
totalDigits Definicja dokładnej liczby miejsc dziesiętnych dozwolonych dla liczby arabskiej. Musi być większa niż 0.
whiteSpace Definicja sposobu przetwarzania białych znaków (wierszy, enterów, spacji oraz tabulatorów).

Top

element XSLT

element 描述
apply-imports Zastosowanie reguł szablonów z importowanego stylu.
apply-templates Zastosowanie szablonu do bieżącego elementu lub podelementów.
attribute Dodanie atrybutu do elementu.
attribute-set Tworzenie nazwanego zestawu atrybutów.
call-template Wywołanie określonego szablonu.
choose Użycie z <when> oraz <otherwise>, aby wyrazić wielokrotne testy warunkowe.
comment Tworzenie węzła komentarza w drzewie wynikowym.
copy Tworzenie kopii bieżącego węzła (bez podwęzłów i atrybutów).
copy-of Tworzenie kopii bieżącego węzła (z podwęzłami i atrybutami).
decimal-format Definicja znaków i symboli używanych do formatowania liczb, gdy są one konwertowane na ciąg znaków za pomocą funkcji format-number().
element Tworzenie węzła elementu w dokumencie wyjściowym.
fallback Jeśli procesor nie obsługuje pewnego elementu XSLT, określenie alternatywnego kodu do uruchomienia.
for-each Przechodzenie przez każdy węzeł w określonej kolekcji węzłów.
if Zawarcie szablonu, który jest stosowany tylko wtedy, gdy spełniony jest określony warunek.
import Do wlewania zawartości jednego stylu do innego stylu.
include Zawarcie zawartości jednego stylu w innym stylu.
key Deklaracja nazwanego klucza.
message Zapisanie komunikatu do wyjścia (do raportowania błędów).
namespace-alias Zastąpienie przestrzeni nazw w stylu ze względu na różne przestrzenie nazw w wyjściu.
number Mierzenie liczbowej pozycji bieżącego węzła i formatowanie liczb.
otherwise Określenie domyślnej akcji elementu <choose>.
output Definicja formatu dokumentu wyjściowego.
param Deklaracja lokalnych lub globalnych parametrów.
preserve-space Do definiowania elementów, które mają zachować białe znaki.
processing-instruction Tworzenie węzła instrukcji przetwarzania.
sort Sortowanie wyników.
strip-space Definicja elementu, który powinien usuwać białe znaki.
stylesheet Definiuje korzeń szablonu.
template Zasady stosowane, gdy pasuje określony węzeł.
text Tworzy węzły tekstowe za pomocą szablonu.
transform Definiuje korzeń szablonu.
value-of Wyodrębnia wartość wybranego węzła.
variable Deklaruje zmienne lokalne lub globalne.
when Określa działanie elementu <choose>.
with-param Określa wartość parametru, który musi być传入 do szablonu.

Top

Funkcje XSLT, XPath oraz XQuery

Funkcje dostępu

名称 Wyjaśnienie
fn:node-name(node) Zwraca nazwę węzła parametru.
fn:nilled(node) Zwraca wartość logiczną określającą, czy węzeł parametru jest odrzucony.
fn:data(item.item,...) Akceptuje sekwencję elementów i zwraca sekwencję wartości atomowych.
  • fn:base-uri()
  • fn:base-uri(node)
Zwraca wartość atrybutu base-uri bieżącego lub określonego węzła.
fn:document-uri(node) Zwraca wartość atrybutu document-uri określonego węzła.

Funkcje błędów i śledzenia

名称 Wyjaśnienie
  • fn:error()
  • fn:error(error)
  • fn:error(error,description)
  • fn:error(error,description,error-object)

Przykład: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Błąd: Cena jest zbyt wysoka')

Wynik: Zwraca do zewnętrznego środowiska przetwarzania http://example.com/test#toohigh oraz ciąg znaków "Błąd: Cena jest zbyt wysoka".

fn:trace(value,label) Używane do debugowania zapytań.

Funkcje numeryczne

名称 Wyjaśnienie
fn:number(arg)

Zwraca wartość numeryczną parametru. Parametr może być wartością logiczną, ciągami znaków lub kolekcją węzłów.

Przykład: number('100')

Wynik: 100

fn:abs(num)

Zwraca wartość bezwzględną parametru.

Przykład: abs(3.14)

Wynik: 3.14

Przykład: abs(-3.14)

Wynik: 3.14

fn:dachowanie(num)

Zwraca najmniejszą liczbę całkowitą większą od parametru num.

Przykład: dachowanie(3.14)

Wynik: 4

fn:floor(num)

Zwraca największą liczbę całkowitą nie większą niż parametr num.

Przykład: floor(3.14)

Wynik: 3

fn:round(num)

Zaokrągla parametr num do najbliższej liczby całkowitej.

Przykład: round(3.14)

Wynik: 3

fn:round-half-to-even()

Przykład: round-half-to-even(0.5)

Wynik: 0

Przykład: round-half-to-even(1.5)

Wynik: 2

Przykład: round-half-to-even(2.5)

Wynik: 2

Funkcje dotyczące ciągów znaków

名称 Wyjaśnienie
fn:string(arg)

Zwraca wartość tekstową argumentu. Argumentem może być liczba, wartość logiczna lub zbiór węzłów.

Przykład: string(314)

Wynik: "314"

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

Zwraca ciąg znaków na podstawie sekwencji kodów punktowych.

Przykład: codepoints-to-string(84, 104, 233, 114, 232, 115, 101)

Wynik: 'Thérèse'

fn:string-to-codepoints(tekst)

Zwraca sekwencję kodów punktowych na podstawie ciągu znaków.

Przykład: string-to-codepoints("Thérèse")

Wynik: 84, 104, 233, 114, 232, 115, 101

fn:codepoint-equal(comp1, comp2) Zgodnie z porównaniem kodów punktowych Unicode, jeśli wartość comp1 jest równa wartości comp2, zwróć true. W przeciwnym razie zwróć false. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint)
  • fn:compare(comp1, comp2)
  • fn:compare(comp1, comp2, collation)

Jeśli comp1 jest mniejszy niż comp2, zwróć -1. Jeśli comp1 jest równe comp2, zwróć 0. Jeśli comp1 jest większy niż comp2, zwróć 1. (zgodnie z używaną regułą porównania).

Przykład: compare('ghi', 'ghi')

Wynik: 0

fn:łączenie(tekst, tekst, ...)

Zwraca łączenie ciągów znaków.

Przykład: concat('XPath ', 'is ', 'FUN!')

Wynik: 'XPath jest FUN!�c

fn:łączenie(tekst, tekst, ..., separator)

Używa parametru sep jako separatora, aby zwrócić sklejony ciąg znaków z parametru string.}

Przykład: string-join(('We', 'are', 'having', 'fun!'), ' ')

Wynik: ' We are having fun! '

Przykład: string-join(('We', 'are', 'having', 'fun!'))

Wynik: 'Wearehavingfun!'

Przykład: string-join((), 'sep')

Wynik: ''

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

Zwraca podciąg o określonej długości zaczynający się od pozycji start. Pierwszy znak ma indeks 1. Jeśli pominięto parametr len, zwraca podciąg od pozycji start do końca ciągu.

Przykład: substring('Beatles',1,4)

Wynik: 'Beat'

Przykład: substring('Beatles',2)

Wynik: 'eatles'

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

Zwraca długość określonego ciągu znaków. Jeśli nie podano parametru string, zwraca długość wartości tekstowej bieżącego węzła.

Przykład: string-length('Beatles')

Wynik: 7

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

Usuwa białe znaki z początku i końca określonej ciągu znaków i zastępuje wszystkie sekwencje białych znaków jednym, zwracając wynik. Jeśli nie podano parametru string, przetwarza bieżący węzeł.

Przykład: normalize-space(' The   XML ')

Wynik: 'The XML'

fn:normalize-unicode() Wykonuje specyfikację Unicode.
fn:upper-case(string)

Konwertuje parametr string na duże litery.

Przykład: upper-case('The XML')

Wynik: 'THE XML'

fn:lower-case(string)

Konwertuje parametr string na małe litery.

Przykład: lower-case('The XML')

Wynik: 'the xml'

fn:translate(string1,string2,string3)

Zamienia string2 w string1 na string3.

Przykład: translate('12:30','30','45')

Wynik: '12:45'

Przykład: translate('12:30','03','54')

Wynik: '12:45'

Przykład: translate('12:30','0123','abcd')

Wynik: 'bc:da'

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

Przykład: escape-uri("http://example.com/test#car", true())

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

Przykład: escape-uri("http://example.com/test#car", false())

Wynik: "http://example.com/test#car"

Przykład: escape-uri ("http://example.com/~bébé", false())

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

fn:contains(string1,string2)

Zwraca true, jeśli string1 zawiera string2, w przeciwnym razie zwraca false.

Przykład: contains('XML','XM')

Wynik: true

fn:starts-with(string1,string2)

Zwraca true, jeśli string1 zaczyna się string2, w przeciwnym razie zwraca false.

Przykład: starts-with('XML','X')

Wynik: true

fn:ends-with(string1,string2)

Zwraca true, jeśli string1 kończy się string2, w przeciwnym razie zwraca false.

Przykład: ends-with('XML','X')

Wynik: false

fn:substring-before(string1,string2)

Zwraca podciąg znaków, który pojawia się przed string2 w string1.

Przykład: substring-before('12/10','/')

Wynik: '12'

fn:substring-after(string1,string2)

Zwraca podciąg znaków, który pojawia się po string2 w string1.

Przykład: substring-after('12/10','/')

Wynik: '10'

fn:matches(string,pattern)

Zwraca true, jeśli parametr string pasuje do określonego wzorca, w przeciwnym razie zwraca false.

Przykład: matches("Merano", "ran")

Wynik: true

fn:replace(string,pattern,replace)

Zamienia określony wzorzec na wartość replace i zwraca wynik.

Przykład: replace("Bella Italia", "l", "*")

Wynik: 'Be**a Ita*ia'

Przykład: replace("Bella Italia", "l", "")

Wynik: 'Bea Itaia'

fn:tokenize(string,pattern)

Przykład: tokenize("XPath is fun", "\s+")

Wynik: ("XPath", "is", "fun")

Funkcje dotyczące anyURI.

名称 Wyjaśnienie
fn:resolve-uri(relative,base)  

Funkcje dotyczące wartości logicznych.

名称 Wyjaśnienie
fn:boolean(arg) Zwraca wartość logiczną dla liczby, ciągu lub zbioru węzłów.
fn:not(arg)

Najpierw przywraca parametr do wartości logicznej za pomocą funkcji boolean().

Jeśli wartość logiczna jest false, zwraca true, w przeciwnym razie zwraca true.

Przykład: not(true())

Wynik: false

fn:true()

Zwraca wartość logiczną true.

Przykład: true()

Wynik: true

fn:false()

Zwraca wartość logiczną false.

Przykład: false()

Wynik: false

Funkcje dotyczące trwania, daty i czasu.

Funkcje do wyodrębniania komponentów daty, czasu i trwania.

名称 Wyjaśnienie
fn:dateTime(date,time) Konwertuje parametr na datę i czas.
fn:years-from-duration(datetimedur) Zwraca wartość roku parametru jako liczbę całkowitą, wyrażoną w standardowym systemie słownym.
fn:months-from-duration(datetimedur) Zwraca wartość miesiąca parametru jako liczbę całkowitą, wyrażoną w standardowym systemie słownym.
fn:days-from-duration(datetimedur) Zwraca wartość dnia parametru jako liczbę całkowitą, wyrażoną w standardowym systemie słownym.
fn:hours-from-duration(datetimedur) Zwraca liczbę całkowitą reprezentującą godziny w wartości parametru, wyrażoną w standardowej notacji słownej.
fn:minutes-from-duration(datetimedur) Zwraca liczbę całkowitą reprezentującą minuty w wartości parametru, wyrażoną w standardowej notacji słownej.
fn:seconds-from-duration(datetimedur) Zwraca dziesiętną liczbę minut w wartości parametru, wyrażoną w standardowej notacji słownej.
fn:year-from-dateTime(datetime)

Zwraca liczbę całkowitą reprezentującą rok w wartości lokalnej parametru.

Przykład: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Wynik: 2005

fn:month-from-dateTime(datetime)

Zwraca liczbę całkowitą reprezentującą miesiąc w wartości lokalnej parametru.

Przykład: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Wynik: 01

fn:day-from-dateTime(datetime)

Zwraca liczbę całkowitą reprezentującą dzień w wartości lokalnej parametru.

Przykład: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Wynik: 10

fn:hours-from-dateTime(datetime)

Zwraca liczbę całkowitą reprezentującą godziny w wartości lokalnej parametru.

Przykład: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Wynik: 12

fn:minutes-from-dateTime(datetime)

Zwraca liczbę całkowitą reprezentującą minuty w wartości lokalnej parametru.

Przykład: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Wynik: 30

fn:seconds-from-dateTime(datetime)

Zwraca dziesiętną liczbę sekund w wartości lokalnej parametru.

Przykład: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))

Wynik: 0

fn:timezone-from-dateTime(datetime) Zwróć część strefy czasowej parametru, jeśli istnieje.
fn:year-from-date(date)

Zwraca liczbę całkowitą reprezentującą rok w wartości lokalnej parametru.

Przykład: year-from-date(xs:date("2005-04-23"))

Wynik: 2005

fn:month-from-date(date)

Zwróć całkowitą liczbę miesięcy w wartości lokalnej parametru.

Przykład: month-from-date(xs:date("2005-04-23"))

Wynik: 4

fn:day-from-date(date)

Zwróć całkowitą liczbę dni w wartości lokalnej parametru.

Przykład: day-from-date(xs:date("2005-04-23"))

Wynik: 23

fn:timezone-from-date(date) Zwróć część strefy czasowej parametru, jeśli istnieje.
fn:hours-from-time(time)

Zwróć całkowitą liczbę godzin w wartości lokalnej parametru.

Przykład: hours-from-time(xs:time("10:22:00"))

Wynik: 10

fn:minutes-from-time(time)

Zwróć całkowitą liczbę minut w wartości lokalnej parametru.

Przykład: minutes-from-time(xs:time("10:22:00"))

Wynik: 22

fn:seconds-from-time(time)

Zwróć całkowitą liczbę sekund w wartości lokalnej parametru.

Przykład: seconds-from-time(xs:time("10:22:00"))

Wynik: 0

fn:timezone-from-time(time) Zwróć część strefy czasowej parametru, jeśli istnieje.
fn:adjust-dateTime-to-timezone(datetime,timezone)

Jeśli parametr timezone jest pusty, zwróć dateTime bez strefy czasowej.

W przeciwnym razie zwróć dateTime z czasem strefy czasowej.

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

Jeśli parametr timezone jest pusty, zwróć date bez strefy czasowej.

W przeciwnym razie zwróć date z czasem strefy czasowej.

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

Jeśli parametr timezone jest pusty, zwróć czas bez strefy czasowej.

W przeciwnym razie zwróć czas z czasem strefy czasowej.

Funkcje związane z QNames

名称 Wyjaśnienie
fn:QName()  
fn:local-name-from-QName()  
fn:namespace-uri-from-QName()  
fn:namespace-uri-for-prefix()  
fn:in-scope-prefixes()  
fn:resolve-QName()  

Funkcje dotyczące węzłów

名称 Wyjaśnienie
  • fn:name()
  • fn:name(nodeset)
Zwraca nazwę bieżącego węzła lub pierwszego węzła w zestawie węzłów.
  • fn:local-name()
  • fn:local-name(nodeset)
Zwraca nazwę bieżącego węzła lub pierwszego węzła w zestawie węzłów bez prefiksu przestrzeni nazw.
  • fn:namespace-uri()
  • fn:namespace-uri(nodeset)
Zwraca przestrzeń nazw URI bieżącego węzła lub pierwszego węzła w zestawie węzłów.
fn:lang(lang)

Zwraca true, jeśli język bieżącego węzła pasuje do określonego języka.

Przykład: Lang("en") jest prawdziwy dla <p xml:lang="en">...</p>

Przykład: Lang("de") jest fałszywy dla <p xml:lang="en">...</p>

  • fn:root()
  • fn:root(node)
Zwraca korzeń drzewa węzłów bieżącego węzła lub określonego węzła. Zwykle jest to węzeł dokumentu.

Funkcje dotyczące sekwencji

Zwykła funkcja

名称 Wyjaśnienie
fn:index-of((item,item,...),searchitem)

Zwraca pozycje elementów w sekwencji, które są równe parametrowi searchitem.

Przykład: index-of ((15, 40, 25, 40, 10), 40)

Wynik: (2, 4)

Przykład: index-of (("a", "dog", "and", "a", "duck"), "a")

Wynik (1, 4)

Przykład: index-of ((15, 40, 25, 40, 10), 18)

Wynik: ()

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

Zwraca nową sekwencję zbudowaną z parametru item, jednocześnie usuwając element o podanej pozycji.

Przykład: remove(("ab", "cd", "ef"), 0)

Wynik: ("ab", "cd", "ef")

Przykład: remove(("ab", "cd", "ef"), 1)

Wynik: ("cd", "ef")

Przykład: remove(("ab", "cd", "ef"), 4)

Wynik: ("ab", "cd", "ef")

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

Jeśli wartość parametru jest pustym sekwencją, zwraca true, w przeciwnym razie zwraca false.

Przykład: empty(remove(("ab", "cd"), 1))

Wynik: false

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

Zwraca true, jeśli wartość parametru nie jest pustą sekwencją, w przeciwnym razie zwraca false.

Przykład: exists(remove(("ab"), 1))

Wynik: false

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

Zwraca unikalne wartości.

Przykład: distinct-values((1, 2, 3, 1, 2))

Wynik: (1, 2, 3)

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

Zwraca nową sekwencję, która jest konstruowana z parametru item, jednocześnie wstawiając wartość inserts w pozycji określonej przez parametr pos.

Przykład: insert-before(("ab", "cd"), 0, "gh")

Wynik: ("gh", "ab", "cd")

Przykład: insert-before(("ab", "cd"), 1, "gh")

Wynik: ("gh", "ab", "cd")

Przykład: insert-before(("ab", "cd"), 2, "gh")

Wynik: ("ab", "gh", "cd")

Przykład: insert-before(("ab", "cd"), 5, "gh")

Wynik: ("ab", "cd", "gh")

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

Zwraca odwróconą kolejność określonych projektów.

Przykład: reverse(("ab", "cd", "ef"))

Wynik: ("ef", "cd", "ab")

Przykład: reverse(("ab"))

Wynik: ("ab")

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

Zwraca sekwencję projektów指定位置返回项目序列,序列的长度由 len 参数指定。

Pozycja pierwszego projektu to 1.

Przykład: subsequence(($item1, $item2, $item3,...), 3)

Wynik: ($item3, ...)

Przykład: subsequence(($item1, $item2, $item3, ...), 2, 2)

Wynik: ($item2, $item3)

fn:unordered((item,item,...)) Zwraca projekty w kolejności zależnej od realizacji.

Funkcja testująca pojemność sekwencji

名称 Wyjaśnienie
fn:zero-or-one(item,item,...) Jeśli parametr zawiera zero lub jeden element, zwraca parametr, w przeciwnym razie generuje błąd.
fn:one-or-more(item,item,...) Jeśli parametr zawiera jeden lub więcej elementów, zwraca parametr, w przeciwnym razie generuje błąd.
fn:exactly-one(item,item,...) Jeśli parametr zawiera jeden element, zwraca parametr, w przeciwnym razie generuje błąd.

Equals, Union, Intersection and Except

名称 Wyjaśnienie
fn:deep-equal(param1,param2,collation) Jeśli param1 i param2 są równe sobie (deep-equal), zwraca true, w przeciwnym razie zwraca false.

Funkcje sumaryczne

名称 Wyjaśnienie
fn:count((item,item,...)) Zwraca liczbę węzłów.
fn:avg((arg,arg,...))

Zwraca średnią wartości parametrów.

Przykład: avg((1,2,3))

Wynik: 2

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

Zwraca parametr większy niż inne parametry.

Przykład: max((1,2,3))

Wynik: 3

Przykład: max(('a', 'k'))

Wynik: 'k'

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

Zwraca parametr mniejszy niż inne parametry.

Przykład: min((1,2,3))

Wynik: 1

Przykład: min(('a', 'k'))

Wynik: 'a'

fn:sum(arg,arg,...) Zwraca sumę wartości liczbowych każdego węzła w określonej kolekcji.

Funkcje generujące sekwencje

名称 Wyjaśnienie
fn:id((string,string,...),node) Zwraca sekwencję węzłów, których wartość ID równa się jednej lub kilku wartości podanych w parametrze string.
fn:idref((string,string,...),node) Zwraca sekwencję węzłów lub atrybutów, których wartość IDREF równa się jednej lub kilku wartości podanych w parametrze string.
fn:doc(URI)  
fn:doc-available(URI) Jeśli funkcja doc() zwraca węzeł dokumentu, zwraca true, w przeciwnym razie zwraca false.
  • fn:collection()
  • fn:collection(string)
 

Funkcje kontekstowe

名称 Wyjaśnienie
fn:position()

Zwraca index pozycji bieżącego przetwarzanego węzła.

Przykład: //book[position()<=3]

Wynik: wybierz pierwsze trzy elementy 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