जवाबों:
NCName गैर-उपनिवेशित नाम है जैसे "नाम"। QName की तुलना में जो योग्य नाम है जैसे "ns: name"। यदि आपके नाम विभिन्न नामस्थानों द्वारा योग्य नहीं हैं, तो वे NCNames हैं।
xs: string आपके नामों पर कोई प्रतिबंध नहीं लगाती है, लेकिन xs: NCName मूल रूप से स्ट्रिंग में प्रदर्शित होने के लिए ":" को अस्वीकार कर देता है।
@skyl ने व्यावहारिक रूप से मुझे यह उत्तर लिखने के लिए उकसाया ताकि कृपया अतिरेक को ध्यान में रखें।
NCName
"गैर-उपनिवेशित नाम" के लिए खड़ा है। NCName को XML स्कीमा नियमित अभिव्यक्ति के रूप में परिभाषित किया जा सकता है[\i-[:]][\c-[:]]*
\i
और \c
एक्सएमएल स्कीमा परिभाषा में परिभाषित मल्टी-कैरेक्टर एस्केप हैं।
http://www.w3.org/TR/xmlschema-2/#dt-ccesN
\i
प्रारंभिक XML नाम वर्णों के सेट के लिए पलायन है और \c
XML नाम वर्णों का समूह है। [\i-[:]]
एक सेट का मतलब है कि सेट से मिलकर \i
एक सेट जिसमें बृहदान्त्र वर्ण शामिल है :
। तो सादे अंग्रेजी में इसका मतलब होगा "कोई भी प्रारंभिक चरित्र, लेकिन नहीं :
"। संपूर्ण नियमित अभिव्यक्ति "एक प्रारंभिक XML नाम वर्ण के रूप में पढ़ती है, लेकिन एक बृहदान्त्र नहीं, जिसके बाद शून्य या अधिक XML नाम वर्ण होते हैं, लेकिन एक बृहदान्त्र नहीं।"
NCName के व्यावहारिक प्रतिबंध है कि यह जैसे कई प्रतीक वर्ण नहीं हो सकते हैं :
, @
, $
, %
, &
, /
, +
, ,
, ;
, खाली स्थान के वर्ण या अलग कोष्टक। इसके अलावा एक NCName नंबर, डॉट या माइनस कैरेक्टर से शुरू नहीं हो सकता है, हालांकि वे बाद में NCName में दिखाई दे सकते हैं।
नामस्थान के अनुरूप XML दस्तावेजों में सभी नामों के योग्य नाम या NCNames होना चाहिए। निम्नलिखित मान NCNames (योग्य नाम नहीं) होने चाहिए:
व्यावहारिक रूप से बोल रहा हूँ...
स्वीकृत वर्णों: -
, .
, 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
इसके अलावा, -
और .
मूल्य के पहले चरित्र के रूप में इस्तेमाल नहीं किया जा सकता है।
अस्वीकृत वर्ण: ,
!
, "
, #
, $
, %
, &
, '
, (
, )
, *
, +
, ,
, /
, :
, ;
, <
, =
, >
, ?
, @
, [
, \
, ]
, ^
, `
, {
, |
, }
,~
http://books.xmlschemata.org/relaxng/ch19-77215.html
कोई स्थान या कॉलोन नहीं। "_" और "-" की अनुमति देता है।
आप इसे स्ट्रिंग के बजाय इसका उपयोग करेंगे ताकि आप यह पुष्टि कर सकें कि मूल्य सीमित है जो कि अनुमति है। यह उदाहरण के लिए, django की अवधारणा जैसे नाम / पहचानकर्ता के लिए कुछ सम्मेलनों के लिए अच्छी तरह से मैप करता है।
मैं उस व्यक्ति का उत्थान करता हूं जो [\i-[:]][\c-[:]]*
हमारे लिए अंग्रेजी में अनुवाद करता है।
[\i-[:]][\c-[:]]*
अंग्रेजी में अनुवाद करता है। आगे बढ़ें और आगे बढ़ें, जैसा आपने वादा किया था;)
xs:NCName