XML CharData EBNF 이해
Nov 13 2020
다음 EBNF 규칙은 다음과 같이 표현됩니다.
CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
이해하기 정말 어렵습니다. 누군가 유효하고 유효하지 않은 문자열의 몇 가지 예를 줄 수 있습니까? 규칙에 표현 된 내용에 대한 간략한 설명도 매우 도움이 될 것입니다. 아마도 조금 많이 요구하지만. 이 사건을 포착하는 데 도움이 될 흥미로운 C ++ 코드 스 니펫이 있으면 매우 좋을 것입니다.
답변
kjhughes Nov 13 2020 at 08:57
를위한 EBNF 생산 CharData,
[14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
XML 문자 데이터는 다음을 제외한 모든 문자로 구성 될 수 있음을 의미합니다.
<
, 마크 업을 시작합니다 (태그, 주석, XML 선언, CDATA 섹션 및 PI).&
, 엔티티 참조를 시작합니다.]]>
CDATA 섹션을 끝내는 문자열, .
탈출 :
- 문자 데이터에서
<
와 같이 이스케이프<
합니다. - 문자 데이터에서
&
와 같이 이스케이프&
합니다. ]]>
문자 데이터에 나타날 수 없습니다. 이스케이프 된 형식이 없습니다.
또한보십시오:
- w3c 사양 문법의 마이너스