Metody objektů XML a XMLList
Návratovým typem těchto metod je objekt typu XMLList. Pokud je metoda volána na objektu typu XMLList, jsou výsledky volání stejné metody na jednotlivých prvcích XMLListu spojeny do objektu XMLList, který je návratovou hodnotou. Tímto je do značné míry setřen rozdíl mezi objekty typu XML a XMLList. Popis jednotlivých metod je platný při volání na objektu typu XML.
- attribute(attributeName)
- Vrátí atribut, jehož jméno je shodné s
attributeName
. Návratovou hodnotou je tedy XMLList obsahující jeden nebo žádný XML objekt reprezentující atribut. Totožné sobject.@attributeName
. - attributes()
- Vrátí všechny atributy. Totožné s
object.@*
. - child(propertyName)
- Pokud je
propertyName
číslicová hodnota, vrátí XMLList obsahující jako jedinou položku prvek na dané pozici, jinak vrátí prvek s daným jménem. Pro číslicové hodnoty propertyName totožné sobject.*[propertyName]
, jinak sobject.propertyName
. - children()
- Vrátí všechny prvky v objektu. Totožné s
object.*
. - comments()
- Vrátí všechny prvky v objektu, které reprezentují XML komentáře.
- descendants([name])
- Pokud je předán argument
name
, jsou návratovou hodnotou všechny prvky se jménem totožným sname
ve XML podstromu tohoto objektu, což je totožné sobject..name
. Při volání bez argumentů jsou výsledkem všechny prvky v XML podstromu, což je totožné sobject..*
. - elements([name])
- Vrátí všechny prvky objektu, které reprezentují XML elementy.
- normalize()
- V XML stromu tohoto objektu sloučí sousedící textové prvky, odstraní prázdné textové prvky.
- processingInstructions([name])
- Vrátí všechny prvky tohoto objektu, které reprezentují XML processing instruction (s daným jménem).
- text()
- Vrátí textové prvky tohoto objektu jako XMLList.
Metody globálního objektu
- isXMLName(name)
- Vrátí true, pokud
name
může být použito jako jméno XML elementu či atributu. - Namespace([[prefix, ]uri])
- Pokud je předán jediný argument typu Namespace, je vrácen beze změny. Jinak je výsledek totožný s výrazem
new Namespace([[prefix,] uri])
. - QName([namespace,] name)
- Pokud je předán jediny argument typu QName, je vrácen beze změny. Jinak je výsledek totožný s výrazem
new QName([namespace,] name)
. - XML([value])
- Pokud je funkce volána bez argumentu, vrací objekt XML reprezentující prázdný textový uzel. V jiném případě je hodnota
value
zkonvertována na objekt XML. Při převodu na typ XML platí následující pravidla:- Pokud je
value
typu XML, je výsledkem převoduvalue
. - Pokud je
value
typu Boolean či Number, je jeho hodnota převedena na řetězec. - Pokud je
value
řetězec, je zpracován jako fragment XML. - Pokud je
value
jednoho z typů z W3C DOM, je převedena na odpovídající E4X reprezentaci. Tato část je ve specifikaci uvedena jako volitelná. - V jiných případech je vyhozena vyjímka TypeError.
- Pokud je
Příklad
var xml = new XML(document); //document je DOM Document
- XMLList(value)
- Hodnota
value
je zkonvertována na objekt XMLList. Pro konverzivalue
na typ XMLList platí následující pravidla:- Pokud je
value
typu XMLList, je přímo výsledkem konverze. - Pokud je
value
typu XML, je vytvořen nový XMLList obsahujícívalue
jako jediný prvek. - Pokud je
value
typu Boolean či Number, je zkonvertován na řetězec. - Pokud je
value
řetězec, je parsován jako XML fragment, kde každý element na "hlavní" úrovni je prvkem nového objektu XMLList. - V jiných případech je vyhozena vyjímka TypeError.
- Pokud je
Informace o původním dokumentu
- Autor: Jan Matoušek