01/10/2018, 17:18

Cách debug trong XSLT trong PHP

Khi bạn sử dụng phương thức transformToXML của lớp XSLTProcessor, nếu bạn nhận được giá trị là “false” thì bạn sử dụng 2 hàm là libxml_get_last_error() hoặc libxml_get_errors() để tìm lỗi. Ví dụ như đoạn mã sau function parseXML($fileXML, $fileXSL){ $XML = new DOMDocument(); ...

Khi bạn sử dụng phương thức transformToXML của lớp XSLTProcessor, nếu bạn nhận được giá trị là “false” thì bạn sử dụng 2 hàm là libxml_get_last_error() hoặc libxml_get_errors() để tìm lỗi. Ví dụ như đoạn mã sau

function parseXML($fileXML, $fileXSL){
  $XML = new DOMDocument();
  $XML->loadXML($fileXML);
    	    	
  $xslt = new XSLTProcessor();
  $XSL = new DOMDocument();
  $XSL->load($fileXSL);
	
  $xslt->registerPHPFunctions();
  $xslt->importStylesheet($XSL);
    	
  return $xslt->transformToXML($XML);
}

Khi hàm parseXML() được gọi và giá trị trả về là ‘false’ thì bạn có thể tiến hành debug như sau:

function parseXML($fileXML, $fileXSL){
  $XML = new DOMDocument();
  $XML->loadXML($fileXML);
    	    	
  $xslt = new XSLTProcessor();
  $XSL = new DOMDocument();
  $XSL->load($fileXSL);
	
  $xslt->registerPHPFunctions();
  $xslt->importStylesheet($XSL);
    	
  $xslt->transformToXML($XML);
  echo libxml_get_last_error();
}

Happy coding :D


0