Werking van de XPath Tester
De XPath Tester is een hulpmiddel waarmee u XPath-expressies kunt testen op zelf aangeleverde XML- of HTML-inhoud. De tool analyseert de ingevoerde documentstructuur en toont alle delen van de inhoud die overeenkomen met de opgegeven expressie. Voor elke overeenkomende node (match) worden het type, de naam, het pad en een voorbeeld van de waarde weergegeven. Indien gewenst kan de waarde van een individueel resultaat direct worden gekopieerd.
De tool verwerkt invoer tot vastgestelde limieten:
- XML / HTML invoer: Tekstinhoud in XML- of HTML-formaat met een maximale lengte van 500.000 tekens.
- XPath-expressie: Een XPath-expressie met een maximale lengte van 4.000 tekens.
- Invoertype: Een gerichte keuze tussen "XML" of "HTML".
Tijdens de verwerking toont de interface specifieke statistieken en resultaten, waaronder het aantal tekens in het invoerdocument ("Tekens") en het aantal weergegeven resultaten ("Resultaten").
Verschillen tussen XML-modus en HTML-modus
Bij het evalueren van XPath-expressies is de keuze van het invoertype bepalend voor hoe de parser de documentstructuur interpreteert:
- XML-modus: In deze modus worden de strikte XML-naamruimteregels strikt gehandhaafd. Dit is noodzakelijk voor goedgevormde XML-documenten die gebruikmaken van specifieke schema's en prefixes.
- HTML-modus: Deze modus is vergevingsgezind ingericht. Hierdoor kunnen eenvoudige paden, zoals
//a, direct overeenkomen met normale HTML-tags zonder dat er strikte XML-validatie plaatsvindt.
De tool is ontworpen voor statische analyse van de ingevoerde tekst. Dit betekent dat de tool geen real-time structuur, gerenderde DOM of netwerkverzoeken van live online pagina's representeert.
Omgaan met XML-naamruimten
XML-naamruimten (namespaces) worden in XML-modus volledig ondersteund volgens de documentdeclaratie:
- Gedeclareerde prefixes: Naamruimte-prefixes die in de XML-invoer zijn gedeclareerd, kunnen direct in de XPath-expressie worden gebruikt, bijvoorbeeld
//x:item. - Standaardnaamruimten: Voor standaardnaamruimten in de XML volgt een expressie zoals
//itemeveneens de declaratie van het document.
Foutmeldingen en prestatielimieten
Om de browser responsief te houden en mislukte evaluaties op te vangen, hanteert de tool strikte regels en tijdslimieten:
- Tijdslimiet: De evaluatie van een XPath-expressie stopt automatisch na 2 seconden. Als deze limiet wordt overschreden, verschijnt de melding: "Deze XPath deed er te lang over om uit te voeren. Verfijn de expressie of gebruik een kleiner voorbeeld."
- Te grote invoer: Indien het invoerdocument de limiet overschrijdt, toont de tool de melding: "Dit document is te groot om hier te testen. Probeer een kleiner voorbeeld."
- Te lange expressie: Als de XPath-expressie langer is dan de toegestane limiet, verschijnt de melding: "Deze XPath-expressie is te lang om hier te testen."
- Parseerfouten: Wanneer het document niet correct kan worden gelezen, krijgt u de melding: "Kon dit document niet parsen."
- Ongeldige expressie: Als de syntaxis van de XPath-expressie onjuist is, toont de interface: "Deze XPath-expressie is niet geldig."
- Evaluatiefouten: Indien de XPath om andere redenen niet kan worden uitgevoerd, verschijnt: "Kon deze XPath niet evalueren."
- Geen resultaten: Als er geen overeenkomsten zijn, toont de tool: "Geen resultaten."
- Resultatenlimiet: Wanneer er meer dan 200 resultaten worden gevonden, toont de tool de melding "Eerste
{max}worden weergegeven." en worden alleen de eerste 200 resultaten getoond.
Privacy en gegevensverwerking
Bij het gebruik van deze tester blijft uw data lokaal. Uw XML, HTML en XPath worden getest in uw browser. Er wordt niets geüpload naar BroBroGo.
Veelgestelde vragen
Kan ik XPath testen op zowel HTML als XML?
Ja. De XML-modus handhaaft de XML-naamruimteregels. De HTML-modus is flexibeler en zorgt ervoor dat eenvoudige paden zoals //a overeenkomen met normale tags.
Hoe werken XML-naamruimten?
Naamruimte-prefixes die in je XML zijn gedeclareerd, kunnen in de XPath worden gebruikt, zoals //x:item. Voor standaardnaamruimten volgt //item ook de documentdeclaratie.
Waarom kan een query een time-out krijgen?
Zeer grote documenten of brede expressies kunnen rekenintensief zijn om te evalueren. De tool stopt een uitvoering na 2 seconden zodat de pagina responsief blijft; verfijn het pad of probeer een kleiner voorbeeld.