משתמש:Elhanan.sh/SGML

מתוך ויקיפדיה, האנציקלופדיה החופשית

שפת הסימון הכללית הסטנדרטית (Standard Generalized Markup Language ראשי תיבות: SGML;‏ ISO 8879: 1986) היא תקן להגדרת שפות סימון כלליות למסמכים. נספח A.1 בתקן ISO 8879 מגדיר באופם כללי סימון כמבוסס על שני מיקומים:

  • הסימון צריך להיות הצהרתי : עליו לתאר את מבנה המסמך ותכונות אחרות, מבלי לציין מה העיבוד שיש לבצע. ההצהרה אינה צריכה להתנגש עם עיבודים עתידיים.
  • הסימון צריך להיות קפדני על מנת שיהיה ניתן להשתמש בטכניקות קיימות לעיבוד אובייקטים כדוגמת תוכניות או מסדי נתונים.

התקנים הראשונים של שפת HTML יכולים לשמש כדוגמה לשפה מבוססת SGML. לעומת זאת דפדפנים לא יכולים לנתח את שפת HTML 5 כ-SGML מסיבות תאימות.

DocBook SGML ו-LinuxDoc הם דוגמאות שעשו בפועל שימוש באופן בלעדי עם כלים SGML.

גרסאות סטנדרטיות[עריכת קוד מקור | עריכה]

SGML הוא תקן של ISO הנקרא: ISO 8879:1986 Information processing – Text and office systems – Standard Generalized Markup Language (SGML)", הקיים בשלוש גרסאות:

  • גרסת סטנדרט SGML המקורית שהתקבלה באוקטובר 1986 שאחריו התקבלו תיקונים מינוריים.
  • סטנדרט SGML בגרסת (ENR) שהתקבל בשנת 1996, נבע מתיקון טכני שהוסיף כללי שמות מורחבים שאפשרו סימון שפה שרירותית וסימון לתסריטים.
  • סטנדרט SGML בגרסת (ENR + WWW או WebSGML), שהתקבל בשנת 1998, נועד על מנת לספק תמיכה טובה יותר ב-XML ו-WWW.

SGML הוא חלק משלישיית סטנדרטים למסמכים אלקטרוניים של ISO שפותחו על ידי ISO / IEC JTC1 / SC34[1][2] (ISO/IEC Joint Technical Committee 1, Subcommittee 34 – Document description and processing languages) :

  • שפת SGML סטנדרט (ISO 8879) —שפת סימון הכללית
    • SGML עובד מחדש בשנת 1998 ל-XML. כיום, בפרויקטים חדשים, נעשה שימוש מועט ב-SGML.
  • שפת DSSSL סטנדרט (ISO / IEC 10179) — שפת עיבוד ועיצוב של מסמכים.
    • שפת DSSSL עובדה ועוצבה מחדש על ידי W3C ומוכרת היום כשפות XSLT ו-XSL-FO המשמשות בתחביר XML. כיום נעשה שימוש מועט בשפת DSSSL בפרויקטים חדשים.
  • HyTime -היפר-טקסט ותזמון כללי. [3]
    • HyTime עיבד חלקית ל-W3C XLink . גם ב-HyTime נעשה שימוש נדיר בפרויקטים חדשים.

היסטוריה[עריכת קוד מקור | עריכה]

סטנדרט SGML נולד משפת הסימול הכללית של IBM שנקראה (GML), אותה פיתחו צ'ארלס גולדפרב (אנ'), אדוארד מושר (Edward Mosher), וריימונד לורי (Raymond Lorie) בשנות השישים. גולדפרב, שערך את התקן הבינלאומי, טבע את המונח "GML" כראשי התיבות של שמות משפחתם של היוצרים[4] . גולדפרב הגדיר את תחביר SGML בספר "מדריך SGML"[5] . תחביר SGML קרוב יותר לפורמט COCOA כשפת סימון מסמכים. שפת SGML פותח על מנת לאפשר שיתוף של מסמכים גדולים הניתנים לקריאה במכונה בממשל, משפט ותעשייה. הרציונל היה לייצר סטנדרט שיאפשר להשאיר את המסמכים קריאים במשך כמה דורות -זמן רב בתחום טכנולוגיות המידע . SGML אומץ בהרחבה גם על ידי צבאות, ותעשיות התעופה והחלל ושימש כסטנדרט גם בתעשייה. פיתוחה של שפת XML צמצמה את השימוש ב-SGML ל.

