2010-05-20 4 views
8

비 ASCII 자연 언어로 작성된 XML 태그 (요소 이름)를 사용하는 것이 적절합니까? XML 사양 (NamesExceptions 참조)은 허용되지만 W3C 및 관련 페이지에서 이에 대한 모범 사례를 찾을 수 없습니다.비 ASCII (자연 언어) XML 태그를 사용하는 것이 적절합니까?

내가 찾고 도구는이 기능을 지원에 관한 실질적인 조언은, 같은 XSLT 및 XForms에 중요한 XML 관련 기술 등

내가 안드레이와 Tomalak가 누락 생각 그것으로 문제가있을 수 있는지 여부 포인트. XML은 프로그래머가 반드시 읽어야하는 것은 아니며 여러 전문가가 읽습니다. 따라서 소스 코드와 비교하는 인수가 반드시 적용되는 것은 아닙니다.

내가 분명히 말하자면, 불가리아어 법률 도메인은 불가리아어 법률 절차에만 한정되며 정확한 영어 번역도 포함되지 않을 수 있습니다. 그들을 번역하는 것은 힘들고 부정확하며 비실용적입니다. ASCII로 변환하는 것은 차선책입니다.

다시 질문 : 어떤 도구 제한 사항이 발생합니까? (이클립스는 UTF를 지원하므로 xpath를 작성하는 것이 문제가되지 않습니다.)

몇 가지 시스템에서 XML 스키마 간의 완벽한 일치를 보장하기 위해 몇 가지 시스템에서 우리는 여러 기술을 사용했습니다. , Java Bean 및 데이터베이스 스키마.

+0

개발자가 아닌 사용자가 XML 태그를보고있는 경우 잘못 처리하고있는 것입니다. –

답변

3

자국어로 된 변수에 이름을 부여하는 것은 좋지 않습니다. 대부분의 개발자가 자동으로 프로그램을 읽을 수 없게 만듭니다.

+5

XML <> 프로그램. XML은 종종 개발자가 아닌 전문가가 읽습니다. –

+0

@Vladimir Alexiev는 단어 개발자를 전문가로 교체합니다. 의미는 동일하게 유지됩니다. – Andrey

+0

나는 이것을 알고있다 불가리아어 - 화자가 아닌 사람들이 불가리아의 법률 도메인 시스템을 접촉하지 않을 것입니다. –

2

간단한 대답 : XML 요소의 이름을 원하는대로 지정할 수 있습니다.

좀 더 긴 대답 : 가장 휴대 성/유지 보수성이 뛰어난 XML을 사용하려면 ASCII 전용 요소 이름을 사용해야합니다. 엘리먼트 이름에 다른 문자를 사용하는 데는 아무 이유도 없다고 생각할 수 있으며 모든 종류의 장소에서 XML을 다루는 데 확실히 도움이됩니다.

XML 노드를 반드시 UTF-8로 인코딩 된 소스 코드 파일을 가지고 있지는 않은 프로그래밍 언어로 처리하는 것을 생각하십시오. 예를 들어 그러한 언어로 XPath 표현을 작성하는 것은 어려울 것입니다. 또는 요소 이름이 있지만 소스 코드를 담당하는 언어를 사용하지 않는 관리자/프로그래머. 예를 들어, 엘리먼트 이름이 키릴 스크립트에있을 때 자신을 잠글 수 있습니다. 요소 이름은 구조와 의미를 가져야하며, 그 목적을 위해 ASCII를 배제 할 명백한 이유는 없습니다.

+1

키릴 문자처럼 라틴 문자가 외국어 인 경우 당신이 좋은 이유를 생각하는 것이 얼마나 어려울까 궁금합니다. 입니다. –

+0

@ 마이클 : "짧은 대답"참조. 그 외에도. 라틴 문자가 키릴 문자와 같이 외국어 인 경우 (필자는 키릴 문자를 읽을 수 있습니다), 프로그래머가 아니며 처음에는 XML 파일과 관련된 문제가 없을 것입니다. 이것은 하나의 외국 스크립트 나 다른 언어에 대한 개인적 노출과는 아무 상관이 없습니다. ASCII *는 컴퓨터와 통신 할 때 가장 적게 사용되는 분모입니다. – Tomalak

0

귀하와 개발 규칙에 따라 다릅니다. 그러나 XML 태그 이름은 모든 사람이 쉽게 읽고 이해할 수 있어야합니다. 어느 누구도 당신을 조인 할 때도 언젠가는 제대로 받아 들여야합니다. 따라서 적절한 명명 규칙에 따라 이름을 지정하는 것이 좋습니다.

아래 예를 확인하십시오.

<user name="hero">  
    <address> 
    <street></street>  
    </address>  
</user> 

감사합니다.

+1

"적절한 명명 규칙"은 "키릴 문자 제외"를 의미하지 않으며 "모든 사람이 이해할 수 있음"은 "영어 - 독자, 어쩌면 개발자"를 의미 할 수 없습니다. 불가리아 법률 전문가는 어떻습니까? –

2

원하는 언어로 XML을 작성하십시오. 인코딩이 사용중인 문자 집합을 지원하고 XML 처리 지시문에 올바른 인코딩을 지정했는지 확인하십시오.

이렇게하면 XML을 지원하는 도구와 실제로 그렇게하지 않는 도구를 분리하는 데 도움이됩니다.

+0

+1하지만 블라디미르 (Bradimir)의 질문은 '어떤 일반적인 XML 도구가 비 라틴 태그에 기술적 인 문제가 있는지 (사양에 따라 다름) – whybird

