programing

xs란 무엇입니까?NCName 타입과 사용 시기는?

cafebook 2023. 9. 15. 21:20
반응형

xs란 무엇입니까?NCName 타입과 사용 시기는?

스키마 생성기를 통해 xml 파일 중 하나를 실행했는데 하나의 노드를 제외하고 생성된 모든 것이 예상대로 수행되었습니다.

<xs:element name="office" type="xs:NCName"/>

정확히 무엇이xs:NCName? 그리고 왜 그걸 사용하겠습니까, 오히려xs:string?

@skyl이 실질적으로 이 답변을 쓰도록 자극했으니 중복을 신경써주시기 바랍니다.

NCName는 "비동기화된 이름"의 약자입니다.NCName을 XML 스키마 정규식으로 정의할 수 있습니다.[\i-[:]][\c-[:]]*

그리고 그 정규성은 무엇을 의미합니까?

\i그리고.\c는 XML 스키마 정의에 정의된 다중 문자 이스케이프입니다.
http://www.w3.org/TR/xmlschema-2/ #dt-cceN
\i는 초기 XML 이름 문자 집합에 대한 탈출입니다.\c는 XML 이름 문자의 집합입니다.[\i-[:]]집합으로 구성된 집합을 의미합니다.\i대장 문자로 구성된 집합 제외:. 그래서 쉬운 영어로 그것은 "어떤 첫 글자라도, 그러나 그렇지 않다"를 의미할 것입니다.:". 정규식 전체는 "초기 XML 이름 문자는 하나, 콜론은 하나, XML 이름 문자는 0개 이상, 콜론은 하나"로 읽힙니다.

NCName의 실질적인 제약 사항

NCName의 실질적인 제약은 다음과 같은 여러 개의 기호 문자를 포함할 수 없다는 것입니다.:,@,$,%,&,/,+,,,;, 공백 문자 또는 다른 괄호.또한 NCName은 숫자, 도트 또는 마이너스 문자로 시작할 수 없지만 NCName에는 나중에 표시될 수 있습니다.

NCName이 필요한 위치

네임스페이스 적합 XML 문서에서 모든 이름은 정규화된 이름 또는 NCName이어야 합니다.다음 값은 NCNames(정규화되지 않은 이름)여야 합니다.

  • 네임스페이스 접두사
  • ID를 나타내는 값
  • IDREF를 나타내는 값
  • 표기법을 나타내는 값
  • 처리명령어 대상
  • 도면요소 이름

NCName은(는) 식민지화되지 않은 이름입니다(예: "name").QName과 비교할 때 적합한 이름(예: QName)입니다."ns:name".이름이 다른 네임스페이스로 한정되지 않아야 하는 경우 NCName이 됩니다.

xs: string은 이름에 전혀 제한을 두지 않지만 xs:NCName에서는 기본적으로 문자열에 ":"을 표시할 수 없습니다.

사실은...

허용되는 문자: -,.,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z 아닌 , ASCisilgn\p{L}+.

,-그리고..값의 첫 번째 문자로 사용할 수 없습니다.

허용되지 않는 문자: ,!,",#,$,%,&,',(,),*,+,,,/,:,;,<,=,>,?,@,[,\,],^, ``, {, |, }, ~`

http://books.xmlschemata.org/relaxng/ch19-77215.html

공백이나 콜론이 없습니다."_" 및 "-"를 허용합니다.

문자열 대신 이 값을 사용하여 값이 허용된 값으로 제한되는지 확인할 수 있습니다.예를 들어, 장고의 "슬러그" 개념과 같은 이름/식별자에 대한 특정 규칙에 잘 매핑됩니다.

나는 그 사람을 지지합니다.[\i-[:]][\c-[:]]*우리를 위해 영어로 번역합니다.

언급URL : https://stackoverflow.com/questions/1631396/what-is-an-xsncname-type-and-when-should-it-be-used

반응형