createElement 대 createElementNS
그 둘의 진짜 차이점은 무엇입니까? 진짜, 근본적인 차이를 의미합니다. 정기의 미래는 어떻게 createElement
될까요?
Svg는 html이 아니라 xml입니다. 알겠습니다. 그래서 우리는 createElementNS(ns_string, 'svg')
그리고 setAttributeNS(null,,)
. 왜? 왜 안돼 setAttributeNS('my_ns',,)
?
왜 있어야 ns_string
할 http://www.w3.org/2000/svg
이 아닌 일부 임의의 문자열? 네임 스페이스가 하나만있는 경우 네임 스페이스의 목적은 무엇입니까?
ns
일반 HTML 의 목적은 무엇입니까 ? 나는의 모든 인스턴스를 변경해야 createElement
하는을 createElementNS
기존 코드에서?
DOM-Level-2 사양을 읽고 있습니다. 하지만 여전히 의아해합니다.
네임 스페이스가 해결하려는 문제를 이해하려면 파일 확장명을 고려하십시오. 3 글자 파일 확장자는 파일 내용을 설명하는 데 정말 나쁜 일을했습니다. 모호하고 버전 정보가 없습니다. XML 네임 스페이스는 더 큰 공간의 문자열, URI를 사용하여 동일한 문제를 해결하고 짧은 접두사를 사용하므로 동일한 문서에서 여러 종류의 XML을 간결하게 혼합 할 수 있습니다.
네임 스페이스가 하나만있는 경우 네임 스페이스의 목적은 무엇입니까?
여러 종류의 XML을 식별하는 데 사용되는 많은 네임 스페이스와 이러한 종류의 다른 버전이 있습니다.
SVG와 MathML은 각각 HTML5에 포함 할 수있는 고유 한 네임 스페이스가있는 두 종류의 XML이며 종종 또 다른 XML 네임 스페이스 인 XLink를 사용합니다. 해당 네임 스페이스가있는 다른 많은 XML 스키마는 클라이언트와 서버간에 메시지를 전달하고 데이터 저장을 위해 사용됩니다.
XHTML은 HTML을 유효한 XML로 표현하려는 시도입니다. 자체 네임 스페이스가 있습니다.
그래서 우리는 createElementNS (ns_string, 'svg') 그리고 setAttributeNS (null ,,)를 사용합니다. 왜? 왜 setAttributeNS ( 'my_ns',,) ???
setAttributeNS
네임 스페이스 URI와 함께 사용할 때는 네임 스페이스 URI와 함께 일관되게 사용하려고 시도해야 createElementNS
합니다.
XML은 여러 단계로 정의되었습니다. 사양의 첫 번째 버전은 네임 스페이스에 대해 언급하지 않았지만 충분한 구문을 남겨 두어 네임 스페이스가있는 XML이 접두사와 특수 xmlns
속성 을 사용하여 네임 스페이스없이 XML 위에 지정 될 수 있도록했습니다 . XML 사양은 말합니다 :
"XML 권장 사항 [XML 이름]의 네임 스페이스는 콜론 문자가 포함 된 이름에 의미를 할당합니다. 따라서 작성자는 네임 스페이스 용도를 제외하고 XML 이름에 콜론을 사용해서는 안되지만 XML 프로세서는 콜론을 이름 문자로 허용해야합니다."
XML 네임 스페이스를 사용하면 XML 처리 응용 프로그램이 처리중인 내용을 알 수 있으며 여러 종류의 XML을 동일한 문서에서 함께 혼합 할 수 있습니다.
ns_string이 " http://www.w3.org/2000/svg " 여야하는 이유
여기에는 SVG 버전이 표준화 된 해인 2000 년이 포함되므로 유용한 정보를 전달합니다.
xmlns:svg
그것 과 함께 사용 하면 svg:
접두어가 다른 XML 방언이 아니라 SVG를 의미한다는 것을 브라우저에 알립니다 .
참고 URL : https://stackoverflow.com/questions/8173217/createelement-vs-createelementns
'Development Tip' 카테고리의 다른 글
JavaScript : DOM로드 이벤트, 실행 순서 및 $ (document) .ready () (0) | 2020.12.05 |
---|---|
CSS 전환과 JS 애니메이션 패키지의 성능 (0) | 2020.12.05 |
퀴즈로 C #의 중첩 된 제네릭 클래스 이해 (0) | 2020.12.05 |
REST : 하나의 요청으로 여러 리소스 업데이트-표준입니까 아니면 피해야합니까? (0) | 2020.12.05 |
Visual Studio에서 새 데이터 항목을 추가 할 때 EF 6.x DbContext 생성기 옵션의 목적 (0) | 2020.12.05 |