: আমি যেমন সেখানে আউট বিখ্যাত ফাইল ফরম্যাট কিছু করার জন্য একটি পার্সার তৈরীর জন্য একটি ভাল সমাধান খুঁজে বের করার চেষ্টা করছি EDIFACT এবং TRADACOMS ।
আপনি যদি এই মানগুলির সাথে পরিচিত না হন তবে উইকিপিডিয়া থেকে এই উদাহরণটি দেখুন:
কোনও পণ্য উপলভ্যতার অনুরোধের জবাব দিতে ব্যবহৃত কোনও সম্পাদনা বার্তার উদাহরণের জন্য নীচে দেখুন: -
UNA:+.? '
UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'
UNH+1+PAORES:93:1:IA'
MSG+1:45'
IFT+3+XYZCOMPANY AVAILABILITY'
ERC+A7V:1:AMD'
IFT+3+NO MORE FLIGHTS'
ODI'
TVL+240493:1000::1220+FRA+JFK+DL+400+C'
PDI++C:3+Y::3+F::1'
APD+714C:0:::6++++++6X'
TVL+240493:1740::2030+JFK+MIA+DL+081+C'
PDI++C:4'
APD+EM2:0:130::6+++++++DA'
UNT+13+1'
UNZ+1+1'
ইউএনএ বিভাগটি alচ্ছিক। উপস্থিত থাকলে, এটি সেই বিশেষ চরিত্রগুলি নির্দিষ্ট করে যা মেসেজটির অবশিষ্ট অংশটি ব্যাখ্যা করতে ব্যবহৃত হবে। এই ক্রমে ইউএনএ অনুসারে ছয়টি অক্ষর রয়েছে:
- উপাদান ডেটা উপাদান বিভাজক (: এই নমুনায়)
- ডেটা উপাদান বিভাজক (+ এই নমুনায়)
- দশমিক বিজ্ঞপ্তি (এই নমুনায়)
- প্রকাশের অক্ষর (? এই নমুনায়)
- সংরক্ষিত, অবশ্যই একটি স্থান হবে
- বিভাগ টার্মিনেটর ('এই নমুনায়)
আপনি দেখতে পাচ্ছেন যে এটি বিশ্লেষণের জন্য অপেক্ষা করে একটি বিশেষ উপায়ে কিছু ডেটা ফর্ম্যাট করা হয়েছে (অনেকটা এক্সএমএল ফাইলের মতো )।
এখন আমার সিস্টেমটি পিএইচপিতে নির্মিত এবং আমি প্রতিটি বিভাগের জন্য নিয়মিত এক্সপ্রেশন ব্যবহার করে পার্সার তৈরি করতে সক্ষম হয়েছি, তবে সমস্যাটি প্রত্যেকেই মানদণ্ডকে পুরোপুরি প্রয়োগ করে না।
কিছু সরবরাহকারী পুরোপুরি alচ্ছিক বিভাগ এবং ক্ষেত্রগুলি উপেক্ষা করার ঝোঁক। অন্যরা অন্যের চেয়ে বেশি ডেটা প্রেরণ করতে পছন্দ করতে পারে। এই কারণে ফাইলটি সঠিক ছিল কি না তা পরীক্ষা করার জন্য আমাকে বিভাগ এবং ক্ষেত্রগুলির জন্য বৈধতা তৈরি করতে বাধ্য হয়েছিল।
আমি এখনই নিয়মিত প্রকাশের দুঃস্বপ্নটি কল্পনা করতে পারি। এছাড়াও প্রতিটি সরবরাহকারীকে নিয়মিত প্রকাশে অনেকগুলি পরিবর্তন প্রয়োজন যা আমি প্রতিটি সরবরাহকারীর জন্য পার্সার তৈরির প্রবণতা রাখি।
প্রশ্নাবলী:
1- ফাইলগুলি পার্স করার জন্য এটি কি সেরা অনুশীলন (নিয়মিত এক্সপ্রেশন ব্যবহার করে)?
2- ফাইলগুলি পার্সিংয়ের জন্য আরও ভাল সমাধান আছে (সম্ভবত সেখানে প্রস্তুত সমাধান রয়েছে)? এটি ফাইলটি ক্ষতিগ্রস্থ হলে কোন বিভাগটি অনুপস্থিত তা দেখাতে সক্ষম হবে?
3- যদি যাইহোক আমার পার্সার তৈরি করতে হয় তবে আমার কোন নকশার প্যাটার্ন বা পদ্ধতি ব্যবহার করা উচিত?
মন্তব্য:
আমি ইয়্যাক এবং এএনটিএলআর সম্পর্কে কোথাও পড়েছি, তবে তারা আমার প্রয়োজনের সাথে মেলে কিনা জানি না!