세상사 쉬운것 없다지만 XML+JAVA+유니코드 참 어렵네요.

emptynote의 이미지

정말로 어렵네요.

시작은 단순하게 메시지의 항목 이름을 XML tag 예를 들면

<항목명>항목값 이렇게 표현하고자 했습니다.

위대한 stackoverflow 사이트 신의 도움을 받아서 쉽게 가는가 했는데,

마지막 난관이 저를 지치게 하네요.

U+10000 ~ U+EFFFF 를 어떻게 자바 정규식에 넣을 수 있을까요?

예제는 첫문자 정규식에 0x10000-0xEFFFF 로 넣었지만 두번째 문자 정규식에는 빠져 있네요.

조사를 해 보니

U+10000 는 자바 문자열 표현 \uD800\uDC00 로,

U+EFFFF의 자바 문자열 표현은 \uDB7F\uDFFF 로 표현되어,

걍 정규식에

\\uD800\\uDC00-\\uDB7F\\uDFFF 이렇게 넣어 봐서 테스트를 해 보니깐

잘 동작 하는것 같네요.

물론 누군가 정말로 잘 동작 합니까? 라고 묻는다면 우물 쭈물하겠지만요.

여기까지만 할렵니다.

참고 주소 : http://stackoverflow.com/questions/5396164/java-how-to-check-if-string-is-a-valid-xml-element-name