sgml standard generalized markup language. sgml2 challenges n electronic delivery n interchange n...
Post on 19-Dec-2015
218 views
TRANSCRIPT
SGMLSGML
Standard Generalized Standard Generalized Markup LanguageMarkup Language
SGML 2
ChallengesChallenges
Electronic deliveryElectronic delivery InterchangeInterchange MaintainabilityMaintainability Cycle time reductionCycle time reduction CustomizationCustomization
SGML 3
MarkupMarkup
MarkupMarkup– Writing instructions on a physical Writing instructions on a physical
page to the typesetter regarding how page to the typesetter regarding how the various parts of the document the various parts of the document should be typesetshould be typeset
Generalized markupGeneralized markup– Separate document markup from any Separate document markup from any
specific use of the documentspecific use of the document
SGML 4
SGMLSGML
Formalized methodology for Formalized methodology for developing and using document developing and using document markup that supports the markup that supports the separation of form from content separation of form from content and from specific processing and from specific processing dependenciesdependencies
SGML 5
Why were databases Why were databases invented?invented?
Physical and logical data Physical and logical data independenceindependence
Data became a resource to be Data became a resource to be sharedshared
Data should outlive the processes Data should outlive the processes which use itwhich use it
SGML 6
Conventional PublishingConventional Publishing
Didn’t exploit new technologyDidn’t exploit new technology– Proprietary data formatsProprietary data formats– Same document to be used by many Same document to be used by many
different browsersdifferent browsers Merging document content from Merging document content from
multiple sourcesmultiple sources Didn’t reuse or share document Didn’t reuse or share document
contentcontent
SGML 7
Document StructuresDocument Structures
Document typesDocument types– ElementsElements– Database typesDatabase types– Makes possible very powerful Makes possible very powerful
information manipulationinformation manipulation
SGML 8
Document StructuresDocument Structures
NewsletterNewsletter– BannerBanner
NameName VolumeVolume EditionEdition DateDate PublisherPublisher Editorial boardEditorial board MastheadMasthead
SGML 9
Document StructuresDocument Structures
NewsletterNewsletter– Newsletter bodyNewsletter body
ContentsContents Article +Article +
– TitleTitle– AuthorAuthor– Article bodyArticle body
Section +Section +– Sidebar +Sidebar +
Sidebar headingSidebar heading Sidebar bodySidebar body
SGML 10
Document StructuresDocument Structures
CookbookCookbook– Front matterFront matter
Publisher dataPublisher data– TitleTitle– AuthorAuthor– ISBNISBN– Publishing historyPublishing history
ForewordForeword AcknowledgmentsAcknowledgments Table of contentsTable of contents
SGML 11
Document StructuresDocument Structures
CookbookCookbook– BodyBody
General informationGeneral information– Section +Section +
Recipe category +Recipe category +– Recipe subcategory +Recipe subcategory +
Recipe +Recipe +
SGML 12
Document StructuresDocument Structures
CookbookCookbook– Back matterBack matter
Appendix +Appendix +– Section +Section +
GlossaryGlossary– Term, definition +Term, definition +
IndexIndex
SGML 13
Document StructuresDocument Structures
RecipeRecipe– NameName– DescriptionDescription– IntroductionIntroduction
SGML 14
Document StructuresDocument Structures
RecipeRecipe– IngredientsIngredients
Ingredient +Ingredient +– QuantityQuantity– UnitUnit
ProcedureProcedure– Step +Step +
PortionsPortions Nutrition dataNutrition data
SGML 15
Common ElementsCommon Elements
HeadingsHeadings TablesTables Enumerated listsEnumerated lists
SGML 16
QueriesQueries
Locate all recipes having chicken Locate all recipes having chicken as an ingredientas an ingredient
SGML 17
EntitiesEntities
Independently stored portions of a Independently stored portions of a document which can be document which can be independently manipulated and independently manipulated and used by nameused by name
SGML 18
Attributes of ElementsAttributes of Elements
IDID– Unique identifierUnique identifier
IDREFIDREF– ID referenceID reference
SGML 19
RulesRules
Options to be associated with table Options to be associated with table of contents for a given document of contents for a given document typetype– Actual data of table of contents Actual data of table of contents
generated during processing time and generated during processing time and not supplied by author in source not supplied by author in source documentdocument
SGML 20
Table-of-ContentsTable-of-Contents
Case 1 - Document must have Case 1 - Document must have table of contents and it must be in table of contents and it must be in a fixed position in formatted a fixed position in formatted documentdocument– Not necessary to identify this element Not necessary to identify this element
or to specify rule for itor to specify rule for it The processing program produces it and The processing program produces it and
places it correctlyplaces it correctly
SGML 21
Table-of-ContentsTable-of-Contents
Case 2 - Table of contents is optional, Case 2 - Table of contents is optional, but if it occurs, it must be in a but if it occurs, it must be in a particular placeparticular place– All that is necessary is an indication of All that is necessary is an indication of
whether or not table of contents is to be whether or not table of contents is to be includedincluded Can be done as an attribute of another Can be done as an attribute of another
element, say the front matterelement, say the front matter Can be done by specifying an optional Can be done by specifying an optional
element in a fixed positionelement in a fixed position
SGML 22
Table-of-ContentsTable-of-Contents
Case 3 - Document must have table of Case 3 - Document must have table of contents, but it can be located in one of contents, but it can be located in one of several placesseveral places– Can define element type with no structure, Can define element type with no structure,
as its content is supplied by processing as its content is supplied by processing program, and have rules which specify that program, and have rules which specify that it must occur in one of several placesit must occur in one of several places
– Can specify as an attribute of another Can specify as an attribute of another entity and allow it to have a range of entity and allow it to have a range of values that tell where it is locatedvalues that tell where it is located
SGML 23
Table-of-ContentsTable-of-Contents
Case 4 - Table of contents is Case 4 - Table of contents is optional, as well as where it is optional, as well as where it is placedplaced– Element type defined that can occur Element type defined that can occur
in multiple placesin multiple places
SGML 24
Parts of an SGML Parts of an SGML documentdocument
SGML declarationSGML declaration– Means by which it is made known which Means by which it is made known which
options a document is going to useoptions a document is going to use– Usually a single declaration is used for all Usually a single declaration is used for all
documents under a particular systemdocuments under a particular system PrologProlog
– Usually a single document type Usually a single document type declaration (DTD)declaration (DTD)
– Contains rules to which any document of Contains rules to which any document of a given type must conforma given type must conform
SGML 25
Parts of an SGML Parts of an SGML documentdocument
Document instanceDocument instance– The document itself, marked up The document itself, marked up
following the SGML usage following the SGML usage conventions specified in the SGML conventions specified in the SGML declaration and the document type declaration and the document type definition specified in the DTDdefinition specified in the DTD
SGML 26
Newsletter DTDNewsletter DTD11 <!DOCTYPE<!DOCTYPE newsletternewsletter [[
……22 <!ELEMENT<!ELEMENT newsletternewsletter (admin-sect, body) (admin-sect, body)
33 <!ATTLIST<!ATTLIST newsletternewsletter newslnamenewslname CDATA CDATA #REQUIRED#REQUIRED
volumevolume NUMBERNUMBER #REQUIRED#REQUIRED
editionedition NUMBERNUMBER #REQUIRED#REQUIRED
datedate CDATACDATA #REQUIRED>#REQUIRED>
44 <!ELEMENT<!ELEMENT admin-sectadmin-sect (masthead, ed-board)> (masthead, ed-board)>
55 <!ELEMENT<!ELEMENT mastheadmasthead (%text;)> (%text;)>
66 <!ELEMENT<!ELEMENT ed-boarded-board (%text;)> (%text;)>
77 <!ELEMENT<!ELEMENT bodybody (article+)> (article+)>
88 <!ELEMENT<!ELEMENT articlearticle (title, author?, article-body, sidebar+)> (title, author?, article-body, sidebar+)>
99 <!ELEMENT<!ELEMENT titletitle (#PCDATA)> (#PCDATA)>
SGML 27
Newsletter DTDNewsletter DTD
1010 <!ELEMENT<!ELEMENT authorauthor (#PCDATA)> (#PCDATA)>
1111 <!ELEMENT<!ELEMENT article-bodyarticle-body (section+)> (section+)>
1212 <!ELEMENT<!ELEMENT sectionsection (title?, %text;)> (title?, %text;)>
1313 <!ELEMENT<!ELEMENT sidebarsidebar (title, %text;)> (title, %text;)>
……]>]>
All itemsAll items– Double hyphensDouble hyphens
Start tag and end tag are mandatoryStart tag and end tag are mandatory
SGML 28
Newsletter DTDNewsletter DTD
Item 1Item 1– Start of DTDStart of DTD– Identifies document type as a Identifies document type as a
newsletternewsletter– Skipped items we’ll get to laterSkipped items we’ll get to later
SGML 29
Newsletter DTDNewsletter DTD
Item 2Item 2– Defines highest level element that will Defines highest level element that will
occur in document instanceoccur in document instance– Its generic identifier is “newsletter”Its generic identifier is “newsletter”– Items in parenthesis is the Items in parenthesis is the content content
modelmodel Defines a newsletter as containing only Defines a newsletter as containing only
an administrative section (admin-sect) an administrative section (admin-sect) and a bodyand a body
SGML 30
Newsletter DTDNewsletter DTD
Item 3Item 3– Defines attributes of newsletter element Defines attributes of newsletter element
typetype– Descriptive properties of newsletterDescriptive properties of newsletter– CDATA is character dataCDATA is character data– ConsiderConsider<!ATTLIST<!ATTLISTnewsletter newslname (health | felines | antiques)newsletter newslname (health | felines | antiques)
#REQUIRED>#REQUIRED>
Actual text of name is supplied by processing Actual text of name is supplied by processing programprogram
SGML 31
Newsletter DTDNewsletter DTD
Item 5Item 5– %text%text
Parameter entityParameter entity Refers to another definitionRefers to another definition
Item 7Item 7– ++
Occurrence indicatorOccurrence indicator– Others are *, ?Others are *, ?
SGML 32
Newsletter DTDNewsletter DTD
Item 9Item 9– #PCDATA#PCDATA
Parsed character dataParsed character data String of characters of any lengthString of characters of any length
SGML 33
Recipe DTDRecipe DTD11 <!DOCTYPE<!DOCTYPE cookbookcookbook [[……22 <!ELEMENT<!ELEMENT cookbookcookbook (front-matter, body, back- (front-matter, body, back-
matter)>matter)>33 <!ELEMENT<!ELEMENT front-matterfront-matter (publish-data, (foreword & (publish-data, (foreword &
dedication dedication & acknowledg), & acknowledg), toc)>toc)>
44 <!ELEMENT<!ELEMENT publish-datapublish-data (title, subtitle?, author+, isbn, (title, subtitle?, author+, isbn, publ-publ- history, copyright-yr)>history, copyright-yr)>
55 <!ELEMENT<!ELEMENT titletitle (#PCDATA)> (#PCDATA)>66 <!ELEMENT<!ELEMENT subtitlesubtitle (#PCDATA)> (#PCDATA)>77 <!ELEMENT<!ELEMENT authorauthor (#PCDATA)> (#PCDATA)>88 <!ELEMENT<!ELEMENT isbnisbn (#PCDATA)> (#PCDATA)>99 <!ELEMENT<!ELEMENT publ-historypubl-history (#PCDATA)> (#PCDATA)>1010 <!ELEMENT<!ELEMENT copyright-yrcopyright-yr (#PCDATA)> (#PCDATA)>
SGML 34
Recipe DTDRecipe DTD1111 <!ELEMENT<!ELEMENT forewordforeword (title, %text;)> (title, %text;)>1212 <!ELEMENT<!ELEMENT dedicationdedication (#PCDATA)> (#PCDATA)>1313 <!ELEMENT<!ELEMENT acknowledgacknowledg (title, %text;)> (title, %text;)>1414 <!ELEMENT<!ELEMENT toctoc O EMPTYO EMPTY1515 <!ELEMENT<!ELEMENT bodybody (gen-info, recipe-cat+)> (gen-info, recipe-cat+)>1616 <!ELEMENT<!ELEMENT gen-infogen-info (section+)> (section+)>1717 <!ELEMENT<!ELEMENT sectionsection (title, %text;?, section*)> (title, %text;?, section*)>1818 <!ELEMENT<!ELEMENT recipe-catrecipe-cat (section?, (recipe-subcat+ | (section?, (recipe-subcat+ |
megarecipe+))>megarecipe+))>1919 <!ELEMENT<!ELEMENT recipe-subcatrecipe-subcat (section?, megarecipe+)> (section?, megarecipe+)>2020 <!ELEMENT<!ELEMENT megrecipemegrecipe (title, recipe-intro, recipe+, (title, recipe-intro, recipe+,
wrapup?)>wrapup?)>2121 <!ATTLIST<!ATTLIST megrecipemegrecipe servingsservings NUMBER #IMPLIEDNUMBER #IMPLIED
nutritionnutrition NMTOKENNMTOKEN #IMPLIED#IMPLIEDpreptimepreptime CDATACDATA #IMPLIED>#IMPLIED>
SGML 35
Recipe DTDRecipe DTD
2222 <!ELEMENT<!ELEMENT recipe-introrecipe-intro (%text;)> (%text;)>
2323 <!ELEMENT<!ELEMENT reciperecipe (title?, recipe-intro?, ingredients, (title?, recipe-intro?, ingredients, procedure, wrapup?)>procedure, wrapup?)>
2424 <!ELEMENT<!ELEMENT ingredientsingredients (ingredient+)> (ingredient+)>
2525 <!ELEMENT<!ELEMENT ingredientingredient (#PCDATA)> (#PCDATA)>
2626 <!ATTLIST<!ATTLIST ingredientingredient metricunit CDATAmetricunit CDATA#IMPLIED#IMPLIED
metricquanmetricquan NUMBER #IMPLIED>NUMBER #IMPLIED>
2727 <!ELEMENT<!ELEMENT procedureprocedure (step+)> (step+)>
2828 <!ELEMENT<!ELEMENT stepstep (%text;)> (%text;)>
2929 <!ELEMENT<!ELEMENT wrapupwrapup (%text;)> (%text;)>
]>]>
SGML 36
Recipe DTDRecipe DTD
Item 3Item 3– &&
ConnectorConnector– Others are | and ,Others are | and ,
Any orderAny order
Item 14Item 14– OO
Can omit particular tag, in this case an Can omit particular tag, in this case an end tagend tag
SGML 37
Recipe DTDRecipe DTD
Item 17Item 17– RecursionRecursion
Item 22Item 22– NMTOKENNMTOKEN
Name tokenName token Processing program should find valueProcessing program should find value
– #IMPLIED#IMPLIED Value doesn’t have to be givenValue doesn’t have to be given Processing program chooses a defaultProcessing program chooses a default
SGML 38
Document InstanceDocument Instance
elementelement
<name <name attname="attvalue">content</name>attname="attvalue">content</name>
start-tagstart-tag content content end-end-tagtag
SGML 39
Document InstanceDocument Instance
<newsletter newslname=felines volume=3 edition=6 date="18 <newsletter newslname=felines volume=3 edition=6 date="18 December 1995">December 1995">
<admin-sect><admin-sect>
<masthead><masthead>
<para>Published by the Aco Company, …<para>Published by the Aco Company, …
</para></para>
</masthead></masthead>
<ed-board><ed-board>
<para>W.I. Grosky, …<para>W.I. Grosky, …
</para></ed-board></masthead></para></ed-board></masthead>
SGML 40
Document InstanceDocument Instance
<body><body>
<article><article>
<title>What I did on my Summer Vacation</title><title>What I did on my Summer Vacation</title>
<author>John Smith</author><author>John Smith</author>
<article-body><article-body>
<section><section>
<para>I like the seashore…</para><para>I like the seashore…</para>
<para>I like the mountains even better… </para></section><para>I like the mountains even better… </para></section>
SGML 41
Document InstanceDocument Instance
<section><section>
<title>Where I will go Next Year</title><title>Where I will go Next Year</title>
<para>Europe is always nice in the <para>Europe is always nice in the summer…</para></section></article-body>summer…</para></section></article-body>
<sidebar><sidebar>
<title>Skiing in the Alps</title><title>Skiing in the Alps</title>
<para>Oops…</para></sidebar></article><para>Oops…</para></sidebar></article>
<article>…</article></body></newsletter><article>…</article></body></newsletter>
SGML 42
SGML DeclarationSGML Declaration
How a document uses SGMLHow a document uses SGML– Character setCharacter set– Concrete syntaxConcrete syntax
DelimitersDelimiters Name characters and lengthsName characters and lengths
– Optional featuresOptional features
SGML 43
SGML SystemSGML System
programprogramoutputoutput
SGMLSGMLparserparser
entityentitymanagermanager
SGMLSGMLdeclarationdeclaration
documentdocumentinstanceinstance
processingprocessingprogramprogram
entry/editentry/editcompositioncomposition
etc.etc.
SGML 44
ParserParser
Read SGML declaration and establish Read SGML declaration and establish rules for interpreting the rest of the rules for interpreting the rest of the document and applying SGML document and applying SGML featuresfeatures
Read DOCTYPE declaration, verifying Read DOCTYPE declaration, verifying that it follows rules for declaring that it follows rules for declaring DTD's, and determine rules for DTD's, and determine rules for interpreting document instanceinterpreting document instance
SGML 45
ParserParser
Read document instance and Read document instance and validate that it follows rules of DTDvalidate that it follows rules of DTD
Resolve entity referencesResolve entity references
SGML 46
The Web and HypermediaThe Web and Hypermedia
HTMLHTML– Hypertext Markup LanguageHypertext Markup Language– DTD of SGMLDTD of SGML
HyTimeHyTime– Hypermedia/Time-based Structuring Hypermedia/Time-based Structuring
LanguageLanguage– DTD of SGMLDTD of SGML
SGML 47
Part of HTML DTDPart of HTML DTD
<!--<!--================Images=================================Images=======================-->======-->
<!ELEMENT<!ELEMENT IMGIMG - O- O EMPTY>EMPTY>
<!ATTLIST<!ATTLIST IMGIMG SRCSRC CDATACDATA #REQUIRED#REQUIRED
ALTALT CDATACDATA #IMPLIED#IMPLIED
ALIGN (top | middle | bottom) #IMPLIEDALIGN (top | middle | bottom) #IMPLIED
ISMAPISMAP (ISMAP)(ISMAP) #IMPLIED>#IMPLIED>
<!- -<!- - <IMG><IMG> Image; icon, glyph or illustrationImage; icon, glyph or illustration - ->- ->
<!- -<!- - <IMG SRC="…"><IMG SRC="…"> Address of image object - ->Address of image object - ->
<!- -<!- - <IMG ALT="…"><IMG ALT="…"> Textual alternative - ->Textual alternative - ->
<!- -<!- - <IMG ALIGN="…"><IMG ALIGN="…"> Position relative to text - ->Position relative to text - ->
<!- -<!- - <IMG ISMAP><IMG ISMAP> Each pixel can be a link - ->Each pixel can be a link - ->