로컬로 가지고있는 DTD 파일로 XML을 정리하고 있습니다.PHP로 XML DTD 유효성 검사 속도를 높이려면 어떻게해야합니까?
$xml = $dmsMerrin.'/xml/'.$id.'/conversion.xml';
$dtd = $dmsMerrin.'/style_files/journalpublishing.dtd';
$dom = new DOMDocument();
@$dom->load($xml);
libxml_use_internal_errors(true);
if (@$dom->validate()) {
$htmlDTDError .= "<h2>No Errors Found - The tested file is Valid !</h2>";
}
else {
$errors = libxml_get_errors();
$htmlDTDError .= '<h2>Errors Found ('.count($errors).')</h2><ol>';
foreach ($errors as $error) {
$htmlDTDError .= '<li>'.$error->message.' on line '.$error->line. '</li>';
}
$htmlDTDError .= '</ol>';
libxml_clear_errors();
}
libxml_use_internal_errors(false);
을 그리고 이것은 1600 개 라인과 XML을 위해 30 초 정도 걸립니다 : 그 내용은
, 내가 뭐하는 거지.평상시입니까? 제 의견으로는 훨씬 빠를까요?
보시다시피, 사용중인 DTD는 서버에 로컬로 있습니다.
아이디어가 있으십니까? 고맙습니다.
EDIT : 실행 시간을 디버깅하고 검사하여 내 XML에 1600 줄 또는 150 줄이있는 경우 동일한 시간이 걸리므로 문제가 XML 크기가 아닙니다.
실제로 내가 dtd를 사용하고있는 곳을 볼 수 없습니까? –
아, 사실, DTD는 XML 파일 자체에 설정되어 있습니다. PHP 코드에서 사용해야합니까? 어떻게? –
"보시다시피 사용중인 DTD는 서버에 로컬로 있습니다." 당신의보기에서 나는 그것을 볼 수 없습니다. '$ dmsMerrin'은'file : /'URL인가요? – Joe