2012-01-25 6 views
2

"당신이 받아들이는 것이 자유롭고 보내는 것을 보수하십시오." - Jon PostelDOMParser : 다중으로 정의 된 속성에 대해 울지 않을 수 있습니까?

지금은 크롬 브라우저를 사용하고 있지만 이전에는 Firefox와 동일한 경험을했습니다.

JS 코드 같은 ...

(new DOMParser).parseFromString("<doc attr=\"foo\" attr=\"foo\" />","text/xml") 

대신 아무것도 유용의 pukey parsererror 페이지를 반환합니다.

현재이 문제가 실제로있는 XML 문서 인 것처럼 보이는 것이 있습니다. 즉, 일부 요소는 동일한 속성을 두 번 갖습니다.

위에서 언급 한 원칙에 따라 브라우저 프로그램의 DOMParser 객체를 기반으로 작성된 프로그램이 이러한 입력에 맞춰 손을 얹는 것이 낫다.

속성의 첫 번째 값, 마지막 값 또는 다른 값이 사용되는지는 상관하지 않습니다.

질문 : 파서의 엄격 성을 낮추는 방법이 있습니까?

답변

1

XML의 철학은 항상 Postel의 법칙과 상반되는 것입니다. 귀하가 받아들이는 것을 진보적이라면 콘텐츠 제작자는 자신이 만든 내용을 부주의하게 만들 것을 권장합니다. 당신이 받아들이는 것을 엄격하게한다면, 컨텐츠 제작자는 그들이 생산하는 것에 엄격하게 굴복해야합니다. 그렇지 않으면 제작자는 쓸모가 없습니다. 이 비 XML 파일을 생성 한 프로세스를 수정하십시오. (그런 객체를 "XML 문서"로 언급하는 실수는 절대로하지 마십시오. XML이라면 문제가 없습니다.)

+0

이 통찰력을 주셔서 감사합니다. 당신이 여기서 말한 것을 토대로 질문을 개선했습니다. – Harold