라이브러리

[PHP] XMLReader::setRelaxNGSchema - RelaxNG 스키마에 대한 파일 이름 또는 URI 설정




XMLReader::setRelaxNGSchema() 메서드는 XMLReader 객체에 RelaxNG 스키마를 설정하는 메서드입니다. RelaxNG 스키마는 XML 문서의 구조를 정의하는 규칙입니다. 이 메서드는 XMLReader 객체가 XML 문서를 읽을 때, 스키마를 참조하여 XML 문서의 유효성을 검사할 수 있도록 합니다.

RelaxNG 스키마의 이해


RelaxNG 스키마는 XML 문서의 구조를 정의하는 규칙입니다. 스키마는 XML 문서의 요소, 속성, 값의 유효성을 검사할 수 있습니다. 스키마는 다음과 같은 요소를 정의할 수 있습니다.

* 요소: XML 문서의 요소는 스키마에서 정의할 수 있습니다. 요소는 이름, 속성, 값이 정의됩니다.
* 속성: 요소의 속성은 스키마에서 정의할 수 있습니다. 속성은 이름, 값이 정의됩니다.
* 값: 요소의 값은 스키마에서 정의할 수 있습니다. 값은 문자열, 숫자, 날짜 등이 정의됩니다.

PHP에서 RelaxNG 스키마 사용하기


PHP에서 RelaxNG 스키마를 사용하려면, XMLReader 클래스를 사용하여 XML 문서를 읽어 들이고, setRelaxNGSchema() 메서드를 사용하여 스키마를 설정합니다.

예제


다음 예제는 XMLReader 클래스를 사용하여 XML 문서를 읽어 들이고, setRelaxNGSchema() 메서드를 사용하여 스키마를 설정하는 방법을 보여줍니다.

#hostingforum.kr
php

// RelaxNG 스키마

$relaxngSchema = '

  

    

      

    

    

      

    

  

';



// XML 문서

$xml = '

  

    John

    30

  

';



// XMLReader 객체 생성

$xmlReader = new XMLReader();

$xmlReader->openXML($xml);



// RelaxNG 스키마 설정

$xmlReader->setRelaxNGSchema($relaxngSchema);



// XML 문서 읽기

while ($xmlReader->read()) {

  // XML 문서의 요소 읽기

  if ($xmlReader->nodeType == XMLReader::ELEMENT) {

    echo $xmlReader->name . "
";

  }

}



// XMLReader 객체 닫기

$xmlReader->close();



결과


이 예제의 결과는 다음과 같습니다.

#hostingforum.kr


root

name

age



이 예제에서는 XMLReader 클래스를 사용하여 XML 문서를 읽어 들이고, setRelaxNGSchema() 메서드를 사용하여 스키마를 설정합니다. 스키마를 설정한 후, XML 문서의 요소를 읽어 들입니다. 결과는 XML 문서의 요소 이름이 출력됩니다.

참고


* XMLReader 클래스:
* setRelaxNGSchema() 메서드:
* RelaxNG 스키마:
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 35 페이지

검색

게시물 검색