XML / XSD માન્યક
સર્વર-સાઇડનમૂનાઓ
માન્યતા પરિણામ
XSD સ્કીમા
XML દસ્તાવેજ
તકનિકી વિગતો
XML / XSD વેલિડેટર કેવી રીતે કાર્ય કરે છે
આ ટૂલ શું કરે છે
આ XML XSD વેલિડેટર સર્વર-સાઇડ પ્રોસેસિંગનો ઉપયોગ કરીને XML દસ્તાવેજોને XML Schema ડિફિનિશન્સ સામે ચકાસે છે. ટૂલ તમારા સ્કીમામાં વ્યાખ્યાયિત રચના, ડેટા પ્રકારો, એલિમેન્ટ ઓર્ડરિંગ અને એટ્રિબ્યુટ આવશ્યકતાઓને વેલિડેટ કરે છે. જ્યારે વેલિડેશન નિષ્ફળ જાય છે, ત્યારે ઉપલબ્ધ હોય ત્યારે લાઇન અને કોલમ નંબર્સ સાથે ચોક્કસ ભૂલો રિપોર્ટ કરે છે. વેલિડેટર નેમસ્પેસિસ, કોમ્પ્લેક્સ ટાઇપ્સ, સિક્વન્સ કન્સ્ટ્રેઇન્ટ્સ, અને પેટર્ન મૅચિંગ તથા વેલ્યુ રિસ્ટ્રિક્શન્સ જેવી સ્કીમા ફેસેટ્સને હેન્ડલ કરે છે.
ઉદાહરણ: બુક કૅટલોગ વેલિડેશન
આ XSD સ્કીમા પર વિચાર કરો, જેમાં પુસ્તકો માટે ઇન્ટિજર IDs અને ડેસિમલ કિંમતો જરૂરી છે:
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="price" type="xs:decimal"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>અમાન્ય XML જેમ કે <book id="abc"><price>not-a-number</price></book> વેલિડેશનમાં નિષ્ફળ જશે અને ID એટ્રિબ્યુટ તથા price એલિમેન્ટ બંને માટે ટાઇપ કન્સ્ટ્રેઇન્ટ ભૂલો બતાવશે.
સામાન્ય ઉપયોગ કિસ્સાઓ
ડેવલપર્સ SOAP APIs સાથે ઇન્ટિગ્રેશન કરતી વખતે, કન્ફિગરેશન ફાઇલો વેલિડેટ કરતી વખતે, અથવા ડેટા ઇન્ટરચેન્જ ફોર્મેટ્સ પ્રોસેસ કરતી વખતે XML Schema વેલિડેશનનો ઉપયોગ કરે છે. સામાન્ય પરિસ્થિતિઓમાં પ્રકાશિત સ્કીમાઝ સામે API રિસ્પોન્સિસ વેલિડેટ કરવું, ડિપ્લોયમેન્ટ પહેલાં કન્ફિગરેશન ફાઇલો ચકાસવી, અને ETL પાઇપલાઇન્સમાં ડેટા ગુણવત્તા સુનિશ્ચિત કરવી શામેલ છે. વેલિડેટર ખાસ કરીને ટાઇપ મિસમૅચ, જરૂરી એલિમેન્ટ્સ ગુમ હોવા, અને ખોટા એલિમેન્ટ ઓર્ડરિંગને ડેટા પ્રોડક્શન સિસ્ટમ્સ સુધી પહોંચે તે પહેલાં પકડવા માટે ઉપયોગી છે.
વેલિડેશન એન્જિન અને મર્યાદાઓ
આ ટૂલ libxmljs Node.js બાઇન્ડિંગ મારફતે libxml2 નો ઉપયોગ કરે છે, જે XML Schema 1.0 અનુરૂપતા પ્રદાન કરે છે. સુરક્ષા માટે વેલિડેટર સ્કીમાઝને સંપૂર્ણપણે સર્વર-સાઇડ પ્રોસેસ કરે છે અને બાહ્ય રિસોર્સિસ ફેચ કરતું નથી અથવા નેટવર્ક-આધારિત ઇમ્પોર્ટ્સ રિઝોલ્વ કરતું નથી. સલામતી માટે એક્સ્ટર્નલ એન્ટિટી પ્રોસેસિંગ (XXE) નિષ્ક્રિય છે. સ્કીમા includes અને imports માત્ર ત્યારે જ કામ કરે છે જ્યારે બધા રેફરન્સ કરેલા સ્કીમાઝ મુખ્ય XSD કન્ટેન્ટમાં પ્રદાન કરવામાં આવ્યા હોય.
- નેટવર્ક ઍક્સેસ:સુરક્ષા માટે બ્લૉક કરેલ
- સ્કીમા ઇમ્પોર્ટ્સ:ઇનલાઇન હોવા જોઈએ, બાહ્ય રિઝોલ્યુશન નહીં
- બાહ્ય એન્ટિટીઝ:નિષ્ક્રિય (XXE સુરક્ષા)
- પ્રોસેસિંગ મર્યાદાઓ:વાજબી કદ મર્યાદાઓ લાગુ પડે છે
સર્વર-સાઇડ સામે ક્લાયન્ટ-સાઇડ પ્રોસેસિંગ
મૂળભૂત સિન્ટેક્સ માન્યતા માટે ક્લાયન્ટ-સાઇડ XML વેલ-ફોર્મ્ડનેસ ચેક્સ પૂરતા છે. જોકે, XSD વેલિડેશન માટે વિશિષ્ટ એન્જિન જરૂરી છે કારણ કે બ્રાઉઝર્સમાં XML Schema પ્રોસેસર્સ શામેલ નથી. સર્વર-સાઇડ વેલિડેશન સઘન પરિણામો સુનિશ્ચિત કરે છે, ઇનહેરિટન્સ અને ઇમ્પોર્ટ્સ જેવી જટિલ સ્કીમા સુવિધાઓ સંભાળે છે, અને સંભવિત દુષિત XML સામગ્રીથી સુરક્ષા આઇસોલેશન પ્રદાન કરે છે.