CLXXVIII. XMLReader-Funktionen
Einführung
Die XMLReader-Erweiterung ist ein fortschreitender XML-Parser. Der Reader agiert wie ein Zeiger, der einen Datenstrom durchläuft und jeden vorbeikommenden Knoten der Reihe nach verarbeitet.
Installation
Die XMLReader-Erweiterung steht für PHP 5.0 unter PECL zur Verfügung. Ab PHP 5.1 ist sie standardmäßig enthalten und aktiviert. Sie wird durch die Option --enable-xmlreader (oder --with-xmlreader vor PHP 5.1) aktiviert. Die libxml Erweiterung wird vorausgesetzt.
Vordefinierte Klassen
XMLReader->close() - XMLReader-Eingabe beenden
XMLReader->expand() - Aktuellen Knoten in einen DOM-Knoten exportieren
XMLReader->getAttribute() - Gibt den Wert eines Attributes nach Namen zurück
XMLReader->getAttributeNo() - Gibt den Wert eines Attributes nach Position zurück
XMLReader->getAttributeNS() - Gibt den Wert eines Attributes nach Namen und URI zurück
XMLReader->getParserProperty() - Anzeigen, ob Parsereigenschaften gesetzt sind oder nicht
XMLReader->isValid() - Anzeigen, ob ein valides Dokument vorliegt
XMLReader->lookupNamespace() - Gibt URI für einen Präfix im Knotenbereich zurück
XMLReader->moveToAttribute() - Reader positionieren nach Attributnamen
XMLReader->moveToAttributeNo() - Reader positionieren nach Attributnamen und Position
XMLReader->moveToAttributeNs() - Reader positionieren nach Attributnamen und URI
XMLReader->moveToElement() - Reader positionieren auf Elternelement des aktuellen Attributknotens
XMLReader->moveToFirstAttribute() - Reader positionieren auf erstes Attribut im Knoten
XMLReader->moveToNextAttribute() - Reader positionieren auf nächstes Attribut im Knoten
XMLReader->next() - Reader positionieren auf nächstes Element, Kinder überspringen
XMLReader->open() - URI setzen, die geparst werden soll
XMLReader->read() - Reader positionieren auf nächstes Element
XMLReader->setParserProperty() - Parsereigenschaft setzen
XMLReader->setRelaxNGSchema() - RelaxNG-Schema-URI setzen, gegen die validiert werden soll
XMLReader->setRelaxNGSchemaSource() - Zeichenkette setzen, die RelaxNG-Schemadaten enthält, gegen die validiert werden soll
XMLReader->XML() - Zeichenkette setzen, deren Inhalt geparst werden soll
Tabelle 291.
| Name | Typ | nur lesen | Beschreibung |
|---|---|---|---|
| attributeCount | int | ja | Anzahl Attribute eines Knotens |
| baseURI | string | ja | Basis URI des Knotens |
| depth | int | ja | Knotentiefe im Strukturbaum beginnend bei 0 |
| hasAttributes | bool | ja | Zeigt an, ob ein Knoten Attribute besitzt |
| hasValue | bool | ja | Zeigt an, ob ein Knoten einen Textwert besitzt |
| isDefault | bool | ja | Zeigt an, ob ein Knoten durch DTD disqualifiziert wurde |
| isEmptyElement | bool | ja | Zeigt an, ob ein Knoten ein Leerelement ist |
| localName | string | ja | Lokaler Knotenname |
| name | string | ja | Qualifizierter Knotenname |
| namespaceURI | string | ja | URI des Namensraum dem der Knoten zugehört |
| nodeType | int | ja | Knotentyp |
| prefix | string | ja | Präfix des Namensraum dem der Knoten zugehört |
| value | string | ja | Textwert des Knotens |
| xmlLang | string | ja | Der xml:lang Bereich dem der Knoten angehört |
Vordefinierte Konstanten
Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.
| Warnung |
| Seit PHP 5.1 verwendet der XMLReader Klassenkonstanten. Frühere Versionen verwenden globale Konstanten in Form von XMLREADER_ELEMENT. |
Tabelle 292. XMLReader Knotentypen
| Konstante | Werte | Beschreibung |
|---|---|---|
| XMLReader::NONE (integer) | 0 | Kein Knotentype |
| XMLReader::ELEMENT (integer) | 1 | Element |
| XMLReader::ATTRIBUTE (integer) | 2 | Attribut |
| XMLReader::TEXT (integer) | 3 | Text |
| XMLReader::CDATA (integer) | 4 | CDATA Knoten |
| XMLReader::ENTITY_REF (integer) | 5 | Entitäten-Referenz |
| XMLReader::ENTITY (integer) | 6 | Entität-Deklarationsknoten |
| XMLReader::PI (integer) | 7 | Verarbeitungsvorschrift |
| XMLReader::COMMENT (integer) | 8 | Kommentarknoten |
| XMLReader::DOC (integer) | 9 | Dokumentknoten |
| XMLReader::DOC_TYPE (integer) | 10 | Dokumententypknoten |
| XMLReader::DOC_FRAGMENT (integer) | 11 | Dokumentteilknoten |
| XMLReader::NOTATION (integer) | 12 | Notationsknoten |
| XMLReader::WHITESPACE (integer) | 13 | Leerzeichenknoten |
| XMLReader::SIGNIFICANT_WHITESPACE (integer) | 14 | Bedeutende Leerzeichenknoten |
| XMLReader::END_ELEMENT (integer) | 15 | Schlußelement |
| XMLReader::END_ENTITY (integer) | 16 | Schlußentität |
| XMLReader::XML_DECLARATION (integer) | 17 | XML-Beschreibungsknoten |
Tabelle 293. Parseroptionen
| Konstante | Wert | Beschreibung |
|---|---|---|
| XMLReader::LOADDTD (integer) | 1 | DTD laden, aber nicht validieren |
| XMLReader::DEFAULTATTRS (integer) | 2 | DTD und Standardattribute laden, aber nicht validieren |
| XMLReader::VALIDATE (integer) | 3 | DTD laden und während dem Parsen validieren |
| XMLReader::SUBST_ENTITIES (integer) | 4 | Entitäten ersetzen und Referenzen erweitern |
Inhaltsverzeichnis
- XMLReader->close() — XMLReader-Eingabe beenden
- XMLReader->expand() — Gibt eine Kopie des aktullen Knotens als DOM-Objekt zurück
- XMLReader->getAttribute() — Gibt den Wert eines Attributes nach Namen zurück
- XMLReader->getAttributeNo() — Gibt den Wert eines Attributes nach Position zurück
- XMLReader->getAttributeNS() — Gibt den Wert eines Attributes nach lokalem Namen und URI zurück
- XMLReader->getParserProperty() — Zeigt an, ob die angegebene Eigenschaft gesetzt wurde
- XMLReader->isValid() — Zeigt an, ob das geparste Dokument valide ist
- XMLReader->lookupNamespace() — Prüfen, ob ein Namensbereich für einen Präfix vorhanden ist
- XMLReader->moveToAttribute() — Zeiger auf benanntes Attribut setzen
- XMLReader->moveToAttributeNo() — Zeiger auf Attribut nach Position setzen
- XMLReader->moveToAttributeNs() — Zeiger auf benanntes Attribut im Namensraum setzen
- XMLReader->moveToElement() — Zeiger positionieren auf das Elternelement des aktuellen Attributes
- XMLReader->moveToFirstAttribute() — Zeiger auf erstes Attribut setzen
- XMLReader->moveToNextAttribute() — Zeiger auf nächstes Attribut setzen
- XMLReader->next() — Zeiger auf nächstes Element setzen und Kinder überspringen
- XMLReader->open() — URI angeben, die auf XML-Inhalt verweist, der geparst werden soll
- XMLReader->read() — Zeiger auf das nächste Element setzen
- XMLReader->setParserProperty() — Parser-Optionen setzen
- XMLReader->setRelaxNGSchema() — Dateiname oder URI des RelaxNG-Schema setzen
- XMLReader->setRelaxNGSchemaSource() — Zeichenkette setzen, die RelaxNG-Schemadaten enthält
- XMLReader->XML() — Zeichenkette setzen, deren Inhalt geparst werden soll
