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

  • மொழிபெயர்ப்பு
  • பயிற்சி

SQL ஊசிகள், கிராஸ்-சைட் கோரிக்கை மோசடி, சிதைந்த XML... பயமுறுத்தும், பயமுறுத்தும் விஷயங்கள். இந்தக் கட்டுரை அனைத்திற்கும் பின்னால் உள்ள அடிப்படைக் கருத்தை விளக்குகிறது: சரங்களுக்குள் சரங்கள் மற்றும் கையாளுதல்.

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

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

வேறு வார்த்தைகளில் கூறுவதானால், அதே விதிகளைப் பின்பற்றி வேறொருவர் பயன்படுத்தக்கூடிய சில சிறப்பு அர்த்தங்களைக் குறிக்க எங்கள் உரையில் சில விதிகளைப் பயன்படுத்தினோம்.
சரி, இதையெல்லாம் புரிந்துகொள்வது கடினம் அல்ல. இந்த வேடிக்கையான அடைப்புக்குறிகளை நம் உரையில் சில சிறப்பு அர்த்தங்களைக் கொண்ட, ஆனால் இந்த அர்த்தத்தைப் பயன்படுத்தாமல் பயன்படுத்த விரும்பினால் என்ன செய்வது?.. இது போன்ற ஒன்று:
ஹோமோ சேபியன்ஸ்< n and y >
"" எழுத்துக்கள் சிறப்பு எதுவும் இல்லை. மேலே உள்ள எடுத்துக்காட்டில் உள்ளதைப் போல அவை சட்டப்பூர்வமாக எங்கும், எந்த உரையிலும் பயன்படுத்தப்படலாம். ஆனால் சிறப்பு சொற்களைப் பற்றிய நமது யோசனை என்ன? இது ஒரு வகையான முக்கிய வார்த்தை என்று அர்த்தமா? XML இல் - ஒருவேளை ஆம். அல்லது ஒருவேளை இல்லை. இது தெளிவற்றது. கம்ப்யூட்டர்கள் தெளிவின்மைகளைக் கையாள்வதில் சிறப்பாகச் செயல்படாததால், ஐயை நாமே டாட் செய்து தெளிவின்மையைத் தீர்க்காமல் இருந்தால், எதிர்பாராத பலனைத் தரலாம்.
இந்த இக்கட்டான சூழ்நிலையை தெளிவற்ற குறியீடுகளை தெளிவற்றதாக மாற்றுவதன் மூலம் தீர்க்க முடியும்.
ஹோமோ சேபியன்ஸ் அடிப்படைக் கணிதம் நமக்கு சொல்கிறது என்றால் x< n and y >n, x y ஐ விட பெரியதாக இருக்க முடியாது.
இப்போது, ​​உரை முற்றிலும் தெளிவற்றதாக இருக்க வேண்டும். "".
இதற்கான தொழில்நுட்ப வரையறை கவசம், சிறப்புப் பாத்திரங்கள் அவற்றின் சொந்த சிறப்புப் பொருளைக் கொண்டிருக்கக் கூடாது என்று நாம் விரும்பும்போது, ​​அவற்றைத் தவிர்க்கிறோம்.
தப்பிக்க |iˈskāp| [பொருள் இல்லை. ] பிரேக் ஃப்ரீ [ with obj. ] கவனிக்கக்கூடாது / நினைவில் கொள்ளக்கூடாது [...] [ obj உடன். ] IT: வித்தியாசமாக விளக்கப்படுவதற்கான காரணம் [...]
ஒரு உரையில் குறிப்பிட்ட எழுத்துக்கள் அல்லது எழுத்துக்களின் வரிசைகள் சிறப்பு அர்த்தங்களைக் கொண்டிருந்தால், அந்த எழுத்துக்களை அவற்றின் சிறப்பு அர்த்தத்தைத் தூண்டாமல் பயன்படுத்த வேண்டிய சூழ்நிலைகளை எவ்வாறு கையாள வேண்டும் என்பதைக் குறிப்பிடும் விதிகள் இருக்க வேண்டும். அல்லது, வேறுவிதமாகக் கூறினால், தப்பிப்பது கேள்விக்கு பதிலளிக்கிறது: "இந்த சின்னங்கள் மிகவும் சிறப்பு வாய்ந்ததாக இருந்தால், எனது உரையில் அவற்றை எவ்வாறு பயன்படுத்துவது?".
மேலே உள்ள எடுத்துக்காட்டில் நீங்கள் பார்ப்பது போல், ஆம்பர்சண்ட் (&) என்பதும் ஒரு சிறப்பு எழுத்து. ஆனால் நாம் எழுத விரும்பினால் என்ன செய்வது"