קטע ממילון אוקספורד באנגלית (1985), המציג סימון SGML

תוקף המסמך[עריכת קוד מקור | עריכה]

שפת SGML בסטנדרט (ENR + WWW) מגדירה שני סוגים של תקיפות. בהתאם לתנאים ולהגדרות של ISO 8879 (מהטיוטה הציבורית [6] ): A conforming SGML document must be either a type-valid SGML document, a tag-valid SGML document, or both. Note: A user may wish to enforce additional constraints on a document, such as whether a document instance is integrally-stored or free of entity references. מסמך SGML "'בתוקף"' מוגדר על ידי התקן כ

An SGML document in which, for each document instance, there is an associated document type declaration (DTD) to whose DTD that instance conforms. מסמך SGML "'תקף לתג"' מוגדר על ידי התקן כ

An SGML document, all of whose document instances are fully tagged. There need not be a document type declaration associated with any of the instances. Note: If there is a document type declaration, the instance can be parsed with or without reference to it.

מינוחים[עריכת קוד מקור | עריכה]

הרעיון של תקפות תגים הונהג בשפת SGML בסטנדרט (ENR + WWW) על מנת לתמוך במסמכי XML ללא הצהרת DOCTYPE. התקן קורא לזה "מתויג לחלוטין". "אחסון אינטגרלי משקף את דרישת ה-XML כי אלמנטים מסתיימים באותה ישות בה התחילו. "ללא הפניה" משקף את דרישת ה-HTML כי הפניות לישות מיועדות לתווים מיוחדים ואינם מכילים סימון. פרשנות תוקף SGML, במיוחד פרשנות שהושגה לפני 1997 או שאינה מודעת ל-SGML (ENR + WWW), מכסה "תוקף סוג" בלבד.

הדגש של SGML על תוקף תומך בדרישה לסימון כללי כי הסימון צריך להיות קפדני (ISO 8879 A.1).

מסמך SGML עשוי לכלול שלושה חלקים:

  1. הצהרת SGML
  2. הפרולוג, המכיל הצהרת DOCTYPE עם הצהרות "הסימון" השונות שביחד מהוות הגדרת סוג מסמך (DTD)
  3. המופע עצמו, המכיל אלמנט אחד עליון ביותר ותכניו.

מסמך SGML עשוי להיות מורכב מהרבה גורמים (חתיכות דיסקרטיות של טקסט). ב-SGML ניתן לציין את הישויות וסוגי האלמנטים המשמשים במסמך באמצעות DTD, ערכות התווים השונות, התכונות, קבוצות התוחמים ומילות המפתח צוינו בהצהרת SGML ליצירת "התחביר הקונקרטי" של המסמך.

למרות ש-SGML מלא מאפשר סימון מרומז וכמה סוגים אחרים של תגים, מפרט ה-XML (s4.3.1) קובע:

Each XML document has both a logical and a physical structure. Physically, the document is composed of units called entities. An entity may refer to other entities to cause their inclusion in the document. A document begins in a "root" or document entity. Logically, the document is composed of declarations, elements, comments, character references, and processing instructions, all of which are indicated in the document by explicit markup.

למידע מבוא על תחביר בסיסי 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">
 typically something like <ITALICS>this</ITALICS>
</QUOTE>

SGML מספק "תחביר מופשט הניתן" ליישום בסוגים רבים ושונים של "תחביר קונקרטי" . אף על פי שנורמת הסימון משתמשת בסוגריים של זווית כתחום תגיות התחלה וסיום במסמך SGML (לפי "תחביר הבטון" המוגדר כסטנדרט), ניתן להשתמש בתווים אחרים -בתנאי שתחביר "בטון" מתאים מוגדר ב-SGML של המסמך. הצהרה .[7] לדוגמה, מתורגמן SGML עשוי להיות מתוכנת לניתוח GML, בו התגים מתוחמים במעי הגס השמאלי ובתחנה ימנית מלאה, וכך, קידומת ": e" מציינת תג סיום :xmp. Hello, world:exmp. . על פי תחביר ההתייחסות, אותיות קטנות (עליונות או תחתונות) אינן נבדלות בשמות התגים, ולכן שלושת התגים: (i) < quote >, (ii) < QUOTE > ו-(iii) < quOtE > הם שווה ערך. ( "הערה:" תחביר קונקרטי עשוי "לשנות" כלל זה באמצעות הצהרות NAMECASE NAMING).

