올바른 (올바른 형식의) XML 문서입니까? 문제에서XHTML 엔티티 인코딩은 CDATA 태그 안에 포함되어있는 한 XML 문서에서 유효합니까?
<?xml version="1.0" encoding="UTF-8" ?>
<outer>
<inner>©</inner>
</outer>
은 HTML/XHTML "©"엔티티 인코딩이 더 DTD하거나 정의하는 스키마가없는 XML 문서에서 유효한지 여부이다. 위의 내용을 표현하는 또 다른 방법은이 말을하는 것입니다 : 것 같다
<?xml version="1.0" encoding="UTF-8" ?>
<outer>
<inner>©</inner>
</outer>
는 UTF-8 인코딩으로 유효한 XML이 될 수 있습니다. "& 사본"
<?xml version="1.0" encoding="UTF-8" ?>
<outer>
<inner><![CDATA[©]]></inner>
</outer>
위의 저자는 위의 문자열로 저작권 기호를 통과해야 XML 파서에 표시하고자
:
그러나
이 유효 적절한 유니 코드 문자가 아닌.이 점에 대해 나는 약간 혼란스러워한다. 'XML 문서의 새로운 저자는 처리 중에 평범한 문자 데이터로 취급되지 않도록 데이터를 "보호"하는 것으로 잘못 생각하면서 CDATA 섹션의 목적을 종종 잘못 이해합니다. . [그러나] 문자 데이터는 문자 데이터 (CDATA 섹션 또는 일반 마크 업을 통해 표현되는지 여부에 관계없이)입니다. "(From Wikipedia)
저는 두 번째 저자에서 제안 된 XML 형식을 별도로 찾고 있습니다.이 형식은 태그가, 예를 들어, 숫자 만 포함 할 수도 CDATA 섹션에서 태그입니다.
는 XML 전문가가 CDATA의 목적에 혼란을 정리하는 데 도움 수 있기를 바랍니다.
감사합니다!
마지막 예가 잘 형성되어있는 것 아닌가요? 방금 적용한 DTD 또는 XSD가 중첩 된 태그를 허용해야한다고 말하는 것입니다 ... 그냥 이해했는지 확인하고 싶습니다. :-) –
예, 마지막 예제 *는 잘 구성된 XML이지만 스키마 또는 DTD가 "내부"태그의 내용이 문자 데이터이고 다른 요소가 아니라고 말하는 경우 잘못된 XML 일 수 있습니다. – Eddie
귀하의 의견에 대한 답변으로 asnwer를 업데이트했습니다. – Eddie