உங்கள் பயனர்கள் நல்லவர்களாகவும் அன்பானவர்களாகவும் இருந்தால், அவர்கள் பழைய தத்துவஞானிகளின் மேற்கோள்களை இடுகையிடுவார்கள், மேலும் செய்திகள் இப்படி இருக்கும்:

ஜனவரி 2, 15:31 அன்று பிளேட்டோவால் வெளியிடப்பட்டது

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


பயனர்கள் புத்திசாலியாக இருந்தால், அவர்கள் கணிதத்தைப் பற்றி பேசுவார்கள், மேலும் செய்திகள் இப்படி இருக்கும்:

நவம்பர் 23, 04:12 அன்று பாஸ்கல் ஆல் இடுகையிடப்பட்டது

அடிப்படைக் கணிதம் x என்றால்< n and y >n, x y ஐ விட பெரியதாக இருக்க முடியாது.


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


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

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

என்ன? என்ன சொல்கிறாய், பையன்? ஓ, "கவசம்" என்கிறீர்களா? நீங்கள் சொல்வது முற்றிலும் சரி, ஒரு குக்கீயை எடுத்துக் கொள்ளுங்கள்!
வினவலுடன் இணைப்பதற்கு முன், பயனர் தரவை எஸ்கேப்பிங் பயன்படுத்தினால், சிக்கல் தீர்க்கப்படும். எங்கள் தரவுத்தள வினவல்களுக்கு இது போன்றது:
$பெயர் = $_POST["பெயர்"]; $பெயர் = mysql_real_escape_string($name); $query = "பயனர்களிடமிருந்து phone_number ஐத் தேர்ந்தெடுங்கள் எங்கே பெயர் = "$name""; $ முடிவு = mysql_query($query);
ஒரே ஒரு வரி குறியீடு, ஆனால் இப்போது யாரும் எங்கள் தரவுத்தளத்தை "ஹேக்" செய்ய முடியாது. பயனர் உள்ளீட்டைப் பொறுத்து SQL வினவல்கள் எப்படி இருக்கும் என்பதை மீண்டும் பார்ப்போம்:
அலெக்ஸ்
பெயர் = "அலெக்ஸ்" பயனர்களிடமிருந்து தொலைபேசி_ எண்ணைத் தேர்ந்தெடுக்கவும்
மெக் டொனால்ட்ஸ்
பெயர் = "Mc\"Donalds" பயனர்களிடமிருந்து phone_number ஐத் தேர்ந்தெடுக்கவும்
ஜோ"; டிராப் டேபிள் பயனர்கள்; --
பெயர் = "ஜோ\"; டிராப் டேபிள் பயனர்கள்; --"
mysql_real_escape_string கண்மூடித்தனமாக முன்னோக்கி சாய்வை வைக்கிறது, அது சில சிறப்பு அர்த்தங்களைக் கொண்டிருக்கலாம்.


htmlspecialchars செயல்பாட்டை வெளியிடும் முன் அனைத்து பயனர் தரவுகளுக்கும் பயன்படுத்துகிறோம். இப்போது பூச்சியின் செய்தி இதுபோல் தெரிகிறது:

ஜூலை 18, 12:56 அன்று JackTR ஆல் இடுகையிடப்பட்டது


பயனர்களிடமிருந்து பெறப்பட்ட மதிப்புகள் உண்மையில் "சிதைக்கப்படவில்லை" என்பதை நினைவில் கொள்க. எந்த உலாவியும் இதை HTML ஆக அலசுகிறது மற்றும் எல்லாவற்றையும் சரியான வடிவத்தில் திரையில் காண்பிக்கும்.

