এক্সএমএল ফর্ম্যাটটিতে যদি আপনার নিয়ন্ত্রণ থাকে তবে আপনার সমস্যার ভিতরে থাকা উচিত। বাইনারি এক্সএমএল সংযুক্ত করার পরিবর্তে আপনার কীভাবে একটি ডকুমেন্টের একাধিক অংশ যুক্ত করতে হবে সে সম্পর্কে চিন্তা করা উচিত, যার একটিতে এক্সএমএল রয়েছে।
এটির traditionalতিহ্যবাহী সমাধানটি একটি সংরক্ষণাগার (যেমন টার) tar তবে আপনি যদি নিজের বদ্ধ দস্তাবেজটিকে একটি পাঠ্য-ভিত্তিক ফর্ম্যাটে রাখতে চান বা যদি আপনার কাছে কোনও ফাইল সংরক্ষণাগার লাইব্রেরিতে অ্যাক্সেস না থাকে তবে একটি মানকীয় স্কিমও রয়েছে যা ইমেল এবং এইচটিটিপি-তে ভারী ব্যবহৃত হয় যা মাল্টিপার্ট / * এমএমআইএম সহ সামগ্রী-স্থানান্তর-এনকোডিং: বাইনারি ।
উদাহরণস্বরূপ, যদি আপনার সার্ভারগুলি HTTP- র মাধ্যমে যোগাযোগ করে এবং আপনি একটি মাল্টিপার্ট ডকুমেন্ট প্রেরণ করতে চান তবে প্রাথমিকভাবে এটি এক্সএমএল নথি যা বাইনারি ডেটা বোঝায়, HTTP যোগাযোগটি এর মতো দেখতে পারে:
POST / HTTP/1.1
Content-Type: multipart/related; boundary="qd43hdi34udh34id344"
... other headers elided ...
--qd43hdi34udh34id344
Content-Type: application/xml
<myxml>
<data href="cid:data.bin"/>
</myxml>
--qd43hdi34udh34id344
Content-Id: <data.bin>
Content-type: application/octet-stream
Content-Transfer-Encoding: binary
... binary data ...
--qd43hdi34udh34id344--
উপরোক্ত উদাহরণ হিসাবে, এক্সএমএল একটি cid
ইউআরআই স্কিম ব্যবহার করে বদ্ধমূল মাল্টিপার্টের বাইনারি ডেটা উল্লেখ করে যা সামগ্রী-আইডি শিরোলেখের সনাক্তকারী। এই স্কিমের ওভারহেডটি কেবল মাইএম শিরোলেখ হবে। অনুরূপ স্কিম এইচটিটিপি প্রতিক্রিয়া হিসাবেও ব্যবহার করা যেতে পারে। অবশ্যই এইচটিটিপি প্রোটোকলে, আপনার কাছে পৃথক অনুরোধ / প্রতিক্রিয়াতে একটি মাল্টিপার্ট ডকুমেন্ট প্রেরণের বিকল্প রয়েছে।
আপনি যদি কোনও মাল্টিপার্টে আপনার ডেটা মোড়ানো এড়াতে চান তবে ডেটা ইউআরআই ব্যবহার করা:
<myxml>
<data href="data:application/something;charset=utf-8;base64,dGVzdGRhdGE="/>
</myxml>
তবে এটি বেস 64 ওভারহেড আছে।