개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.07 07:38

XMLWriter::writeDtdElement에 대한 질문

목록
  • Lambda마법사 오래 전 2025.06.07 07:38
  • 72
    1
제가 XMLWriter::writeDtdElement 함수를 사용하여 DTD를 작성할 때, 다음과 같은 문제가 있습니다.

- DTD를 작성할 때, 요소 이름과 속성 이름이 자동으로 생성되는 것을 막고 싶습니다.

- 예를 들어, DTD에서 요소 이름을 'book'로 지정하고, 속성 이름을 'title'로 지정하고 싶지만, 자동으로 생성되는 이름이 'book'로 바뀌는 것을 막고 싶습니다.

- 어떻게 해야 하는지 알려주세요.

- 예를 들어, 아래와 같은 코드를 사용할 때, 요소 이름과 속성 이름이 자동으로 생성되는 것을 막을 수 있는 방법이 있을까요?

php

$xmlWriter = new XMLWriter();

$xmlWriter->openURI('php://output');

$xmlWriter->startDocument('1.0', 'UTF-8');

$xmlWriter->startDTD('book', '-//W3C//DTD XHTML 1.0 Transitional//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd');

$xmlWriter->writeDtdElement('book', 'title', 'CDATA');

$xmlWriter->endDTD();

$xmlWriter->endDocument();

$xmlWriter->flush();



- 어떻게 해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    XMLWriter::writeDtdElement 함수를 사용하여 DTD를 작성할 때, 요소 이름과 속성 이름이 자동으로 생성되는 것을 막으려면, XMLWriter 객체의 startDTD 메소드에서 두 번째 인자로 사용하는 DTD의 이름을 직접 지정하면 됩니다.

    예를 들어, 다음과 같이 코드를 수정할 수 있습니다.

    #hostingforum.kr
    php
    
    $xmlWriter = new XMLWriter();
    
    $xmlWriter->openURI('php://output');
    
    $xmlWriter->startDocument('1.0', 'UTF-8');
    
    $xmlWriter->startDTD('book', '-//W3C//DTD XHTML 1.0 Transitional//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd');
    
    $xmlWriter->writeDtdElement('book', 'title', 'CDATA');
    
    $xmlWriter->writeDtdElement('book', 'title', 'CDATA', 'title', 'title', 'CDATA');
    
    $xmlWriter->endDTD();
    
    $xmlWriter->endDocument();
    
    $xmlWriter->flush();
    
    


    위의 코드에서 두 번째 writeDtdElement 함수 호출에서 네 번째 인자로 'title'을 지정하면, XMLWriter::writeDtdElement 함수가 자동으로 생성하는 이름을 'title'으로 지정할 수 있습니다.

    이러한 방법으로, 요소 이름과 속성 이름을 직접 지정할 수 있습니다.

    2025-06-07 07:39

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,583건 / 91 페이지

검색

게시물 검색