XML 문서에 미사용 네임 스페이스 선언이있는 것은 불법입니까?

StackOverflow https://stackoverflow.com/questions/982745

  •  13-09-2019
  •  | 
  •  

문제

예를 들어, 다음 XML 문서가 W3C XML 1.0 권장 사항에 따라 유효한 것으로 간주됩니까? 네임 스페이스 '미래'는 문서의 어느 곳에서나 참조되지 않습니다.

이것은 좋은 스타일로 간주되지 않을 수 있지만, 제 믿음은 사용되지 않은 네임 스페이스에 관계없이 문서가 여전히 유효하다는 것입니다. 누구 든지이 가정을 확인하거나 반박 할 수 있습니까?

고마워요, 매트

<?xml version="1.0" encoding="UTF-8" ?>
<root xmlns='http://foo.org/v1'  xmlns:future='http://bar.org/v1'>
    <child>1</child>
</root>
도움이 되었습니까?

해결책

그만큼 기준 달리 표시하지 않는 것 같습니다. 섹션 7, "문서의 적합성"은 문서를 "네임 스페이스-웰 형성"및 "네임 스페이스 밸리드"라고 부르기 위해 몇 가지 요구 사항을 제공하지만 미사용 네임 스페이스 선언을 가질 수는 없다고 말하는 것은 없습니다.

섹션 3에서는 사용되지 않은 네임 스페이스가 포함 된 예제가 제공됩니다.

<x xmlns:edi='http://ecommerce.example.org/schema'>
    <!-- the "edi" prefix is bound to http://ecommerce.example.org/schema
         for the "x" element and contents -->
</x>

다른 팁

아니요, XML 문서에 미사용 네임 스페이스 선언이있는 것은 불법이 아닙니다.

W3C에는 실제로 a가 있습니다 유효성 검사기 서비스. 이것은 두 가지 경고, 인코딩 및 DocType 부족으로 검증됩니다.

대부분의 정리 도구는 사용되지 않은 네임 스페이스를 제거하지만 XML 사양에서는 아무것도 기억하지 못합니다. 그리고 나는 그러한 문서를 받아들이지 않는 XML 파서를 모릅니다 (그리고 그와 같은 문서가 많이 떠 다니고 있습니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top