የXML መዋቅር እና የደህንነት መርሆዎች
የXML (Extensible Markup Language) ሰነዶች መረጃን በስርዓት ለመያዝ እና ለመለዋወጥ በሰፊው ያገለግላሉ። ይሁን እንጂ የXML ፋይሎች ትክክለኛውን መዋቅር ጠብቀው ካልተጻፉ በተለያዩ መተግበሪያዎች ውስጥ ስህተት ይፈጥራሉ። ይህ የXML ፎርማተር / ማረጋገጫ መሳሪያ ተጠቃሚዎች የXML ውሂባቸውን መዋቅር እንዲፈትሹ፣ በቀላሉ እንዲነበብ እንዲያደርጉ ወይም መጠኑን እንዲቀንሱ ይረዳቸዋል።
በዚህ መሳሪያ ላይ የሚከናወኑ ማናቸውም ተግባራት ሙሉ በሙሉ በብሮውዘርዎ ውስጥ ነው የሚቀረጸው፣ የሚቀነሰው እና የሚረጋገጠው። ወደ BroBroGo ምንም ነገር አይሰቀልም። ይህም ማለት የእርስዎ የXML ውሂብ ከኮምፒውተርዎ ሳይወጣ በውስጣዊ ብሮውዘርዎ አማካኝነት ብቻ ስለሚሰራ የውሂብ ግላዊነት የተጠበቀ ነው።
የXML ግብዓት እና የሂደት ገደቦች
መሳሪያው የXML ጽሑፍን በቀጥታ በመቀበል ይሰራል። ተጠቃሚዎች የXML ውሂባቸውን በግብዓት ቦታው ላይ መለጠፍ ወይም መተየብ ይችላሉ።
- ከፍተኛው የግብዓት መጠን፦ መሳሪያው በአንድ ጊዜ ማስተናገድ የሚችለው ከፍተኛው የቁምፊ መጠን 500,000 ቁምፊዎች ነው።
- የመጠን ገደብ ስህተት፦ የገቡት ቁምፊዎች ብዛት ከተፈቀደው ገደብ በላይ ከሆነ መሳሪያው "ይህ XML ለማቀናበር በጣም ትልቅ ነው። እባክዎ አነስ ያለ ሰነድ ይሞክሩ።" የሚለውን መልዕክት ያሳያል።
- የማቀናበር ስህተት፦ መሳሪያው ባልታወቀ ምክንያት የገባውን XML ማቀናበር ካልቻለ "ይህንን XML ማቀናበር አልተቻለም።" የሚል የስህተት መልዕክት ያሳያል።
- ግብዓትን ማጽዳት፦ የገባውን ጽሑፍ በሚያጸዱበት ጊዜ መሳሪያው "ጸድቷል።" የሚል ምላሽ ያሳያል።
የማቀናበሪያው ሂደት ዋናውን የግብዓት ጽሑፍ አይተካም። ውጤቱ በተለየ የውጤት ቦታ ላይ የሚታይ ሲሆን፣ ተጠቃሚዎች ውጤቱን ማውረድ ወይም ወደ ቅንጥብ ሰሌዳቸው (clipboard) መቅዳት ይችላሉ።
በጥሩ ሁኔታ የተዋቀረ XML (Well-Formed XML) እና አረጋጋጭነት
አንድ የXML ሰነድ በጥሩ ሁኔታ የተዋቀረ (well-formed) ነው የሚባለው መሰረታዊ የXML አገባብ ደንቦችን ጠብቆ ሲገኝ ብቻ ነው። ይህ መሳሪያ የገባው XML እነዚህን ደንቦች ማሟላቱን ያረጋግጣል።
መሰረታዊ የአገባብ ደንቦች
- አንድ የሰነድ መዋቅር (Single Root Element)፦ ሁሉም የXML አካላት በአንድ ዋና (root) አካል ውስጥ መካተት አለባቸው።
- ተዛማጅ ታጎች (Matching Tags)፦ እያንዳንዱ የመክፈቻ ታግ ተዛማጅ መዝጊያ ታግ ሊኖረው ይገባል። ታጎች በትክክል መደራረብ አለባቸው።
- ጥቅስ ውስጥ የገቡ ባህሪያት (Quoted Attributes)፦ ሁሉም የባህሪ እሴቶች በነጠላ ወይም በድርብ ጥቅስ ውስጥ መካተት አለባቸው።
- ህጋዊ ምልክቶች (Legal Markup)፦ በXML ውስጥ ጥቅም ላይ የዋሉ ምልክቶች እና ቁምፊዎች የXML ዝርዝር መግለጫን የጠበቁ መሆን አለባቸው።
የማረጋገጫ ገደቦች
ይህ መሳሪያ የXML ሰነዱ በጥሩ ሁኔታ መዋቀሩን ብቻ ነው የሚፈትሸው። ሰነዱን ከ XSD (XML Schema Definition)፣ ከ DTD (Document Type Definition) ወይም ከማንኛውም የንግድ እቅድ (business schema) አንጻር አያረጋግጥም።
የXML ስህተቶችን የመለየት እና የማረም ስልቶች
የገባው XML የአገባብ ስህተት ካለበት፣ መሳሪያው ስህተቱ የተከሰተበትን ትክክለኛ ቦታ ያሳያል። ይህም ተጠቃሚዎች ስህተቱን በፍጥነት እንዲያርሙ ይረዳል።
- የስህተት አመላካች፦ XMLው የተበላሸ ከሆነ መሳሪያው "ይህ XML በጥሩ ሁኔታ የተዋቀረ አይደለም።" የሚል መልዕክት ያሳያል።
- የመስመር እና አምድ መረጃ፦ መሳሪያው ስህተቱ የተገኘበትን ትክክለኛ ቦታ "ልክ ያልሆነ XML · መስመር
{line}፣ አምድ{col}" በሚል ቅርጸት ያሳያል። ለምሳሌ፣ በአምስተኛው መስመር በሶስተኛው አምድ ላይ ስህተት ካለ "ልክ ያልሆነ XML · መስመር 5፣ አምድ 3" ተብሎ ይገለጻል። - የተንታኝ መልዕክት፦ ከዚህ በተጨማሪ መሳሪያው ዝርዝር የስህተት መረጃን በ"የተንታኝ (Parser) መልዕክት" ስር ያሳያል。
መቅረጽ (Formatting) እና ማሳነስ (Minifying)
በXML አጠቃቀም ውስጥ መቅረጽ እና ማሳነስ የተለያዩ ዓላማዎች አሏቸው።
| ተግባር | መግለጫ | ዋና ጥቅም |
|---|---|---|
| ቅረጽ (Format) | ታጎች እና መደራረቦች በቀላሉ እንዲነበቡ XMLን እንደገና ያስገባል። | የሰነዱን መዋቅር በሰው ለመረዳት እና ስህተቶችን ለመለየት። |
| አሳንስ (Minify) | በኖዶች መካከል ያሉ የመስመር መቋረጦችን እና ማስገቢያዎችን ያስወግዳል። | የፋይሉን መጠን በመቀነስ የውሂብ ልውውጥ ፍጥነትን ለመጨመር። |
የባዶ ቦታዎች (Whitespace) ተጽዕኖ
መቅረጽ የXML አካላትን እና ባህሪያትን ይጠብቃል። ነገር ግን፣ የገባው XML የተቀላቀለ ይዘት (mixed content) ወይም ለባዶ ቦታ ስሜታዊ የሆነ ጽሑፍ (whitespace-sensitive text) የሚጠቀም ከሆነ፣ ባዶ ቦታዎችን ማስተካከል የውሂቡን ትርጉም ሊለውጠው ይችላል። ስለዚህ ኦሪጅናሉን ሰነድ ከመተካትዎ በፊት ሁልጊዜ ውጤቱን መገምገም ይመረጣል።
የማሳነስ ተግባር በተሳካ ሁኔታ ሲጠናቀቅ መሳሪያው የቁጠባ መጠኑን በፐርሰንት ያሳያል። ለምሳሌ ያህል፣ መጠኑ በሰላሳ ፐርሰንት ከቀነሰ "XML ተቀንሷል — 30% ያነሰ።" የሚል መረጃ ያሳያል።
ተደጋግመው የሚነሱ ጥያቄዎች (FAQ)
በformat እና በminify መካከል ያለው ልዩነት ምንድን ነው?
Format ማድረግ ታጎች እና መደራረቦች በቀላሉ እንዲነበቡ XMLን እንደገና ያስገባል። Minify ማድረግ ደግሞ XMLው አነስተኛ እንዲሆን በኖዶች መካከል ያሉ የመስመር መቋረጦችን እና ማስገቢያዎችን ያስወግዳል። በሚያስተካክሉበት ጊዜ formatን ይጠቀሙ፣ የታመቀ ውጤት ሲፈልጉ ደግሞ minifyን ይጠቀሙ።
ማረጋገጫው (validation) ምን ይፈትሻል?
XMLው በጥሩ ሁኔታ የተዋቀረ መሆኑን ያረጋግጣል፦ አንድ የሰነድ መዋቅር፣ ተዛማጅ ታጎች፣ ጥቅስ ውስጥ የገቡ ባህሪያት (attributes) እና ህጋዊ ምልክቶች። ከ XSD፣ DTD ወይም ከንግድ እቅድ ጋር አያረጋግጥም።
መቅረጽ (formatting) ትርጉም ያላቸውን ባዶ ቦታዎች ሊለውጥ ይችላል?
አካላትን እና ባህሪያትን ይጠብቃል፣ ነገር ግን በአንዳንድ XML ውስጥ ባዶ ቦታዎች ትርጉም ሊኖራቸው ይችላል። ፋይልዎ የተቀላቀለ ይዘት ወይም ለባዶ ቦታ ስሜታዊ የሆነ ጽሑፍ የሚጠቀም ከሆነ፣ ኦሪጅናሉን ከመተካትዎ በፊት ውጤቱን ይገምግሙ።
የገባው XML በጣም ትልቅ ከሆነ ምን ይከሰታል?
የገባው የXML ጽሑፍ ከ 500,000 ቁምፊዎች በላይ ከሆነ መሳሪያው ማቀናበር አይችልም። በዚህ ጊዜ "ይህ XML ለማቀናበር በጣም ትልቅ ነው። እባክዎ አነስ ያለ ሰነድ ይሞክሩ።" የሚል መልዕክት ያሳያል።