مرمّز كيانات XML
يحوّل الأحرف الخمسة التي يحجزها XML، فتصبح «Tom & Jerry <3» هكذا «Tom & Jerry <3»، ويعيد & و< و> و' و" إلى حروف عادية. ويُرفض الاسم المجهول بدل أن يمر دون انتباه. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Tom & Jerry <3
- وضع الحساب
- Encode
- النتيجة
- Tom & Jerry <3
- الترميز
- xml_entities
- طول المُدخَل
- 14
- طول المُخرَج
- 21
يحوّل مرمّز كيانات XML هذا الأحرف الخاصة الخمسة التي يحتفظ بها XML لبنية الوسوم إلى كياناتها المسماة المعرفة مسبقًا، ويعكس نفس التعيين عندما تلصقون نصًا مُهرَّبًا بالكيانات ليعود إلى أحرف عادية. يعيد الترميز كتابة علامة العطف وأقل من وأكبر من والفاصلة العليا وعلامة الاقتباس المزدوجة حتى يبقى محتوى العناصر وقيم السمات آمنًا دون كسر الوسوم أو المحددات. يقبل فك الترميز فقط الأشكال الخمسة المعرفة مسبقًا & و< و> و' و"، ويفشل بصراحة عند الأسماء المجهولة أو المراجع العددية أو كيانات ناقصة، حتى لا تبقى أخطاء الكتابة بصمت داخل XML الإنتاج. المسار حتمي بالكامل: نفس النص ونفس الوضع ينتجان دائمًا النتيجة نفسها، بلا استدعاءات شبكة ولا أملاح عشوائية ولا اختصارات تعتمد على التاريخ. تشمل الفحوصات البسيطة ترميز Tom & Jerry إلى Tom & Jerry وفك <tag> إلى أقواس زاوية.
ما الكيانات الخمس المعرفة مسبقًا في XML وما الذي يعيده هذا الأداة
يعرّف XML خمسة كيانات أحرف معرفة مسبقًا بالضبط يجب على كل معالج مطابق أن يتعرف عليها دون إعلان DTD. تبدأ علامة العطف مرجع حرف أو كيان، لذا يجب كتابة علامة عطف حرفية في النص أو السمات على صورة & إن كنتم تقصدون الرسم لا بداية مرجع آخر. تفتح أصغر من وأكبر من الوسوم وتغلقها، فتصبحان < و> عندما تريدون تلك الرموز بيانات.
غالبًا ما تحدد الفاصلة العليا وعلامة الاقتباس المزدوجة قيم السمات، فتصبحان ' و" عندما تظهران داخل سمات مقتبسة بنفس الأسلوب. تنفّذ هذه الصفحة مجموعة الترميز الكلاسيكية تلك على مسار encode والعكس على decode: لا تُعاد كتابة سوى هذه الأشكال الخمسة المسماة. بخلاف أداة كيانات HTML عامة، لا تقبل هذه الصفحة أو © أو مئات أسماء HTML الأخرى، ولا توسّع المراجع العددية العشرية &#N; ولا الست عشرية &#xH;.
يناسب هذا العقد الضيق المؤلفين الذين يحتاجون إلى انضباط صارم لكيانات XML المعرفة مسبقًا لا إلى جدول كامل لكيانات HTML المسماة.
أين يناسب ترميز وفك ترميز كيانات XML في مسارات الوسوم
تُرمّز فرق الواجهة والخلفية العناوين والتسميات الديناميكية قبل وضعها داخل محتوى العناصر أو السمات المقتبسة حتى لا تكسر علامة عطف واحدة أو قوس زاوي الوسوم المحيطة. يفك مؤلفو خطوط الأنابيب تصديرات مثقلة بالكيانات من أنظمة قديمة حتى يعمل رمز التطبيق باقتباسات وعلامات عطف حقيقية بدل تسلسلات & الحرفية. يولّد مهندسو الجودة أزواج encode وdecode حتمية لاختبارات العقد حتى لا يبدّل وسيط يدّعي دعم كيانات XML بصمت إلى أسماء HTML فقط أو مراجع عددية بين الإصدارات.
يستخدم المعلّمون نفس الأداة عند شرح الفرق بين الكيانات الخمس المعرفة مسبقًا في XML وكيانات HTML المسماة والمراجع العددية التي تقبلها بعض محلّلات HTML بمرونة أكبر.
حالات الاستخدام
نص آمن لعناصر وسمات XML
رمّزوا العناوين والتسميات ومقاطع المستخدم حتى لا تكسر علامات العطف والاقتباس والأقواس الزاوية الوسوم أو السمات في XML سليم الشكل.
تنظيف التغذيات والإعدادات القديمة
فكّوا ترميز الكيانات الخمس المعرفة مسبقًا في XML من تغذيات مصدّرة أو إعدادات أو حقول قواعد بيانات لتعود إلى يونيكود بسيط للمعالجات الحديثة.
الأسئلة الشائعة
أي أحرف تُرمَّز؟
يعيد وضع encode كتابة & و< و> و' و" إلى & و< و> و' و". تُترك الأحرف الأخرى دون تغيير.
ماذا يحدث إن كان الكيان مجهولًا أو عدديًا؟
تُقبل فقط & و< و> و' و"؛ وتُرفض أسماء HTML وأشكال &#N; / &#xH;.
هل النتيجة حتمية؟
نعم. نفس النص ونفس الوضع ينتجان دائمًا النتيجة نفسها بلا شبكة ولا عشوائية ولا سلوك يعتمد على التاريخ.
لماذا يظهر &lt; عندما أرمّز النص مرتين؟
لأن الترميز يعيد كتابة كل رمز &، حتى الذي يبدأ كيانًا مكتوبًا من قبل. إذا مررت نصًا محوّلًا بالترميز مرة أخرى يصبح < هو &lt;، لذا رمّز النص الأصلي مرة واحدة واستخدم فك الترميز للعودة.
ما الفرق بينها وبين أداة كيانات HTML؟
تتعامل هذه الأداة مع كيانات XML الخمسة المعرّفة فقط. أما أسماء HTML مثل و© فتُرفض عند فك الترميز، ولا تُوسَّع المراجع الرقمية مثل ' أيضًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/xml-entities \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Tom & Jerry <3"}'const res = await fetch("https://api.kit.forhosting.com/enc/xml-entities", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Tom & Jerry <3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/xml-entities",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Tom & Jerry <3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/xml-entities", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Tom & Jerry <3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Tom & Jerry <3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/xml-entities", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Tom & Jerry <3"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.xml_entities",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
استخدموه مجانًا في المتصفح لنظافة الإعدادات وتنظيف المحتوى، أو استدعوا واجهة API بسعر $0.002 لكل طلب ناجح عندما تحتاج خطوط الأنابيب إلى تحويلات كيانات XML قابلة لإعادة الإنتاج في CI وخدمات الخلفية.
ما الكيانات الخمس المعرفة مسبقًا في XML وما الذي يعيده هذا الأداة
تتضمن استجابة JSON دائمًا result للسلسلة المحوّلة، وmode الذي يردد encode أو decode، وencoding ثابتًا على xml_entities، وinput_length مع output_length حتى تتمكن الاختبارات من التحقق من الأحجام. يبلغ encode أيضًا عن entities_encoded ويبلغ decode عن entities_decoded لتأكيد عدد الأحرف الخاصة أو المراجع المسماة التي أُعيدت كتابتها. لا يوجد تخطٍّ صامت جزئي للكيانات الكاملة المجهولة: إما أن يكون كل &name; كامل أحد الأشكال الخمسة المعرفة مسبقًا أو يفشل الطلب بـ invalid_input. إن احتجتم إلى تحقق كامل من المستندات أو فحوص المخطط أو جداول كيانات HTML، فاستخدموا تلك النقاط المخصصة؛ تجيب هذه الصفحة فقط عقد تهريب وإلغاء تهريب الكيانات الخمس بمخرجات مستقرة مناسبة للتجهيزات ومستهلكي API.
كيف تُقرأ text وmode وكيف تبقى النتائج قابلة لإعادة الإنتاج
يمشي encode على السلسلة حرفًا حرفًا ويستبدل فقط الأحرف الخاصة الخمسة بأشكال الكيان المفضلة، تاركًا الحروف والأرقام وبقية Unicode دون تغيير حتى يبقى النص المقروء مقروءًا. ولأن علامة العطف تُعاد كتابتها في نفس المرور من اليسار إلى اليمين مع بقية الأحرف الخاصة، لن تُرمّزوا مزدوجًا جزءًا مُهرَّبًا مسبقًا في مرور ثانٍ بالخطأ ما لم تعيدوا إرسال نص كيانات إلى encode. يبحث decode عن تسلسلات &name; سليمة الشكل: اسم يبدأ بحرف ويتألف من حروف وأرقام وينتهي بفاصلة منقوطة. تُرفض أيضًا الأشكال العددية مثل ' و' لأنها ليست من الكيانات الخمس المسماة المعرفة مسبقًا التي تنفّذها هذه الأداة. تفشل الأجزاء الناقصة التي تبدأ تسلسلًا شبيهًا بالكيان بلا فاصلة منقوطة ختامية إغلاقًا. حقل الحمولة المفضل هو text مع الأسماء البديلة input وvalue وs وxml حتى تعيد النماذج وسلاسل الاستعلام وعملاء SDK استخدام نفس العقد دون إعادة تسمية الأعمدة. الوضع الافتراضي لـ mode هو encode ويقبل decode صراحة؛ وتربط الأسماء البديلة op وdirection وaction بنفس المفتاح للسكربتات التي تستخدم تلك الأسماء مسبقًا، كما تُقبل escape وunescape كمرادفين. تُترك علامات العطف العارية التي لا تكوّن مرجعًا كاملًا دون مساس حتى لا تُدمَّر المسودات الناقصة، لكن اسمًا كاملًا مجهولًا مثل أو ¬anentity; يرفع invalid_input برسالة تسمي المرجع الخاطئ. يبقي سقف الطول مئة ألف حرف ذاكرة Worker قابلة للتوقع مع تغطية القوالب والمستندات النموذجية ومعظم مخازن اللصق. اقرنوا التشغيل المجاني في المتصفح على هذه الصفحة بواجهة API المدفوعة عندما تحتاجون نفس التعيين داخل خط أنابيب آلي دون إعادة تنفيذ جداول كيانات XML بأنفسكم. تُرجع المدخلات غير الصالحة invalid_input ولا تُحتسب، فيبقى التحقق رخيصًا بينما تظل التحويلات الناجحة بسعر ثابت لكل عنصر قدره $0.002.
أين يناسب ترميز وفك ترميز كيانات XML في مسارات الوسوم
يواجه المطوّرون الكيانات الخمس المعرفة مسبقًا في XML عندما يدمجون نص المستخدم في ملفات الإعداد وحمولات SOAP أو REST بصيغة XML وسمات SVG وتغذيات RSS وAtom وأي مستند يجب أن يبقى سليم الشكل تحت محلّل XML صارم. على هذه الصفحة يعمل كل شيء داخل متصفّحكم؛ وعبر API يكلّف كل استعلام ناجح $0.002، ولا تُحتسب حالات فشل التحقق، ولا يُخزَّن شيء بعد إرجاع الاستجابة. يتوافق هذا التقسيم — استكشاف تفاعلي مجاني وAPI بنفس السعر — مع بقية كتالوج KIT من المستوى A ويتيح لكم الانتقال من عرض صفّي إلى خط أنابيب آلي دون تغيير النتيجة المرمّزة. اقرنوه بمساعدات XML-to-JSON أو كيانات HTML عندما تحتاجون تحويل وسوم أوسع، وبنقاط ترميز أخرى عندما تبنون مختبرًا صغيرًا لأدوات نص مجانية وحتمية لأجل CI والتوثيق.
حالات التكامل
تجهيزات CI حتمية
ولّدوا أزواج encode وdecode قابلة لإعادة الإنتاج لاختبارات الوحدة وملفات golden وفحوص العقد عبر الخدمات التي تصدر XML.
أسئلة تقنية
كم تكلفة مرمّز كيانات XML؟
هو مجاني في متصفّحكم على هذه الصفحة. عبر API يكلّف الطلب الناجح $0.002؛ والمدخلات غير الصالحة لا تُحتسب.
أي الأوضاع مدعومة؟
mode=encode (الافتراضي) يحوّل الأحرف الخاصة الخمسة إلى كيانات. mode=decode يعيد فقط الكيانات الخمس المسماة المعرفة مسبقًا إلى أحرف.