[PHP/XPATH] xpath-functions niet in DOM\SimpleXML?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • sjaakie
  • Registratie: Oktober 2000
  • Niet online

sjaakie

Developer

Topicstarter
Ik ben bezig met een script voor het parsen van XML naar DB. Nu gebruik ik daarvoor veelvuldig XPath, en wil graag ook gebruik maken van de xpath functions zoals die zijn gedefinieerd in:

http://www.w3.org/2005/xpath-functions

Nu lijkt het alleen dat zowel DOM als SimpleXML daar geen zin in hebben, klopt dit dat het niet wordt ondersteund of doe ik nu gewoon hier iets fout... 8)7

PHP:
1
2
3
4
5
6
7
8
$XML = new SimpleXMLElement("books.xml", null, true);
$XML->registerXPathNamespace("fn", "http://www.w3.org/2005/xpath-functions");
$Result = $XML->xpath("fn:concat('Hello', ' ', 'World')");

$Dom = new DOMDocument();
$DomXPath = new DOMXPath($Dom);
$DomXPath->registerNamespace("fn", "http://www.w3.org/2005/xpath-functions");
$Result = $DomXPath->query("fn:concat('Hello', ' ', 'World')");

Als je enige gereedschap een hamer is, ziet elk probleem eruit als een spijker...


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Je doet iets fout :) "fn:", en die registerNamespace kan weg. Daarnaast weet ik niet of de PHP-functies calculated nodes (queries die dus geen originele nodes teruggeven) toestaan, waarschijnlijk niet. Gebruik daarvoor bijvoorbeeld XSLT.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • tech-no-logical
  • Registratie: December 2000
  • Laatst online: 17-09 22:52
bij mijn weten doet php (libxslt) geen xslt 2.0 en/of xpath 2.0.