xsd மொழி. XSD கோப்பு என்றால் என்ன - வடிவமைப்பை எவ்வாறு பயன்படுத்துவது மற்றும் மாற்றுவது

வீடு / உலாவிகள்

எக்ஸ்எம்எல் ஸ்கீமாக்களை எப்படி எழுதுவது என்பதை இந்த அத்தியாயம் காண்பிக்கும். வரைபடத்தை வெவ்வேறு வழிகளில் எழுதலாம் என்பதையும் நீங்கள் அறிந்து கொள்வீர்கள்.

எக்ஸ்எம்எல் ஆவணம்

"shiporder.xml" எனப்படும் இந்த XML ஆவணத்தைப் பார்ப்போம்:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
ஜான் ஸ்மித்

ஓலா நார்ட்மேன்

லாங்க்ட் 23

4000 ஸ்டாவஞ்சர்
நார்வே


பேரரசு பர்லெஸ்க்
சிறப்பு பதிப்பு
1
10.90


உன் இதயத்தை மறை
1
9.90

மேலே உள்ள XML ஆவணம் "shiporder" என்ற ரூட் உறுப்பைக் கொண்டுள்ளது, அதில் "orderid" எனப்படும் தேவையான பண்புக்கூறு உள்ளது. "ஷிப்போர்ட்" உறுப்பு மூன்று வெவ்வேறு குழந்தை கூறுகளைக் கொண்டுள்ளது: "ஆர்டர்பர்சன்" , "ஷிப்டோ" மற்றும் "ஐட்டம்" . "உருப்படி" உறுப்பு இருமுறை தோன்றும், மேலும் அதில் "தலைப்பு" உறுப்பு, விருப்பமான "குறிப்பு" உறுப்பு, "அளவு" உறுப்பு மற்றும் "விலை" உறுப்பு ஆகியவை உள்ளன.

மேலே உள்ள வரி: Xmlns: XSI="http://www.w3.org/2001/XMLSchema-instance" இந்த ஆவணம் ஸ்கீமா சரிபார்க்கப்பட வேண்டும் என்று XML பாகுபடுத்தி கூறுகிறது. வரி: XSI: noNamespaceSchemaLocation = "shiporder.xsd" என்பது திட்டவட்டங்கள் அமைந்துள்ள இடத்தைக் குறிக்கிறது (இங்கே அது "shiporder.xml" போன்ற அதே கோப்புறையில் உள்ளது) .

எக்ஸ்எம்எல் திட்டத்தை உருவாக்குதல்

இப்போது மேலே உள்ள XML ஆவணத்திற்கான திட்டத்தை உருவாக்க விரும்புகிறோம்.

புதிய கோப்பைத் திறப்பதன் மூலம் தொடங்குவோம், அதை நாங்கள் "shiporder.xsd" என்று அழைப்போம். ஒரு ஸ்கீமாவை உருவாக்க, எக்ஸ்எம்எல் ஆவணத்தில் உள்ள கட்டமைப்பைப் பின்பற்றி, ஒவ்வொரு உறுப்பையும் நாம் கண்டறிந்தபடி வரையறுக்கலாம். நாங்கள் ஒரு நிலையான XML அறிவிப்புடன் தொடங்குவோம், அதைத் தொடர்ந்து ஒரு xs:schema உறுப்பு ஸ்கீமாவை வரையறுக்கிறது:



...

மேலே உள்ள திட்டத்தில் நாம் நிலையான பெயர்வெளிகளை (xs) பயன்படுத்துகிறோம், மேலும் இந்த பெயர்வெளியுடன் தொடர்புடைய URI என்பது ஸ்கீமா மொழி வரையறையாகும், இது நிலையான மதிப்பு http://www.w3.org/2001/XMLSchema ஆகும்.

அடுத்து, நாம் ஒரு "ஷிப்போர்ட்" உறுப்பை வரையறுக்க வேண்டும். இந்த உறுப்பு ஒரு பண்புக்கூறு மற்றும் பிற கூறுகளைக் கொண்டுள்ளது, எனவே நாங்கள் அதை ஒரு சிக்கலான வகையாகக் கருதுகிறோம். "ஷிப்போர்ட்" உறுப்பின் குழந்தை உறுப்புகள் xs ஆல் சூழப்பட்டுள்ளன: துணை உறுப்புகளின் வரிசைப்படுத்தப்பட்ட வரிசையை வரையறுக்கும் வரிசை உறுப்பு:




...


பின்னர் நாம் "ஆர்டர்பர்சன்" உறுப்பை ஒரு எளிய வகையாக வரையறுக்க வேண்டும் (அதில் எந்த பண்புக்கூறுகள் அல்லது பிற கூறுகள் இல்லை என்பதால்). வகை (xs:string) எக்ஸ்எம்எல் ஸ்கீமாவுடன் தொடர்புடைய பெயர்வெளி முன்னொட்டுடன் முன்னொட்டப்பட்டது, இது முன் வரையறுக்கப்பட்ட ஸ்கீமா தரவு வகையைக் குறிப்பிடுகிறது:










திட்டங்களின் உதவியுடன், MaxOccurs மற்றும் MinOccurs பண்புக்கூறுகள் கொண்ட ஒரு உறுப்புக்கான சாத்தியமான நிகழ்வுகளின் எண்ணிக்கையை நாம் தீர்மானிக்க முடியும். MaxOccurs ஒரு உறுப்புக்கான அதிகபட்ச நிகழ்வுகளின் எண்ணிக்கையைக் குறிப்பிடுகிறது மற்றும் MinOccurs ஒரு உறுப்புக்கான குறைந்தபட்ச நிகழ்வுகளின் எண்ணிக்கையைக் குறிப்பிடுகிறது. MaxOccurs மற்றும் MinOccurs இரண்டின் இயல்புநிலை மதிப்பு 1 ஆகும்!

இப்போது நாம் "உருப்படி" உறுப்பை வரையறுக்கலாம். இந்த உறுப்பு "ஷிப்போர்ட்" உறுப்புக்குள் பல முறை தோன்றலாம். "உருப்படி" உறுப்பின் maxOccurs பண்புக்கூறை "வரம்பற்ற" என அமைப்பதன் மூலம் இது தீர்மானிக்கப்படுகிறது, அதாவது "உருப்படி" உறுப்புக்கு ஆசிரியர் விரும்பும் பல நிகழ்வுகள் இருக்கலாம். "குறிப்பு" உறுப்பு விருப்பமானது என்பதை நினைவில் கொள்ளவும். minOccurs பண்புக்கூறை பூஜ்ஜியமாக அமைப்பதன் மூலம் இதை வரையறுத்தோம்:










இப்போது நாம் தனிமத்தின் "ஷிப்போர்ட்" பண்புக்கூறை அறிவிக்கலாம். இது தேவையான பண்புக்கூறு என்பதால், use="required" என்பதைக் குறிப்பிடுகிறோம்.

குறிப்பு: பண்புக்கூறு அறிக்கைகள் எப்போதும் கடைசியாக வர வேண்டும்:

"shiporder.xsd" எனப்படும் திட்டக் கோப்பின் முழுமையான பட்டியல் இங்கே:





