מזעור סימון[עריכת קוד מקור | עריכה]

ל-SGML יש תכונות להפחתת מספר התווים הנדרשים לסימון מסמך, אותם יש לאפשר בהצהרת SGML. מעבדי SGML אינם צריכים לתמוך בכל תכונה זמינה, ובכך מאפשרים ליישומים לסבול סוגים רבים של השמטות סימון שלא בכוונה; עם זאת, מערכות SGML בדרך כלל אינן סובלניות למבנים לא תקפים. XML אינו סובל מהשמטות התחביר ואינו דורש DTD לבדיקת היציבות.

OMITTAG[עריכת קוד מקור | עריכה]

ניתן להשמיט שני תגי התחלה ותגי סיום ממופע מסמך, בתנאי:

  1. התכונה OMITTAG מופעלת בהצהרת SGML
  2. ה-DTD מציין שמותר להשמיט את התגים
  3. (עבור תגי התחלה) לאלמנט אין תכונות נדרשות ( #REQUIRED ) #REQUIRED
  4. ניתן להסיק את התג באופן חד משמעי לפי הקשר.

לדוגמה, אם OMITTAG YES מוגדר בהצהרת SGML (מה שמאפשר את התכונה OMITTAG), וה-DTD כולל את ההצהרות הבאות:

<!ELEMENT chapter --(title, section+)>

<!ELEMENT title o o (#PCDATA)>

<!ELEMENT section --(title, subsection+)>

ואז הקטע הזה:

<chapter>Introduction to SGML
<section>The SGML Declaration
<subsection>
...

אשר משמיט שתי תגיות <title> ושני תגיות </title>, ייצגו סימון חוקי. שים לב גם כי השמטת תגים היא לא חובה   -ניתן לתייג את אותו קטע כך:

<chapter><title>Introduction to SGML</title>
<section><title>The SGML Declaration</title>
<subsection>
...

ועדיין ייצג סימון תקף. הערה: התכונה OMITTAG אינה קשורה לתיוג של אלמנטים שתוכנם המוצהר הוא EMPTY כהגדרתה ב-DTD:

<!ELEMENT image -o EMPTY>

לאלמנטים המוגדרים כאלו אין תג סיום, וציון אחד במופע המסמך יביא לסימון לא חוקי. זה שונה מבחינה תחבירית מאלמנטים ריקים מ-XML בהקשר זה.

SHORTREF[עריכת קוד מקור | עריכה]

ניתן להחליף תגיות במחרוזות תוחם, לסימון terser, באמצעות הפונקציה SHORTREF. סגנון סימון זה משויך כעת לסימון Wiki, למשל בו שני סימנים שווים-סימנים (==), בתחילת קו, הם "תגית התחל כותרת", ושני סימנים שווים (==) אחריהם הם " תג סיום כותרת ”.

SHORTTAG[עריכת קוד מקור | עריכה]

שפות סימון SGML אשר התחביר הקונקרטי שלהן מאפשרת את התכונה VALUTAG VALUE, אינן דורשות ערכי תכונות המכילים רק תווים אלפא-נומריים כדי להיות סגורים בתוך מירכאות -או כפול " " (LIT) או יחיד ' ' (LITA) -כך שדוגמת הסימון הקודמת יכולה ייכתב:

<QUOTE TYPE=example>
 typically something like <ITALICS>this</>
</QUOTE>

תכונה אחת בשפות סימון SGML היא "תיוג ריק יומרני", כך שתג הסיום הריק < / > ב < ITALICS > this < / > "יורש" את ערכו מתג ההתחלה המלא הקודם הקרוב, אשר בדוגמה זו, הוא < ITALICS > (במילים אחרות, הוא סוגר את הפריט האחרון שנפתח). הביטוי שווה אפוא ל < ITALICS > this < /ITALICS > .

NET[עריכת קוד מקור | עריכה]

מאפיין נוסף הוא מבנה ה-"NET" (Null End Tag): < ITALICS/this/, אשר שווה מבחינה מבנית ל < ITALICS > this < /ITALICS > .

תכונות אחרות[עריכת קוד מקור | עריכה]

בנוסף, התכונה SHORTTAG NETENABL IMMEDNET מאפשרת קיצור תגים המקיפים ערך טקסט ריק, אך אוסר על קיצור התגיות המלאות:

<QUOTE></QUOTE>

ניתן לכתוב כ

<QUOTE// <!--not a typo! -->

שבו הסלאש הראשון (/) מייצג את ה-NET המאפשר "הפעלת תג התחלה" (NESTC), והסלב השני מהווה את ה-NET. "'הערה:"' XML המגדיר NESTC עם "'/,"' ו NET "'עם>"' (סוגר זוויתי) -hence המקביל לבנות ב-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>
first line
second line
</lines>

שווה ל:

<lines>
<line>first line</line>
<line>second line</line>
</lines>

אפיון פורמלי[עריכת קוד מקור | עריכה]

ל-SGML תכונות רבות שהתרסו בתיאור נוח באמצעות תורת האוטומטים הפורמלית הפופולרית וטכנולוגיית המנתח העכשווי של שנות השמונים ושנות התשעים. התקן מזהיר בנספח ח:

The SGML model group notation was deliberately designed to resemble the regular expression notation of automata theory, because automata theory provides a theoretical foundation for some aspects of the notion of conformance to a content model. No assumption should be made about the general applicability of automata to content models.

A report on an early implementation of a parser for basic SGML, the Amsterdam SGML Parser,[8] notes

the DTD-grammar in SGML must conform to a notion of unambiguity which closely resembles the LL(1) conditions

ומפרט הבדלים שונים.

נראה כי אין סיווג מוחלט של SGML מלא כנגד סוג ידוע של דקדוק רשמי. שיעורים מתקבלים על הדעת יכולים לכלול דקדוקים צמודים לעץ ודקדוקי הסתגלות .

XML מתואר כניתוק בדרך כלל כמו דקדוק דו-מפלסי עבור XML שאינו מאומת וקו צינור בסגנון Conway של קורוטין ( lexer, parser, validator) עבור XML תקף.[9] הפקות SGML בתקן ISO מדווחות כ-LL (3) או LL (4).[10] על פי הדיווחים, קבוצות המשנה של XML הן בעלות ביטוי באמצעות דקדוק W.[11] על פי מסמך אחד,[12] ונחשבים ככל הנראה במערכת מידע או ברמת עץ לנתח ולא ברמת תו או תוחם:

The class of documents that conform to a given SGML document grammar forms an LL(1) language. … The SGML document grammars by themselves are, however, not LL(1) grammars.

תקן SGML אינו מגדיר SGML עם מבני נתונים רשמיים, כגון עצים לנתח, לעומת זאת, מסמך SGML בנוי של גרף אציקליות מושרש מכוון (RDAG) של יחידות אחסון פיזיות המכונות " ישויות ", אשר מנותח לתוך RDAG של יחידות מבניות המכונות "אלמנטים". הגרף הפיזי מאופיין באופן רופף כעץ ישויות, אך ישויות עשויות להופיע פעמים רבות. יתר על כן, גרף המבנה מאופיין באופן רופף כעץ אלמנט, אך סימון ה-ID / IDREF מאפשר קשתות שרירותיות.

ניתן להבין את תוצאות הניתוח כעץ נתונים ברישומים שונים; כאשר המסמך הוא צומת השורש, וישויות ברישומים אחרים (טקסט, גרפיקה) הם צמתים לילד. SGML מספק מכשירים לקישור ולהערת ישויות חיצוניות שאינן SGML.

תקן SGML מתאר אותו במונחים של מפות ומצבי זיהוי (s9.6.1). לכל ישות וכל רכיב יכולים להיות סימון משויך או סוג תוכן מוכרז, הקובע את סוגי הפניות והתגיות שיוכרו באותה ישות ואלמנט. כמו כן, לכל אחד מהאלמנטים יכולה להיות מפת תוחם משויכת ( ומפת ייחוס קצרה ), הקובעת אילו תווים מתייחסים כאל תוחמים בהקשר. תקן SGML מאפיין את הניתוח כמכונת מצב העוברת בין מצבי זיהוי. במהלך הניתוח, יש ערימה של מפות המגדירות את הסורק, בעוד שה-tokenizer מתייחס למצבי הזיהוי.

ניתוח זה כולל חציית גרף הישות המאוחזר באופן דינמי, מציאת / רמיזה של תגים ומבנה האלמנטים ואימות תגים אלה כנגד הדקדוק. היבט יוצא דופן של SGML הוא שהדקדוק (DTD) משמש בשניהם באופן פסיבי   -להכיר מבנים לקסיקליים, ובאופן פעיל   -לייצר מבנים ותגים חסרים ש-DTD הצהיר כאופציונלי. ניתן להשמיט תגי סיום והתחלה מכיוון שניתן להסיק מהם. באופן רופף, ניתן להשמיט סדרה של תגים רק אם יש נתיב אפשרי בדקדוק לרמוז עליהם. זה היה השימוש האקטיבי הזה בדקדוקים שהקשה על איפיון פורמלי של ניתוח SGML בטון.

SGML משתמש במונח אימות הן להכרה והן לדור. XML אינו משתמש בדקדוק (DTD) כדי לשנות מפות תוחם או כדי ליידע את מצבי הניתוח, ואינו מאפשר השמטת תגיות ; כתוצאה מכך, אימות XML של אלמנטים אינו פעיל במובן זה שתוקף SGML פעיל. SGML ללא DTD (למשל XML פשוט), הוא דקדוק או שפה; SGML עם DTD הוא שפה מתכתית . SGML עם הצהרת SGML הוא, אולי, שפה מטא-מטאלית, מכיוון שמדובר בשפה מתכתית שמנגנון ההכרזה שלה הוא שפה מטאלית.

ל-SGML תחביר מופשט המיושם על ידי תחבירים בטון אפשריים רבים, עם זאת, אין זה אותו שימוש כמו בעץ תחביר מופשט וכמו בעץ תחביר קונקרטי. בשימוש ב-SGML, תחביר קונקרטי הוא קבוצה של תוחמים ספציפיים, ואילו התחביר המופשט הוא קבוצת השמות עבור התוחמים. ה-XML Infoset מתאים יותר לתפיסת שפת התכנות של התחביר המופשט שהוצג על ידי ג'ון מקארתי .

נגזרים[עריכת קוד מקור | עריכה]

XML[עריכת קוד מקור | עריכה]

W3C XML (Extensible Markup Language) הוא פרופיל (קבוצת משנה) של SGML שנועד להקל על יישום הניתוח בהשוואה לנתח SGML מלא, בעיקר לשימוש באינטרנט. בנוסף לביטול אפשרויות SGML רבות הקיימות בתחביר הייחוס (כגון השמטת תגים ותת-מסמכי קינון) XML מוסיף מספר מגבלות נוספות לסוגי תחביר SGML. לדוגמה, למרות הפעלת טפסי תג מקוצרים של SGML, XML אינו מאפשר תגיות התחלה או סיום לא סגורות. היא הסתמכה גם על רבות מהתוספות שנעשו על ידי הנספח WebSGML. XML נמצא כיום בשימוש נרחב יותר מאשר SGML מלא. ל-XML בינלאומי קל משקל מבוסס על יוניקוד. היישומים של XML כוללים XHTML, XQuery, XSLT, XForms, XPointer, JSP, SVG, RSS, Atom, XML-RPC, RDF / XML ו-SOAP .

HTML[עריכת קוד מקור | עריכה]

בעוד HTML פותח באופן עצמאי חלקית ובמקביל ל-SGML, יוצרו, טים ברנרס-לי, התכוון להיות יישום של SGML. העיצוב של HTML (שפת סימון היפרטקסט) קבל השראה ולכן על ידי תיוג SGML, אבל, מאז אין הנחיות הרחבת ניתוח ברורות הוקמו, רוב מסמכי HTML בפועל אינם מסמכי SGML תקפים. מאוחר יותר, פורמט HTML מחדש (גרסה 2.0) כך שיהיה יותר יישום SGML, עם זאת, לשפת הסימון HTML יש הרבה תכונות לטיפול במורשת וחריגה השונות מדרישות SGML. HTML 4 הוא יישום SGML התואם לחלוטין את ISO 8879   -SGML.[13]

על פי אמנת החידוש של קבוצת העבודה ב-World Wide Web Consortium HTML בשנת 2006, "הקבוצה לא תניח כי מנתח SGML משמש ל'HTML קלאסי '."[14] למרות שתחביר HTML דומה מקרוב לתחביר של SGML עם תחביר הבטון המוגדר כברירת מחדל, HTML5 זונח כל ניסיון להגדיר HTML כיישום SGML, תוך הגדרה מפורשת של כללי הניתוח שלו[15] התואמים יותר ליישומים ומסמכים קיימים. עם זאת, היא מגדירה סידרה XHTML חלופית, שתואמת ל-XML ולכן גם ל-SGML.[16]

OED[עריכת קוד מקור | עריכה]

המהדורה השנייה של מילון אוקספורד האנגלי (OED) מסומנת כולה בשפת סימון מבוססת SGML באמצעות LEXX (עורך טקסטים)[17]

המהדורה השלישית מסומנת כ-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 . תיעוד עבור חבילות לינוקס השתמש ב-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, שפת C
  • פרויקט YAO, מאת Yuan-ze Institute of Technology, טייוואן עם צ'ארלס גולדפרב, 1994, אובייקט
  • SP מאת ג'יימס קלארק, שפת C ++

SP ו-Jade, מעבדי DSSSL המשויכים, מתוחזקים על ידי פרויקט OpenJade, והם חלקים נפוצים בהפצות לינוקס. ארכיון כללי של תוכנות וחומרים SGML שוכן ב-SUNET . מנתח ה-HTML המקורי, בהטמעת Java של Sun System, הוא מנתח SGML בעל תכונות מוגבלות, תוך שימוש במינוחים ומושגים של SGML.

ראו גם[עריכת קוד מקור | עריכה]

  • SGML פתוח
  • S-ביטוי
  • DSSSL   -שפת עיבוד מבוססת-סכמה הדומה ל-XSL
  • LaTeX
  • רשימת שפות סימון למטרות כלליות
  • שפת סימון
  • ישות SGML
  • HyTime
  • השמטת תגיות
  • XML

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא Elhanan.sh/SGML בוויקישיתוף

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ ISO. "JTC 1/SC 34 – Document description and processing languages". ISO. נבדק ב-2009-12-25.
  2. ^ ISO JTC1/SC34. "JTC 1/SC 34 – Document Description and Processing Languages". נבדק ב-2009-12-25.
  3. ^ ISO/IEC 10744 – Hytime
  4. ^ Goldfarb, Charles F. (1996). "The Roots of SGML – A Personal Recollection". נבדק ב-7 ביולי 2007. {{cite web}}: (עזרה)
  5. ^ Goldfarb, Charles F. (1990). "The SGML Handbook".
  6. ^ Terms and Definitions of ISO 8879 draft
  7. ^ Wohler, Wayne (21 ביולי 1998). "SGML Declarations". נבדק ב-17 באוגוסט 2009. {{cite web}}: (עזרה)
  8. ^ Egmond (בדצמבר 1989). "The Implementation of the Amsterdam SGML Parser" (PDF). {{cite web}}: (עזרה)
  9. ^ Carroll, Jeremy J. (26 בנובמבר 2001). "CoParsing of RDF & XML" (PDF). Hewlett-Packard. נבדק ב-9 באוקטובר 2009. {{cite web}}: (עזרה)
  10. ^ "SGML: Grammar Productions".
  11. ^ "Re: Other whitespace problems was Re: Whitespace rules (v2)".
  12. ^ Bruggemann-Klein. "Compiler-Construction Tools and Techniques for SGML parsers: Difficulties and Solutions".
  13. ^ "HTML 4–4 Conformance: requirements and recommendations". נבדק ב-2009-12-30.
  14. ^ Lilley, Chris; Berners-Lee, Tim (6 בפברואר 2009). "HTML Working Group Charter". נבדק ב-19 באפריל 2007. {{cite web}}: (עזרה)
  15. ^ "HTML5 — Parsing HTML documents". World Wide Web Consortium. 28 באוקטובר 2014. נבדק ב-29 ביוני 2015. {{cite web}}: (עזרה)
  16. ^ Dubost, Karl (15 בינואר 2008). "HTML 5, one vocabulary, two serializations". Questions & Answers blog. W3C. נבדק ב-25 בפברואר 2009. {{cite web}}: (עזרה)
  17. ^ Cowlishaw, M. F. (1987). "LEXX—A programmable structured editor". IBM Journal of Research and Development. IBM. 31 (1): 73. doi:10.1147/rd.311.0073.

[[קטגוריה:שפות סימון]] [[קטגוריה:תקני ISO]] [[קטגוריה:דפים עם תרגומים שלא נסקרו]]