개발자 Q&A

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

2025.05.14 12:15

XMLWriter::writeDtd에 대한 도움을 부탁합니다.

목록
  • Flutter전문가 16일 전 2025.05.14 12:15
  • 15
    1
저는 XMLWriter 클래스를 사용하여 DTD를 작성하려고 하는데, writeDtd 메소드에 대해 이해를 못하겠습니다.

writeDtd 메소드는 DTD의 내용을 XMLWriter에 작성하는 역할을 합니다.

그런데, DTD의 내용을 어떻게 작성해야 하는지 잘 모르겠습니다.

具体적으로, DTD의 ELEMENT, ATTRIBUTE, ENTITY 등에 대한 내용이 어떻게 작성되어야 하는지 알려주시면 감사하겠습니다.

또한, writeDtd 메소드의 파라미터에 대한 설명도 부탁드립니다.

예를 들어, ELEMENT의 이름, 내용, TYPE 등에 대한 파라미터가 어떻게 사용되는지 알려주시면 도움이 될 것 같습니다.

제가 작성한 예시는 다음과 같습니다.

php

$xmlWriter = new XMLWriter();

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

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

$xmlWriter->startDTD('example', '-//example//DTD example 1.0//EN');

$xmlWriter->writeDTD('ELEMENT example {example}');



$xmlWriter->endDTD();

$xmlWriter->endDocument();



$xmlWriter->flush();



하지만, 이 코드는 잘 작동하지 않습니다.

에러 메시지에서 writeDTD 메소드가 잘못된 것이라고 나옵니다.

writeDTD 메소드의 파라미터를 어떻게 사용해야 하는지 알려주시면 감사하겠습니다.

또한, DTD의 내용을 어떻게 작성해야 하는지 알려주시면 도움이 될 것 같습니다.

제가 많이 궁금한 부분이 있습니다.

제가 잘못된 부분을 알려주시면 감사하겠습니다.

제가 더 도움이 필요하면 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  16일 전



    XMLWriter::writeDtd 메소드는 DTD의 내용을 XMLWriter에 작성하는 역할을 합니다.

    DTD의 내용을 작성하는 방법은 다음과 같습니다.

    - ELEMENT: ELEMENT는 요소의 이름과 내용을 지정합니다. 예를 들어, ELEMENT 'example'의 내용은 'example'로 지정할 수 있습니다.

    #hostingforum.kr
    php
    
    $xmlWriter->writeDTD('ELEMENT example {example}');
    
    


    - ATTRIBUTE: ATTRIBUTE는 요소의 속성을 지정합니다. 예를 들어, ATTRIBUTE 'name'의 내용은 'CDATA'로 지정할 수 있습니다.

    #hostingforum.kr
    php
    
    $xmlWriter->writeDTD('ATTRIBUTE name {CDATA}');
    
    


    - ENTITY: ENTITY는 엔터티의 이름과 내용을 지정합니다. 예를 들어, ENTITY 'example'의 내용은 'example'로 지정할 수 있습니다.

    #hostingforum.kr
    php
    
    $xmlWriter->writeDTD('ENTITY example "example"');
    
    


    writeDtd 메소드의 파라미터는 다음과 같습니다.

    - ELEMENT: ELEMENT의 이름을 지정합니다.
    - CONTENT: ELEMENT의 내용을 지정합니다.
    - TYPE: ELEMENT의 타입을 지정합니다. (예: 'CDATA', 'ID', 'IDREF', etc.)
    - ATTRIBUTE: ATTRIBUTE의 이름을 지정합니다.
    - ENTITY: ENTITY의 이름을 지정합니다.

    예를 들어, ELEMENT 'example'의 내용은 'example'로, TYPE은 'CDATA'로, ATTRIBUTE 'name'의 내용은 'CDATA'로, ENTITY 'example'의 내용은 'example'로 지정할 수 있습니다.

    #hostingforum.kr
    php
    
    $xmlWriter->writeDTD('ELEMENT example {example} (#PCDATA)');
    
    $xmlWriter->writeDTD('ATTRIBUTE name {CDATA}');
    
    $xmlWriter->writeDTD('ENTITY example "example"');
    
    


    제가 작성한 예시는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $xmlWriter = new XMLWriter();
    
    $xmlWriter->openURI('php://output');
    
    $xmlWriter->startDocument('1.0', 'UTF-8');
    
    $xmlWriter->startDTD('example', '-//example//DTD example 1.0//EN');
    
    $xmlWriter->writeDTD('ELEMENT example {example} (#PCDATA)');
    
    $xmlWriter->writeDTD('ATTRIBUTE name {CDATA}');
    
    $xmlWriter->writeDTD('ENTITY example "example"');
    
    $xmlWriter->endDTD();
    
    $xmlWriter->endDocument();
    
    $xmlWriter->flush();
    
    


    이 코드는 잘 작동할 것입니다.

    만약 에러 메시지가 발생한다면, XMLWriter::writeDtd 메소드의 파라미터를 확인하거나, DTD의 내용을 다시 작성해 보세요.

    2025-05-14 12:16

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

검색

게시물 검색