தனி சுற்றுகள்

முந்தைய வடிவமைப்பு முறை மிகவும் எளிமையானது, ஆனால் ஆவணங்கள் சிக்கலானதாக இருக்கும்போது படிக்கவும் பராமரிக்கவும் கடினமாக இருக்கும்.

அடுத்த வடிவமைப்பு முறையானது அனைத்து உறுப்புகள் மற்றும் பண்புக்கூறுகளை வரையறுத்து, பின்னர் ref பண்புக்கூறைப் பயன்படுத்தி அவற்றைக் குறிப்பிடுவதை அடிப்படையாகக் கொண்டது.

திட்டக் கோப்பின் புதிய வடிவமைப்பு இதோ ("shiporder.xsd"):








































பெயரிடப்பட்ட வகைகளைப் பயன்படுத்துதல்

மூன்றாவது வடிவமைப்பு முறை வகுப்புகள் அல்லது வகைகளை வரையறுக்கிறது, இது உறுப்பு வரையறைகளை மீண்டும் பயன்படுத்த அனுமதிக்கிறது. தனிமங்களுக்கு எளிய வகைகள் மற்றும் சிக்கலான வகைகள் என்று பெயரிடுவதன் மூலம் இது செய்யப்படுகிறது, பின்னர் உறுப்புகளின் வகை பண்புக்கூறு மூலம் அவற்றைக் குறிப்பிடுகிறது.

திட்டக் கோப்பின் மூன்றாவது வடிவமைப்பு இதோ ("shiporder.xsd"):

































தரவு வகை W3C XML ஸ்கீமா தரவு வகை பெயர்வெளியில் இருந்து பெறப்பட்டது என்பதை கட்டுப்பாட்டு உறுப்பு குறிக்கிறது. எனவே பின்வரும் துணுக்கு உறுப்பு அல்லது பண்புக்கூறின் மதிப்பு ஒரு சரத்தின் மதிப்பாக இருக்க வேண்டும் என்பதாகும்:

உறுப்புகளுக்குக் கட்டுப்பாடுகளைப் பயன்படுத்துவதற்கு கட்டுப்பாடு உறுப்பு அடிக்கடி பயன்படுத்தப்படுகிறது. மேலே உள்ள வரைபடத்திலிருந்து பின்வரும் வரிகளைப் பாருங்கள்:





உறுப்பு அல்லது பண்புக்கூறின் மதிப்பு ஒரு சரமாக இருக்க வேண்டும், அது ஒரு வரிக்கு சரியாக ஆறு எழுத்துகளாக இருக்க வேண்டும், மேலும் அந்த எழுத்துகள் 0 மற்றும் 9 க்கு இடைப்பட்ட எண்ணாக இருக்க வேண்டும் என்று இது குறிப்பிடுகிறது.

பணிபுரியும் போது மிகவும் பொதுவான பணியைப் பற்றி ஒரே இடத்தில் பேச விரும்புகிறேன் எக்ஸ்எம்எல், அதாவது, உருவாக்கம் பற்றி எக்ஸ்எம்எல்ஏற்கனவே உள்ளதை அடிப்படையாகக் கொண்டது. இந்த செயல்பாடு பல நிலைகளைக் கொண்டிருக்கும், இதன் போது கூடுதல் பணிகள் தீர்க்கப்படும், அவை:

  • உருவாக்கம் எக்ஸ்எம்எல்அடிப்படையில் XSD, மற்றும் நேர்மாறாகவும்.
  • பொருள்களின் வரிசைப்படுத்தல் மற்றும் சீரழிவு.
  • எதிர்காலத் தொடருக்கான வகுப்பை உருவாக்குதல் எக்ஸ்எம்எல்அல்லது XSD.
தொடங்குவதற்கு முன், வாசகருக்கு வார்த்தைகள் தெரிந்திருக்க வேண்டும் என்று திட்டமிடுகிறேன் எக்ஸ்எம்எல்மற்றும் XSD. குறித்து எக்ஸ்எம்எல், நான் இதில் எந்த பிரச்சனையும் இல்லை என்று நினைக்கிறேன், ஆனால் பொறுத்தவரை XSDஅது என்ன என்று எனக்கு கேள்விகள் இருக்கலாம். சுருக்கமாக:
XSDவிவரிக்கும் மொழியாகும் எக்ஸ்எம்எல். இந்த விளக்கத்தைக் கொண்ட கோப்பின் உள்ளடக்கங்களைப் பார்த்தால், உங்கள் வெளிப்படையான குறிச்சொற்களை ஏன் விவரிக்க வேண்டும் என்ற கேள்வி எழும். எக்ஸ்எம்எல்? ஆனால் நீங்கள் சில வெளிப்புற அமைப்புகளுடன் ஒருங்கிணைக்கிறீர்கள் என்று கற்பனை செய்து பாருங்கள், மேலும் தரவு பரிமாற்றத்திற்கான வடிவமைப்பைப் பயன்படுத்த விரும்புகிறீர்கள் எக்ஸ்எம்எல். எனவே, XSDஒவ்வொரு உறுப்புக்கும் அதன் பெயர், சாத்தியமான பண்புக்கூறுகள், கட்டாய புலங்கள் அல்லது பண்புக்கூறுகளை விவரிக்க உங்களை அனுமதிக்கிறது, மேலும் குறிச்சொல்லின் உள்ளடக்கங்கள் ஒரே ஒரு உள் உறுப்பு மட்டுமே இருக்க முடியும் என்பதை தெளிவுபடுத்துகிறது ( ) மேலும் இல்லை, அல்லது ஒரு முனை உறுப்புகளின் வரிசையைக் கொண்டிருக்கலாம் (< a> ... ) வெளிப்புற அமைப்பு உங்களுடையதாக இருக்கும் போது, ​​எந்த பிரச்சனையும் இல்லாமல் இருக்கலாம், ஆனால் அது மூன்றாம் தரப்பினராக இருக்கும்போது இந்த விளக்கம்மூலம் XSD, வடிவமைப்பில் உள்ள தகராறுகளைத் தீர்ப்பதற்கான ஒரு கருவியாக இருக்கும், மேலும், பயன்பாடுகளைப் பயன்படுத்தி, எந்தவொரு இணக்கத்தையும் நீங்கள் சரிபார்க்கலாம். எக்ஸ்எம்எல்அசல் வடிவம்.
எனவே, எப்படி முத்திரையிடுவது என்பதை அறிய நாம் என்ன செய்யப் போகிறோம் எக்ஸ்எம்எல்உங்கள் தரத்தின் அடிப்படையில்? நான் எல்லாவற்றையும் வரிசையாக விவரிக்கிறேன்.

கிடைக்கும்:
சில வகையான எக்ஸ்எம்எல் (xmlfile.xml), ஒரு கோப்பில் உரை வடிவத்தில் சேமிக்கப்பட்டது. கீழே உள்ள உரை:

