2012-02-06 6 views
1

파일을 설명하는 XML 1.0 응용 프로그램을 만듭니다 (예 : others have done). 현재 name 속성이 필요한 file 요소가 있습니다. 그 속성의 값은 파일의 이름입니다.XML 디자인 : 이름에 제어 문자가 포함 된 파일 설명

하지만이 기능은 작동하지 않습니다. &, <, '"과 같은 특수 문자가 포함 된 파일 이름은 까다 롭지 만 해당 문자는 predefined entity references을 사용할 수 있습니다. 하지만 제어 문자가 포함 된 파일 이름은 어떻게됩니까? 매우 드문 경우이긴하지만 가능합니다.

XML (1.0)이 텍스트의 어느 곳에서나 control characters을 허용하지 않기 때문에 내 용도로 XML 응용 프로그램을 만들 수있는 방법이 없다고 생각됩니다. Quoth the standard :

Char :: = # x9 | #xA | #xD | [# x20- # xD7FF] | [# xE000- # xFFFD] | [# x10000- # x10FFFF]

이 문제를 해결할 수있는 방법이 있습니까? XML 1.1에서 작동합니까, 아니면 제한이 있습니까? 내 GNU/리눅스 컴퓨터에서


, 내가 그들의 이름에 제어 문자와 두 개의 파일을 만들려면이 작업을 수행 할 수 있습니다

touch `echo -e 'SP\a'` 
touch `echo -e 'SP\v'` 
ls SP* 

답변

0

XML 1.1에서는 NUL을 제외한 모든 문자를 표시 할 수 있습니다 (코드 포인트 0) . 제어 문자는 숫자 문자 참조로 이스케이프해야합니다.

NUL을 포함한 모든 문자가 필요한 경우 사용자 고유의 이스케이프 규칙을 정의해야합니다. URI (% HH) 또는 Java (\ uNNNN)에 사용 된 규칙을 채택 할 수도 있고 자신을 고안 할 수도 있습니다.

+0

"NUL"을 제외한 모든 문자는 POSIX 파일 이름에 사용할 수 없습니다. 디자이너가 C API를 제공하기를 원할 것입니다. 아마 충분히 좋을 것입니다. – Raedwald

관련 문제