இது நம்மைத் திரும்பக் கொண்டுவருகிறது... மேலே உள்ள அனைத்தும் பல அமைப்புகளுக்குப் பொதுவான ஒரு சிக்கலைக் காட்டுகின்றன: உரையில் உள்ள உரை சிறப்பு எழுத்துகளைக் கொண்டிருக்கக் கூடாது எனில் அதைத் தவிர்க்க வேண்டும். வைப்பதன் மூலம் உரை மதிப்புகள் SQL இல், அவர்கள் SQL விதிகளின்படி தப்பிக்க வேண்டும். HTML இல் உரை மதிப்புகளை வைக்கும் போது, ​​அவை HTML விதிகளின்படி தவிர்க்கப்பட வேண்டும். (தொழில்நுட்பத்தின் பெயர்) உரை மதிப்புகளை வைக்கும் போது, ​​அவை (தொழில்நுட்ப பெயர்) விதிகளின்படி தவிர்க்கப்பட வேண்டும். அவ்வளவுதான். முழுமைக்காக, பயனர் உள்ளீட்டைக் கையாள்வதற்கான பிற வழிகள் உள்ளன, அவை சிறப்பு எழுத்துகளைக் கொண்டிருக்கலாம் அல்லது இல்லாமல் இருக்கலாம்:
  • சரிபார்த்தல்
    பயனர் உள்ளீடு கொடுக்கப்பட்ட சில விவரக்குறிப்புகளுடன் பொருந்துகிறதா என்பதை நீங்கள் சரிபார்க்கலாம். நீங்கள் ஒரு எண்ணை உள்ளிட வேண்டும் மற்றும் பயனர் வேறு ஏதாவது உள்ளிடினால், நிரல் பயனருக்குத் தெரிவித்து உள்ளீட்டை ரத்துசெய்ய வேண்டும். இவை அனைத்தும் சரியாக ஒழுங்கமைக்கப்பட்டிருந்தால், பயனர் "42" ஐ உள்ளிட வேண்டிய இடத்தில் "DROP TABLE பயனர்களை" பிடிக்கும் அபாயம் இல்லை. HTML/SQL ஊசிகளைத் தவிர்ப்பதற்கு இது மிகவும் நடைமுறைக்குரியது அல்ல, ஏனெனில்... தந்திரங்களைக் கொண்ட இலவச வடிவ உரையை நீங்கள் அடிக்கடி ஏற்க வேண்டும். பொதுவாக, சரிபார்ப்பு மற்ற நடவடிக்கைகளுக்கு கூடுதலாக பயன்படுத்தப்படுகிறது.
  • சுத்தப்படுத்துதல்
    நீங்கள் ஆபத்தானதாகக் கருதும் எந்தச் சின்னங்களையும் "அமைதியாக" அகற்றலாம். எடுத்துக்காட்டாக, உங்கள் மன்றத்தில் சேர்க்கப்படுவதைத் தவிர்க்க, HTML குறிச்சொல்லைப் போல் தோன்றும் எதையும் அகற்றவும். பிரச்சனை என்னவென்றால், உரையின் சட்டப்பூர்வ பகுதிகளை நீங்கள் நீக்க முடியும்.
    தயாரிக்கப்பட்ட SQL அறிக்கைகள்
    நாம் விரும்பியதைச் செய்யும் சிறப்புச் செயல்பாடுகள் உள்ளன: SQL வினவலுக்கும் பயனர்கள் வழங்கிய தகவலுக்கும் உள்ள வேறுபாடுகளை தரவுத்தளத்திற்குப் புரிய வைக்கும். PHP இல் அவை இப்படி இருக்கும்:
    $stmt = $pdo->தயாரியுங்கள் ("பயனர்களிடமிருந்து தொலைபேசி_எண்ணைத் தேர்ந்தெடு எங்கே பெயர் = ?"); $stmt->செயல்படுத்து($_POST["பெயர்"]);
    இந்த வழக்கில், அனுப்புதல் இரண்டு நிலைகளில் நிகழ்கிறது, கோரிக்கை மற்றும் மாறிகளை தெளிவாக வேறுபடுத்துகிறது. தரவுத்தளமானது கோரிக்கையின் கட்டமைப்பை முதலில் புரிந்துகொண்டு பின்னர் அதை மதிப்புகளால் நிரப்பும் திறனைக் கொண்டுள்ளது.

  • நிஜ உலகில், இவை அனைத்தும் வெவ்வேறு நிலைகளில் ஒன்றாகப் பயன்படுத்தப்படுகின்றன. பயனர் சரியான தரவை உள்ளிடுகிறார் என்பதை உறுதிப்படுத்த நீங்கள் எப்போதும் சரிபார்ப்பைப் பயன்படுத்த வேண்டும். நீங்கள் உள்ளிட்ட தரவை ஸ்கேன் செய்யலாம் (ஆனால் தேவையில்லை). ஒரு பயனர் தெளிவாக சில ஸ்கிரிப்டை விற்க முயற்சித்தால், நீங்கள் அதை நீக்கலாம். பிறகு, நீங்கள் எப்போதும், SQL வினவலில் வைப்பதற்கு முன், பயனர் தரவை எப்பொழுதும் தப்பிக்க வேண்டும் (HTML க்கும் இதுவே செல்கிறது).

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

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

