لغة الترميز المعممة القياسية
| امتداد اسم الملف |
.sgml |
|---|---|
| نوع الوسائط على الإنترنت |
تطبيق/sgml، نص/sgml |
| معرف النوع الموحد (UTI) | public.xml [ بحاجة لمصدر ] |
| تم التطوير بواسطة | ايزو |
| نوع التنسيق | لغة الترميز |
| ممتدة من | جي إم إل |
| ممتدة إلى | HTML ، XML |
| معيار | ايزو 8879 |
لغة الترميز المعممة القياسية ( SGML ؛ ISO 8879:1986) هي معيار لتحديد لغات الترميز المعممة للمستندات. تنص الملحق A.1 من ISO 8879 على أن الترميز المعمم "يعتمد على فرضيتين ": [1]
- إعلاني: يجب أن تصف العلامات بنية المستند والسمات الأخرى بدلاً من تحديد المعالجة التي يجب تنفيذها، لأن هذا أقل عرضة للتعارض مع التطورات المستقبلية.
- صارمة: للسماح للترميز بالاستفادة من التقنيات المتاحة للمعالجة، يجب على الترميز أن يحدد بدقة الكائنات مثل البرامج وقواعد البيانات .
DocBook SGML و LinuxDoc هي أمثلة تستخدم أدوات SGML.
الإصدارات القياسية
SGML هو معيار ISO : "ISO 8879:1986 معالجة المعلومات - النصوص وأنظمة المكاتب - لغة الترميز المعممة القياسية (SGML)"، والتي يوجد منها ثلاثة إصدارات:
- النسخة الأصلية من SGML ، والتي تم قبولها في أكتوبر 1986، تلتها تصحيحات فنية طفيفة.
- SGML (ENR) ، في عام 1996، كانت نتيجة لتصحيح فني لإضافة قواعد تسمية موسعة تسمح باستخدام لغات وعلامات نصية عشوائية.
- SGML (ENR+WWW أو WebSGML) ، في عام 1998، كانت نتيجة لتصحيح فني لدعم متطلبات XML وWWW بشكل أفضل.
SGML هو جزء من ثلاثية من معايير ISO التمكينية للوثائق الإلكترونية التي طورتها ISO/IEC JTC 1/SC 34 [1] [2] (اللجنة الفنية المشتركة ISO/IEC 1، اللجنة الفرعية 34 - لغات وصف المستندات ومعالجتها):
- SGML (ISO 8879) – لغة الترميز المعممة
- DSSSL (ISO/IEC 10179) - لغة معالجة المستندات وتنسيقها استنادًا إلى Scheme .
- HyTime – النص التشعبي المعمم والجدولة. [3]
- تم إعادة تصميم HyTime جزئيًا إلى W3C XLink . نادرًا ما يتم استخدام HyTime في المشاريع الجديدة.
يتم دعم SGML من خلال التقارير الفنية المختلفة، وخاصة
- ISO/IEC TR 9573 – معالجة المعلومات – مرافق دعم SGML – تقنيات استخدام SGML [4]
- الجزء 13: مجموعات الكيانات العامة للرياضيات والعلوم
- في عام 2007، وافقت مجموعة عمل W3C MathML على تولي صيانة مجموعات الكيانات هذه.
- الجزء 13: مجموعات الكيانات العامة للرياضيات والعلوم
تاريخ
تنحدر لغة ترميز SGML من لغة ترميز IBM المعممة (GML)، والتي طورها تشارلز جولدفارب وإدوارد موشر وريموند لوري في الستينيات. صاغ جولدفارب، محرر المعيار الدولي، مصطلح "GML" باستخدام الأحرف الأولى من لقبهم. [5] كتب جولدفارب أيضًا العمل النهائي حول بناء جملة SGML في "دليل SGML". [6] بناء جملة SGML أقرب إلى تنسيق COCOA . [ يحتاج إلى توضيح ] كلغة ترميز للمستندات، تم تصميم SGML في الأصل لتمكين مشاركة مستندات المشاريع الكبيرة القابلة للقراءة آليًا في الحكومة والقانون والصناعة. يجب أن تظل العديد من هذه المستندات قابلة للقراءة لعدة عقود - لفترة طويلة في مجال تكنولوجيا المعلومات . كما تم تطبيق SGML على نطاق واسع من قبل الصناعات العسكرية والفضائية والمراجع الفنية والنشر الصناعي. أدى ظهور ملف تعريف XML إلى جعل SGML مناسبًا للتطبيق الواسع النطاق للاستخدام العام على نطاق صغير.
صحة الوثيقة
يحدد SGML (ENR+WWW) نوعين من الصلاحية. وفقًا للمصطلحات والتعريفات المنقحة لـ ISO 8879 (من المسودة العامة [7] ):
يجب أن يكون مستند SGML المطابق إما مستند SGML صالحًا من حيث النوع، أو مستند SGML صالحًا من حيث العلامة، أو كليهما. ملاحظة: قد يرغب المستخدم في فرض قيود إضافية على مستند، مثل ما إذا كانت نسخة المستند مخزنة بشكل متكامل أو خالية من مراجع الكيان.
يتم تعريف مستند SGML صالح النوع بواسطة المعيار على أنه
مستند SGML حيث يوجد لكل مثيل مستند إعلان نوع مستند مرتبط (DTD) يتوافق مع إعلان نوع المستند الخاص به.
يتم تعريف مستند SGML صالح للعلامة بواسطة المعيار على أنه
مستند SGML، حيث يتم وضع علامات كاملة على جميع مثيلات المستند. لا يلزم وجود إعلان عن نوع المستند مرتبط بأي من المثيلات. ملاحظة: إذا كان هناك إعلان عن نوع المستند ، فيمكن تحليل المثيل مع أو بدون الرجوع إليه.
مصطلحات
تم تقديم صلاحية العلامة في SGML (ENR+WWW) لدعم XML الذي يسمح بالمستندات التي لا تحتوي على إعلان DOCTYPE ولكن يمكن تحليلها بدون قواعد نحوية، أو المستندات التي تحتوي على إعلان DOCTYPE الذي لا يقدم أي مساهمات في XML Infoset للمستند. يطلق المعيار على هذا اسم العلامة الكاملة . يعكس التخزين المتكامل متطلب XML بأن تنتهي العناصر في نفس الكيان الذي بدأت فيه. يعكس الخالي من المراجع متطلب HTML بأن تكون مراجع الكيان للأحرف الخاصة ولا تحتوي على علامات. يغطي تعليق صلاحية SGML، وخاصة التعليق الذي تم إجراؤه قبل عام 1997 أو الذي لا يعرف SGML (ENR+WWW)، صلاحية النوع فقط.
يدعم التركيز الذي يفرضه SGML على الصلاحية متطلبات الترميز المعمم الذي ينص على أن الترميز يجب أن يكون صارمًا. (ISO 8879 A.1)
بناء الجملة
قد تحتوي وثيقة SGML على ثلاثة أجزاء:
- إعلان SGML،
- المقدمة، التي تحتوي على إعلان DOCTYPE مع إعلانات العلامات المختلفة التي تشكل معًا تعريف نوع المستند (DTD)، و
- المثيل نفسه، يحتوي على عنصر علوي واحد ومحتوياته.
يمكن أن تتكون وثيقة SGML من العديد من الكيانات (قطع منفصلة من النص). في SGML، يمكن تحديد الكيانات وأنواع العناصر المستخدمة في الوثيقة باستخدام DTD، ويتم تحديد مجموعات الأحرف المختلفة والميزات ومجموعات الفواصل والكلمات الأساسية في إعلان SGML لإنشاء بناء الجملة الملموس للوثيقة.
على الرغم من أن SGML الكامل يسمح بالترميز الضمني وبعض أنواع العلامات الأخرى، فإن مواصفات XML (s4.3.1) تنص على:
يحتوي كل مستند XML على بنية منطقية وبنية مادية. فماديًا، يتكون المستند من وحدات تسمى الكيانات. وقد يشير الكيان إلى كيانات أخرى للتسبب في تضمينها في المستند. يبدأ المستند في "جذر" أو كيان مستند. ومنطقيًا، يتكون المستند من إعلانات وعناصر وتعليقات ومراجع أحرف وتعليمات معالجة ، وكلها موضحة في المستند بواسطة علامات ترميز صريحة.
للحصول على معلومات تمهيدية حول بناء جملة SGML الأساسي والحديث، راجع XML . تركز المادة التالية على الميزات غير الموجودة في XML ولا تعد ملخصًا شاملاً لبناء جملة SGML.
الميزات الاختيارية
تعمم لغة ترميز النص التشعبي (SGML) وتدعم مجموعة واسعة من لغات الترميز كما كانت موجودة في منتصف الثمانينيات. وتتراوح هذه اللغات من صيغ نحوية موجزة تشبه ويكي إلى لغات بين قوسين تشبه RTF إلى لغات مطابقة العلامات تشبه HTML . وقد فعلت لغة ترميز النص التشعبي (SGML) هذا من خلال صيغة نحوية مرجعية افتراضية بسيطة نسبيًا معززة بعدد كبير من الميزات الاختيارية التي يمكن تمكينها في إعلان لغة ترميز النص التشعبي (SGML). لا يمكن لكل محلل لغة ترميز النص التشعبي (SGML) بالضرورة معالجة كل مستند من مستندات لغة ترميز النص التشعبي (SGML). ولأن إعلان النظام الخاص بكل معالج يمكن مقارنته بإعلان لغة ترميز النص التشعبي (SGML) الخاص بالمستند ، فمن الممكن دائمًا معرفة ما إذا كان المستند مدعومًا بواسطة معالج معين.
تتعلق العديد من ميزات SGML بتقليل الترميز. وتتعلق ميزات أخرى بالترميز المتزامن (المتوازي) (CONCUR)، وربط سمات المعالجة (LINK)، وتضمين مستندات SGML داخل مستندات SGML (SUBDOC).
لم تكن فكرة الميزات القابلة للتخصيص مناسبة لاستخدام الويب، لذا كان أحد أهداف XML هو تقليل الميزات الاختيارية. ومع ذلك، لا تستطيع قواعد XML الجيدة دعم اللغات المشابهة لـ Wiki، مما يجعلها غير موحدة ويصعب دمجها مع أنظمة المعلومات غير النصية.
الصيغ النحوية الملموسة والمجردة
يشبه بناء الجملة SGML الملموس المعتاد (الافتراضي) هذا المثال، وهو بناء الجملة الملموس الافتراضي لـ HTML :
<QUOTE TYPE= "example" > عادةً ما يكون مثل <ITALICS> هذا </ITALICS> </QUOTE>
توفر لغة SGML بناء جملة تجريديًا يمكن تنفيذه في العديد من الأنواع المختلفة من بناء الجملة الملموس . على الرغم من أن معيار الترميز يستخدم أقواس الزاوية كفاصلات لعلامات البداية والنهاية في مستند SGML (وفقًا لبناء الجملة الملموس المرجعي المحدد بالمعيار )، فمن الممكن استخدام أحرف أخرى - بشرط تحديد بناء جملة ملموس مناسب في إعلان SGML الخاص بالمستند. [8] على سبيل المثال، قد يتم برمجة مُفسِّر SGML لتحليل GML، حيث يتم فصل العلامات بعلامة النقطتين اليسرى والنقطة اليمنى ، وتشير البادئة إلى علامة النهاية: . وفقًا لبناء الجملة المرجعي، لا يتم التمييز بين حالة الأحرف (الأحرف الكبيرة أو الصغيرة) في أسماء العلامات، وبالتالي فإن العلامات الثلاث و و و متكافئة. (قد يغير بناء الجملة الملموس هذه القاعدة عبر إعلانات NAMECASE NAMING.)
:e:xmp.Hello, world:exmp.<quote><QUOTE><quOtE>
تقليل العلامات
تحتوي لغة SGML على ميزات لتقليل عدد الأحرف المطلوبة لوضع علامات على مستند، والتي يجب تمكينها في إعلان SGML. لا تحتاج معالجات SGML إلى دعم كل ميزة متاحة، مما يسمح للتطبيقات بالتسامح مع العديد من أنواع إغفالات العلامات غير المقصودة؛ ومع ذلك، فإن أنظمة SGML عادة لا تتسامح مع الهياكل غير الصالحة. لا تتسامح لغة XML مع إغفالات بناء الجملة، ولا تتطلب DTD للتحقق من صحة الصياغة.
حذف
يمكن حذف كل من علامات البداية وعلامات النهاية من مثيل المستند، بشرط:
- تم تمكين ميزة OMITTAG في إعلان SGML،
- يشير DTD إلى أنه يُسمح بحذف العلامات،
- (بالنسبة لعلامات البداية) لا يحتوي العنصر على
#REQUIREDسمات مطلوبة ( )، و - يمكن استنتاج العلامة بشكل لا لبس فيه من السياق.
على سبيل المثال، إذا تم تحديد OMITTAG YES في إعلان SGML (تمكين ميزة OMITTAG)، ويتضمن DTD الإعلانات التالية:
<!ELEMENT chapter - - ( title , section +) >
<!ELEMENT title o o ( #PCDATA ) >
<!ELEMENT section - - ( title , subsection +) >
ثم هذا المقتطف:
<الفصل> مقدمة إلى SGML
<القسم> إعلان
SGML <القسم الفرعي >
...
الذي يحذف <title>علامتين وعلامتين </title>، سيمثل ترميزًا صالحًا.
إن حذف العلامات اختياري - يمكن وضع علامة على نفس المقتطف على هذا النحو:
<chapter> <title> مقدمة إلى SGML </title>
<section><title> إعلان SGML </title> <subsection>
...
وسوف يظل يمثل علامة صالحة.
ملاحظة: لا ترتبط ميزة OMITTAG بوضع علامات على العناصر التي يكون محتواها المعلن EMPTYكما هو محدد في DTD:
<!ELEMENT صورة - o فارغة >
لا تحتوي العناصر المحددة على هذا النحو على علامة نهاية، وتحديد علامة نهاية في مثيل المستند من شأنه أن يؤدي إلى ترميز غير صالح. وهذا يختلف من الناحية النحوية عن عناصر XML الفارغة في هذا الصدد.
مختصر
يمكن استبدال العلامات بسلاسل فاصلة، للحصول على ترميز أكثر إيجازًا، عبر ميزة SHORTREF. يرتبط أسلوب الترميز هذا الآن بترميز wiki ، على سبيل المثال، حيث تكون علامتا المساواة (==) في بداية السطر "علامة بداية العنوان"، وعلامتا المساواة (==) بعد ذلك "علامة نهاية العنوان".
علامة مختصرة
لا تتطلب لغات ترميز SGML التي يمكّن تركيبها النحوي المحدد ميزة SHORTTAG VALUE، أن تكون قيم السمات التي تحتوي فقط على أحرف أبجدية رقمية محاطة بعلامات اقتباس - إما مزدوجة " "(LIT) أو مفردة ' '(LITA) - بحيث يمكن كتابة مثال الترميز السابق:
<QUOTE TYPE= مثال > عادةً ما يكون شيئًا مثل <ITALICS> هذا < / />
</QUOTE>
إحدى ميزات لغات ترميز SGML هي "الوسوم الفارغة المفترضة"، بحيث ترث علامة النهاية الفارغة </>في <ITALICS>this</>"قيمتها" من أقرب علامة بداية كاملة سابقة، والتي في هذا المثال هي <ITALICS>(بعبارة أخرى، تغلق العنصر الذي تم فتحه مؤخرًا). وبالتالي فإن التعبير يعادل <ITALICS>this</ITALICS>.
شبكة
هناك ميزة أخرى وهي بناء NET (علامة النهاية الفارغة): <ITALICS/this/، وهو مكافئ هيكليًا لـ <ITALICS>this</ITALICS>.
مميزات اخرى
بالإضافة إلى ذلك، تسمح ميزة SHORTTAG NETENABL IMMEDNET باختصار العلامات المحيطة بقيمة نصية فارغة، ولكنها تمنع اختصار العلامات الكاملة:
<اقتباس></اقتباس>
يمكن كتابتها على النحو التالي
<اقتباس//
حيث تشير الشرطة المائلة الأولى ( / ) إلى "إغلاق علامة البدء" التي تمكن NET (NESTC)، وتشير الشرطة المائلة الثانية إلى NET. ملاحظة: يحدد XML NESTC بعلامة / ، وNET بعلامة > (قوس زاوية) - وبالتالي يظهر البناء المقابل في XML على هيئة <QUOTE/> .
الميزة الثالثة هي "النص على نفس السطر"، مما يسمح بإنهاء عنصر الترميز بنهاية السطر؛ وهي مفيدة بشكل خاص للعناوين وما شابه ذلك، والتي تتطلب استخدام الحد الأدنى من SHORTREF أو DATATAG. على سبيل المثال، إذا كان DTD يتضمن الإعلانات التالية:
<!ELEMENT lines ( line *) >
<!ELEMENT line O - ( #PCDATA ) >
<!ENTITY line-tagc "</line>" >
<!SHORTREF one-line "&#RE;&#RS; " line-tagc >
<!USEMAP one-line line >
(و"&#RE;&#RS;" هو فاصل مرجعي قصير في بناء الجملة الملموس)، إذن:
<lines> السطر
الأول السطر
الثاني
يعادل:
<lines>
<line> السطر الأول </line>
<line> السطر الثاني </line>
</lines>
التوصيف الرسمي
تحتوي لغة SGML على العديد من الميزات التي تحدت الوصف الملائم لنظرية الأتمتة الرسمية الشائعة وتقنية المحلل المعاصرة في الثمانينيات والتسعينيات. يحذر المعيار في الملحق H:
تم تصميم تدوين مجموعة نموذج SGML عمدًا ليشبه تدوين التعبيرات المنتظمة لنظرية الأتمتة ، لأن نظرية الأتمتة توفر أساسًا نظريًا لبعض جوانب مفهوم التوافق مع نموذج المحتوى. لا ينبغي افتراض إمكانية التطبيق العام للأتمتة على نماذج المحتوى.
تقرير عن تنفيذ مبكر لمحلل لـ SGML الأساسي، محلل Amsterdam SGML، [9] يلاحظ
يجب أن تتوافق قواعد DTD في SGML مع مفهوم عدم الغموض الذي يشبه إلى حد كبير شروط LL(1)
ويحدد الاختلافات المختلفة.
يبدو أنه لا يوجد تصنيف نهائي للغة SGML الكاملة مقابل فئة معروفة من القواعد النحوية الرسمية . قد تتضمن الفئات المعقولة القواعد النحوية المجاورة للشجرة والقواعد النحوية التكيفية .
يُوصَف XML بأنه قابل للتحليل بشكل عام مثل قواعد نحوية ذات مستويين لـ XML غير المعتمد وخط أنابيب على غرار Conway من الروتينات الفرعية ( المحلل المعجمي والمحلل والمحقق ) لـ XML صالح. [10] تم الإبلاغ عن إنتاجات SGML في معيار ISO على أنها LL (3) أو LL (4). [11] تم الإبلاغ عن مجموعات فرعية من فئة XML على أنها قابلة للتعبير باستخدام قواعد نحوية W. [ 12] وفقًا لإحدى الأوراق البحثية، [13] وربما يتم النظر إليها على مستوى مجموعة المعلومات أو شجرة التحليل بدلاً من مستوى الحرف أو الفاصل:
تشكل فئة المستندات التي تتوافق مع قواعد مستندات SGML المعينة لغة LL(1). ... ومع ذلك، فإن قواعد مستندات SGML بحد ذاتها ليست قواعد LL(1).
لا يحدد معيار SGML لغة SGML بهياكل بيانات رسمية، مثل أشجار التحليل ؛ ومع ذلك، يتم إنشاء مستند SGML من رسم بياني موجه غير دوري (RDAG) لوحدات التخزين المادية المعروفة باسم " الكيانات "، والتي يتم تحليلها إلى رسم بياني موجه غير دوري من الوحدات الهيكلية المعروفة باسم "العناصر". يتميز الرسم البياني المادي بشكل فضفاض بأنه شجرة كيان ، ولكن الكيانات قد تظهر عدة مرات. علاوة على ذلك، يتميز الرسم البياني الهيكلي أيضًا بشكل فضفاض بأنه شجرة عناصر ، ولكن علامة ID/IDREF تسمح بأقواس عشوائية.
يمكن فهم نتائج التحليل أيضًا على أنها شجرة بيانات في تدوينات مختلفة؛ حيث تكون الوثيقة هي العقدة الجذرية، والكيانات في تدوينات أخرى (نصوص، رسومات) هي عقد فرعية. توفر SGML جهازًا للربط بالكيانات الخارجية غير SGML والتعليق عليها.
يصف معيار SGML ذلك من حيث الخرائط وأوضاع التعرف (s9.6.1). يمكن أن يكون لكل كيان، وكل عنصر، تدوين مرتبط أو نوع محتوى معلن ، والذي يحدد أنواع المراجع والعلامات التي سيتم التعرف عليها في هذا الكيان والعنصر. أيضًا، يمكن أن يكون لكل عنصر خريطة فاصلة مرتبطة (وخريطة مرجعية قصيرة )، والتي تحدد الأحرف التي يتم التعامل معها كفاصلات في السياق. يصف معيار SGML التحليل بأنه آلة حالة تقوم بالتبديل بين أوضاع التعرف. أثناء التحليل، توجد مجموعة من الخرائط التي تقوم بتكوين الماسح الضوئي ، بينما يرتبط المُميز بأوضاع التعرف.
يتضمن التحليل اجتياز مخطط الكيان المسترجع ديناميكيًا، والعثور على العلامات وبنية العنصر/الإشارة إليها، والتحقق من صحة هذه العلامات مقابل القواعد النحوية. أحد الجوانب غير المعتادة في SGML هو أن القواعد النحوية (DTD) تُستخدم بشكل سلبي - للتعرف على الهياكل المعجمية، وبنشاط - لتوليد الهياكل والعلامات المفقودة التي أعلن DTD أنها اختيارية. يمكن حذف علامات النهاية والبداية، لأنه يمكن استنتاجها. بشكل فضفاض، لا يمكن حذف سلسلة من العلامات إلا إذا كان هناك مسار واحد ممكن في القواعد النحوية للإشارة إليها. كان هذا الاستخدام النشط للقواعد النحوية هو الذي جعل تحليل SGML الملموس صعبًا للتوصيف الرسمي.
تستخدم لغة SGML مصطلح التحقق من الصحة لكل من التعرف والتوليد. لا تستخدم لغة XML قواعد اللغة (DTD) لتغيير خرائط الفواصل أو لإعلام أوضاع التحليل، ولا تسمح بحذف العلامات ؛ وبالتالي، فإن التحقق من صحة XML للعناصر ليس نشطًا بالمعنى الذي تكون عليه عملية التحقق من صحة SGML. تعتبر لغة SGML بدون DTD (مثل XML البسيط) قواعد لغة أو لغة؛ وتعتبر لغة SGML مع DTD لغة ميتافيزيقية . ربما تكون لغة SGML مع إعلان SGML لغة ميتافيزيقية، لأنها لغة ميتافيزيقية آلية إعلانها هي لغة ميتافيزيقية.
تحتوي لغة SGML على بناء جملة مجرد يتم تنفيذه من خلال العديد من بناء الجملة الملموسة المحتملة؛ ومع ذلك، فإن هذا ليس هو نفس الاستخدام كما هو الحال في شجرة بناء الجملة المجردة وكما هو الحال في شجرة بناء الجملة الملموسة . في استخدام لغة SGML، يكون بناء الجملة الملموس عبارة عن مجموعة من الفواصل المحددة، بينما يكون بناء الجملة المجرد عبارة عن مجموعة من الأسماء للفواصل. تتوافق مجموعة معلومات XML بشكل أكبر مع مفهوم لغة البرمجة لبناء الجملة المجرد الذي قدمه جون مكارثي .
المشتقات
إكس إم إل
XML (لغة ترميز قابلة للتوسيع) W3C هو ملف تعريف (مجموعة فرعية) من SGML مصمم لتسهيل تنفيذ المحلل مقارنة بمحلل SGML الكامل، في المقام الأول للاستخدام على شبكة الويب العالمية. بالإضافة إلى تعطيل العديد من خيارات SGML الموجودة في بناء الجملة المرجعية (مثل حذف العلامات والمستندات الفرعية المتداخلة)، يضيف XML عددًا من القيود الإضافية على أنواع بناء جملة SGML. على سبيل المثال، على الرغم من تمكين أشكال العلامات المختصرة SGML، لا يسمح XML بعلامات البداية أو النهاية غير المغلقة. كما اعتمد على العديد من الإضافات التي أدخلها ملحق WebSGML. يتم استخدام XML حاليًا على نطاق أوسع من SGML الكامل. XML لديه تدويل خفيف الوزن يعتمد على Unicode . تتضمن تطبيقات XML XHTML و XQuery و XSLT و XForms و XPointer و JSP و SVG و RSS و Atom و XML-RPC و RDF/XML و SOAP .
لغة ترميز النص الفائق
بينما تم تطوير HTML (لغة ترميز النص التشعبي) بشكل مستقل جزئيًا وبالتوازي مع SGML، كان منشئها، تيم بيرنرز لي ، يقصد أن تكون تطبيقًا لـ SGML. [ بحاجة لمصدر ] لذلك، استوحى تصميم HTML من علامات SGML، ولكن نظرًا لعدم وجود إرشادات واضحة للتوسع والتحليل، فإن معظم مستندات HTML الفعلية ليست مستندات SGML صالحة. في وقت لاحق، تمت إعادة صياغة HTML (الإصدار 2.0) لتكون أكثر من تطبيق SGML؛ ومع ذلك، تحتوي لغة ترميز HTML على العديد من ميزات معالجة الاستثناءات والإرث التي تختلف عن متطلبات SGML. HTML 4 هو تطبيق SGML يتوافق تمامًا مع ISO 8879 - SGML. [14]
تنص ميثاق إحياء مجموعة عمل HTML التابعة لاتحاد شبكة الويب العالمية في عام 2006 على أن "المجموعة لن تفترض استخدام محلل SGML لـ 'HTML الكلاسيكي ' ". [15] وعلى الرغم من أن بناء جملة HTML يشبه عن كثب بناء جملة SGML مع بناء الجملة الملموسة المرجعية الافتراضية ، فإن HTML5 يتخلى عن أي محاولة لتعريف HTML كتطبيق SGML، ويحدد صراحة قواعد التحليل الخاصة به، [16] والتي تتوافق بشكل أوثق مع التنفيذات والمستندات الموجودة. ومع ذلك، فإنه يحدد تسلسل XHTML بديل ، والذي يتوافق مع XML وبالتالي مع SGML أيضًا. [17]
قاموس أوكسفورد الإنجليزي

تم وضع علامات على الإصدار الثاني من قاموس أكسفورد الإنجليزي (OED) بالكامل باستخدام لغة ترميز تعتمد على SGML باستخدام محرر النصوص LEXX . [18]
تم وضع علامة على الإصدار الثالث كـ XML.
آحرون
ترتبط لغات ترميز المستندات الأخرى جزئيًا بلغات SGML وXML، ولكن نظرًا لأنه لا يمكن تحليلها أو التحقق من صحتها أو معالجتها بطريقة أخرى باستخدام أدوات SGML وXML القياسية، فإنها لا تعتبر لغات SGML أو XML؛ وتعد لغة ترميز تنسيق Z المستخدمة في الطباعة والتوثيق مثالاً على ذلك.
تدعم العديد من لغات البرمجة الحديثة العلامات كأنواع رمزية بدائية، أو تدعم الآن مطابقة أنماط Unicode والتعابير العادية . ومن الأمثلة على ذلك لغة البرمجة Scala .
التطبيقات
تُسمى لغات ترميز المستندات المحددة باستخدام SGML "تطبيقات" وفقًا للمعيار؛ وكانت العديد من تطبيقات SGML السابقة لـ XML مملوكة للمنظمات التي طورتها، وبالتالي لم تكن متاحة على شبكة الويب العالمية. القائمة التالية هي لتطبيقات SGML السابقة لـ XML.
- مبادرة ترميز النص (TEI) عبارة عن اتحاد أكاديمي يقوم بتصميم وصيانة وتطوير المعايير الفنية لتطبيقات التمثيل النصي بتنسيق رقمي.
- DocBook هي لغة ترميز تم إنشاؤها في الأصل كتطبيق SGML، وهي مصممة لتأليف الوثائق الفنية؛ DocBook هو حاليًا تطبيق XML.
- CALS (الاستحواذ المستمر ودعم دورة الحياة) هي مبادرة لوزارة الدفاع الأمريكية (DoD) لالتقاط الوثائق العسكرية إلكترونيًا وربط البيانات والمعلومات ذات الصلة.
- يقوم HyTime بتعريف مجموعة من أنواع العناصر الموجهة للنص التشعبي والتي تسمح لمؤلفي مستندات SGML ببناء عروض تقديمية للنص التشعبي والوسائط المتعددة.
- يؤثر نظام EDGAR (جمع البيانات إلكترونيًا وتحليلها واسترجاعها) على التجميع الآلي والتحقق والفهرسة والقبول وإعادة توجيه الإرساليات من قبل الشركات وغيرها من الجهات الملزمة قانونًا بتقديم نماذج البيانات والمعلومات إلى لجنة الأوراق المالية والبورصة الأمريكية (SEC).
- LinuxDoc . لقد استخدمت وثائق حزم Linux نظام LinuxDoc SGML DTD ونظام Docbook XML DTD.
- AAP DTD هو تعريف نوع مستند للمستندات العلمية ، تم تعريفه من قبل جمعية الناشرين الأمريكيين .
- ISO 12083 ، وهو خليفة لـ AAP DTP، هو معيار SGML دولي لتبادل المستندات بين المؤلفين والناشرين.
- كان SGMLguid تعريفًا مبكرًا لنوع مستند SGML تم إنشاؤه وتطويره واستخدامه في CERN .
تنفيذات مفتوحة المصدر
تتضمن التنفيذات المفتوحة المصدر الهامة لـ SGML ما يلي:
- ASP-SGML
- ARC-SGML، بواسطة مستخدمي لغة الترميز العامة القياسية، 1991، لغة C
- SGMLS، بقلم جيمس كلارك، 1993، لغة سي
- مشروع YAO، معهد يوانزي للتكنولوجيا، تايوان، مع تشارلز جولدفارب، 1994.
- SP وJade بواسطة جيمس كلارك، لغة C++
يتم صيانة SP وJade، معالجات DSSSL المرتبطة، بواسطة مشروع OpenJade، وهما جزءان شائعان من توزيعات Linux. يوجد أرشيف عام لبرامج ومواد SGML في SUNET. فئة محلل HTML الأصلية، في تنفيذ Sun System لـ Java، هي محلل SGML محدود الميزات، يستخدم مصطلحات ومفاهيم SGML.
انظر أيضا
- منظمة النهوض بمعايير المعلومات المنظمة (OASIS)
- التعبير S
- DSSSL – لغة معالجة تعتمد على Scheme مشابهة لـ XSL
- مطاط
- قائمة لغات الترميز للأغراض العامة
- كيان SGML
- حذف العلامة
مراجع
- ^ ab ISO (5 مارس 2008). "JTC 1/SC 34 – لغات وصف المستندات ومعالجتها". ISO . تم الاسترجاع في 2009-12-25 .
- ^ ISO JTC1/SC34. "JTC 1/SC 34 – لغات وصف المستندات ومعالجتها" . تم الاسترجاع في 2009-12-25 .
{{cite web}}:CS1 maint: أسماء رقمية: قائمة المؤلفين ( الرابط ) - ^ ISO/IEC 10744 – هاي تايم
- ^ "ISO/IEC TR 9573" (PDF) . ISO . 1991 . تم الاسترجاع 5 ديسمبر 2017 .
- ^ Goldfarb, Charles F. (1996). "The Roots of SGML – A Personal Recollection". مؤرشف من الأصل في 20 ديسمبر 2012. تم الاسترجاع في 7 يوليو 2007 .
- ^ جولدفارب، تشارلز ف. (1990). دليل SGML. دار نشر كلارندون. رقم ISBN 9780198537373.
- ^ "مصطلحات وتعاريف مسودة ISO 8879".
- ^ Wohler, Wayne (21 يوليو 1998). "SGML Advertisings" . تم الاسترجاع في 17 أغسطس 2009 .
- ^ Egmond (ديسمبر 1989). "تنفيذ محلل أمستردام SGML" (PDF) .
- ^ كارول، جيريمي جيه. (26 نوفمبر 2001). "تحليل RDF وXML" (PDF) . هيوليت باكارد . تم الاسترجاع في 9 أكتوبر 2009 .
- ^ "SGML: إنتاجات القواعد النحوية".
- ^ "رد: مشاكل أخرى في المسافات البيضاء كان رد: قواعد المسافات البيضاء (الإصدار 2)".
- ^ Bruggemann-Klein. "أدوات وتقنيات بناء المترجم لمحللات SGML: الصعوبات والحلول".
- ^ "التوافق مع HTML 4–4: المتطلبات والتوصيات" . تم الاسترجاع في 2009-12-30 .
- ^ ليلي، كريس ؛ بيرنرز لي، تيم (6 فبراير 2009). "ميثاق مجموعة عمل HTML" . تم استرجاعه في 19 أبريل 2007 .
- ^ "HTML5 — تحليل مستندات HTML". اتحاد شبكة الويب العالمية . 28 أكتوبر 2014. تم الاسترجاع في 29 يونيو 2015 .
- ^ Dubost, Karl (15 يناير 2008). "HTML 5, one vocabulary, two serializations". مدونة الأسئلة والأجوبة . W3C . تم الاسترجاع في 25 فبراير 2009 .
- ^ Cowlishaw, MF (1987). "LEXX—A programmable structured editor". مجلة IBM للبحث والتطوير . 31 (1). IBM : 73. doi :10.1147/rd.311.0073.
روابط خارجية
- نظرة عامة على موارد SGML على موقع W3C.
- مقدمة وأمثلة على توثيق البرامج في SGML
- سجلات لجنة SC34، معهد تشارلز باباج - مجموعة حول تطوير SGML والمعايير الأخرى المؤثرة في تطوير أدوات XML الحالية؛ تتضمن الوثائق المسودات المبكرة للمواد الإدارية SGML، والوثائق، وأوراق مجموعات العمل، والمعايير الخاصة بلغات الكمبيوتر.
- ملخص بناء جملة SGML بقلم تشارلز جولدفارب
- وثيقة SGML التي تقدم لك تعريفًا بلغة SGML؛ بعض الأسباب التي تجعل SGML مهمة
- إعلان SGML، في شرح SGML وHTML، مارتن برايان (1997) (عنوان URL الأصلي معطل في http://www.is-thought.co.uk/book/sgml-4.htm#Fig4-2)
- إعلانات SGML واين وولر، شركة IBM، 1994.
- ISO 9069:1988 – معالجة المعلومات – مرافق دعم SGML – تنسيق تبادل المستندات SGML (SDIF)
- ISO/IEC 9070:1991 – تكنولوجيا المعلومات – مرافق دعم SGML – إجراءات التسجيل لمعرفات مالك النص العام