< catalog > < book id = " bk101 " > < author >கம்பர்டெல்லா, மத்தேயு < title >எக்ஸ்எம்எல் டெவலப்பர் வழிகாட்டி < genre >கணினி < price > 44.95 < publish_date > 2000-10-01 < description >எக்ஸ்எம்எல் மூலம் பயன்பாடுகளை உருவாக்குவது பற்றிய ஆழமான பார்வை. < book id = " bk102 " > < author >ரால்ஸ், கிம் < title >நள்ளிரவு மழை < genre >கற்பனை < price > 5.95 < publish_date > 2000-12-16 < description >ஒரு முன்னாள் கட்டிடக் கலைஞர் கார்ப்பரேட் ஜோம்பிஸ், ஒரு தீய சூனியக்காரி மற்றும் அவளது சொந்த குழந்தைப் பருவத்துடன் உலகின் ராணியாக மாற போராடுகிறார்.

புதிய ஒன்றை உருவாக்குவதற்கான படிகள்:

  1. முதலில் பயன்பாட்டைப் பயன்படுத்துதல் XSD.exe, அல்லது பயன்படுத்தி ஆன்லைன் சேவைகள்("xml to xsd" என்று தேடவும், அவற்றில் ஒன்று www.freeformatter.com/xsd-generator.html), ஏற்கனவே உள்ளவற்றிலிருந்து உருவாக்குவோம் எக்ஸ்எம்எல்அதன் பழமையானது XSDவிளக்கம். வெளியீட்டில் நாம் முற்றிலும், தானாக உருவாக்கப்படும் output.xsd ஏற்கனவே பயன்படுத்தக்கூடிய ஆனால் முழுமையடையாத கோப்பு.
  2. அடுத்து, அடிப்படையில் output.xsd , C# இல் வகுப்புகள் உருவாக்கப்படும் xmlclass.cs.அதன் பிறகு, அதை எங்கள் திட்டத்தில் சேர்க்கிறோம். பயன்படுத்தி ஒரு வகுப்பை உருவாக்கலாம் XSD.exeஅல்லது xsd2codeபயன்பாடு, அல்லது ஏதேனும் ஆன்லைன் சேவை.
  3. இப்போது நாம் கோப்பு வகுப்புகளைப் பயன்படுத்த தயாராக உள்ளோம் xmlclass.cs. எனவே, தரவுகளுடன் நிகழ்வுகளை உருவாக்கி நிரப்புவோம் எக்ஸ்எம்எல் வகுப்பு, பின்னர், வரிசைப்படுத்தல் செயல்முறையைப் பயன்படுத்தி, பொருள்களை மாற்றுவோம் எக்ஸ்எம்எல்வரி, பின்னர் அதை சேமிக்கவும் புதிய கோப்பு. இவ்வாறு நாம் பெறுகிறோம் எக்ஸ்எம்எல்கிடைக்கக்கூடியவற்றின் அடிப்படையில்.
தொடங்குவோம்!

படி 1: XML இலிருந்து XSD ஐ உருவாக்கவும்.

எனவே, நானே பயன்படுத்தும் முறைகள் இங்கே:
  1. பயன்பாடு xsd.exe- படைப்பாளி மைக்ரோசாப்ட்.
  2. பயன்பாடு xsd2code.exe - மூன்றாம் தரப்பு விண்ணப்பம், இது போன்ற அனைத்தையும் செய்யக்கூடியது xsd.exe, ஆனால் நேரடியாக பதிவிறக்கம் செய்யக் கிடைக்கிறது (இல் இந்த நேரத்தில்இருந்து ஊதியம் ஆனது விசாரணைகாலம்).
  3. எந்த ஆன்லைன் சேவைகளையும் பயன்படுத்துதல்.
பெறுவதற்காக XSD.exe, நீங்கள் எதையும் வைக்க வேண்டும் மைக்ரோசாப்ட் SDKகள், உடன் வருகிறது இந்த விண்ணப்பம். துரதிர்ஷ்டவசமாக, இந்த நேரத்தில், எந்த ஸ்டுடியோவும் இந்த பயன்பாட்டை தங்கள் கிட்டில் சேர்க்கவில்லை.

ஒன்றைப் பதிவிறக்கி நிறுவுவதற்கான இணைப்பு எஸ்.டி.கே:
Windows 7 மற்றும் .NET Framework 4க்கான Windows SDK.

தேடலைப் பயன்படுத்தி கோப்பைக் கண்டுபிடிப்போம் xsd.exe, அதன் பிறகு (எங்கள் வேலையை எளிதாக்க), வட்டின் மூலத்தில் உருவாக்கப்பட்ட கோப்புறையில் அதை நகலெடுக்கவும் சி:\xmltoxsd. அடுத்து, நாங்கள் நகலெடுக்கிறோம் xmlfile.xmlமற்றும் எல்லாம் தொடங்க தயாராக உள்ளது.


நாங்கள் கிழிக்கிறோம்" கட்டளை வரி"(தொடங்கு -> "இயக்கு" -> "cmd"), எங்கள் கோப்பகத்திற்குச் சென்று இயல்புநிலை அளவுருக்களுடன் அழைக்கவும் xsd.exe, எங்கள் xmlfile.xml ஐ ஒரு அளவுருவாக அனுப்புகிறது:


அதற்கு அடுத்ததாக ஒரு கோப்பு தோன்றியிருப்பதைக் காண்கிறோம் xmlfile.xsdஉள்ளடக்கத்துடன்.


அவ்வளவுதான்! இந்த செயல்கள் ஒரு பழமையான உருவாக்க போதுமானது XSDவேலை செய்ய கோப்பு. ஆனால் அதைப் புரிந்துகொள்வது மதிப்பு xsd.exe, மற்ற பயன்பாட்டைப் போலவே, உங்கள் புலங்களின் வகைகளைப் பற்றி எதுவும் தெரியாது (எனவே புல வகை எப்போதும் இருக்கும் சரம்), அத்துடன் பண்புக்கூறுகள் மற்றும் அளவுருக்களின் அனைத்து மாறுபாடுகள் பற்றியும். அதாவது, உங்கள் குறிச்சொல்லில் பண்புக்கூறு இல்லை என்றால் எக்ஸ்எம்எல், அது விளக்கத்தில் இருக்காது. அதனால் தான் எக்ஸ்எம்எல்மிகவும் முழுமையானதாக இருக்க வேண்டும் மற்றும் உறுப்பு பல குழந்தை புலங்களைக் கொண்டிருந்தால், குறைந்தது இரண்டைச் சேர்ப்பது நல்லது xsd.exeஇது ஒரு தொகுப்பு என்பதை உணர்ந்தேன்.

தொடரியல் XSDமிகவும் சிக்கலானது அல்ல, எனவே நீங்கள் மிகவும் தீவிரமான விளக்கத்தை எழுதுகிறீர்கள் என்றால், நீங்கள் ஒரு கோப்புடன் வேலை செய்ய வேண்டியிருக்கும்.

படி 2: XSD இலிருந்து ஒரு வகுப்பை உருவாக்கவும்.

C# இல் ஒரு வகுப்பை உருவாக்க, நாம் மீண்டும் பயன்படுத்த வேண்டும் xsd.exeஆனால் வேறு அளவுருவுடன் / வகுப்புகள், எங்கள் பாதையை கடந்து xmlfile.xsd.


