XML 주석 및 "--"
<!-- here is some comment --
^
|
what can be here apart from '>'?
XML은 '--' 내부 주석을 좋아하지 않는 것 같습니다.어디선가 읽었는데 '-'는 안에서 모드를 전환합니다.<! ... >
일이, 그러나<!-- -- -- -->
(짝수의--
s) 역시 무효인 것 같습니다.만약 그것이 역사적인 특징이라면, 그것의 "프로" 부분은 무엇인가요? ("contra" 부분은 가질 수 없음)--
댓글로)
댓글의 끝만 '->'로 하지 않고 내부에 '-'을 허용함으로써 댓글 처리를 복잡하게 만드는 이유는 무엇입니까?
누군가에게 도움이 될 수도 있습니다.XML의 명령줄 매개 변수를 설명하는 데 문제가 있었습니다. --:로 시작합니다.
<arg line="-v --line-break 0" />
이렇게 자연스럽게 정상적인 방법으로
<!-- <arg line="-v --line-break 0" /> -->
효과가 없었지만, 그 사실을 알게 됐어요.-
UTF-8과 동등한 제품으로 대체되었습니다.-
아니면-
그것은 효과가 있고 댓글 안에서 용인될 수 있습니다.
그래서 내 경우엔 끈이
<arg line="-v --line-break 0" />
정확하게 구문 분석되며 주석의 일부가 될 수 있습니다.
물론 좀 추해 보이지만, 만약 누군가가 자신의 XML에 나와 있는 의견처럼 끈을 유지하고 싶다면, 그래도 없는 것보다는 낫다는 생각이 듭니다.
표준 문서에서:
http://www.w3.org/TR/REC-xml/ #sec-
[정의:주석은 다른 마크업 외부의 문서 어디에나 표시될 수 있으며, 문법에 의해 허용된 위치에 문서 유형 선언 내에 표시될 수도 있습니다.XML 프로세서는 응용프로그램이 주석 텍스트를 검색하는 것을 가능하게 할 필요는 없지만 문서의 문자 데이터에 포함되지 않습니다.호환성을 위해 문자열 " -- " (double-hyphen)은 주석 내에서 발생하지 않아야 합니다.]주석 내에서 매개 변수 엔터티 참조를 인식하면 안 됩니다.
이것은 XML에 있는 어리석은 규칙들 중 하나입니다. 왜냐하면 그것은 SGML에 있었고 사람들은 호환성을 깨기를 원하지 않았기 때문입니다.SGML에 들어있는 이유는 누구나 짐작할 수 있습니다. 아마도 원본 파서에 세 줄의 코드를 저장했기 때문일 것입니다.
--
SGML과의 호환성은 허용되지 않습니다. On SGML 및 HTML에서:
마크업 선언 열기 구분자("<!")와 주석 열기 구분자("-") 사이에는 공백이 허용되지 않지만 주석 닫기 구분자("-")와 마크업 선언 닫기 구분자(">) 사이에는 허용됩니다.일반적인 오류는 주석 내에 하이픈 문자열("-")을 포함하는 것입니다.작성자는 댓글에 두 개 이상의 인접 하이픈을 넣는 것을 피해야 합니다.
SGML에서<!
그리고.>
및 언"다를 .--
댓글을 여닫습니다.
이 문제는 조만간 XML에서 주석을 사용하여 필요 없는 콘텐츠를 비활성화하려는 모든 사용자에게 영향을 미칠 것입니다.그 이유에 대한 자세한 설명 없이 며칠 동안 Spring context configs가 로드되지 않아 큰 문제가 있었습니다.문제는 다음과 같은 콘텐츠 블록에 댓글을 다는 습관이 있었습니다.
<value>ABC1</value> <!-- <value>ABC2</value> --> <value>ABC3</value>
다음과 같이 변경해야 한다고 언급했습니다.
<!--
<value>ABC1</value>
!-- <value>ABC2</value> --
<value>ABC3</value>
-->
코멘트 아웃 블록의 대시는 무시되지 않고 전체 파일의 구문 분석을 엉망으로 만들고 있었습니다.
언급URL : https://stackoverflow.com/questions/10842131/xml-comments-and
'programing' 카테고리의 다른 글
테이블에 두 개의 외국 열쇠가 있을 수 있습니까? (0) | 2023.10.14 |
---|---|
여러 표를 기준으로 합산하는 방법 (0) | 2023.10.14 |
MYSQL 8.0 - 지원되지 않는 redo 로그 형식 (0) | 2023.10.14 |
뷰 컨트롤러를 다른 뷰 컨트롤러의 하위 뷰로 추가 (0) | 2023.10.14 |
이전 달을 계산하는 MySQL 쿼리 (0) | 2023.10.14 |