IMHO, பலர் இதைச் செய்கிறார்கள் ... ஆனால் கேள்வி முற்றிலும் தெளிவாக இல்லை: தரநிலைகளின்படி நீங்கள் மேற்கோள்களை எழுத வேண்டும் என்பதை நீங்கள் புரிந்து கொண்டால், ஆனால் அது சோம்பேறித்தனம், நிறைய தளங்கள் அப்படி வேலை செய்தாலும், பிறகு என்ன நீங்கள் கேட்பீர்கள் என்று எதிர்பார்க்கிறீர்களா? நான் நினைக்கிறேன், அது பற்றி தான் , உலாவிகளின் புதிய பதிப்புகளில் மேற்கோள்களின் காட்சி ஆதரிக்கப்படுமா என்பது யாருக்கும் தெரியாது, எனவே பெரும்பாலும் நாங்கள் ஒரு தெளிவான பரிந்துரையை வழங்கலாம்: எதிர்காலத்தில் நீங்கள் சிக்கல்களை விரும்பவில்லை என்றால், 100% - தரநிலைகளுக்கு ஒட்டிக்கொள்க :) ஆனால் இது உங்களுக்கு ஏற்கனவே தெரியும். அல்லது உறுதிப்படுத்தலுக்காக காத்திருக்கிறீர்களா: ஆம், சலிப்பாக இருக்கிறது, அதை மறந்துவிடு, இன்னும் 10 ஆண்டுகளில் எல்லாம் ஒரே மாதிரியாக இருக்கும், நான் (மைக்ரோசாப்ட், மொஸில்லா போன்றவை. ) உத்தரவாதம்?

லின் "காபி மேன்"[தொகுப்பு]
ஆம், மூலம்... இப்போது படிப்பது பயனுள்ளதாக இருக்கிறது, மேற்கோள் குறிகள் படிவத்தில் குறிப்பிடப்பட வேண்டும் என்று எங்கும் கூறப்படவில்லை "
http://www2.stack.ru/~julia/HTML401/charset.html:

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

நீங்கள் மற்றும் &:

ஆசிரியர் "" (ASCII தசம குறியீடு 62) எழுத்தை உரையில் வைக்க விரும்பினால்.

எழுத்துக்குறிக் குறிப்புகளுடன் (எழுத்துக் குறிப்பின் தொடக்கக் குறி) குழப்பத்தைத் தவிர்க்க, "&" எழுத்துக்குப் பதிலாக "&" குறிப்பு (ASCII தசமக் குறியீடு 38) பயன்படுத்தப்பட வேண்டும். கூடுதலாக, CDATA பண்புக்கூறு மதிப்புகளுக்குள் எழுத்துக்குறி குறிப்புகள் அனுமதிக்கப்படுவதால், பண்புக்கூறு மதிப்புகளிலும் "&" குறிப்பு பயன்படுத்தப்பட வேண்டும்.

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

அல்லது மற்றொரு விருப்பம்: ஆனால் எனது நடைமுறையில் நான் சந்திக்காத புதிய தரநிலைகளை நீங்கள் பின்பற்றினால் - xhtml (சரியாக, நான் xhtml ஐச் சரிபார்த்தேன்), இந்த தந்திரம் வேலை செய்யாது. எனவே, எழுதப்பட்ட HTML குறியீட்டின் பெயர்வுத்திறனுடன் சிக்கல்களை உருவாக்க வேண்டிய அவசியமில்லை.

அல்லது இறுதியாக: அதை நீங்களே எப்படி செய்வது?

&, மூலம், இதே கேள்வியை எழுப்புகிறது. மேலே உள்ள ஆவணம் "குழப்பத்தைத் தவிர்க்க" என்று கூறுகிறது. ஆனால் வழங்கப்பட்ட குறியீடுகளில் ஏதேனும் & பின்தொடர்ந்தால் மட்டுமே குழப்பம் சாத்தியமாகும். இது "..../script?A=1&B=2" போன்ற URL ஆக இருந்தால் என்ன செய்வது? இந்த URL ஐ href (நிச்சயமாக, சோதனையின் போது சரியாகச் செயல்படும்) என நான் தவறாகக் குறிப்பிட்டால், நான் ஏதாவது ஆபத்தில் சிக்குகிறேனா? 10 ஆண்டுகளில் (தளம் காலாவதியாகிவிட்டால் அல்லது ஏற்கனவே பத்து முறை மீண்டும் எழுதப்பட்டிருக்கும் போது) மிகவும் சாத்தியமில்லாத சூழ்நிலையைத் தவிர வேறெதுவும் இறுதிப் பெயர் இல்லாமல் &B என்ற ஆடம்பரமான பெயருடன் தோன்றும்; ? வேறு வார்த்தைகளில் கூறுவதானால், இதுபோன்ற எல்லா நிகழ்வுகளையும் எவ்வளவு கவனமாக சரிபார்க்க வேண்டும்?

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