செயல்படுத்திய பிறகு, xmlfile.cs கோப்பு தோன்றும், அதன் உள்ளடக்கங்கள் சுருக்கப்பட்ட வடிவத்தில் கீழே காட்டப்பட்டுள்ளன:


நீங்கள் பார்க்க முடியும் என, உள் உறுப்புக்கு பட்டியல்ஒரு வகுப்பு உருவாக்கப்பட்டது பட்டியல் புத்தகம், அதன் புலங்கள் உள்ள புலங்களுடன் ஒத்திருக்கும் எக்ஸ்எம்எல், மற்றும் புலம் ஐடிபண்புக்கூறாகக் குறிக்கப்பட்டது. Xsd.exeஉள்ளே என்ன இருக்கிறது என்பதை நான் சரியாக புரிந்துகொண்டேன் பட்டியல்புத்தகங்களின் தொகுப்பு சேமிக்கப்படுகிறது, எனவே சொத்து தோன்றியது பொருட்கள், குழந்தை சேகரிப்பு மக்கள்தொகை.
கருத்து: xsd.exeஇதன் விளைவாக வரும் வகுப்புகள் மற்றும் புலங்களில் கருத்துகளைச் சேர்க்க முடியாது. விளக்கத்தில் XSDஎன்று ஒரு உறுப்பு உள்ளது< xs:annotation > , பெரும்பாலும் கொண்டிருக்கும்< xs:documentation >, அதன் உள்ளே புலத்தின் விளக்கம் உள்ளது. கோட்பாட்டில், இது /// விளக்கத்தில் வைக்கப்பட வேண்டும், ஆனால் தற்போது xsd.exeவிளக்கத்தில் உரையைச் சேர்க்க மறுக்கிறது, எனவே நீங்கள் போன்ற மாற்று வழிகளை நாட வேண்டும் xsd2codeஅல்லது ஆன்லைன் சேவைகள்.

படி 3: பொருட்களை XMLக்கு வரிசைப்படுத்தவும்.

இதன் விளைவாக வரும் வகுப்புகள் கோப்பில் உள்ளன xmlfile.cs. அடுத்து, திட்டத்தில் அதன் உள்ளடக்கங்கள் அல்லது கோப்பைச் சேர்க்கவும் விஷுவல் ஸ்டுடியோ, அதன் பிறகு நீங்கள் அதனுடன் வேலை செய்யலாம். டெமோ புக் ஆப்ஜெக்ட்களை உருவாக்கி, அவற்றை ஃபார்மட்டில் உள்ள கோப்பில் சேமித்து வைப்பேன் எக்ஸ்எம்எல்.

