값이 '+'문자를 포함하는 엔티티를 정의하려고하는데, 그렇게하면 줄 아래로 이상한 오류 메시지가 나타납니다. + 문자를 제거하면 모든 것이 정상적으로 작동합니다. 나는 그것을 벗어날 수있는 방법을 찾아 낼 수가 없다.
나는 라이브러리와 나는 현재뿐만 아니라 온라인 검사기와 http://www.validome.org/grammar/validate/ 짧은 샘플에서, 사용하고뿐만 아니라 오류가 발생합니다 :DTD 엔티티에서 '+'와 같은 특수 문자 사용하기
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % Foo "BAR"> <!--No problem here-->
<!ENTITY % Baz "QUUX+QUUUX"> <!--This will cause trouble later on-->
<!ENTITY % FooBazType "(%Foo; | %Baz;)">
<!ELEMENT tagName EMPTY>
<!ATTLIST tagName attributeName %FooBazType; #REQUIRED> <!--Here, you get the error message : The enumerated type list must end with ')' in the "attributeName" attribute declaration.-->
사람은 + 문자를 얻을 수있는 방법을 알고 있나요 (또는 그 위치에 + 문자가 포함 된 XML 문서의 유효성을 올바르게 검사 할 것입니다). 미리 감사드립니다!
그 기호가 유효가, 유니 코드 문자를 참조하려고 생각 하는가? – Joe
내가 아는 한 멀쩡한데 숫자 이스케이프 시퀀스 (+)를 사용해 보았지만 그 중 하나도 작동하지 않았습니다. 더 많은 연구가 NMTOKEN (http://www.w3.org/TR/xml/#NT-Nmtoken)이라는 개념을 가져 왔고, 그것은 플러스를 배제하는 것처럼 보입니다 ... 내가 처음이라고 믿을 수는 없지만 + 캐릭터가 드문 경우가 아니므로이 문제와 관련된 사람이 있습니까? – user1126518
'$'char (hex = 0x24)와 정확히 같은 문제가 있습니다. – Marek