+3

나는 그런 문제가있는 것을 모른다. 문제가있는 사람은 누구나 선전하고 공개적으로 조롱 받아야합니다. –

+0

전혀 동의하지 않습니다. – whybird

5

문서의 내용이 불가리아어 인 경우 마크 업이 가능해야합니다.

툴 체인이 해당 언어의 태그를 구문 분석 할 수없는 경우 컨텐츠를 올바르게 처리하는지 어떻게 확인할 수 있습니까?

프로그래머는 금융, 유전학, 공학 또는 불가리아 법률 시스템과 같은 대상 도메인의 언어를 항상 배워야합니다. 프로그래머의 편의를 위해 사용성을 손상시키는 것은 거의 언제나 '나쁜 것'입니다. 어떤 노력이든 저장되면 프런트 엔드는 제품 수명이 다할 때 최종 사용자 생산성 및 지원 노력/비용으로 손실됩니다.

+0

+1 또한 XML이 설계된 것입니다! :) – porges

+0

+1 올바른 태도에 대해 :-)하지만 어떻게 확신 할 수 있습니까? 예 : Informix에서 nvarchar 문자열을 처리하지만 Bulgarian 테이블 및 열 이름을 처리 할 수 ​​있는지 확실하지 않습니다. –

1

미안하지만 기술적이지 않은 사용자가 원시 XML을 읽어야하는 경우 응용 프로그램이 손상됩니다. 그리고 저장하는 데이터는 일반적으로 사용자 메시지와 1-1 대응하지 않습니다. 많은 것들이 XML에 중복 된 방식으로 저장되고 다른 것들은 데이터에서 암시 적으로 나타납니다.

필자는 모든 XML 데이터를 UTF-8 문자 세트를 사용하여 불가리아어로 저장해야한다고 생각합니다. 그러나 XML 태그 구조가 아니라 속성에서.

나는 이것에 대해 생각하고있다 : 법적 구조가 사용자 인터페이스에서 자유롭게 수정 될 수 있도록 프로그램을 설계 할 수있다 (어쩌면 특별한 "admin"패널에서, 그러나 여전히 코드와는 거리가 멀다). 파일 형식으로 하드 코딩되지 않습니다. 그 이유는 법률이 바뀌고, 법학의 변화가 일어나고, 법률 적 용어가 바뀔 수 있기 때문입니다.

이렇게하면 상당히 일반적인 파일 형식을 만들 수 있습니다 (실제로 미국이나 일본에서 사용할 수있는 파일을 생각해보십시오. 실제로 수행 할 계획이 없더라도, 그런 식으로 유연한 파일 형식을 설계 변경하면 더 커질 것입니다.)

이것은 더 어려울 수 있습니다. 불일치하거나 불완전하거나 불량한 데이터를 처리 할 준비가되어 있어야합니다. 하지만 어쨌든이 일을해야합니다. 또한 파일 형식이보다 명확하고 미래 보장 될 수 있으므로 소프트웨어의 유연성이 향상 될 수 있습니다. 아니면 아닐 수도 있습니다. mays, cans를 여기에서 알아라. 실제로 특정 디자인상의 절충에 달려 있습니다.

그리고 여기에 균형이 필요합니다. 하루가 끝나면 신뢰할 수 있고 유연한 시스템을 설계해야 할 부담이 있습니다. 불가리아어로 태그를 쓰는 접근법을 택할 수 있습니다. 나는 브라질 출신이고, 나는 비슷한 것을 생각하는 것이 이상하다고 생각하지만, 효과가있을 수 있습니다.

공구 제한에 대한 귀하의 실제 관심사에 대해 : 저는 잘 모릅니다. 우선 당신이 좋아하는 XML 라이브러리의 문서를 찾아 그것을 대담하게 주장하는지 확인해야한다. 가장 많이 사용되는 프로그램조차별로 사용되지 않는 기능을 완전히 지원하지 않을 수 있습니다.

+0

왜 당신은 " 하나의 응용 프로그램 "? 컨텍스트는 전자 정부 (eGovernment) XML 교환 패턴 및 규칙의 디자인입니다. 물론 우리는 GJXDM과 NIEM을 볼 것입니다 (미국은 IT 부서에서 경찰 국가를 표현한 훌륭한 직장입니다.). GJXDM/NIEM은 "국제 교환 학생의 명백한 학업 용어"와 같이 미국의 많은 이상 성을 가지고 있기 때문에 전 세계적으로 통용되는 합법적 인 XML 스키마가 아닙니다. 마찬가지로 불가리아어로 표현할 수있는 많은 BG 관련 법률 개념이 있습니다. –

0

어떤 도구 제한 사항이 발생합니까?

내가 올바르게 기억

는 XML 이름에 허용되는 문자 세트는 XML 1.0 및 XML 1.1 일부 이전에 제외 동남 아시아 스크립트를 허용 후자의 원래 달랐다. 다섯 번째 (= 최신) XML 1 버전이 변경되었습니다.0 추천 및 이제 허용 된 이름 문자가 동일합니다. 그래서 최소한 이론적으로 XML 1.0과 호환되는 일부 도구는 이름 문자 유효성을 검사하고 XML 1.0의 네 번째 버전에만 적합하면 이러한 새로운 허용 문자에 문제가있을 수 있습니다.

그러나 ASCII 및 불가리아어 문자 만 사용하는 경우이 문제는 이론적 인 것입니다.

관련 문제