தனிப்பட்ட வெற்றிட உதாரணம்() ( // முதல் புத்தகத்தை உருவாக்கவும் var book1 = புதிய catalogBook () (ஆசிரியர் = "ராஜா" , விளக்கம் = "மிகவும் சுவாரஸ்யமான புத்தகம்" , வகை = "பேண்டஸி" , விலை = 22.ToString(), id = "42011" , தலைப்பு = "It" }; !} // இரண்டாவது புத்தகத்தை உருவாக்கவும் var book2 = புதிய பட்டியல் புத்தகம் () (ஆசிரியர் = "O"Brien, Tim" , விளக்கம் = "மைக்ரோசாப்டின் .NET முன்முயற்சி இந்த ஆழமான புரோகிராமரின் குறிப்பில் விரிவாக ஆராயப்பட்டுள்ளது.", வகை = "கணினி" , விலை = 36.ToString(), ஐடி = "30012" , தலைப்பு = "மைக்ரோசாப்ட் .நெட்: தி புரோகிராமிங் பைபிள்" }; // மேலே உள்ள இரண்டு புத்தகங்களைக் கொண்ட ஒரு அடைவு மூல உறுப்பை உருவாக்கவும் var அட்டவணை = புதிய பட்டியல்() (பொருட்கள் = புதிய (புத்தகம்1, புத்தகம்2)); // பட்டியல் பொருளின் XML ஐக் கொண்டுள்ளது var xmlCatalog = Serialize(catalog); // ஒரு கோப்பில் ஒரு சரத்தை எழுதவும் // TODO ஆர்ப்பாட்ட நோக்கங்களுக்காக உருவாக்கப்பட்டது. ஸ்ட்ரீமை கோப்புக்கு மாற்ற, சீரியலைஸ் முறையை அழைப்பது நல்லதுகோப்பு .WriteAllText("Output.xml" , xmlCatalog); ) தனிப்பட்ட சரம் சீரியல் (TType sourceObject) (ஆனால் (sourceObject == null) (திரும்ப சரம் .Empty; ) // XML சரமாக மாற்ற XmlSerializer ஐப் பயன்படுத்தவும் var xmlserializer = புதிய XmlSerializer(typeof(TType)); var stringWriter = புதிய StringWriter();பயன்படுத்தி (var writer = XmlWriter .Create(stringWriter, new XmlWriterSettings () ( Indent = true ))) ( xmlserializer.Serialize(writer, sourceObject); திரும்ப stringWriter.ToString(); ) ) இயங்கி திறந்த பிறகு Output.xml").

நாங்கள் விரும்பியபடி சேமித்ததை நீங்கள் காணலாம் (கீழே கோப்பு - " குறியீடு மூலம் உருவாக்கப்பட்டதுஅறிக்கையிடலின் பல்வேறு வடிவங்களைச் செய்யும்போது (மற்றும் கூட

வழக்கமான வேலை

ஆன்லைனில்), சில பயனர்கள் XSD நீட்டிப்புடன் ஒரு கோப்பை சந்திக்கலாம். இந்தக் கோப்பு பொதுவாக எக்ஸ்எம்எல் தரவை விவரிப்பதற்கான ஒரு திட்டமாகும், ஆனால் குறிப்பிடப்பட்ட கோப்பு பேட்டர்ன் மேக்கர் நிரலின் வழித்தோன்றலாக இருக்கும் சந்தர்ப்பங்களும் உள்ளன. இந்த கட்டுரையில், ஒரு எக்ஸ்எஸ்டி கோப்பை எவ்வாறு திறப்பது, எந்த நிரல்கள் இதற்கு எங்களுக்கு உதவும், மேலும் “கோப்பு எக்ஸ்எஸ்டி திட்டத்துடன் பொருந்தவில்லை” என்ற பிழையின் சாரத்தையும் விவரிக்கிறேன். XSD என்றால் என்ன"XSD" என்பது ஆங்கில வார்த்தைகளின் சுருக்கமாகும்

எக்ஸ்எம்எல் ஆவணத்தில் காணப்படும் கூறுகளை ஒரு xsd கோப்பு விவரிக்கிறது. பொதுவாக இவை நிலையான தரவு, இயல்புநிலை மதிப்புகள், தரவு தொடரியல், கொடுக்கப்பட்ட ஆவணம் இணங்க வேண்டிய விதிகள் மற்றும் பல, சில கூறுகள் பெரும்பாலும் மற்ற உறுப்புகளுடன் தொடர்புடையவை மற்றும் குறிப்பிடுகின்றன.

XSD 1.1 தரநிலை கூட்டமைப்பு அங்கீகாரத்தைப் பெற்றது உலகளாவிய வலைஏப்ரல் 2012 இல், DTD (ஆவண வகை வரையறை) அல்லது SOX (சிம்பிள் ஆப்ஜெக்ட் எக்ஸ்எம்எல்) போன்ற முன்னரே இருக்கும் எக்ஸ்எம்எல் திட்டங்களை விட பல முக்கியமான நன்மைகளை வழங்குகிறது. எடுத்துக்காட்டாக, இது XSD XML இல் எழுதப்பட்டுள்ளது, உள்ளது தானியங்கி உருவாக்கம்வரைபடங்கள் மற்றும் பல.


xsd வடிவமைப்பை எவ்வாறு திறப்பது

பெரும்பாலான xsd கோப்புகளைத் திறக்க, கிடைக்கக்கூடிய எந்த டெக்ஸ்ட் எடிட்டர்களையும் (Notepad, Notepad++, PSPad Editor போன்றவை) பயன்படுத்தினால் போதும். மேலும், மைக்ரோசாஃப்ட் எக்ஸ்எம்எல் நோட்பேட், ஆக்சிஜன் எக்ஸ்எம்எல் எடிட்டர், லிக்விட் எக்ஸ்எம்எல் ஸ்டுடியோ மற்றும் பிற ஒப்புமைகள் போன்ற நிரல்கள் xsd வடிவமைப்பைத் திறப்பதில் பயனுள்ளதாக இருக்கும்.

என்றால் இந்த கோப்புகுறுக்கு தையல் திட்டத்திற்கான பேட்டர்ன் மேக்கர் (பொதுவாக எம்பிராய்டரிக்கான ஒரு முறை) விளைவாக, அத்தகைய கோப்பை குறிப்பிட்ட நிரலைப் பயன்படுத்தி அல்லது "பேட்டர்ன் மேக்கர் வியூவர்" எனப்படும் சிறப்புப் பார்வையாளரைப் பயன்படுத்தி பார்க்கலாம்.


எம்பிராய்டரி வடிவம்.XSD

கோப்பு xsd திட்டத்துடன் பொருந்தவில்லை - அது என்ன?

இருப்பினும், XSD கோப்பில் உள்ள XML கோப்பு விளக்கம் XML கோப்பில் உள்ள உண்மையான தரவுகளுடன் பொருந்தாத சூழ்நிலைகள் உள்ளன. பிழையானது தரவிலோ அல்லது இந்தத் தரவை உள்ளிடும் முறையிலோ இருக்கலாம், மேலும் கணினி நிலையான வழியில் வினைபுரிந்து, "கோப்பு xsd திட்டத்துடன் பொருந்தவில்லை" என்ற செய்தியைக் காண்பிக்கும்.


கணக்கியல் மற்றும் பிற அறிக்கையிடல்களை தாக்கல் செய்வதில் பெரும்பாலும் இந்த நிலைமை ஏற்படுகிறது, ஒரு ஒழுங்குமுறை அதிகாரியின் நிபுணர், xml கோப்பைத் திறக்க முயற்சிக்கும்போது, ​​குறிப்பிடப்பட்ட பிழையைக் கண்டறியும் போது.

  1. xml கோப்பில் உள்ள தரவு சரியானதா என சரிபார்க்கவும், தொடரியல் பிழைகள் (கூடுதல் ஹைபன்கள், இடைவெளிகள் மற்றும் பல) முன்னிலையில் கவனம் செலுத்துகிறது;
  2. xml கோப்புடன் நீங்கள் பணிபுரிந்த நிரலைப் புதுப்பிக்கவும்(ஒருவேளை அதன் தற்போதைய பதிப்பு காலாவதியானது);
  3. தொடர்பு கொள்ளவும் தொழில்நுட்ப ஆதரவு இந்த மென்பொருள் தயாரிப்பின் பராமரிப்பில் ஈடுபட்டுள்ளது (அல்லது ஒழுங்குமுறை ஆணையத்தின் தொழில்நுட்ப ஆதரவு).

முடிவுரை

XSD கோப்பை எவ்வாறு திறப்பது? கேள்விக்கான பதில் எந்த ஒரு எளிய உரை திருத்தியையும் (அதே நோட்பேட்) பயன்படுத்துவதாக இருக்கும். விரும்பிய xsd கோப்பு பேட்டர்ன் மேக்கர் நிரலின் தயாரிப்பாக இருந்தால், அதை இந்த நிரலைப் பயன்படுத்தி திறக்க பரிந்துரைக்கிறேன் அல்லது ஒரு நிரப்பு பார்க்கும் கருவியான பேட்டர்ன் மேக்கர் வியூவரைப் பயன்படுத்துகிறேன்.

XSD நீட்டிப்பு கொண்ட கோப்பு பெரும்பாலும் XML திட்டக் கோப்பாக இருக்கலாம்; உரை வடிவம்எக்ஸ்எம்எல் கோப்பிற்கான சரிபார்ப்பு விதிகளை வரையறுக்கும் மற்றும் எக்ஸ்எம்எல் படிவத்தை விளக்கும் கோப்பு.

XSD கோப்புகள் ஸ்கீமா கோப்புகள் என்பதால், அவை வேறு ஏதாவது ஒரு மாதிரியை வழங்குகின்றன இந்த வழக்கில்இவை XML கோப்புகள். எடுத்துக்காட்டாக, ஒரு XSD கோப்பு தேவைப்படலாம் எக்ஸ்எம்எல் கோப்புசில எல்லைகள், உறவுகள், ஒழுங்கு, பண்புக்கூறுகள், துணைப் பண்புகள் மற்றும் பிற கூறுகளைக் கொண்டிருந்தது, மேலும் ஏதேனும் கட்டுப்பாடுகளை அமைத்தது.

XML கோப்புகள் ஒரு XSD கோப்பை ஸ்கீமாலோகேஷன் பண்புடன் குறிப்பிடலாம்.

HobbyWare இன் பேட்டர்ன் மேக்கர் குறுக்கு தையல் நிரல் அதன் வடிவமைப்பிற்கு XSD நீட்டிப்பைப் பயன்படுத்துகிறது.

XSD கோப்பை எவ்வாறு திறப்பது

XSD கோப்புகளை Microsoft Visual Studio, XML Notepad, EditiX XML மற்றும் XMLSpy ஆகியவற்றைப் பயன்படுத்தியும் திறக்க முடியும். ஆக்சிஜன் எக்ஸ்எம்எல் எடிட்டர் என்பது லினக்ஸ், மேக் மற்றும் விண்டோஸில் செயல்படும் சில எக்ஸ்எஸ்டி கருவிகளில் ஒன்றாகும்.

நீங்களும் பயன்படுத்தலாம் உரை திருத்திஒரு XSD பார்வையாளர் மற்றும் எடிட்டராக, கோப்பு வெறும் உரைக் கோப்பாக மட்டுமே இருக்கும்.

உரை திருத்தியில் திறக்கும் போது XSD கோப்பு எப்படி இருக்கும் என்பதற்கான எடுத்துக்காட்டு இங்கே:








பேட்டர்ன் மேக்கரில் பயன்படுத்தப்படும் XSD கோப்பை நீங்கள் கையாள்வீர்கள் என்றால், நிச்சயமாக இதை நீங்கள் திறக்கலாம் மென்பொருள். இருப்பினும் இலவச திறப்புமற்றும் ஒரு பேட்டர்ன் கோப்பை அச்சிட HobbyWare பேட்டர்ன் மேக்கர் வியூவர் திட்டத்தை வழங்குகிறது. நிரலில் XSD கோப்பை இழுத்து விடுங்கள் அல்லது மெனுவைப் பயன்படுத்தவும் "கோப்பு""திற...". இந்த பார்வையாளர் இதே போன்ற PAT வடிவமைப்பையும் ஆதரிக்கிறார்.

iOS மற்றும் Androidக்கான Crossty ஆப்ஸ் XSD கோப்புகளை குறுக்கு தையலுக்குத் திறக்கலாம், ஆனால் இது இலவசம் அல்ல.

XSD கோப்பை எவ்வாறு மாற்றுவது

XSD கோப்பை மற்றொரு வடிவத்திற்கு மாற்றுவதற்கான எளிதான வழி- மேலே விவரிக்கப்பட்ட XSD எடிட்டர்களில் ஒன்றைப் பயன்படுத்தவும்.

உங்களுக்கு தேவைப்படும் மற்றொரு மாற்றம் XSD முதல் PDF வரைநீங்கள் XSD கோப்பை அடோப் அக்ரோபேட் ரீடர் அல்லது வேறு சில கருவிகளில் திறக்கலாம். XSD கோப்பைத் திறக்கும் எந்தக் கணினியிலும் குறியீடு தெரியும் என்பதை உறுதிப்படுத்துவதைத் தவிர, PDF ஆக மாற்ற எந்தக் காரணமும் இல்லை.

எக்ஸ்எம்எல் ஸ்கீமா டெபினிஷன் டூல் XDR, XML மற்றும் XSD கோப்புகளை வரிசைப்படுத்தக்கூடிய வகுப்பாக மாற்றலாம் அல்லது # a C வகுப்பாகத் தரவை அமைக்கலாம்.

நீங்கள் பயன்படுத்தலாம் மைக்ரோசாப்ட் எக்செல்நீங்கள் XSD கோப்பிலிருந்து தரவை இறக்குமதி செய்து எக்செல் விரிதாளில் வைக்க வேண்டும் என்றால்.

நாம் மேலே குறிப்பிட்டுள்ள பேட்டர்ன் மேக்கர் நிரல் (இல்லை இலவச திட்டம்வியூவர்) குறுக்கு தையல் XSD கோப்பை புதிய கோப்பு வடிவத்திற்கு மாற்ற பயன்படுகிறது.

இன்னும் கோப்பை திறக்க முடியவில்லையா?

மேலே பட்டியலிடப்பட்டுள்ள நிரல்கள் மற்றும் கருவிகளுடன் உங்கள் XSD கோப்பு திறக்கப்படவில்லை என்றால், உள்ளது உயர் நிகழ்தகவுநீங்கள் ஒரு XSD கோப்பைக் கையாளவில்லை, ஆனால் அதே நீட்டிப்பு கொண்ட கோப்புடன்.

எடுத்துக்காட்டாக, XDS நீட்டிப்பு XSD ஐப் போலவே தோன்றுகிறது, ஆனால் அதற்குப் பதிலாக DS கேம் மேக்கர் திட்டக் கோப்புகள் மற்றும் LcdStudio வடிவமைப்பு கோப்புகளுக்குப் பயன்படுத்தப்படுகிறது. இந்த கோப்பு வடிவங்கள் எதுவும் XML கோப்புகள் அல்லது டெம்ப்ளேட்களுடன் தொடர்புபடுத்தப்படவில்லை.

.XSB கோப்பு நீட்டிப்பைப் பயன்படுத்தும் XACT சவுண்ட் பேங்க் கோப்புகள் போன்ற பல கோப்பு வடிவங்களுக்கும் இதே கருத்து பொருந்தும். இது ஒலி கோப்புகள், எந்த XSD ஓப்பனர் அல்லது கோப்பு மாற்றியும் திறக்காது.

உங்கள் கோப்பு .XSD உடன் முடிவடையவில்லை என்றால், எந்த நிரல்களைத் திறக்கலாம் அல்லது குறிப்பிட்ட கோப்பு வகையை மாற்றலாம் என்பதைக் கண்டறிய நீட்டிப்பைப் பார்க்கவும்.

XML பற்றிய முந்தைய கட்டுரையில், XML DTD போன்ற XML ஆவணங்களைச் சரிபார்க்கும் காலாவதியான முறையைப் பார்த்தோம். இந்த முறை XML தரவை சரிபார்க்க இன்னும் பயன்படுத்தப்படுகிறது, ஆனால் ஒவ்வொரு நாளும் மேலும் மேலும் மாற்றப்படுகிறது புதிய தொழில்நுட்பம்எக்ஸ்எம்எல் ஸ்கீமா என்று அழைக்கப்படுகிறது. எக்ஸ்எம்எல் டிடிடியில் இருந்த பல குறைபாடுகள் எக்ஸ்எம்எல் திட்டங்களில் சரி செய்யப்பட்டுள்ளன, எனவே தற்போது அனைத்து முன்னணி டெவலப்பர்களும் ஆவண சரிபார்ப்புக்கு எக்ஸ்எம்எல் ஸ்கீமாக்களை மட்டுமே பயன்படுத்துகின்றனர்.

டிடிடிகளை விட எக்ஸ்எம்எல் திட்டங்களின் நன்மைகளைப் பாராட்ட, எக்ஸ்எம்எல் திட்டங்களில் வெற்றிகரமாக சரிசெய்யப்பட்ட டிடிடிகளின் முக்கிய தீமைகளை இன்னும் விரிவாகப் பார்ப்போம். "" கட்டுரையில் நான் ஏற்கனவே குறிப்பிட்டுள்ளேன், ஆனால் ஒரு சிறந்த புரிதலுக்காக, மீண்டும் செய்வோம்.

எக்ஸ்எம்எல் ஸ்கீமாவை விட எக்ஸ்எம்எல் டிடிடியின் தீமைகள்

  1. XML இலிருந்து வேறுபட்ட மொழி தொடரியல். அதாவது, டிடிடி எக்ஸ்எம்எல் அல்ல. இது சம்பந்தமாக, XML ஆவணங்களின் குறியாக்கம் மற்றும் சரிபார்ப்புடன் பல்வேறு சிக்கல்கள் எழலாம்.
  2. தரவு வகை சரிபார்ப்பு இல்லை. எக்ஸ்எம்எல் டிடிடி-சரத்தில் ஒரே ஒரு தரவு வகை மட்டுமே உள்ளது. இது சம்பந்தமாக, எடுத்துக்காட்டாக, எண் புலத்தில் உரை இருந்தால், XML DTD தரவு வகையைச் சரிபார்க்க முடியாது என்பதால், ஆவணம் இன்னும் சரிபார்ப்பைக் கடந்து செல்லும்.
  3. ஒரு XML ஆவணத்திற்கு ஒன்றுக்கு மேற்பட்ட DTD விளக்கங்களை நீங்கள் ஒதுக்க முடியாது. அதாவது, ஒரு ஆவணத்தை ஒரே ஒரு டிடிடி விளக்கத்துடன் சரிபார்க்க முடியும். அவற்றில் பல இருந்தால், நீங்கள் விளக்கங்களை மீண்டும் செய்ய வேண்டும் மற்றும் எல்லாவற்றையும் ஒரே கோப்பில் இணைக்க வேண்டும், இது மிகவும் சிரமமாக உள்ளது.

XML DTD இன் முக்கிய குறைபாடுகள் இவை, தொழில் தர விளக்கத்தில் வெற்றிகரமாக சரி செய்யப்பட்டன எக்ஸ்எம்எல் ஆவணங்கள் எக்ஸ்எம்எல்திட்டம்.

எக்ஸ்எம்எல் ஸ்கீமா என்பது எக்ஸ்எம்எல் ஆவணங்களை விவரிப்பதற்கான ஒரு தொழில் தரநிலையாகும்

சுருக்கமாக, எக்ஸ்எம்எல் ஸ்கீமா பின்வருவனவற்றைச் செய்கிறது:

  1. உறுப்புகள் மற்றும் பண்புக்கூறுகளின் பெயர்களை விவரிக்கிறது (அகராதி).
  2. உறுப்புகள் மற்றும் பண்புக்கூறுகள் மற்றும் அவற்றின் அமைப்பு (உள்ளடக்க மாதிரி) ஆகியவற்றுக்கு இடையேயான உறவை விவரிக்கிறது.
  3. தரவு வகைகளை விவரிக்கிறது.

இந்த நேரத்தில் கிட்டத்தட்ட எல்லாவற்றையும் வரைபடங்களைப் பயன்படுத்தி விவரிக்க முடியும் என்பதையும் நான் கவனிக்க விரும்புகிறேன். அதாவது, திட்டம் உலகளாவிய முறைதரவு இலக்கணத்தின் விளக்கங்கள், இது XML ஆவணங்களை சரிபார்க்க மட்டுமல்லாமல், தரவுத்தளங்களை விவரிக்கவும் பயன்படுத்தப்படலாம். எனவே, திட்டங்களின் பயன்பாட்டின் நோக்கம் தற்போது மிகவும் பரந்த அளவில் உள்ளது.

எக்ஸ்எம்எல் ஆவணத்தை சரிபார்ப்பதற்கான எடுத்துக்காட்டு எக்ஸ்எம்எல் ஸ்கீமா

நடைமுறையில் காண்பிக்கிறபடி, நீங்கள் உடனடியாக எடுத்துக்காட்டுகளுடன் படிக்கத் தொடங்கினால், பொருள் மிகவும் சிறப்பாக உறிஞ்சப்படுகிறது. பொருள் மிகவும் சிக்கலானது, குறிப்பாக நீங்கள் அதை உரை வடிவத்தில் படித்தால், நாங்கள் எல்லா விவரங்களுக்கும் செல்ல மாட்டோம் என்று இப்போதே கூறுவேன்.

எளிய எக்ஸ்எம்எல் ஸ்கீமாவின் உதாரணம்

இந்த திட்டத்தைப் பயன்படுத்தி, பின்வரும் XML ஆவணத்தை நீங்கள் சரிபார்க்கலாம்.

<книга xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "book.xsd"> <название>எக்ஸ்எம்எல் அடிப்படைகள் <цена>300

எனவே எங்கள் எக்ஸ்எம்எல் திட்டத்திற்கு திரும்புவோம். நீங்கள் ஏற்கனவே கவனித்தபடி, க்கு எக்ஸ்எம்எல் உருவாக்கம்ஸ்கீமாக்கள் ஏற்கனவே நமக்குத் தெரிந்த எக்ஸ்எம்எல்லைப் பயன்படுத்துகின்றன. இங்குள்ள ஒரே வித்தியாசம் என்னவென்றால், வழக்கமான எக்ஸ்எம்எல் போலல்லாமல், எக்ஸ்எம்எல் ஸ்கீமா ஏற்கனவே வரையறுக்கப்பட்ட கூறுகளைக் கொண்டுள்ளது. இது சம்பந்தமாக, பெயர்வெளிகள் பயன்படுத்தப்படுகின்றன. இந்த வழக்கில், தேவையான பெயர்வெளி "http://www.w3.org/2001/XMLSchema" ஆக இருக்கும், இது "xs" முன்னொட்டுகளைப் பயன்படுத்தி குறிப்பிடப்படும்.

நீங்கள் இரண்டு பெயர்வெளி முன்னொட்டுகளையும் பயன்படுத்தலாம் மற்றும் மூல உறுப்புக்கான பெயர்வெளியை அமைக்கலாம் என்பதை இப்போதே கவனிக்க விரும்புகிறேன். அப்படி எந்த வித்தியாசமும் இல்லை. ஒரு குறிப்பிட்ட சூழ்நிலையில் என்ன செய்வது என்று ஒவ்வொருவரும் தானே தீர்மானிக்கிறார்கள். "xs" அல்லது "xsd" முன்னொட்டுகள் பொதுவாகப் பயன்படுத்தப்படுகின்றன என்று நான் கூறுகிறேன்.

சரி, இப்போது மேலே உள்ள வரைபடத்தை எவ்வாறு புரிந்துகொள்வது என்பதைக் கண்டுபிடிப்போம். மேலே குறிப்பிட்டுள்ளபடி, எக்ஸ்எம்எல் ஸ்கீமா என்பது ஒரு சொல்லகராதி மற்றும் தரவு வகைகளின் விளக்கமாகும். இதன் அடிப்படையில், ஒவ்வொரு உறுப்புகளையும் புரிந்துகொள்வோம்.

  • - "புத்தகம்" வகையுடன் "புத்தகம்" உறுப்பை அறிவிக்கவும்.
  • — "புத்தகம்" என்ற பெயரில் ஒரு சிக்கலான வகையை அறிவிக்கவும் (xs:complexType - உள்ளமைக்கப்பட்ட கூறுகளைக் கொண்டிருக்கலாம்).
  • - கூடு கட்டுதல் அறிவிப்பு. அதாவது, வகை உள்ளமை கூறுகளைக் கொண்டிருக்கும்.
  • — "தலைப்பு" என்ற பெயருடன் ஒரு உறுப்பை அறிவிக்கவும் (நிலையான வகை "ஸ்ட்ரிங்" - xs: string).
  • — "விலை" என்ற பெயருடன் ஒரு உறுப்பை அறிவிக்கவும் (நிலையான வகை "எண்" - xs: தசம).

நீங்கள் பார்க்க முடியும் என, இங்கே சூப்பர் சிக்கலான எதுவும் இல்லை. நீங்கள் அதைப் பற்றி யோசித்துப் பார்த்தால், எல்லாம் மிகவும் எளிமையானது.

அடிப்படை எக்ஸ்எம்எல் திட்ட கூறுகள்

சுருக்கமாக, XML திட்டத்தை பின்வருமாறு விவரிக்கலாம்.

உங்கள் திட்டம்

எடுத்துக்காட்டில் இருந்து நீங்கள் பார்ப்பது போல், ஒவ்வொரு எக்ஸ்எம்எல் ஸ்கீமாவும் ரூட் உறுப்பு "ஸ்கீமா" மற்றும் தேவையான பெயர்வெளி "http://www.w3.org/2001/XMLSchema" ஆகியவற்றைக் கொண்டுள்ளது. அடுத்து சுற்று மற்றும் சுற்று பற்றிய விளக்கம் வருகிறது. அதே சமயம், மிக உயர்தர திட்டங்களில், எக்ஸ்எம்எல் ஸ்கீமாவை விட விளக்கம் மிகவும் பெரியதாக இருக்கும்.

எக்ஸ்எம்எல் திட்டத்தில் உள்ள உறுப்புகளின் விளக்கம்

கட்டுரையின் ஆரம்பத்தில், நாங்கள் ஏற்கனவே ஒரு எளிய எக்ஸ்எம்எல் ஸ்கீமாவின் உதாரணத்தைப் பார்த்தோம். அதில் தனித்தனியாக கூறுகள் மற்றும் வகைகளை விவரித்தோம். அதே நேரத்தில், வரிசை இங்கே ஒரு பாத்திரத்தை வகிக்காது என்பதை நான் உடனடியாக கவனிக்க விரும்புகிறேன். எந்தவொரு சந்தர்ப்பத்திலும் இந்த திட்டம் செயல்படும்.

இப்போது எக்ஸ்எம்எல் ஸ்கீமாவை எழுதுவதற்கான இரண்டாவது வழியைப் பார்ப்போம், இது உறுப்புக்குள் உடனடியாக வகையை விவரிக்கிறது. வெவ்வேறு கூறுகளுக்கு ஒரே விளக்கத்தைப் பயன்படுத்த நீங்கள் திட்டமிடவில்லை என்றால் இந்த முறை பொருத்தமானது. தெளிவுக்காக, ஒரு உதாரணத்தைப் பார்ப்போம்.

எடுத்துக்காட்டில் இருந்து பார்க்க முடிந்தால், பொருத்தமான முன்னொட்டைப் பயன்படுத்தி ஒரு சிறப்பு கட்டுமான "உறுப்பு" பயன்படுத்தி ஒரு உறுப்பு அறிவிக்கப்படுகிறது. இந்த வழக்கில், "ரூட்" எனப்படும் ஒரு உறுப்பை ஒரு வகையைக் குறிப்பிடாமல் வரையறுக்கிறோம், ஏனெனில் அது உறுப்புக்குள் விவரிக்கப்படும். அதாவது, கூறுகளை விவரிக்க இரண்டு வழிகள் உள்ளன.

1 வழி

வகை விளக்கம்

2 வழி

உறுப்பு வகை விளக்கம்

நீங்கள் முதல் முறை மற்றும் இரண்டாவது இரண்டையும் பயன்படுத்தலாம். அவர்கள் அனைவரும் ஒரே மாதிரியாக வேலை செய்கிறார்கள். இந்த குறிப்பிட்ட வழக்கில் வசதிக்காக மட்டுமே கேள்வி உள்ளது.

மேலும், உறுப்பை அறிவித்த பிறகு, அது சிக்கலான வகை என்று குறிப்பிடுகிறோம் ( ) மற்றும் பட்டியல் ( ) உள்ளமை உறுப்புகள். இந்த வழக்கில், இவை “xs:string” மற்றும் “xs:integer” வகைகளைக் கொண்ட பெயர் மற்றும் வயது கூறுகள். xs முன்னொட்டு என்பது எக்ஸ்எம்எல் ஸ்கீமா தரநிலையில் ஏற்கனவே வரையறுக்கப்பட்ட அடிப்படை வகையாகும்.

நீங்கள் பார்க்க முடியும் என, இதுவரை எல்லாம் மிகவும் எளிமையானது. மீண்டும், நாங்கள் எல்லா விவரங்களுக்கும் செல்ல மாட்டோம், ஏனெனில் இந்த கட்டுரை எக்ஸ்எம்எல் திட்டத்தை உங்களுக்கு அறிமுகப்படுத்தும் நோக்கம் கொண்டது, மேலும் அதை விரிவாக ஆய்வு செய்ய அல்ல.

எக்ஸ்எம்எல் ஸ்கீமா மற்றும் ஆவணம் எவ்வாறு பொருந்துகிறது

எக்ஸ்எம்எல் ஸ்கீமாவின் தனித்தன்மை என்னவென்றால், அது ஆவணத்தை அல்ல, பெயர்வெளியை விவரிக்கிறது. இது சம்பந்தமாக, பெரும்பாலும் ஆவணத்தில் இது பற்றி எதுவும் குறிப்பிடப்படவில்லை. எக்ஸ்எம்எல் ஆவணத்தில் எந்த வழிமுறைகளையும் பயன்படுத்தாமல், ஹேண்ட்லரே உங்களுக்குத் தேவையான ஸ்கீமாவை வரைபடமாக்குகிறது.

ஸ்கீமா எங்குள்ளது என்று ஹேண்ட்லருக்குத் தெரியாவிட்டால், அதை எங்கு தேடுவது என்று நாம் குறிப்பிடலாம். இது "ஸ்கீமாலொகேஷன்" என்ற சிறப்புப் பண்புகளைப் பயன்படுத்தி செய்யப்படுகிறது. இந்தப் பண்புக்கூறு வேறு பெயர்வெளியைச் சேர்ந்தது என்பதால், பண்புக்கூறைப் பயன்படுத்துவதற்கு முன்பு பெயர்வெளியையும் குறிப்பிட வேண்டும். தெளிவுக்காக, ஒரு உதாரணத்தைப் பார்ப்போம்.

எக்ஸ்எம்எல் திட்டம்

எக்ஸ்எம்எல் ஆவணம்

இப்போது ஒவ்வொரு வரியையும் விரிவாகப் பார்ப்போம்.

  • targetNamespace=”http://www.site.com” – இந்த XML ஸ்கீமா எந்த பெயர்வெளிக்கானது என்பதைக் குறிக்கவும்.
  • xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” – “schemaLocation” பண்புக்கூறு விவரிக்கப்பட்டுள்ள பெயர்வெளியை இணைக்கிறோம்.
  • xsi:schemaLocation=”http://www.site.com/product.xsd” – ஸ்கீமா எங்குள்ளது என்று பாகுபடுத்தி அறியாத பட்சத்தில் அதை எங்கே காணலாம் என்பதை நாங்கள் குறிப்பிடுகிறோம். எக்ஸ்எம்எல் ஆவணம் எந்த பெயர்வெளிக்கும் சொந்தமானதாக இல்லை, எனவே திட்டத்தில் அது பற்றிய குறிப்பு இல்லை என்றால், "ஸ்கீமாலொகேஷன்" பண்புக்கூறு "noNamespaceSchemaLocation" (பெயர்வெளிகளை வரையறுக்காமல் ஸ்கீமாவுக்கான குறிப்பு) என மாற்றப்படும்.

அவ்வளவுதான். XML கற்றுக்கொள்வதில் நல்ல அதிர்ஷ்டம் மற்றும் வெற்றி!

© 2024 ermake.ru -- PC பழுது பற்றி - தகவல் போர்டல்