XML 주석 및 "-"
<!-- here is some comment --
^
|
what can be here apart from '>'?
XML은 주석 안에 '-'를 좋아하지 않는 것 같습니다. 나는 어딘가에서 '-'가 내부의 일부 모드를 전환 <! ... >
하지만 <!-- -- -- -->
(짝수 --
s)도 유효하지 않은 것처럼 보입니다. 역사적인 기능인 경우 "프로"부분은 무엇입니까? ( "대비"부분은 --
주석에 포함 할 수 없음 ).
댓글 끝에 '->'만 남기고 안에 '-'를 허용하여 댓글 처리를 복잡하게 만드는 이유는 무엇입니까?
표준 문서에서 :
http://www.w3.org/TR/REC-xml/#sec-comments
[정의 : 주석은 문서의 다른 마크 업 외부에 나타날 수 있습니다. 또한 문법에서 허용하는 위치에서 문서 유형 선언 내에 나타날 수 있습니다. 문서의 문자 데이터의 일부가 아닙니다. XML 프로세서는 응용 프로그램이 주석 텍스트를 검색 할 수 있도록 할 수 있지만 반드시 그럴 필요는 없습니다. 대한 호환성 , 문자열 "-"(이중 하이픈) 주석 내에서 발생하지 않아야합니다]. 파라미터 엔티티 참조 주석 내에 인식 할 수 없습니다.
누군가에게 도움이 될 수 있습니다. -로 시작하는 XML의 명령 줄 매개 변수를 주석 처리하려는 문제가있었습니다.
<arg line="-v --line-break 0" />
이렇게 자연스럽게 정상적인 방법
<!-- <arg line="-v --line-break 0" /> -->
작동하지 않았지만 -
UTF-8로 대체 되면 -
작동하며 주석 내에서 허용 될 수 있음을 알았습니다 .
그래서 제 경우에는 문자열
<arg line="-v --line-break 0" />
올바르게 구문 분석되고 주석의 일부가 될 수 있습니다.
물론 약간 못 생겼지 만 누군가가 자신의 XML의 주석으로 문자열을 유지하고 싶다면 아무것도없는 것보다 낫다고 생각합니다.
그것은 SGML에 있었고 사람들이 호환성을 깨고 싶어하지 않았기 때문에 XML에있는 어리석은 규칙 중 하나입니다. SGML에있는 이유는 누구나 추측 할 수 있습니다. 아마도 원래 파서에 세 줄의 코드를 저장했기 때문일 것입니다.
--
SGML과의 호환성을 위해 허용되지 않습니다. 에서 온 SGML과 HTML :
마크 업 선언 열기 구분 기호 ( "<!")와 주석 열기 구분 기호 ( "-") 사이에는 공백이 허용되지 않지만 주석 닫기 구분 기호 ( "-")와 마크 업 선언 닫기 구분 기호 ( "-") 사이에는 허용됩니다. ">"). 일반적인 오류는 주석 내에 하이픈 ( "---") 문자열을 포함하는 것입니다. 작성자는 주석 안에 두 개 이상의 인접한 하이픈을 넣지 않아야합니다.
그래서 SGML에서 <!
와 >
개폐 "마크 업 선언"과 --
열리고 닫히는 코멘트.
참조 URL : https://stackoverflow.com/questions/10842131/xml-comments-and
'programing tip' 카테고리의 다른 글
목적 C에서 float를 다음 정수로 반올림합니까? (0) | 2020.12.15 |
---|---|
Bash에서 if 문 산술을 어떻게 수행합니까? (0) | 2020.12.15 |
HTML for =“”속성은 (0) | 2020.12.15 |
ID 및 클래스 선택기를 사용하여 Jquery 세트 라디오 버튼 확인 (0) | 2020.12.15 |
Angular-animate-알 수없는 공급자 : $$ asyncCallbackProvider <-$$ asyncCallback <-$ animate <-$ compile (0) | 2020.12.15 |