டேனியல் அலீவ்ஸ்கி[தொகுப்பு]
XML இல், ஒரு வழக்கமான மேற்கோள் குறியானது உரையாகவும் எந்த சிக்கலையும் ஏற்படுத்தாது (அதற்கேற்ப, XHTML இல், நிச்சயமாக). IMHO மேற்கோள்கள் பொதுவாக ஒரே ஒரு காரணத்திற்காக " என மொழிபெயர்க்கப்படும் - XML/ HTML / XHTML இல் பதிலீடு செய்யும் போது உரையை பாதுகாப்பான வடிவத்திற்கு மாற்ற இரண்டு செயல்பாடுகளை நீங்கள் எழுத விரும்பவில்லை.

இந்த பாடத்தின் நோக்கம்:

  • BI XML ரெக்கார்டிங் வடிவமைப்பை அறிந்திருக்க வேண்டும்
  • BI ஆனது XML குறியீட்டின் வடிவத்தில் ஒரு ஆவணத்தை வரைய முடியும்
  • BI தரவு வகைகளை அறிந்திருக்க வேண்டும் மற்றும் அவற்றைப் பயன்படுத்த முடியும்
  • குறிப்பு: இந்த டுடோரியலில் நாம் விவரிக்கும் அளவுக்கு XML சுருக்கமாக இல்லை. ODA-TM அமைப்பில் பயன்படுத்தப்படும் XML மொழியின் அம்சங்களை மட்டுமே நாங்கள் கருதுகிறோம்.

    எக்ஸ்எம்எல். அடிப்படை

    XML தகவலைக் கட்டமைக்கவும், சேமிக்கவும் மற்றும் கொண்டு செல்லவும் உருவாக்கப்பட்டது.

    பின்வரும் உதாரணம், "நண்பரிடமிருந்து ஒரு நண்பருக்கு ஒரு குறிப்பு" XML படிவத்தைக் கொண்டுள்ளது:

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

    பார்வைக்கு, இந்த குறியீட்டை பின்வரும் வடிவத்தில் குறிப்பிடலாம் (படம் 1.).

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

    இது யாரோ ஒருவரால் செயலாக்கப்பட்டு, அனுப்பப்பட்டு காட்டப்பட வேண்டும்.

    ஆனாலும், இந்த XML ஆவணம் எதையும் செய்யவில்லை. இது குறிச்சொற்களில் மூடப்பட்ட தகவல் மட்டுமே.

    எக்ஸ்எம்எல் - மரம்

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

    XML ஐப் பயன்படுத்தி உங்கள் சொந்த குறிச்சொற்களை உருவாக்கவும்

    குறிச்சொற்களை உருவாக்குவதற்கான நிலையான வடிவம் இல்லை (விளக்கங்கள், கூறுகள்).

    XML இல் முன் வரையறுக்கப்பட்ட குறிச்சொற்கள் இல்லை.

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

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

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

    பகுப்பாய்வி நிரலுக்காக நீங்கள் ஒரு எக்ஸ்எம்எல் ஆவணத்தின் சில பகுதியை முழுமையாக "கண்ணுக்கு தெரியாததாக" மாற்ற வேண்டும் என்றால், அதன் முன் எழுத்துக்களை எழுதுவதன் மூலம் அதை ஒரு கருத்து வடிவத்தில் வடிவமைக்கலாம்.< !-- , а после него - символы -->ஒரு வரிசையில் இரண்டு ஹைபன்களுடன்.

    உதாரணத்திற்கு:

    < !-- Это комментарий -->

    பகுப்பாய்வி நிரல் இந்த முழு கட்டமைப்பையும் "பார்க்காமல்" தவிர்க்கும்.

    இந்த கருத்து தொடரியல் அதற்கு இரண்டு கட்டுப்பாடுகளை விதிக்கிறது:

    • நீங்கள் ஒரு கருத்தில் இரண்டு ஹைபன்களை ஒரு வரிசையில் எழுத முடியாது;
    • ஒரு கருத்தை ஹைபனுடன் முடிக்க முடியாது.
    எக்ஸ்எம்எல் கூறுகள்

    எக்ஸ்எம்எல் உறுப்பு என்பது உறுப்பின் தொடக்கக் குறிச்சொல் முதல் அதன் இறுதிக் குறிச்சொல் வரை அனைத்தும்.

    உறுப்பு கொண்டிருக்கும்:

    • மற்ற கூறுகள்
    • உரை
    • பண்புகளை
    • அல்லது மேலே உள்ள எல்லாவற்றின் கலவையும்...
    எக்ஸ்எம்எல் பெயரிடும் விதிகள்

    எக்ஸ்எம்எல் கூறுகள் இந்த பெயரிடும் விதிகளைப் பின்பற்ற வேண்டும்:

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

    பண்புக்கூறுகள் வழங்குகின்றன கூடுதல் தகவல்தரவு பகுதியாக இல்லாத கூறுகள் பற்றி.

    கீழே உள்ள எடுத்துக்காட்டில், கோப்பு வகை தரவுக்கு தொடர்புடையது அல்ல, ஆனால் உறுப்பைக் கையாளக்கூடிய மென்பொருளுக்கு முக்கியமானது:

    computer.gif

    எக்ஸ்எம்எல் பண்புக்கூறுகள் மேற்கோள்களில் இணைக்கப்பட வேண்டும்

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

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

    அல்லது நீங்கள் எழுத்துப் பொருட்களைப் பயன்படுத்தலாம்: &&

    தேதி தரவு வகையைப் பயன்படுத்துவதற்கான சில எடுத்துக்காட்டுகள்

    ஒரு பண்புக்கூறாக தேதி

    டோவ் ஜானி நினைவூட்டல் இந்த வார இறுதியில் என்னை மறந்துவிடாதே!

    உறுப்பு என தேதி

    10/01/2008 டோவ் ஜானி நினைவூட்டல் இந்த வார இறுதியில் என்னை மறந்துவிடாதே!

    நீட்டிக்கப்பட்ட உறுப்பாக தேதி

    01/10/2008 டோவ் ஜானி நினைவூட்டல் இந்த வார இறுதியில் என்னை மறந்துவிடாதே!

    மெட்டாடேட்டா பண்புக்கூறுகள்

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

    உதாரணமாக:

    டோவ் ஜானி நினைவூட்டல் இந்த வார இறுதியில் என்னை மறந்துவிடாதே! ஜானி தோவ் ரீ: நினைவூட்டல் நான் மாட்டேன்

    தரவைப் பற்றிய தரவு பண்புக்கூறுகளாகச் சேமிக்கப்பட வேண்டும், மேலும் தரவே தனிமங்களாகச் சேமிக்கப்பட வேண்டும்.

    எக்ஸ்எம்எல். தரவு வகை உள்ளமைக்கப்பட்ட எளிய வகைகள் தேதி மற்றும் நேரம்
    • dateTime என்பது வடிவமைப்பில் தேதி மற்றும் நேரத்தைக் கொண்டுள்ளது CCYY-MM-DTh:mm:ss
    • கால அளவு - ஒரு தற்காலிக காலத்தை குறிக்கிறது, இது கிரிகோரியன் நாட்கள், மணிநேரம், நிமிடங்கள் மற்றும் வினாடிகளின் அடிப்படையில் வெளிப்படுத்தப்படுகிறது.

    உதாரணமாக: பதிவு P1Y2M3DT10H30M45Sஒரு வருடம் (1Y), இரண்டு மாதங்கள் (2M), மூன்று நாட்கள் (3DT), பத்து மணிநேரம் (10H), முப்பது நிமிடங்கள் (30M) மற்றும் 45 வினாடிகள் (45S).

    நுழைவு P120M என்றால் 120 மாதங்கள் என்றும், T120M என்றால் 120 நிமிடங்கள் என்றும் சுருக்கமாகக் கூறலாம்.

    • நேரம் சாதாரண வடிவத்தில் நேரத்தைக் கொண்டுள்ளது hh:mm:ss
    • தேதி வடிவமைப்பில் தேதியைக் கொண்டுள்ளது CCYY-MM-DD
    • gYearMonth ஆண்டு மற்றும் மாதத்தை வடிவமைப்பில் ஒதுக்குகிறது CCYY-MM
    • gYear என்பது வடிவத்தில் உள்ள ஆண்டு CCYY
    • gMonthDay வடிவத்தில் மாதம் மற்றும் நாள் உள்ளது எம்எம்-டிடி
    • வடிவில் மாதத்தின் நாள் நாள் DD
    • gMonth மாதம் வடிவத்தில் எம்.எம்
    எழுத்து சரங்கள்

    சரம் என்பது அடிப்படை எழுத்து வகை.

    ஸ்பேஸ், டேப், கேரேஜ் ரிட்டர்ன் மற்றும் லைன் ஃபீட் கேரக்டர்கள் உட்பட யூனிகோட் எழுத்துகளின் வரிசையாக ஒரு எழுத்துச் சரம்.

    • normalizedString - வகையின் துணை வகை - இவை வரி ஊட்டங்கள் "\n", கேரேஜ் ரிட்டர்ன்கள் "\r" மற்றும் கிடைமட்ட தாவல்கள் "\t" ஆகியவற்றைக் கொண்டிருக்காத சரங்களாகும்.
      • டோக்கன் - இயல்பாக்கப்பட்ட சரம் வகையின் துணை வகை - இல்லை, முன்னணி மற்றும் பின்தங்கிய இடைவெளிகள் மற்றும் பல தொடர்ச்சியான இடைவெளிகள் தவிர.
        • மொழி - டோக்கன் துணை வகை, RFC 1766 இன் பரிந்துரையின்படி ஒரு மொழியின் பெயரை பதிவு செய்ய வரையறுக்கப்பட்டுள்ளது, எடுத்துக்காட்டாக, ru, en, de, fr.
        • NMTOKEN என்பது ஒரு டோக்கன் துணை வகையாகும், இது அவற்றின் கணக்கிடப்பட்ட மதிப்புகளை பதிவு செய்ய பண்புக்கூறுகளில் மட்டுமே பயன்படுத்தப்படுகிறது.
        • பெயர் - டோக்கனின் துணை வகை, எக்ஸ்எம்எல் பெயர்களால் ஆனது - எழுத்துக்களின் வரிசைகள், எண்கள், ஹைபன்கள், காலங்கள், பெருங்குடல்கள், அடிக்கோடிட்டுகள், ஒரு எழுத்தில் தொடங்கும் (எழுத்துகளின் ஒதுக்கப்பட்ட வரிசையைத் தவிர எக்ஸ், எக்ஸ், எம், எம், எல், எல்எந்தவொரு சந்தர்ப்பத்திலும்) அல்லது அடிக்கோடிட்டு. ஒரு சரத்தில் தொடங்கும் பெயர்கள் எக்ஸ்எம்எல், எக்ஸ்எம்எல் விவரக்குறிப்பால் பயன்படுத்தப்படுகிறது.
          • NCName என்பது பெருங்குடலைக் கொண்டிருக்காத பெயரின் துணை வகையாகும். மூன்று துணை வகைகள் வரையறுக்கப்பட்டுள்ளன: ID, IDREF, ENTITY
    பைனரி வகைகள்
    • boolen - இருமை, தருக்க. மதிப்புகளை ஏற்றுக்கொள்கிறது: சரி அல்லது தவறு (1 அல்லது 0)
    • base64Binary - Base64 குறியிடப்பட்ட பைனரி முழு எண்கள்
    • hexBinary - எந்த கூடுதல் எழுத்துக்களும் இல்லாமல் ஹெக்ஸாடெசிமல் வடிவத்தில் பைனரி முழு எண்கள்
    உண்மையான எண்கள்
    • தசமம் என்பது ஒரு நிலையான புள்ளியுடன் எழுதப்பட்ட உண்மையான எண்கள்: 123.45, -0.48747798, முதலியன.
    • இரட்டை மற்றும் மிதவை வகைகள் நிலையான அல்லது மிதக்கும் புள்ளியுடன் எழுதப்பட்ட IEEE754-85 தரநிலைக்கு இணங்குகின்றன.
    முழு எண்கள்
    • முழு எண் - பூஜ்ஜிய வரிசையுடன் எண்களைக் கொண்ட அடிப்படை முழு எண் வகை, துணை வகையாகப் புரிந்து கொள்ளப்படுகிறது தசம
    • எண் - ஒரு எண்ணை வரையறுக்கிறது (இலக்கங்களின் எண்ணிக்கையில் கட்டுப்பாடுகள் இல்லாமல்); குறி, பின்னங்கள் மற்றும் அடுக்கு ஆகியவற்றைக் கொண்டிருக்கலாம். மதிப்புகள் மாறுகின்றன

    1.7976931348623157E+308 இலிருந்து 2.2250738585072014E-308 வரை

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

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

    எக்ஸ்எம்எல் கூறுகள். வெற்று மற்றும் காலியாக இல்லாத எக்ஸ்எம்எல் கூறுகள்

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

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

    வெற்று எக்ஸ்எம்எல் உறுப்பு

    காலியாக இல்லாத எக்ஸ்எம்எல் உறுப்பு

    உறுப்பு உள்ளடக்கம்...

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

    எக்ஸ்எம்எல் ஆவணங்களின் தருக்க அமைப்பு. XML தரவு மர அமைப்பு

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

    மேலே உள்ளவற்றைப் புரிந்துகொள்வதை எளிதாக்க, பின்வரும் படத்தை ஒரு எடுத்துக்காட்டுடன் பார்க்கலாம்.

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

    எக்ஸ்எம்எல் பண்புக்கூறுகள். XML இல் பண்புகளை எழுதுவதற்கான விதிகள்

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

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

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

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

    எக்ஸ்எம்எல் செயலாக்க வழிமுறைகள் (செயலாக்க வழிமுறைகள்). எக்ஸ்எம்எல் அறிவிப்பு

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

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

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

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

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

    • குறியாக்கம் - XML ​​ஆவணத்தை குறியாக்குவதற்கு பொறுப்பாகும். பொதுவாக UTF8 குறியாக்கம் பயன்படுத்தப்படுகிறது.
    • பதிப்பு - இந்த ஆவணம் எழுதப்பட்ட XML மொழியின் பதிப்பு. பொதுவாக இது XML பதிப்பு 1.0 ஆகும்.

    சரி, இப்போது கட்டுரையின் இறுதிப் பகுதிக்குச் செல்வோம், மேலும் இதுபோன்ற XML கட்டுமானங்களை கருத்துகள் மற்றும் CDATA பிரிவுகளாகக் கருதுவோம்.

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

    எக்ஸ்எம்எல் பண்புக்கூறுகள்

    IN HTML பண்புக்கூறுகள்உறுப்புகள் பற்றிய கூடுதல் தகவல்களை வழங்கவும்:

    எக்ஸ்எம்எல் பண்புக்கூறுகள் மேற்கோள்களில் இணைக்கப்பட வேண்டும்

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

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

    எக்ஸ்எம்எல் கூறுகள் எதிராக பண்புக்கூறுகள்

    பின்வரும் உதாரணங்களைப் பாருங்கள்:

    விக்டோரியா
    பெட்ரோவா

    பெண்
    விக்டோரியா
    பெட்ரோவா

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

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

    எனக்கு பிடித்த வழி

    பின்வரும் மூன்று XML ஆவணங்கள் ஒரே தகவலைக் கொண்டுள்ளன:

    XML தேதி பண்புக்கூறு முதல் எடுத்துக்காட்டில் பயன்படுத்தப்படுகிறது:

    நீட்டிக்கப்பட்ட தேதி உறுப்பு மூன்றாவது ஒன்றில் பயன்படுத்தப்படுகிறது: (இது எனக்கு மிகவும் பிடித்த வழி):



    10
    01
    2008

    பீட்டர்
    ஸ்வேதா
    நினைவூட்டல்

    XML பண்புக்கூறுகளைத் தவிர்க்கவா?

    xml பண்புக்கூறுகளைப் பயன்படுத்துவதில் சில சிக்கல்கள்:

    • பண்புக்கூறுகள் பல மதிப்புகளைக் கொண்டிருக்கக்கூடாது (உறுப்புகள் முடியும்)
    • பண்புக்கூறுகள் மர அமைப்புகளைக் கொண்டிருக்க முடியாது (உறுப்புகள் முடியும்)
    • பண்புகளை நீட்டிப்பது கடினம் (எதிர்கால மாற்றங்களுக்கு)

    இதை இப்படி செய்யாதீர்கள்:


    மெட்டாடேட்டாவிற்கான எக்ஸ்எம்எல் பண்புக்கூறுகள்


    வாஸ்யா
    ஸ்வேதா
    நினைவூட்டல்
    நாளை என்னை அழைக்க மறக்காதே!


    ஸ்வேதா
    வாஸ்யா
    Re: நினைவூட்டல்
    சரி

    வெவ்வேறு குறிப்புகளை அடையாளம் காண மேலே உள்ள ஐடி பண்புக்கூறுகள் பயன்படுத்தப்படுகின்றன. அவை குறிப்பின் பகுதியாக இல்லை.

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

    உங்கள் கவனத்திற்கு நன்றி!.