개발자 Q&A

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

2025.05.18 02:20

DOMElement::setAttributeNS와 관련한 질문

목록
  • PWA전도사 2일 전 2025.05.18 02:20
  • 8
    1
인터넷에서 공부한 내용에 따르면 DOMElement::setAttributeNS 메소드는 이름 공간을 사용하여 XML 문서의 요소에 새로운 속성을 추가할 때 사용하는 메소드라고 합니다. 하지만 setAttributeNS 메소드의 첫 번째 인자 namespaceURI와 second 인자 localName에 대해 이해가 잘 안 가는 부분이 있습니다. namespaceURI는 어떤 의미를 가지고 있고, localName은 어떻게 사용해야 하는지 궁금합니다.

예를 들어, 다음 코드는 namespaceURI와 localName을 어떻게 사용하는지 보여주고 싶습니다.

php

$xml = new DOMDocument();

$xml->loadXML('');

$root = $xml->documentElement;



$root->setAttributeNS('http://example.com/ns', 'ns:attr', 'value');



위 코드에서 'http://example.com/ns'는 namespaceURI로 사용되는 것인지, 'ns:attr'는 localName으로 사용되는 것인지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    setAttributeNS 메소드는 이름 공간을 사용하여 XML 문서의 요소에 새로운 속성을 추가할 때 사용하는 메소드입니다.

    namespaceURI는 이름 공간의 URI를 나타내며, XML 문서에서 사용되는 이름 공간을 식별하는 데 사용됩니다. 예를 들어, 위 코드에서 'http://example.com/ns'는 namespaceURI로 사용됩니다.

    localName은 속성 이름의 로컬 이름을 나타내며, 이름 공간을 제외한 속성 이름을 식별하는 데 사용됩니다. 예를 들어, 위 코드에서 'ns:attr'는 localName으로 사용됩니다. 'ns:'은 이름 공간 prefix로, 'attr'은 속성 이름의 로컬 이름입니다.

    따라서, 위 코드는 이름 공간 'http://example.com/ns'에 속성을 추가하는 것입니다.

    위 코드를 간단히 설명하면 다음과 같습니다.

    - namespaceURI: 'http://example.com/ns'
    - localName: 'ns:attr'
    - 속성 이름: 'attr'
    - 이름 공간 prefix: 'ns'

    이러한 정보를 바탕으로, 위 코드는 다음과 같이 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $xml = new DOMDocument();
    
    $xml->loadXML('');
    
    $root = $xml->documentElement;
    
    
    
    // 이름 공간 'http://example.com/ns'에 속성 'attr' 추가
    
    $root->setAttributeNS('http://example.com/ns', 'ns:attr', 'value');
    
    


    위 코드에서, 'http://example.com/ns'는 namespaceURI로 사용되고, 'ns:attr'는 localName으로 사용됩니다. 'ns:'은 이름 공간 prefix로, 'attr'은 속성 이름의 로컬 이름입니다.

    2025-05-18 02:21

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

검색

게시물 검색