dbpool.rnc 139 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084
  1. # This file was generated automatically by Trang. The table model
  2. # dependent definitions have been moved into separate files.
  3. # ......................................................................
  4. # DocBook XML information pool module V4.2 .............................
  5. # File dbpoolx.mod .....................................................
  6. # Copyright 1992-2002 HaL Computer Systems, Inc.,
  7. # O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
  8. # Corporation, Norman Walsh, Sun Microsystems, Inc., and the
  9. # Organization for the Advancement of Structured Information
  10. # Standards (OASIS).
  11. #
  12. # $Id: dbpool.rnc,v 1.4 2003/08/30 07:48:31 jjc Exp $
  13. #
  14. # Permission to use, copy, modify and distribute the DocBook XML DTD
  15. # and its accompanying documentation for any purpose and without fee
  16. # is hereby granted in perpetuity, provided that the above copyright
  17. # notice and this paragraph appear in all copies. The copyright
  18. # holders make no representation about the suitability of the DTD for
  19. # any purpose. It is provided "as is" without expressed or implied
  20. # warranty.
  21. #
  22. # If you modify the DocBook XML DTD in any way, except for declaring and
  23. # referencing additional sets of general entities and declaring
  24. # additional notations, label your DTD as a variant of DocBook. See
  25. # the maintenance documentation for more information.
  26. #
  27. # Please direct all questions, bug reports, or suggestions for
  28. # changes to the docbook@lists.oasis-open.org mailing list. For more
  29. # information, see http://www.oasis-open.org/docbook/.
  30. # ......................................................................
  31. # This module contains the definitions for the objects, inline
  32. # elements, and so on that are available to be used as the main
  33. # content of DocBook documents. Some elements are useful for general
  34. # publishing, and others are useful specifically for computer
  35. # documentation.
  36. #
  37. # This module has the following dependencies on other modules:
  38. #
  39. # o It assumes that a %notation.class; entity is defined by the
  40. # driver file or other high-level module. This entity is
  41. # referenced in the NOTATION attributes for the graphic-related and
  42. # ModeSpec elements.
  43. #
  44. # o It assumes that an appropriately parameterized table module is
  45. # available for use with the table-related elements.
  46. #
  47. # In DTD driver files referring to this module, please use an entity
  48. # declaration that uses the public identifier shown below:
  49. #
  50. # <!ENTITY % dbpool PUBLIC
  51. # "-//OASIS//ELEMENTS DocBook XML Information Pool V4.2//EN"
  52. # "dbpoolx.mod">
  53. # %dbpool;
  54. #
  55. # See the documentation for detailed information on the parameter
  56. # entity and module scheme used in DocBook, customizing DocBook and
  57. # planning for interchange, and changes made since the last release
  58. # of DocBook.
  59. # ......................................................................
  60. # General-purpose semantics entities ...................................
  61. namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
  62. yesorno.attvals = string
  63. # ......................................................................
  64. # Entities for module inclusions .......................................
  65. # ......................................................................
  66. # Entities for element classes and mixtures ............................
  67. # "Ubiquitous" classes: ndxterm.class and beginpage
  68. local.ndxterm.class = notAllowed
  69. ndxterm.class = indexterm | local.ndxterm.class
  70. # Object-level classes .................................................
  71. local.list.class = notAllowed
  72. list.class =
  73. calloutlist
  74. | glosslist
  75. | itemizedlist
  76. | orderedlist
  77. | segmentedlist
  78. | simplelist
  79. | variablelist
  80. | local.list.class
  81. local.admon.class = notAllowed
  82. admon.class =
  83. caution | important | note | tip | warning | local.admon.class
  84. local.linespecific.class = notAllowed
  85. linespecific.class =
  86. literallayout
  87. | programlisting
  88. | programlistingco
  89. | screen
  90. | screenco
  91. | screenshot
  92. | local.linespecific.class
  93. local.method.synop.class = notAllowed
  94. method.synop.class =
  95. constructorsynopsis
  96. | destructorsynopsis
  97. | methodsynopsis
  98. | local.method.synop.class
  99. local.synop.class = notAllowed
  100. synop.class =
  101. synopsis
  102. | cmdsynopsis
  103. | funcsynopsis
  104. | classsynopsis
  105. | fieldsynopsis
  106. | method.synop.class
  107. | local.synop.class
  108. local.para.class = notAllowed
  109. para.class = formalpara | para | simpara | local.para.class
  110. local.informal.class = notAllowed
  111. informal.class =
  112. address
  113. | blockquote
  114. | graphic
  115. | graphicco
  116. | mediaobject
  117. | mediaobjectco
  118. | informalequation
  119. | informalexample
  120. | informalfigure
  121. | informaltable
  122. | local.informal.class
  123. local.formal.class = notAllowed
  124. formal.class = equation | example | figure | table | local.formal.class
  125. # The DocBook TC may produce an official EBNF module for DocBook.
  126. # This PE provides the hook by which it can be inserted into the DTD.
  127. ebnf.block.hook = notAllowed
  128. local.compound.class = notAllowed
  129. compound.class =
  130. msgset
  131. | procedure
  132. | sidebar
  133. | qandaset
  134. | ebnf.block.hook
  135. | local.compound.class
  136. local.genobj.class = notAllowed
  137. genobj.class =
  138. anchor | bridgehead | remark | highlights | local.genobj.class
  139. local.descobj.class = notAllowed
  140. descobj.class = abstract | authorblurb | epigraph | local.descobj.class
  141. # Character-level classes ..............................................
  142. local.xref.char.class = notAllowed
  143. xref.char.class = footnoteref | xref | local.xref.char.class
  144. local.gen.char.class = notAllowed
  145. gen.char.class =
  146. abbrev
  147. | acronym
  148. | citation
  149. | citerefentry
  150. | citetitle
  151. | emphasis
  152. | firstterm
  153. | foreignphrase
  154. | glossterm
  155. | footnote
  156. | phrase
  157. | quote
  158. | trademark
  159. | wordasword
  160. | personname
  161. | local.gen.char.class
  162. local.link.char.class = notAllowed
  163. link.char.class = link | olink | ulink | local.link.char.class
  164. # The DocBook TC may produce an official EBNF module for DocBook.
  165. # This PE provides the hook by which it can be inserted into the DTD.
  166. ebnf.inline.hook = notAllowed
  167. local.tech.char.class = notAllowed
  168. tech.char.class =
  169. action
  170. | application
  171. | classname
  172. | methodname
  173. | interfacename
  174. | exceptionname
  175. | ooclass
  176. | oointerface
  177. | ooexception
  178. | command
  179. | computeroutput
  180. | database
  181. | email
  182. | envar
  183. | errorcode
  184. | errorname
  185. | errortype
  186. | errortext
  187. | filename
  188. | function
  189. | guibutton
  190. | guiicon
  191. | guilabel
  192. | guimenu
  193. | guimenuitem
  194. | guisubmenu
  195. | hardware
  196. | interface
  197. | keycap
  198. | keycode
  199. | keycombo
  200. | keysym
  201. | literal
  202. | constant
  203. | markup
  204. | medialabel
  205. | menuchoice
  206. | mousebutton
  207. | option
  208. | optional
  209. | parameter
  210. | prompt
  211. | property
  212. | replaceable
  213. | returnvalue
  214. | sgmltag
  215. | structfield
  216. | structname
  217. | symbol
  218. | systemitem
  219. | \token
  220. | type
  221. | userinput
  222. | varname
  223. | ebnf.inline.hook
  224. | local.tech.char.class
  225. local.base.char.class = notAllowed
  226. base.char.class = anchor | local.base.char.class
  227. local.docinfo.char.class = notAllowed
  228. docinfo.char.class =
  229. author
  230. | authorinitials
  231. | corpauthor
  232. | modespec
  233. | othercredit
  234. | productname
  235. | productnumber
  236. | revhistory
  237. | local.docinfo.char.class
  238. local.other.char.class = notAllowed
  239. other.char.class =
  240. remark | subscript | superscript | local.other.char.class
  241. local.inlineobj.char.class = notAllowed
  242. inlineobj.char.class =
  243. inlinegraphic
  244. | inlinemediaobject
  245. | inlineequation
  246. | local.inlineobj.char.class
  247. # ......................................................................
  248. # Entities for content models ..........................................
  249. formalobject.title.content = title, titleabbrev?
  250. # Redeclaration placeholder ............................................
  251. # For redeclaring entities that are declared after this point while
  252. # retaining their references to the entities that are declared before
  253. # this point
  254. # Object-level mixtures ................................................
  255. # list admn line synp para infm form cmpd gen desc
  256. # Component mixture X X X X X X X X X X
  257. # Sidebar mixture X X X X X X X a X
  258. # Footnote mixture X X X X X
  259. # Example mixture X X X X X
  260. # Highlights mixture X X X
  261. # Paragraph mixture X X X X
  262. # Admonition mixture X X X X X X b c
  263. # Figure mixture X X X
  264. # Table entry mixture X X X X d
  265. # Glossary def mixture X X X X X e
  266. # Legal notice mixture X X X X f
  267. #
  268. # a. Just Procedure; not Sidebar itself or MsgSet.
  269. # b. No MsgSet.
  270. # c. No Highlights.
  271. # d. Just Graphic; no other informal objects.
  272. # e. No Anchor, BridgeHead, or Highlights.
  273. # f. Just BlockQuote; no other informal objects.
  274. local.component.mix = notAllowed
  275. component.mix =
  276. list.class
  277. | admon.class
  278. | linespecific.class
  279. | synop.class
  280. | para.class
  281. | informal.class
  282. | formal.class
  283. | compound.class
  284. | genobj.class
  285. | descobj.class
  286. | ndxterm.class
  287. | beginpage
  288. | local.component.mix
  289. local.sidebar.mix = notAllowed
  290. sidebar.mix =
  291. list.class
  292. | admon.class
  293. | linespecific.class
  294. | synop.class
  295. | para.class
  296. | informal.class
  297. | formal.class
  298. | procedure
  299. | genobj.class
  300. | ndxterm.class
  301. | beginpage
  302. | local.sidebar.mix
  303. local.qandaset.mix = notAllowed
  304. qandaset.mix =
  305. list.class
  306. | admon.class
  307. | linespecific.class
  308. | synop.class
  309. | para.class
  310. | informal.class
  311. | formal.class
  312. | procedure
  313. | genobj.class
  314. | ndxterm.class
  315. | local.qandaset.mix
  316. local.revdescription.mix = notAllowed
  317. revdescription.mix =
  318. list.class
  319. | admon.class
  320. | linespecific.class
  321. | synop.class
  322. | para.class
  323. | informal.class
  324. | formal.class
  325. | procedure
  326. | genobj.class
  327. | ndxterm.class
  328. | local.revdescription.mix
  329. local.footnote.mix = notAllowed
  330. footnote.mix =
  331. list.class
  332. | linespecific.class
  333. | synop.class
  334. | para.class
  335. | informal.class
  336. | local.footnote.mix
  337. local.example.mix = notAllowed
  338. example.mix =
  339. list.class
  340. | linespecific.class
  341. | synop.class
  342. | para.class
  343. | informal.class
  344. | ndxterm.class
  345. | beginpage
  346. | local.example.mix
  347. local.highlights.mix = notAllowed
  348. highlights.mix =
  349. list.class
  350. | admon.class
  351. | para.class
  352. | ndxterm.class
  353. | local.highlights.mix
  354. # %formal.class; is explicitly excluded from many contexts in which
  355. # paragraphs are used
  356. local.para.mix = notAllowed
  357. para.mix =
  358. list.class
  359. | admon.class
  360. | linespecific.class
  361. | informal.class
  362. | formal.class
  363. | local.para.mix
  364. local.admon.mix = notAllowed
  365. admon.mix =
  366. list.class
  367. | linespecific.class
  368. | synop.class
  369. | para.class
  370. | informal.class
  371. | formal.class
  372. | procedure
  373. | sidebar
  374. | anchor
  375. | bridgehead
  376. | remark
  377. | ndxterm.class
  378. | beginpage
  379. | local.admon.mix
  380. local.figure.mix = notAllowed
  381. figure.mix =
  382. linespecific.class
  383. | synop.class
  384. | informal.class
  385. | ndxterm.class
  386. | beginpage
  387. | local.figure.mix
  388. local.tabentry.mix = notAllowed
  389. tabentry.mix =
  390. list.class
  391. | admon.class
  392. | linespecific.class
  393. | para.class
  394. | graphic
  395. | mediaobject
  396. | local.tabentry.mix
  397. local.glossdef.mix = notAllowed
  398. glossdef.mix =
  399. list.class
  400. | linespecific.class
  401. | synop.class
  402. | para.class
  403. | informal.class
  404. | formal.class
  405. | remark
  406. | ndxterm.class
  407. | beginpage
  408. | local.glossdef.mix
  409. local.legalnotice.mix = notAllowed
  410. legalnotice.mix =
  411. list.class
  412. | admon.class
  413. | linespecific.class
  414. | para.class
  415. | blockquote
  416. | ndxterm.class
  417. | beginpage
  418. | local.legalnotice.mix
  419. local.textobject.mix = notAllowed
  420. textobject.mix =
  421. list.class
  422. | admon.class
  423. | linespecific.class
  424. | para.class
  425. | blockquote
  426. | local.textobject.mix
  427. local.mediaobject.mix = notAllowed
  428. mediaobject.mix =
  429. videoobject
  430. | audioobject
  431. | imageobject
  432. | textobject
  433. | local.mediaobject.mix
  434. local.listpreamble.mix = notAllowed
  435. listpreamble.mix =
  436. admon.class
  437. | linespecific.class
  438. | synop.class
  439. | para.class
  440. | informal.class
  441. | genobj.class
  442. | descobj.class
  443. | ndxterm.class
  444. | beginpage
  445. | local.listpreamble.mix
  446. # Character-level mixtures .............................................
  447. # sgml.features
  448. # not [sgml.features[
  449. # ]] not sgml.features
  450. # #PCD xref word link cptr base dnfo othr inob (synop)
  451. # para.char.mix X X X X X X X X X
  452. # title.char.mix X X X X X X X X X
  453. # ndxterm.char.mix X X X X X X X X a
  454. # cptr.char.mix X X X X X a
  455. # smallcptr.char.mix X b a
  456. # word.char.mix X c X X X a
  457. # docinfo.char.mix X d X b X a
  458. #
  459. # a. Just InlineGraphic; no InlineEquation.
  460. # b. Just Replaceable; no other computer terms.
  461. # c. Just Emphasis and Trademark; no other word elements.
  462. # d. Just Acronym, Emphasis, and Trademark; no other word elements.
  463. # The DocBook TC may produce an official forms module for DocBook.
  464. # This PE provides the hook by which it can be inserted into the DTD.
  465. forminlines.hook = notAllowed
  466. local.para.char.mix = notAllowed
  467. para.char.mix =
  468. text
  469. | xref.char.class
  470. | gen.char.class
  471. | link.char.class
  472. | tech.char.class
  473. | base.char.class
  474. | docinfo.char.class
  475. | other.char.class
  476. | inlineobj.char.class
  477. | synop.class
  478. | ndxterm.class
  479. | beginpage
  480. | forminlines.hook
  481. | local.para.char.mix
  482. local.title.char.mix = notAllowed
  483. title.char.mix =
  484. text
  485. | xref.char.class
  486. | gen.char.class
  487. | link.char.class
  488. | tech.char.class
  489. | base.char.class
  490. | docinfo.char.class
  491. | other.char.class
  492. | inlineobj.char.class
  493. | ndxterm.class
  494. | local.title.char.mix
  495. local.ndxterm.char.mix = notAllowed
  496. ndxterm.char.mix =
  497. text
  498. | xref.char.class
  499. | gen.char.class
  500. | link.char.class
  501. | tech.char.class
  502. | base.char.class
  503. | docinfo.char.class
  504. | other.char.class
  505. | inlinegraphic
  506. | inlinemediaobject
  507. | local.ndxterm.char.mix
  508. local.cptr.char.mix = notAllowed
  509. cptr.char.mix =
  510. text
  511. | link.char.class
  512. | tech.char.class
  513. | base.char.class
  514. | other.char.class
  515. | inlinegraphic
  516. | inlinemediaobject
  517. | ndxterm.class
  518. | beginpage
  519. | local.cptr.char.mix
  520. local.smallcptr.char.mix = notAllowed
  521. smallcptr.char.mix =
  522. text
  523. | replaceable
  524. | inlinegraphic
  525. | inlinemediaobject
  526. | ndxterm.class
  527. | beginpage
  528. | local.smallcptr.char.mix
  529. local.word.char.mix = notAllowed
  530. word.char.mix =
  531. text
  532. | acronym
  533. | emphasis
  534. | trademark
  535. | link.char.class
  536. | base.char.class
  537. | other.char.class
  538. | inlinegraphic
  539. | inlinemediaobject
  540. | ndxterm.class
  541. | beginpage
  542. | local.word.char.mix
  543. local.docinfo.char.mix = notAllowed
  544. docinfo.char.mix =
  545. text
  546. | link.char.class
  547. | emphasis
  548. | trademark
  549. | replaceable
  550. | other.char.class
  551. | inlinegraphic
  552. | inlinemediaobject
  553. | ndxterm.class
  554. | local.docinfo.char.mix
  555. # ENTITY % bibliocomponent.mix (see Bibliographic section, below)
  556. # ENTITY % person.ident.mix (see Bibliographic section, below)
  557. # ......................................................................
  558. # Entities for attributes and attribute components .....................
  559. # Effectivity attributes ...............................................
  560. # Arch: Computer or chip architecture to which element applies; no
  561. # default
  562. arch.attrib = attribute arch { text }?
  563. # Condition: General-purpose effectivity attribute
  564. condition.attrib = attribute condition { text }?
  565. # Conformance: Standards conformance characteristics
  566. conformance.attrib = attribute conformance { xsd:NMTOKENS }?
  567. # OS: Operating system to which element applies; no default
  568. os.attrib = attribute os { text }?
  569. # Revision: Editorial revision to which element belongs; no default
  570. revision.attrib = attribute revision { text }?
  571. # Security: Security classification; no default
  572. security.attrib = attribute security { text }?
  573. # UserLevel: Level of user experience to which element applies; no
  574. # default
  575. userlevel.attrib = attribute userlevel { text }?
  576. # Vendor: Computer vendor to which element applies; no default
  577. vendor.attrib = attribute vendor { text }?
  578. local.effectivity.attrib = empty
  579. effectivity.attrib =
  580. arch.attrib,
  581. condition.attrib,
  582. conformance.attrib,
  583. os.attrib,
  584. revision.attrib,
  585. security.attrib,
  586. userlevel.attrib,
  587. vendor.attrib,
  588. local.effectivity.attrib
  589. # Common attributes ....................................................
  590. # Id: Unique identifier of element; no default
  591. id.attrib = attribute id { xsd:ID }?
  592. # Id: Unique identifier of element; a value must be supplied; no
  593. # default
  594. idreq.attrib = attribute id { xsd:ID }
  595. # Lang: Indicator of language in which element is written, for
  596. # translation, character set management, etc.; no default
  597. lang.attrib = attribute lang { text }?
  598. # Remap: Previous role of element before conversion; no default
  599. remap.attrib = attribute remap { text }?
  600. # Role: New role of element in local environment; no default
  601. role.attrib = attribute role { text }?
  602. # XRefLabel: Alternate labeling string for XRef text generation;
  603. # default is usually title or other appropriate label text already
  604. # contained in element
  605. xreflabel.attrib = attribute xreflabel { text }?
  606. # RevisionFlag: Revision status of element; default is that element
  607. # wasn't revised
  608. revisionflag.attrib =
  609. attribute revisionflag { "changed" | "added" | "deleted" | "off" }?
  610. local.common.attrib = empty
  611. # Role is included explicitly on each element
  612. common.attrib =
  613. id.attrib,
  614. lang.attrib,
  615. remap.attrib,
  616. xreflabel.attrib,
  617. revisionflag.attrib,
  618. effectivity.attrib,
  619. local.common.attrib
  620. # Role is included explicitly on each element
  621. idreq.common.attrib =
  622. idreq.attrib,
  623. lang.attrib,
  624. remap.attrib,
  625. xreflabel.attrib,
  626. revisionflag.attrib,
  627. effectivity.attrib,
  628. local.common.attrib
  629. # Semi-common attributes and other attribute entities ..................
  630. local.graphics.attrib = empty
  631. # EntityRef: Name of an external entity containing the content
  632. # of the graphic
  633. # FileRef: Filename, qualified by a pathname if desired,
  634. # designating the file containing the content of the graphic
  635. # Format: Notation of the element content, if any
  636. # SrcCredit: Information about the source of the Graphic
  637. # Width: Same as CALS reprowid (desired width)
  638. # Depth: Same as CALS reprodep (desired depth)
  639. # Align: Same as CALS hplace with 'none' removed; #IMPLIED means
  640. # application-specific
  641. # Scale: Conflation of CALS hscale and vscale
  642. # Scalefit: Same as CALS scalefit
  643. graphics.attrib =
  644. attribute entityref { xsd:ENTITY }?,
  645. attribute fileref { text }?,
  646. attribute format { notation.class }?,
  647. attribute srccredit { text }?,
  648. attribute width { text }?,
  649. attribute contentwidth { text }?,
  650. attribute depth { text }?,
  651. attribute contentdepth { text }?,
  652. attribute align { "left" | "right" | "center" }?,
  653. attribute valign { "top" | "middle" | "bottom" }?,
  654. attribute scale { text }?,
  655. attribute scalefit { yesorno.attvals }?,
  656. local.graphics.attrib
  657. local.keyaction.attrib = empty
  658. # Action: Key combination type; default is unspecified if one
  659. # child element, Simul if there is more than one; if value is
  660. # Other, the OtherAction attribute must have a nonempty value
  661. # OtherAction: User-defined key combination type
  662. keyaction.attrib =
  663. attribute action {
  664. "click" | "double-click" | "press" | "seq" | "simul" | "other"
  665. }?,
  666. attribute otheraction { text }?,
  667. local.keyaction.attrib
  668. # Label: Identifying number or string; default is usually the
  669. # appropriate number or string autogenerated by a formatter
  670. label.attrib = attribute label { text }?
  671. # Format: whether element is assumed to contain significant white
  672. # space
  673. linespecific.attrib =
  674. [ a:defaultValue = "linespecific" ]
  675. attribute format { "linespecific" }?,
  676. attribute linenumbering { "numbered" | "unnumbered" }?
  677. # Linkend: link to related information; no default
  678. linkend.attrib = attribute linkend { xsd:IDREF }?
  679. # Linkend: required link to related information
  680. linkendreq.attrib = attribute linkend { xsd:IDREF }
  681. # Linkends: link to one or more sets of related information; no
  682. # default
  683. linkends.attrib = attribute linkends { xsd:IDREFS }?
  684. local.mark.attrib = empty
  685. mark.attrib =
  686. attribute mark { text }?,
  687. local.mark.attrib
  688. # MoreInfo: whether element's content has an associated RefEntry
  689. moreinfo.attrib =
  690. [ a:defaultValue = "none" ]
  691. attribute moreinfo { "refentry" | "none" }?
  692. # Pagenum: number of page on which element appears; no default
  693. pagenum.attrib = attribute pagenum { text }?
  694. local.status.attrib = empty
  695. # Status: Editorial or publication status of the element
  696. # it applies to, such as "in review" or "approved for distribution"
  697. status.attrib =
  698. attribute status { text }?,
  699. local.status.attrib
  700. # Width: width of the longest line in the element to which it
  701. # pertains, in number of characters
  702. width.attrib = attribute width { text }?
  703. # ......................................................................
  704. # Title elements .......................................................
  705. local.title.attrib = empty
  706. title.role.attrib = role.attrib
  707. title = element title { title.attlist, title.char.mix* }
  708. # end of title.element
  709. title.attlist &=
  710. pagenum.attrib, common.attrib, title.role.attrib, local.title.attrib
  711. # end of title.attlist
  712. # end of title.module
  713. local.titleabbrev.attrib = empty
  714. titleabbrev.role.attrib = role.attrib
  715. titleabbrev =
  716. element titleabbrev { titleabbrev.attlist, title.char.mix* }
  717. # end of titleabbrev.element
  718. titleabbrev.attlist &=
  719. common.attrib, titleabbrev.role.attrib, local.titleabbrev.attrib
  720. # end of titleabbrev.attlist
  721. # end of titleabbrev.module
  722. local.subtitle.attrib = empty
  723. subtitle.role.attrib = role.attrib
  724. subtitle = element subtitle { subtitle.attlist, title.char.mix* }
  725. # end of subtitle.element
  726. subtitle.attlist &=
  727. common.attrib, subtitle.role.attrib, local.subtitle.attrib
  728. # end of subtitle.attlist
  729. # end of subtitle.module
  730. # ......................................................................
  731. # Bibliographic entities and elements ..................................
  732. # The bibliographic elements are typically used in the document
  733. # hierarchy. They do not appear in content models of information
  734. # pool elements. See also the document information elements,
  735. # below.
  736. local.person.ident.mix = notAllowed
  737. person.ident.mix =
  738. honorific
  739. | firstname
  740. | surname
  741. | lineage
  742. | othername
  743. | affiliation
  744. | authorblurb
  745. | contrib
  746. | local.person.ident.mix
  747. local.bibliocomponent.mix = notAllowed
  748. bibliocomponent.mix =
  749. abbrev
  750. | abstract
  751. | address
  752. | artpagenums
  753. | author
  754. | authorgroup
  755. | authorinitials
  756. | bibliomisc
  757. | biblioset
  758. | collab
  759. | confgroup
  760. | contractnum
  761. | contractsponsor
  762. | copyright
  763. | corpauthor
  764. | corpname
  765. | date
  766. | edition
  767. | editor
  768. | invpartnumber
  769. | isbn
  770. | issn
  771. | issuenum
  772. | orgname
  773. | biblioid
  774. | citebiblioid
  775. | bibliosource
  776. | bibliorelation
  777. | bibliocoverage
  778. | othercredit
  779. | pagenums
  780. | printhistory
  781. | productname
  782. | productnumber
  783. | pubdate
  784. | publisher
  785. | publishername
  786. | pubsnumber
  787. | releaseinfo
  788. | revhistory
  789. | seriesvolnums
  790. | subtitle
  791. | title
  792. | titleabbrev
  793. | volumenum
  794. | citetitle
  795. | personname
  796. | person.ident.mix
  797. | ndxterm.class
  798. | local.bibliocomponent.mix
  799. # I don't think this is well placed, but it needs to be here because of
  800. # the reference to bibliocomponent.mix
  801. local.info.class = notAllowed
  802. info.class =
  803. graphic
  804. | mediaobject
  805. | legalnotice
  806. | modespec
  807. | subjectset
  808. | keywordset
  809. | itermset
  810. | bibliocomponent.mix
  811. | local.info.class
  812. local.biblioentry.attrib = empty
  813. biblioentry.role.attrib = role.attrib
  814. biblioentry =
  815. element biblioentry {
  816. biblioentry.attlist, (articleinfo | bibliocomponent.mix)+
  817. }
  818. # end of biblioentry.element
  819. biblioentry.attlist &=
  820. common.attrib, biblioentry.role.attrib, local.biblioentry.attrib
  821. # end of biblioentry.attlist
  822. # end of biblioentry.module
  823. local.bibliomixed.attrib = empty
  824. bibliomixed.role.attrib = role.attrib
  825. bibliomixed =
  826. element bibliomixed {
  827. bibliomixed.attlist, (text | bibliocomponent.mix | bibliomset)*
  828. }
  829. # end of bibliomixed.element
  830. bibliomixed.attlist &=
  831. common.attrib, bibliomixed.role.attrib, local.bibliomixed.attrib
  832. # end of bibliomixed.attlist
  833. # end of bibliomixed.module
  834. local.articleinfo.attrib = empty
  835. articleinfo.role.attrib = role.attrib
  836. articleinfo = element articleinfo { articleinfo.attlist, info.class+ }
  837. # end of articleinfo.element
  838. articleinfo.attlist &=
  839. common.attrib, articleinfo.role.attrib, local.articleinfo.attrib
  840. # end of articleinfo.attlist
  841. # end of articleinfo.module
  842. local.biblioset.attrib = empty
  843. biblioset.role.attrib = role.attrib
  844. biblioset =
  845. element biblioset { biblioset.attlist, bibliocomponent.mix+ }
  846. # end of biblioset.element
  847. # Relation: Relationship of elements contained within BiblioSet
  848. biblioset.attlist &=
  849. attribute relation { text }?,
  850. common.attrib,
  851. biblioset.role.attrib,
  852. local.biblioset.attrib
  853. # end of biblioset.attlist
  854. # end of biblioset.module
  855. bibliomset.role.attrib = role.attrib
  856. local.bibliomset.attrib = empty
  857. bibliomset =
  858. element bibliomset {
  859. bibliomset.attlist, (text | bibliocomponent.mix | bibliomset)*
  860. }
  861. # end of bibliomset.element
  862. # Relation: Relationship of elements contained within BiblioMSet
  863. bibliomset.attlist &=
  864. attribute relation { text }?,
  865. common.attrib,
  866. bibliomset.role.attrib,
  867. local.bibliomset.attrib
  868. # end of bibliomset.attlist
  869. # end of bibliomset.module
  870. local.bibliomisc.attrib = empty
  871. bibliomisc.role.attrib = role.attrib
  872. bibliomisc = element bibliomisc { bibliomisc.attlist, para.char.mix* }
  873. # end of bibliomisc.element
  874. bibliomisc.attlist &=
  875. common.attrib, bibliomisc.role.attrib, local.bibliomisc.attrib
  876. # end of bibliomisc.attlist
  877. # end of bibliomisc.module
  878. # ......................................................................
  879. # Subject, Keyword, and ITermSet elements ..............................
  880. local.subjectset.attrib = empty
  881. subjectset.role.attrib = role.attrib
  882. subjectset = element subjectset { subjectset.attlist, subject+ }
  883. # end of subjectset.element
  884. # Scheme: Controlled vocabulary employed in SubjectTerms
  885. subjectset.attlist &=
  886. attribute scheme { xsd:NMTOKEN }?,
  887. common.attrib,
  888. subjectset.role.attrib,
  889. local.subjectset.attrib
  890. # end of subjectset.attlist
  891. # end of subjectset.module
  892. local.subject.attrib = empty
  893. subject.role.attrib = role.attrib
  894. subject = element subject { subject.attlist, subjectterm+ }
  895. # end of subject.element
  896. # Weight: Ranking of this group of SubjectTerms relative
  897. # to others, 0 is low, no highest value specified
  898. subject.attlist &=
  899. attribute weight { text }?,
  900. common.attrib,
  901. subject.role.attrib,
  902. local.subject.attrib
  903. # end of subject.attlist
  904. # end of subject.module
  905. local.subjectterm.attrib = empty
  906. subjectterm.role.attrib = role.attrib
  907. subjectterm = element subjectterm { subjectterm.attlist, text }
  908. # end of subjectterm.element
  909. subjectterm.attlist &=
  910. common.attrib, subjectterm.role.attrib, local.subjectterm.attrib
  911. # end of subjectterm.attlist
  912. # end of subjectterm.module
  913. # end of subjectset.content.module
  914. local.keywordset.attrib = empty
  915. keywordset.role.attrib = role.attrib
  916. keywordset = element keywordset { keywordset.attlist, keyword+ }
  917. # end of keywordset.element
  918. keywordset.attlist &=
  919. common.attrib, keywordset.role.attrib, local.keywordset.attrib
  920. # end of keywordset.attlist
  921. # end of keywordset.module
  922. local.keyword.attrib = empty
  923. keyword.role.attrib = role.attrib
  924. keyword = element keyword { keyword.attlist, text }
  925. # end of keyword.element
  926. keyword.attlist &=
  927. common.attrib, keyword.role.attrib, local.keyword.attrib
  928. # end of keyword.attlist
  929. # end of keyword.module
  930. # end of keywordset.content.module
  931. local.itermset.attrib = empty
  932. itermset.role.attrib = role.attrib
  933. itermset = element itermset { itermset.attlist, indexterm+ }
  934. # end of itermset.element
  935. itermset.attlist &=
  936. common.attrib, itermset.role.attrib, local.itermset.attrib
  937. # end of itermset.attlist
  938. # end of itermset.module
  939. # Bibliographic info for "blocks"
  940. local.blockinfo.attrib = empty
  941. blockinfo.role.attrib = role.attrib
  942. blockinfo = element blockinfo { blockinfo.attlist, info.class+ }
  943. # end of blockinfo.element
  944. blockinfo.attlist &=
  945. common.attrib, blockinfo.role.attrib, local.blockinfo.attrib
  946. # end of blockinfo.attlist
  947. # end of blockinfo.module
  948. # ......................................................................
  949. # Compound (section-ish) elements ......................................
  950. # Message set ......................
  951. local.msgset.attrib = empty
  952. msgset.role.attrib = role.attrib
  953. msgset =
  954. element msgset {
  955. msgset.attlist,
  956. blockinfo?,
  957. formalobject.title.content?,
  958. (msgentry+ | simplemsgentry+)
  959. }
  960. # end of msgset.element
  961. msgset.attlist &= common.attrib, msgset.role.attrib, local.msgset.attrib
  962. # end of msgset.attlist
  963. # end of msgset.module
  964. local.msgentry.attrib = empty
  965. msgentry.role.attrib = role.attrib
  966. msgentry =
  967. element msgentry { msgentry.attlist, msg+, msginfo?, msgexplan* }
  968. # end of msgentry.element
  969. msgentry.attlist &=
  970. common.attrib, msgentry.role.attrib, local.msgentry.attrib
  971. # end of msgentry.attlist
  972. # end of msgentry.module
  973. local.simplemsgentry.attrib = empty
  974. simplemsgentry.role.attrib = role.attrib
  975. simplemsgentry =
  976. element simplemsgentry { simplemsgentry.attlist, msgtext, msgexplan+ }
  977. # end of simplemsgentry.element
  978. simplemsgentry.attlist &=
  979. attribute audience { text }?,
  980. attribute level { text }?,
  981. attribute origin { text }?,
  982. common.attrib,
  983. simplemsgentry.role.attrib,
  984. local.simplemsgentry.attrib
  985. # end of simplemsgentry.attlist
  986. # end of simplemsgentry.module
  987. local.msg.attrib = empty
  988. msg.role.attrib = role.attrib
  989. msg = element msg { msg.attlist, title?, msgmain, (msgsub | msgrel)* }
  990. # end of msg.element
  991. msg.attlist &= common.attrib, msg.role.attrib, local.msg.attrib
  992. # end of msg.attlist
  993. # end of msg.module
  994. local.msgmain.attrib = empty
  995. msgmain.role.attrib = role.attrib
  996. msgmain = element msgmain { msgmain.attlist, title?, msgtext }
  997. # end of msgmain.element
  998. msgmain.attlist &=
  999. common.attrib, msgmain.role.attrib, local.msgmain.attrib
  1000. # end of msgmain.attlist
  1001. # end of msgmain.module
  1002. local.msgsub.attrib = empty
  1003. msgsub.role.attrib = role.attrib
  1004. msgsub = element msgsub { msgsub.attlist, title?, msgtext }
  1005. # end of msgsub.element
  1006. msgsub.attlist &= common.attrib, msgsub.role.attrib, local.msgsub.attrib
  1007. # end of msgsub.attlist
  1008. # end of msgsub.module
  1009. local.msgrel.attrib = empty
  1010. msgrel.role.attrib = role.attrib
  1011. msgrel = element msgrel { msgrel.attlist, title?, msgtext }
  1012. # end of msgrel.element
  1013. msgrel.attlist &= common.attrib, msgrel.role.attrib, local.msgrel.attrib
  1014. # end of msgrel.attlist
  1015. # end of msgrel.module
  1016. # MsgText (defined in the Inlines section, below)
  1017. local.msginfo.attrib = empty
  1018. msginfo.role.attrib = role.attrib
  1019. msginfo =
  1020. element msginfo { msginfo.attlist, (msglevel | msgorig | msgaud)* }
  1021. # end of msginfo.element
  1022. msginfo.attlist &=
  1023. common.attrib, msginfo.role.attrib, local.msginfo.attrib
  1024. # end of msginfo.attlist
  1025. # end of msginfo.module
  1026. local.msglevel.attrib = empty
  1027. msglevel.role.attrib = role.attrib
  1028. msglevel = element msglevel { msglevel.attlist, smallcptr.char.mix* }
  1029. # end of msglevel.element
  1030. msglevel.attlist &=
  1031. common.attrib, msglevel.role.attrib, local.msglevel.attrib
  1032. # end of msglevel.attlist
  1033. # end of msglevel.module
  1034. local.msgorig.attrib = empty
  1035. msgorig.role.attrib = role.attrib
  1036. msgorig = element msgorig { msgorig.attlist, smallcptr.char.mix* }
  1037. # end of msgorig.element
  1038. msgorig.attlist &=
  1039. common.attrib, msgorig.role.attrib, local.msgorig.attrib
  1040. # end of msgorig.attlist
  1041. # end of msgorig.module
  1042. local.msgaud.attrib = empty
  1043. msgaud.role.attrib = role.attrib
  1044. msgaud = element msgaud { msgaud.attlist, para.char.mix* }
  1045. # end of msgaud.element
  1046. msgaud.attlist &= common.attrib, msgaud.role.attrib, local.msgaud.attrib
  1047. # end of msgaud.attlist
  1048. # end of msgaud.module
  1049. local.msgexplan.attrib = empty
  1050. msgexplan.role.attrib = role.attrib
  1051. msgexplan =
  1052. element msgexplan { msgexplan.attlist, title?, component.mix+ }
  1053. # end of msgexplan.element
  1054. msgexplan.attlist &=
  1055. common.attrib, msgexplan.role.attrib, local.msgexplan.attrib
  1056. # end of msgexplan.attlist
  1057. # end of msgexplan.module
  1058. # end of msgset.content.module
  1059. # QandASet ........................
  1060. local.qandaset.attrib = empty
  1061. qandaset.role.attrib = role.attrib
  1062. qandaset =
  1063. element qandaset {
  1064. qandaset.attlist,
  1065. blockinfo?,
  1066. formalobject.title.content?,
  1067. qandaset.mix*,
  1068. (qandadiv+ | qandaentry+)
  1069. }
  1070. # end of qandaset.element
  1071. qandaset.attlist &=
  1072. attribute defaultlabel { "qanda" | "number" | "none" }?,
  1073. common.attrib,
  1074. qandaset.role.attrib,
  1075. local.qandaset.attrib
  1076. # end of qandaset.attlist
  1077. # end of qandaset.module
  1078. local.qandadiv.attrib = empty
  1079. qandadiv.role.attrib = role.attrib
  1080. qandadiv =
  1081. element qandadiv {
  1082. qandadiv.attlist,
  1083. blockinfo?,
  1084. formalobject.title.content?,
  1085. qandaset.mix*,
  1086. (qandadiv+ | qandaentry+)
  1087. }
  1088. # end of qandadiv.element
  1089. qandadiv.attlist &=
  1090. common.attrib, qandadiv.role.attrib, local.qandadiv.attrib
  1091. # end of qandadiv.attlist
  1092. # end of qandadiv.module
  1093. local.qandaentry.attrib = empty
  1094. qandaentry.role.attrib = role.attrib
  1095. qandaentry =
  1096. element qandaentry {
  1097. qandaentry.attlist, blockinfo?, revhistory?, question, answer*
  1098. }
  1099. # end of qandaentry.element
  1100. qandaentry.attlist &=
  1101. common.attrib, qandaentry.role.attrib, local.qandaentry.attrib
  1102. # end of qandaentry.attlist
  1103. # end of qandaentry.module
  1104. local.question.attrib = empty
  1105. question.role.attrib = role.attrib
  1106. question = element question { question.attlist, label?, qandaset.mix+ }
  1107. # end of question.element
  1108. question.attlist &=
  1109. common.attrib, question.role.attrib, local.question.attrib
  1110. # end of question.attlist
  1111. # end of question.module
  1112. local.answer.attrib = empty
  1113. answer.role.attrib = role.attrib
  1114. answer =
  1115. element answer { answer.attlist, label?, qandaset.mix*, qandaentry* }
  1116. # end of answer.element
  1117. answer.attlist &= common.attrib, answer.role.attrib, local.answer.attrib
  1118. # end of answer.attlist
  1119. # end of answer.module
  1120. local.label.attrib = empty
  1121. label.role.attrib = role.attrib
  1122. label = element label { label.attlist, word.char.mix* }
  1123. # end of label.element
  1124. label.attlist &= common.attrib, label.role.attrib, local.label.attrib
  1125. # end of label.attlist
  1126. # end of label.module
  1127. # end of qandaset.content.module
  1128. # Procedure ........................
  1129. local.procedure.attrib = empty
  1130. procedure.role.attrib = role.attrib
  1131. procedure =
  1132. element procedure {
  1133. procedure.attlist,
  1134. blockinfo?,
  1135. formalobject.title.content?,
  1136. component.mix*,
  1137. step+
  1138. }
  1139. # end of procedure.element
  1140. procedure.attlist &=
  1141. common.attrib, procedure.role.attrib, local.procedure.attrib
  1142. # end of procedure.attlist
  1143. # end of procedure.module
  1144. local.step.attrib = empty
  1145. step.role.attrib = role.attrib
  1146. step =
  1147. element step {
  1148. step.attlist,
  1149. title?,
  1150. ((component.mix+, (substeps, component.mix*)?)
  1151. | (substeps, component.mix*))
  1152. }
  1153. # end of step.element
  1154. # Performance: Whether the Step must be performed
  1155. # not #REQUIRED!
  1156. step.attlist &=
  1157. [ a:defaultValue = "required" ]
  1158. attribute performance { "optional" | "required" }?,
  1159. common.attrib,
  1160. step.role.attrib,
  1161. local.step.attrib
  1162. # end of step.attlist
  1163. # end of step.module
  1164. local.substeps.attrib = empty
  1165. substeps.role.attrib = role.attrib
  1166. substeps = element substeps { substeps.attlist, step+ }
  1167. # end of substeps.element
  1168. # Performance: whether entire set of substeps must be performed
  1169. # not #REQUIRED!
  1170. substeps.attlist &=
  1171. [ a:defaultValue = "required" ]
  1172. attribute performance { "optional" | "required" }?,
  1173. common.attrib,
  1174. substeps.role.attrib,
  1175. local.substeps.attrib
  1176. # end of substeps.attlist
  1177. # end of substeps.module
  1178. # end of procedure.content.module
  1179. # Sidebar ..........................
  1180. local.sidebarinfo.attrib = empty
  1181. sidebarinfo.role.attrib = role.attrib
  1182. sidebarinfo = element sidebarinfo { sidebarinfo.attlist, info.class+ }
  1183. # end of sidebarinfo.element
  1184. sidebarinfo.attlist &=
  1185. common.attrib, sidebarinfo.role.attrib, local.sidebarinfo.attrib
  1186. # end of sidebarinfo.attlist
  1187. # end of sidebarinfo.module
  1188. local.sidebar.attrib = empty
  1189. sidebar.role.attrib = role.attrib
  1190. sidebar =
  1191. element sidebar {
  1192. sidebar.attlist,
  1193. sidebarinfo?,
  1194. formalobject.title.content?,
  1195. sidebar.mix+
  1196. }
  1197. # end of sidebar.element
  1198. sidebar.attlist &=
  1199. common.attrib, sidebar.role.attrib, local.sidebar.attrib
  1200. # end of sidebar.attlist
  1201. # end of sidebar.module
  1202. # end of sidebar.content.model
  1203. # ......................................................................
  1204. # Paragraph-related elements ...........................................
  1205. local.abstract.attrib = empty
  1206. abstract.role.attrib = role.attrib
  1207. abstract = element abstract { abstract.attlist, title?, para.class+ }
  1208. # end of abstract.element
  1209. abstract.attlist &=
  1210. common.attrib, abstract.role.attrib, local.abstract.attrib
  1211. # end of abstract.attlist
  1212. # end of abstract.module
  1213. local.authorblurb.attrib = empty
  1214. authorblurb.role.attrib = role.attrib
  1215. authorblurb =
  1216. element authorblurb { authorblurb.attlist, title?, para.class+ }
  1217. # end of authorblurb.element
  1218. authorblurb.attlist &=
  1219. common.attrib, authorblurb.role.attrib, local.authorblurb.attrib
  1220. # end of authorblurb.attlist
  1221. # end of authorblurb.module
  1222. local.personblurb.attrib = empty
  1223. personblurb.role.attrib = role.attrib
  1224. personblurb =
  1225. element personblurb { personblurb.attlist, title?, para.class+ }
  1226. # end of personblurb.element
  1227. personblurb.attlist &=
  1228. common.attrib, personblurb.role.attrib, local.personblurb.attrib
  1229. # end of personblurb.attlist
  1230. # end of personblurb.module
  1231. local.blockquote.attrib = empty
  1232. blockquote.role.attrib = role.attrib
  1233. blockquote =
  1234. element blockquote {
  1235. blockquote.attlist, title?, attribution?, component.mix+
  1236. }
  1237. # end of blockquote.element
  1238. blockquote.attlist &=
  1239. common.attrib, blockquote.role.attrib, local.blockquote.attrib
  1240. # end of blockquote.attlist
  1241. # end of blockquote.module
  1242. local.attribution.attrib = empty
  1243. attribution.role.attrib = role.attrib
  1244. attribution =
  1245. element attribution { attribution.attlist, para.char.mix* }
  1246. # end of attribution.element
  1247. attribution.attlist &=
  1248. common.attrib, attribution.role.attrib, local.attribution.attrib
  1249. # end of attribution.attlist
  1250. # end of attribution.module
  1251. local.bridgehead.attrib = empty
  1252. bridgehead.role.attrib = role.attrib
  1253. bridgehead = element bridgehead { bridgehead.attlist, title.char.mix* }
  1254. # end of bridgehead.element
  1255. # Renderas: Indicates the format in which the BridgeHead
  1256. # should appear
  1257. bridgehead.attlist &=
  1258. attribute renderas {
  1259. "other" | "sect1" | "sect2" | "sect3" | "sect4" | "sect5"
  1260. }?,
  1261. common.attrib,
  1262. bridgehead.role.attrib,
  1263. local.bridgehead.attrib
  1264. # end of bridgehead.attlist
  1265. # end of bridgehead.module
  1266. local.remark.attrib = empty
  1267. remark.role.attrib = role.attrib
  1268. remark = element remark { remark.attlist, para.char.mix* }
  1269. # end of remark.element
  1270. remark.attlist &= common.attrib, remark.role.attrib, local.remark.attrib
  1271. # end of remark.attlist
  1272. # end of remark.module
  1273. local.epigraph.attrib = empty
  1274. epigraph.role.attrib = role.attrib
  1275. epigraph =
  1276. element epigraph {
  1277. epigraph.attlist, attribution?, (para.class | literallayout)+
  1278. }
  1279. # end of epigraph.element
  1280. epigraph.attlist &=
  1281. common.attrib, epigraph.role.attrib, local.epigraph.attrib
  1282. # end of epigraph.attlist
  1283. # Attribution (defined above)
  1284. # end of epigraph.module
  1285. local.footnote.attrib = empty
  1286. footnote.role.attrib = role.attrib
  1287. footnote = element footnote { footnote.attlist, footnote.mix+ }
  1288. # end of footnote.element
  1289. footnote.attlist &=
  1290. label.attrib,
  1291. common.attrib,
  1292. footnote.role.attrib,
  1293. local.footnote.attrib
  1294. # end of footnote.attlist
  1295. # end of footnote.module
  1296. local.highlights.attrib = empty
  1297. highlights.role.attrib = role.attrib
  1298. highlights = element highlights { highlights.attlist, highlights.mix+ }
  1299. # end of highlights.element
  1300. highlights.attlist &=
  1301. common.attrib, highlights.role.attrib, local.highlights.attrib
  1302. # end of highlights.attlist
  1303. # end of highlights.module
  1304. local.formalpara.attrib = empty
  1305. formalpara.role.attrib = role.attrib
  1306. formalpara =
  1307. element formalpara { formalpara.attlist, title, ndxterm.class*, para }
  1308. # end of formalpara.element
  1309. formalpara.attlist &=
  1310. common.attrib, formalpara.role.attrib, local.formalpara.attrib
  1311. # end of formalpara.attlist
  1312. # end of formalpara.module
  1313. local.para.attrib = empty
  1314. para.role.attrib = role.attrib
  1315. para = element para { para.attlist, (para.char.mix | para.mix)* }
  1316. # end of para.element
  1317. para.attlist &= common.attrib, para.role.attrib, local.para.attrib
  1318. # end of para.attlist
  1319. # end of para.module
  1320. local.simpara.attrib = empty
  1321. simpara.role.attrib = role.attrib
  1322. simpara = element simpara { simpara.attlist, para.char.mix* }
  1323. # end of simpara.element
  1324. simpara.attlist &=
  1325. common.attrib, simpara.role.attrib, local.simpara.attrib
  1326. # end of simpara.attlist
  1327. # end of simpara.module
  1328. local.admon.attrib = empty
  1329. admon.role.attrib = role.attrib
  1330. caution = element caution { caution.attlist, title?, admon.mix+ }
  1331. # end of caution.element
  1332. caution.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
  1333. # end of caution.attlist
  1334. important = element important { important.attlist, title?, admon.mix+ }
  1335. # end of important.element
  1336. important.attlist &=
  1337. common.attrib, admon.role.attrib, local.admon.attrib
  1338. # end of important.attlist
  1339. note = element note { note.attlist, title?, admon.mix+ }
  1340. # end of note.element
  1341. note.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
  1342. # end of note.attlist
  1343. tip = element tip { tip.attlist, title?, admon.mix+ }
  1344. # end of tip.element
  1345. tip.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
  1346. # end of tip.attlist
  1347. warning = element warning { warning.attlist, title?, admon.mix+ }
  1348. # end of warning.element
  1349. warning.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
  1350. # end of warning.attlist
  1351. # end of admon.module
  1352. # ......................................................................
  1353. # Lists ................................................................
  1354. # GlossList ........................
  1355. local.glosslist.attrib = empty
  1356. glosslist.role.attrib = role.attrib
  1357. glosslist = element glosslist { glosslist.attlist, glossentry+ }
  1358. # end of glosslist.element
  1359. glosslist.attlist &=
  1360. common.attrib, glosslist.role.attrib, local.glosslist.attrib
  1361. # end of glosslist.attlist
  1362. # end of glosslist.module
  1363. local.glossentry.attrib = empty
  1364. glossentry.role.attrib = role.attrib
  1365. glossentry =
  1366. element glossentry {
  1367. glossentry.attlist,
  1368. glossterm,
  1369. acronym?,
  1370. abbrev?,
  1371. ndxterm.class*,
  1372. revhistory?,
  1373. (glosssee | glossdef+)
  1374. }
  1375. # end of glossentry.element
  1376. # SortAs: String by which the GlossEntry is to be sorted
  1377. # (alphabetized) in lieu of its proper content
  1378. glossentry.attlist &=
  1379. attribute sortas { text }?,
  1380. common.attrib,
  1381. glossentry.role.attrib,
  1382. local.glossentry.attrib
  1383. # end of glossentry.attlist
  1384. # end of glossentry.module
  1385. # GlossTerm (defined in the Inlines section, below)
  1386. local.glossdef.attrib = empty
  1387. glossdef.role.attrib = role.attrib
  1388. glossdef =
  1389. element glossdef { glossdef.attlist, glossdef.mix+, glossseealso* }
  1390. # end of glossdef.element
  1391. # Subject: List of subjects; keywords for the definition
  1392. glossdef.attlist &=
  1393. attribute subject { text }?,
  1394. common.attrib,
  1395. glossdef.role.attrib,
  1396. local.glossdef.attrib
  1397. # end of glossdef.attlist
  1398. # end of glossdef.module
  1399. local.glosssee.attrib = empty
  1400. glosssee.role.attrib = role.attrib
  1401. glosssee = element glosssee { glosssee.attlist, para.char.mix* }
  1402. # end of glosssee.element
  1403. # OtherTerm: Reference to the GlossEntry whose GlossTerm
  1404. # should be displayed at the point of the GlossSee
  1405. glosssee.attlist &=
  1406. attribute otherterm { xsd:IDREF }?,
  1407. common.attrib,
  1408. glosssee.role.attrib,
  1409. local.glosssee.attrib
  1410. # end of glosssee.attlist
  1411. # end of glosssee.module
  1412. local.glossseealso.attrib = empty
  1413. glossseealso.role.attrib = role.attrib
  1414. glossseealso =
  1415. element glossseealso { glossseealso.attlist, para.char.mix* }
  1416. # end of glossseealso.element
  1417. # OtherTerm: Reference to the GlossEntry whose GlossTerm
  1418. # should be displayed at the point of the GlossSeeAlso
  1419. glossseealso.attlist &=
  1420. attribute otherterm { xsd:IDREF }?,
  1421. common.attrib,
  1422. glossseealso.role.attrib,
  1423. local.glossseealso.attrib
  1424. # end of glossseealso.attlist
  1425. # end of glossseealso.module
  1426. # end of glossentry.content.module
  1427. # ItemizedList and OrderedList .....
  1428. local.itemizedlist.attrib = empty
  1429. itemizedlist.role.attrib = role.attrib
  1430. itemizedlist =
  1431. element itemizedlist {
  1432. itemizedlist.attlist,
  1433. blockinfo?,
  1434. formalobject.title.content?,
  1435. listpreamble.mix*,
  1436. listitem+
  1437. }
  1438. # end of itemizedlist.element
  1439. # Spacing: Whether the vertical space in the list should be
  1440. # compressed
  1441. # Mark: Keyword, e.g., bullet, dash, checkbox, none;
  1442. # list of keywords and defaults are implementation specific
  1443. itemizedlist.attlist &=
  1444. attribute spacing { "normal" | "compact" }?,
  1445. mark.attrib,
  1446. common.attrib,
  1447. itemizedlist.role.attrib,
  1448. local.itemizedlist.attrib
  1449. # end of itemizedlist.attlist
  1450. # end of itemizedlist.module
  1451. local.orderedlist.attrib = empty
  1452. orderedlist.role.attrib = role.attrib
  1453. orderedlist =
  1454. element orderedlist {
  1455. orderedlist.attlist,
  1456. blockinfo?,
  1457. formalobject.title.content?,
  1458. listpreamble.mix*,
  1459. listitem+
  1460. }
  1461. # end of orderedlist.element
  1462. # Numeration: Style of ListItem numbered; default is expected
  1463. # to be Arabic
  1464. # InheritNum: Specifies for a nested list that the numbering
  1465. # of ListItems should include the number of the item
  1466. # within which they are nested (e.g., 1a and 1b within 1,
  1467. # rather than a and b)
  1468. # Continuation: Where list numbering begins afresh (Restarts,
  1469. # the default) or continues that of the immediately preceding
  1470. # list (Continues)
  1471. # Spacing: Whether the vertical space in the list should be
  1472. # compressed
  1473. orderedlist.attlist &=
  1474. attribute numeration {
  1475. "arabic" | "upperalpha" | "loweralpha" | "upperroman" | "lowerroman"
  1476. }?,
  1477. [ a:defaultValue = "ignore" ]
  1478. attribute inheritnum { "inherit" | "ignore" }?,
  1479. [ a:defaultValue = "restarts" ]
  1480. attribute continuation { "continues" | "restarts" }?,
  1481. attribute spacing { "normal" | "compact" }?,
  1482. common.attrib,
  1483. orderedlist.role.attrib,
  1484. local.orderedlist.attrib
  1485. # end of orderedlist.attlist
  1486. # end of orderedlist.module
  1487. local.listitem.attrib = empty
  1488. listitem.role.attrib = role.attrib
  1489. listitem = element listitem { listitem.attlist, component.mix+ }
  1490. # end of listitem.element
  1491. # Override: Indicates the mark to be used for this ListItem
  1492. # instead of the default mark or the mark specified by
  1493. # the Mark attribute on the enclosing ItemizedList
  1494. listitem.attlist &=
  1495. attribute override { text }?,
  1496. common.attrib,
  1497. listitem.role.attrib,
  1498. local.listitem.attrib
  1499. # end of listitem.attlist
  1500. # end of listitem.module
  1501. # SegmentedList ....................
  1502. local.segmentedlist.attrib = empty
  1503. segmentedlist.role.attrib = role.attrib
  1504. segmentedlist =
  1505. element segmentedlist {
  1506. segmentedlist.attlist,
  1507. formalobject.title.content?,
  1508. segtitle+,
  1509. seglistitem+
  1510. }
  1511. # end of segmentedlist.element
  1512. segmentedlist.attlist &=
  1513. common.attrib, segmentedlist.role.attrib, local.segmentedlist.attrib
  1514. # end of segmentedlist.attlist
  1515. # end of segmentedlist.module
  1516. local.segtitle.attrib = empty
  1517. segtitle.role.attrib = role.attrib
  1518. segtitle = element segtitle { segtitle.attlist, title.char.mix* }
  1519. # end of segtitle.element
  1520. segtitle.attlist &=
  1521. common.attrib, segtitle.role.attrib, local.segtitle.attrib
  1522. # end of segtitle.attlist
  1523. # end of segtitle.module
  1524. local.seglistitem.attrib = empty
  1525. seglistitem.role.attrib = role.attrib
  1526. seglistitem = element seglistitem { seglistitem.attlist, seg+ }
  1527. # end of seglistitem.element
  1528. seglistitem.attlist &=
  1529. common.attrib, seglistitem.role.attrib, local.seglistitem.attrib
  1530. # end of seglistitem.attlist
  1531. # end of seglistitem.module
  1532. local.seg.attrib = empty
  1533. seg.role.attrib = role.attrib
  1534. seg = element seg { seg.attlist, para.char.mix* }
  1535. # end of seg.element
  1536. seg.attlist &= common.attrib, seg.role.attrib, local.seg.attrib
  1537. # end of seg.attlist
  1538. # end of seg.module
  1539. # end of segmentedlist.content.module
  1540. # SimpleList .......................
  1541. local.simplelist.attrib = empty
  1542. simplelist.role.attrib = role.attrib
  1543. simplelist = element simplelist { simplelist.attlist, member+ }
  1544. # end of simplelist.element
  1545. # Columns: The number of columns the array should contain
  1546. # Type: How the Members of the SimpleList should be
  1547. # formatted: Inline (members separated with commas etc.
  1548. # inline), Vert (top to bottom in n Columns), or Horiz (in
  1549. # the direction of text flow) in n Columns. If Column
  1550. # is 1 or implied, Type=Vert and Type=Horiz give the same
  1551. # results.
  1552. simplelist.attlist &=
  1553. attribute columns { text }?,
  1554. [ a:defaultValue = "vert" ]
  1555. attribute type { "inline" | "vert" | "horiz" }?,
  1556. common.attrib,
  1557. simplelist.role.attrib,
  1558. local.simplelist.attrib
  1559. # end of simplelist.attlist
  1560. # end of simplelist.module
  1561. local.member.attrib = empty
  1562. member.role.attrib = role.attrib
  1563. member = element member { member.attlist, para.char.mix* }
  1564. # end of member.element
  1565. member.attlist &= common.attrib, member.role.attrib, local.member.attrib
  1566. # end of member.attlist
  1567. # end of member.module
  1568. # end of simplelist.content.module
  1569. # VariableList .....................
  1570. local.variablelist.attrib = empty
  1571. variablelist.role.attrib = role.attrib
  1572. variablelist =
  1573. element variablelist {
  1574. variablelist.attlist,
  1575. blockinfo?,
  1576. formalobject.title.content?,
  1577. listpreamble.mix*,
  1578. varlistentry+
  1579. }
  1580. # end of variablelist.element
  1581. # TermLength: Length beyond which the presentation engine
  1582. # may consider the Term too long and select an alternate
  1583. # presentation of the Term and, or, its associated ListItem.
  1584. variablelist.attlist &=
  1585. attribute termlength { text }?,
  1586. common.attrib,
  1587. variablelist.role.attrib,
  1588. local.variablelist.attrib
  1589. # end of variablelist.attlist
  1590. # end of variablelist.module
  1591. local.varlistentry.attrib = empty
  1592. varlistentry.role.attrib = role.attrib
  1593. varlistentry =
  1594. element varlistentry { varlistentry.attlist, term+, listitem }
  1595. # end of varlistentry.element
  1596. varlistentry.attlist &=
  1597. common.attrib, varlistentry.role.attrib, local.varlistentry.attrib
  1598. # end of varlistentry.attlist
  1599. # end of varlistentry.module
  1600. local.term.attrib = empty
  1601. term.role.attrib = role.attrib
  1602. term = element term { term.attlist, para.char.mix* }
  1603. # end of term.element
  1604. term.attlist &= common.attrib, term.role.attrib, local.term.attrib
  1605. # end of term.attlist
  1606. # end of term.module
  1607. # ListItem (defined above)
  1608. # end of variablelist.content.module
  1609. # CalloutList ......................
  1610. local.calloutlist.attrib = empty
  1611. calloutlist.role.attrib = role.attrib
  1612. calloutlist =
  1613. element calloutlist {
  1614. calloutlist.attlist, formalobject.title.content?, callout+
  1615. }
  1616. # end of calloutlist.element
  1617. calloutlist.attlist &=
  1618. common.attrib, calloutlist.role.attrib, local.calloutlist.attrib
  1619. # end of calloutlist.attlist
  1620. # end of calloutlist.module
  1621. local.callout.attrib = empty
  1622. callout.role.attrib = role.attrib
  1623. callout = element callout { callout.attlist, component.mix+ }
  1624. # end of callout.element
  1625. # AreaRefs: IDs of one or more Areas or AreaSets described
  1626. # by this Callout
  1627. callout.attlist &=
  1628. attribute arearefs { xsd:IDREFS },
  1629. common.attrib,
  1630. callout.role.attrib,
  1631. local.callout.attrib
  1632. # end of callout.attlist
  1633. # end of callout.module
  1634. # end of calloutlist.content.module
  1635. # ......................................................................
  1636. # Objects ..............................................................
  1637. # Examples etc. ....................
  1638. local.example.attrib = empty
  1639. example.role.attrib = role.attrib
  1640. example =
  1641. element example {
  1642. example.attlist,
  1643. blockinfo?,
  1644. formalobject.title.content,
  1645. example.mix+
  1646. }
  1647. # end of example.element
  1648. example.attlist &=
  1649. label.attrib,
  1650. width.attrib,
  1651. common.attrib,
  1652. example.role.attrib,
  1653. local.example.attrib
  1654. # end of example.attlist
  1655. # end of example.module
  1656. local.informalexample.attrib = empty
  1657. informalexample.role.attrib = role.attrib
  1658. informalexample =
  1659. element informalexample {
  1660. informalexample.attlist, blockinfo?, example.mix+
  1661. }
  1662. # end of informalexample.element
  1663. informalexample.attlist &=
  1664. width.attrib,
  1665. common.attrib,
  1666. informalexample.role.attrib,
  1667. local.informalexample.attrib
  1668. # end of informalexample.attlist
  1669. # end of informalexample.module
  1670. local.programlistingco.attrib = empty
  1671. programlistingco.role.attrib = role.attrib
  1672. programlistingco =
  1673. element programlistingco {
  1674. programlistingco.attlist, areaspec, programlisting, calloutlist*
  1675. }
  1676. # end of programlistingco.element
  1677. programlistingco.attlist &=
  1678. common.attrib,
  1679. programlistingco.role.attrib,
  1680. local.programlistingco.attrib
  1681. # end of programlistingco.attlist
  1682. # CalloutList (defined above in Lists)
  1683. # end of informalexample.module
  1684. local.areaspec.attrib = empty
  1685. areaspec.role.attrib = role.attrib
  1686. areaspec = element areaspec { areaspec.attlist, (area | areaset)+ }
  1687. # end of areaspec.element
  1688. # Units: global unit of measure in which coordinates in
  1689. # this spec are expressed:
  1690. #
  1691. # - CALSPair "x1,y1 x2,y2": lower-left and upper-right
  1692. # coordinates in a rectangle describing repro area in which
  1693. # graphic is placed, where X and Y dimensions are each some
  1694. # number 0..10000 (taken from CALS graphic attributes)
  1695. #
  1696. # - LineColumn "line column": line number and column number
  1697. # at which to start callout text in "linespecific" content
  1698. #
  1699. # - LineRange "startline endline": whole lines from startline
  1700. # to endline in "linespecific" content
  1701. #
  1702. # - LineColumnPair "line1 col1 line2 col2": starting and ending
  1703. # points of area in "linespecific" content that starts at
  1704. # first position and ends at second position (including the
  1705. # beginnings of any intervening lines)
  1706. #
  1707. # - Other: directive to look at value of OtherUnits attribute
  1708. # to get implementation-specific keyword
  1709. #
  1710. # The default is implementation-specific; usually dependent on
  1711. # the parent element (GraphicCO gets CALSPair, ProgramListingCO
  1712. # and ScreenCO get LineColumn)
  1713. # OtherUnits: User-defined units
  1714. areaspec.attlist &=
  1715. attribute units {
  1716. "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
  1717. }?,
  1718. attribute otherunits { xsd:NMTOKEN }?,
  1719. common.attrib,
  1720. areaspec.role.attrib,
  1721. local.areaspec.attrib
  1722. # end of areaspec.attlist
  1723. # end of areaspec.module
  1724. local.area.attrib = empty
  1725. area.role.attrib = role.attrib
  1726. area = element area { area.attlist, empty }
  1727. # end of area.element
  1728. # bug number/symbol override or initialization
  1729. # to any related information
  1730. # Units: unit of measure in which coordinates in this
  1731. # area are expressed; inherits from AreaSet and AreaSpec
  1732. # OtherUnits: User-defined units
  1733. area.attlist &=
  1734. label.attrib,
  1735. linkends.attrib,
  1736. attribute units {
  1737. "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
  1738. }?,
  1739. attribute otherunits { xsd:NMTOKEN }?,
  1740. attribute coords { text },
  1741. idreq.common.attrib,
  1742. area.role.attrib,
  1743. local.area.attrib
  1744. # end of area.attlist
  1745. # end of area.module
  1746. local.areaset.attrib = empty
  1747. areaset.role.attrib = role.attrib
  1748. areaset = element areaset { areaset.attlist, area+ }
  1749. # end of areaset.element
  1750. # bug number/symbol override or initialization
  1751. # Units: unit of measure in which coordinates in this
  1752. # area are expressed; inherits from AreaSpec
  1753. areaset.attlist &=
  1754. label.attrib,
  1755. attribute units {
  1756. "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
  1757. }?,
  1758. attribute otherunits { xsd:NMTOKEN }?,
  1759. attribute coords { text },
  1760. idreq.common.attrib,
  1761. areaset.role.attrib,
  1762. local.areaset.attrib
  1763. # end of areaset.attlist
  1764. # end of areaset.module
  1765. # end of areaspec.content.module
  1766. local.programlisting.attrib = empty
  1767. programlisting.role.attrib = role.attrib
  1768. programlisting =
  1769. element programlisting {
  1770. programlisting.attlist,
  1771. (para.char.mix | co | coref | lineannotation | textobject)*
  1772. }
  1773. # end of programlisting.element
  1774. programlisting.attlist &=
  1775. width.attrib,
  1776. linespecific.attrib,
  1777. common.attrib,
  1778. programlisting.role.attrib,
  1779. local.programlisting.attrib
  1780. # end of programlisting.attlist
  1781. # end of programlisting.module
  1782. local.literallayout.attrib = empty
  1783. literallayout.role.attrib = role.attrib
  1784. literallayout =
  1785. element literallayout {
  1786. literallayout.attlist,
  1787. (para.char.mix | co | coref | textobject | lineannotation)*
  1788. }
  1789. # end of literallayout.element
  1790. literallayout.attlist &=
  1791. width.attrib,
  1792. linespecific.attrib,
  1793. [ a:defaultValue = "normal" ]
  1794. attribute class { "monospaced" | "normal" }?,
  1795. common.attrib,
  1796. literallayout.role.attrib,
  1797. local.literallayout.attrib
  1798. # end of literallayout.attlist
  1799. # LineAnnotation (defined in the Inlines section, below)
  1800. # end of literallayout.module
  1801. local.screenco.attrib = empty
  1802. screenco.role.attrib = role.attrib
  1803. screenco =
  1804. element screenco { screenco.attlist, areaspec, screen, calloutlist* }
  1805. # end of screenco.element
  1806. screenco.attlist &=
  1807. common.attrib, screenco.role.attrib, local.screenco.attrib
  1808. # end of screenco.attlist
  1809. # AreaSpec (defined above)
  1810. # CalloutList (defined above in Lists)
  1811. # end of screenco.module
  1812. local.screen.attrib = empty
  1813. screen.role.attrib = role.attrib
  1814. screen =
  1815. element screen {
  1816. screen.attlist,
  1817. (para.char.mix | co | coref | textobject | lineannotation)*
  1818. }
  1819. # end of screen.element
  1820. screen.attlist &=
  1821. width.attrib,
  1822. linespecific.attrib,
  1823. common.attrib,
  1824. screen.role.attrib,
  1825. local.screen.attrib
  1826. # end of screen.attlist
  1827. # end of screen.module
  1828. local.screenshot.attrib = empty
  1829. screenshot.role.attrib = role.attrib
  1830. screenshot =
  1831. element screenshot {
  1832. screenshot.attlist,
  1833. screeninfo?,
  1834. (graphic | graphicco | mediaobject | mediaobjectco)
  1835. }
  1836. # end of screenshot.element
  1837. screenshot.attlist &=
  1838. common.attrib, screenshot.role.attrib, local.screenshot.attrib
  1839. # end of screenshot.attlist
  1840. # end of screenshot.module
  1841. local.screeninfo.attrib = empty
  1842. screeninfo.role.attrib = role.attrib
  1843. screeninfo = element screeninfo { screeninfo.attlist, para.char.mix* }
  1844. # end of screeninfo.element
  1845. screeninfo.attlist &=
  1846. common.attrib, screeninfo.role.attrib, local.screeninfo.attrib
  1847. # end of screeninfo.attlist
  1848. # end of screeninfo.module
  1849. # end of screenshot.content.module
  1850. # Figures etc. .....................
  1851. local.figure.attrib = empty
  1852. figure.role.attrib = role.attrib
  1853. figure =
  1854. element figure {
  1855. figure.attlist,
  1856. blockinfo?,
  1857. formalobject.title.content,
  1858. (figure.mix | link.char.class)+
  1859. }
  1860. # end of figure.element
  1861. # Float: Whether the Figure is supposed to be rendered
  1862. # where convenient (yes (1) value) or at the place it occurs
  1863. # in the text (no (0) value, the default)
  1864. figure.attlist &=
  1865. [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?,
  1866. attribute pgwide { yesorno.attvals }?,
  1867. label.attrib,
  1868. common.attrib,
  1869. figure.role.attrib,
  1870. local.figure.attrib
  1871. # end of figure.attlist
  1872. # end of figure.module
  1873. local.informalfigure.attrib = empty
  1874. informalfigure.role.attrib = role.attrib
  1875. informalfigure =
  1876. element informalfigure {
  1877. informalfigure.attlist, blockinfo?, (figure.mix | link.char.class)+
  1878. }
  1879. # end of informalfigure.element
  1880. # Float: Whether the Figure is supposed to be rendered
  1881. # where convenient (yes (1) value) or at the place it occurs
  1882. # in the text (no (0) value, the default)
  1883. informalfigure.attlist &=
  1884. [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?,
  1885. attribute pgwide { yesorno.attvals }?,
  1886. label.attrib,
  1887. common.attrib,
  1888. informalfigure.role.attrib,
  1889. local.informalfigure.attrib
  1890. # end of informalfigure.attlist
  1891. # end of informalfigure.module
  1892. local.graphicco.attrib = empty
  1893. graphicco.role.attrib = role.attrib
  1894. graphicco =
  1895. element graphicco {
  1896. graphicco.attlist, areaspec, graphic, calloutlist*
  1897. }
  1898. # end of graphicco.element
  1899. graphicco.attlist &=
  1900. common.attrib, graphicco.role.attrib, local.graphicco.attrib
  1901. # end of graphicco.attlist
  1902. # AreaSpec (defined above in Examples)
  1903. # CalloutList (defined above in Lists)
  1904. # end of graphicco.module
  1905. # Graphical data can be the content of Graphic, or you can reference
  1906. # an external file either as an entity (Entitref) or a filename
  1907. # (Fileref).
  1908. local.graphic.attrib = empty
  1909. graphic.role.attrib = role.attrib
  1910. graphic = element graphic { graphic.attlist, empty }
  1911. # end of graphic.element
  1912. graphic.attlist &=
  1913. graphics.attrib,
  1914. common.attrib,
  1915. graphic.role.attrib,
  1916. local.graphic.attrib
  1917. # end of graphic.attlist
  1918. # end of graphic.module
  1919. local.inlinegraphic.attrib = empty
  1920. inlinegraphic.role.attrib = role.attrib
  1921. inlinegraphic = element inlinegraphic { inlinegraphic.attlist, empty }
  1922. # end of inlinegraphic.element
  1923. inlinegraphic.attlist &=
  1924. graphics.attrib,
  1925. common.attrib,
  1926. inlinegraphic.role.attrib,
  1927. local.inlinegraphic.attrib
  1928. # end of inlinegraphic.attlist
  1929. # end of inlinegraphic.module
  1930. local.mediaobject.attrib = empty
  1931. mediaobject.role.attrib = role.attrib
  1932. mediaobject =
  1933. element mediaobject {
  1934. mediaobject.attlist, objectinfo?, mediaobject.mix+, caption?
  1935. }
  1936. # end of mediaobject.element
  1937. mediaobject.attlist &=
  1938. common.attrib, mediaobject.role.attrib, local.mediaobject.attrib
  1939. # end of mediaobject.attlist
  1940. # end of mediaobject.module
  1941. local.inlinemediaobject.attrib = empty
  1942. inlinemediaobject.role.attrib = role.attrib
  1943. inlinemediaobject =
  1944. element inlinemediaobject {
  1945. inlinemediaobject.attlist, objectinfo?, mediaobject.mix+
  1946. }
  1947. # end of inlinemediaobject.element
  1948. inlinemediaobject.attlist &=
  1949. common.attrib,
  1950. inlinemediaobject.role.attrib,
  1951. local.inlinemediaobject.attrib
  1952. # end of inlinemediaobject.attlist
  1953. # end of inlinemediaobject.module
  1954. local.videoobject.attrib = empty
  1955. videoobject.role.attrib = role.attrib
  1956. videoobject =
  1957. element videoobject { videoobject.attlist, objectinfo?, videodata }
  1958. # end of videoobject.element
  1959. videoobject.attlist &=
  1960. common.attrib, videoobject.role.attrib, local.videoobject.attrib
  1961. # end of videoobject.attlist
  1962. # end of videoobject.module
  1963. local.audioobject.attrib = empty
  1964. audioobject.role.attrib = role.attrib
  1965. audioobject =
  1966. element audioobject { audioobject.attlist, objectinfo?, audiodata }
  1967. # end of audioobject.element
  1968. audioobject.attlist &=
  1969. common.attrib, audioobject.role.attrib, local.audioobject.attrib
  1970. # end of audioobject.attlist
  1971. # end of audioobject.module
  1972. local.imageobject.attrib = empty
  1973. imageobject.role.attrib = role.attrib
  1974. imageobject =
  1975. element imageobject { imageobject.attlist, objectinfo?, imagedata }
  1976. # end of imageobject.element
  1977. imageobject.attlist &=
  1978. common.attrib, imageobject.role.attrib, local.imageobject.attrib
  1979. # end of imageobject.attlist
  1980. # end of imageobject.module
  1981. local.textobject.attrib = empty
  1982. textobject.role.attrib = role.attrib
  1983. textobject =
  1984. element textobject {
  1985. textobject.attlist,
  1986. objectinfo?,
  1987. (phrase | textdata | textobject.mix+)
  1988. }
  1989. # end of textobject.element
  1990. textobject.attlist &=
  1991. common.attrib, textobject.role.attrib, local.textobject.attrib
  1992. # end of textobject.attlist
  1993. # end of textobject.module
  1994. local.objectinfo.attrib = empty
  1995. objectinfo.role.attrib = role.attrib
  1996. objectinfo = element objectinfo { objectinfo.attlist, info.class+ }
  1997. # end of objectinfo.element
  1998. objectinfo.attlist &=
  1999. common.attrib, objectinfo.role.attrib, local.objectinfo.attrib
  2000. # end of objectinfo.attlist
  2001. # end of objectinfo.module
  2002. # EntityRef: Name of an external entity containing the content
  2003. # of the object data
  2004. # FileRef: Filename, qualified by a pathname if desired,
  2005. # designating the file containing the content of the object data
  2006. # Format: Notation of the element content, if any
  2007. # SrcCredit: Information about the source of the image
  2008. local.objectdata.attrib = empty
  2009. objectdata.attrib =
  2010. attribute entityref { xsd:ENTITY }?,
  2011. attribute fileref { text }?,
  2012. attribute format { notation.class }?,
  2013. attribute srccredit { text }?,
  2014. local.objectdata.attrib
  2015. local.videodata.attrib = empty
  2016. videodata.role.attrib = role.attrib
  2017. videodata = element videodata { videodata.attlist, empty }
  2018. # end of videodata.element
  2019. # Width: Same as CALS reprowid (desired width)
  2020. # Depth: Same as CALS reprodep (desired depth)
  2021. # Align: Same as CALS hplace with 'none' removed; #IMPLIED means
  2022. # application-specific
  2023. # Scale: Conflation of CALS hscale and vscale
  2024. # Scalefit: Same as CALS scalefit
  2025. videodata.attlist &=
  2026. attribute width { text }?,
  2027. attribute contentwidth { text }?,
  2028. attribute depth { text }?,
  2029. attribute contentdepth { text }?,
  2030. attribute align { "left" | "right" | "center" }?,
  2031. attribute valign { "top" | "middle" | "bottom" }?,
  2032. attribute scale { text }?,
  2033. attribute scalefit { yesorno.attvals }?,
  2034. objectdata.attrib,
  2035. common.attrib,
  2036. videodata.role.attrib,
  2037. local.videodata.attrib
  2038. # end of videodata.attlist
  2039. # end of videodata.module
  2040. local.audiodata.attrib = empty
  2041. audiodata.role.attrib = role.attrib
  2042. audiodata = element audiodata { audiodata.attlist, empty }
  2043. # end of audiodata.element
  2044. audiodata.attlist &=
  2045. objectdata.attrib,
  2046. common.attrib,
  2047. audiodata.role.attrib,
  2048. local.audiodata.attrib
  2049. # end of audiodata.attlist
  2050. # end of audiodata.module
  2051. local.imagedata.attrib = empty
  2052. imagedata.role.attrib = role.attrib
  2053. imagedata = element imagedata { imagedata.attlist, empty }
  2054. # end of imagedata.element
  2055. # Width: Same as CALS reprowid (desired width)
  2056. # Depth: Same as CALS reprodep (desired depth)
  2057. # Align: Same as CALS hplace with 'none' removed; #IMPLIED means
  2058. # application-specific
  2059. # Scale: Conflation of CALS hscale and vscale
  2060. # Scalefit: Same as CALS scalefit
  2061. imagedata.attlist &=
  2062. attribute width { text }?,
  2063. attribute contentwidth { text }?,
  2064. attribute depth { text }?,
  2065. attribute contentdepth { text }?,
  2066. attribute align { "left" | "right" | "center" }?,
  2067. attribute valign { "top" | "middle" | "bottom" }?,
  2068. attribute scale { text }?,
  2069. attribute scalefit { yesorno.attvals }?,
  2070. objectdata.attrib,
  2071. common.attrib,
  2072. imagedata.role.attrib,
  2073. local.imagedata.attrib
  2074. # end of imagedata.attlist
  2075. # end of imagedata.module
  2076. local.textdata.attrib = empty
  2077. textdata.role.attrib = role.attrib
  2078. textdata = element textdata { textdata.attlist, empty }
  2079. # end of textdata.element
  2080. textdata.attlist &=
  2081. attribute encoding { text }?,
  2082. objectdata.attrib,
  2083. common.attrib,
  2084. textdata.role.attrib,
  2085. local.textdata.attrib
  2086. # end of textdata.attlist
  2087. # end of textdata.module
  2088. local.caption.attrib = empty
  2089. caption.role.attrib = role.attrib
  2090. caption = element caption { caption.attlist, textobject.mix* }
  2091. # end of caption.element
  2092. caption.attlist &=
  2093. common.attrib, caption.role.attrib, local.caption.attrib
  2094. # end of caption.attlist
  2095. # end of caption.module
  2096. local.mediaobjectco.attrib = empty
  2097. mediaobjectco.role.attrib = role.attrib
  2098. mediaobjectco =
  2099. element mediaobjectco {
  2100. mediaobjectco.attlist,
  2101. objectinfo?,
  2102. imageobjectco,
  2103. (imageobjectco | textobject)*
  2104. }
  2105. # end of mediaobjectco.element
  2106. mediaobjectco.attlist &=
  2107. common.attrib, mediaobjectco.role.attrib, local.mediaobjectco.attrib
  2108. # end of mediaobjectco.attlist
  2109. # end of mediaobjectco.module
  2110. local.imageobjectco.attrib = empty
  2111. imageobjectco.role.attrib = role.attrib
  2112. imageobjectco =
  2113. element imageobjectco {
  2114. imageobjectco.attlist, areaspec, imageobject, calloutlist*
  2115. }
  2116. # end of imageobjectco.element
  2117. imageobjectco.attlist &=
  2118. common.attrib, imageobjectco.role.attrib, local.imageobjectco.attrib
  2119. # end of imageobjectco.attlist
  2120. # end of imageobjectco.module
  2121. # end of mediaobject.content.module
  2122. # Equations ........................
  2123. # This PE provides a mechanism for replacing equation content,
  2124. # perhaps adding a new or different model (e.g., MathML)
  2125. equation.content = alt?, (graphic+ | mediaobject+)
  2126. inlineequation.content = alt?, (graphic+ | inlinemediaobject+)
  2127. local.equation.attrib = empty
  2128. equation.role.attrib = role.attrib
  2129. equation =
  2130. element equation {
  2131. equation.attlist,
  2132. blockinfo?,
  2133. formalobject.title.content?,
  2134. (informalequation | equation.content)
  2135. }
  2136. # end of equation.element
  2137. equation.attlist &=
  2138. label.attrib,
  2139. common.attrib,
  2140. equation.role.attrib,
  2141. local.equation.attrib
  2142. # end of equation.attlist
  2143. # end of equation.module
  2144. local.informalequation.attrib = empty
  2145. informalequation.role.attrib = role.attrib
  2146. informalequation =
  2147. element informalequation {
  2148. informalequation.attlist, blockinfo?, equation.content
  2149. }
  2150. # end of informalequation.element
  2151. informalequation.attlist &=
  2152. common.attrib,
  2153. informalequation.role.attrib,
  2154. local.informalequation.attrib
  2155. # end of informalequation.attlist
  2156. # end of informalequation.module
  2157. local.inlineequation.attrib = empty
  2158. inlineequation.role.attrib = role.attrib
  2159. inlineequation =
  2160. element inlineequation {
  2161. inlineequation.attlist, inlineequation.content
  2162. }
  2163. # end of inlineequation.element
  2164. inlineequation.attlist &=
  2165. common.attrib, inlineequation.role.attrib, local.inlineequation.attrib
  2166. # end of inlineequation.attlist
  2167. # end of inlineequation.module
  2168. local.alt.attrib = empty
  2169. alt.role.attrib = role.attrib
  2170. alt = element alt { alt.attlist, text }
  2171. # end of alt.element
  2172. alt.attlist &= common.attrib, alt.role.attrib, local.alt.attrib
  2173. # end of alt.attlist
  2174. # end of alt.module
  2175. # Tables ...........................
  2176. tables.role.attrib = role.attrib
  2177. # Note that InformalTable is dependent on some of the entity
  2178. # declarations that customize Table.
  2179. local.informaltable.attrib = empty
  2180. informaltable =
  2181. element informaltable {
  2182. informaltable.attlist,
  2183. blockinfo?,
  2184. textobject*,
  2185. (graphic+ | mediaobject+ | tgroup+)
  2186. }
  2187. # end of informaltable.element
  2188. # Frame, Colsep, and Rowsep must be repeated because
  2189. # they are not in entities in the table module.
  2190. # includes TabStyle, ToCentry, ShortEntry,
  2191. # Orient, PgWide
  2192. # includes Label
  2193. # includes common attributes
  2194. informaltable.attlist &=
  2195. attribute frame {
  2196. "top" | "bottom" | "topbot" | "all" | "sides" | "none"
  2197. }?,
  2198. attribute colsep { yesorno.attvals }?,
  2199. attribute rowsep { yesorno.attvals }?,
  2200. common.table.attribs,
  2201. tbl.table.att,
  2202. local.informaltable.attrib
  2203. # end of informaltable.attlist
  2204. # end of informaltable.module
  2205. # ......................................................................
  2206. # Synopses .............................................................
  2207. # Synopsis .........................
  2208. local.synopsis.attrib = empty
  2209. synopsis.role.attrib = role.attrib
  2210. synopsis =
  2211. element synopsis {
  2212. synopsis.attlist,
  2213. (para.char.mix
  2214. | graphic
  2215. | mediaobject
  2216. | co
  2217. | coref
  2218. | textobject
  2219. | lineannotation)*
  2220. }
  2221. # end of synopsis.element
  2222. synopsis.attlist &=
  2223. label.attrib,
  2224. linespecific.attrib,
  2225. common.attrib,
  2226. synopsis.role.attrib,
  2227. local.synopsis.attrib
  2228. # end of synopsis.attlist
  2229. # LineAnnotation (defined in the Inlines section, below)
  2230. # end of synopsis.module
  2231. # CmdSynopsis ......................
  2232. local.cmdsynopsis.attrib = empty
  2233. cmdsynopsis.role.attrib = role.attrib
  2234. cmdsynopsis =
  2235. element cmdsynopsis {
  2236. cmdsynopsis.attlist, (command | arg | group | sbr)+, synopfragment*
  2237. }
  2238. # end of cmdsynopsis.element
  2239. # Sepchar: Character that should separate command and all
  2240. # top-level arguments; alternate value might be e.g., &Delta;
  2241. cmdsynopsis.attlist &=
  2242. label.attrib,
  2243. [ a:defaultValue = " " ] attribute sepchar { text }?,
  2244. attribute cmdlength { text }?,
  2245. common.attrib,
  2246. cmdsynopsis.role.attrib,
  2247. local.cmdsynopsis.attrib
  2248. # end of cmdsynopsis.attlist
  2249. # end of cmdsynopsis.module
  2250. local.arg.attrib = empty
  2251. arg.role.attrib = role.attrib
  2252. arg =
  2253. element arg {
  2254. arg.attlist,
  2255. (text
  2256. | arg
  2257. | group
  2258. | option
  2259. | synopfragmentref
  2260. | replaceable
  2261. | sbr)*
  2262. }
  2263. # end of arg.element
  2264. # Choice: Whether Arg must be supplied: Opt (optional to
  2265. # supply, e.g. [arg]; the default), Req (required to supply,
  2266. # e.g. {arg}), or Plain (required to supply, e.g. arg)
  2267. # Rep: whether Arg is repeatable: Norepeat (e.g. arg without
  2268. # ellipsis; the default), or Repeat (e.g. arg...)
  2269. arg.attlist &=
  2270. [ a:defaultValue = "opt" ]
  2271. attribute choice { "opt" | "req" | "plain" }?,
  2272. [ a:defaultValue = "norepeat" ]
  2273. attribute rep { "norepeat" | "repeat" }?,
  2274. common.attrib,
  2275. arg.role.attrib,
  2276. local.arg.attrib
  2277. # end of arg.attlist
  2278. # end of arg.module
  2279. local.group.attrib = empty
  2280. group.role.attrib = role.attrib
  2281. group =
  2282. element group {
  2283. group.attlist,
  2284. (arg | group | option | synopfragmentref | replaceable | sbr)+
  2285. }
  2286. # end of group.element
  2287. # Choice: Whether Group must be supplied: Opt (optional to
  2288. # supply, e.g. [g1|g2|g3]; the default), Req (required to
  2289. # supply, e.g. {g1|g2|g3}), Plain (required to supply,
  2290. # e.g. g1|g2|g3), OptMult (can supply zero or more, e.g.
  2291. # [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
  2292. # {{g1|g2|g3}})
  2293. # Rep: whether Group is repeatable: Norepeat (e.g. group
  2294. # without ellipsis; the default), or Repeat (e.g. group...)
  2295. group.attlist &=
  2296. [ a:defaultValue = "opt" ]
  2297. attribute choice { "opt" | "req" | "plain" }?,
  2298. [ a:defaultValue = "norepeat" ]
  2299. attribute rep { "norepeat" | "repeat" }?,
  2300. common.attrib,
  2301. group.role.attrib,
  2302. local.group.attrib
  2303. # end of group.attlist
  2304. # end of group.module
  2305. local.sbr.attrib = empty
  2306. # Synopsis break
  2307. sbr.role.attrib = role.attrib
  2308. sbr = element sbr { sbr.attlist, empty }
  2309. # end of sbr.element
  2310. sbr.attlist &= common.attrib, sbr.role.attrib, local.sbr.attrib
  2311. # end of sbr.attlist
  2312. # end of sbr.module
  2313. local.synopfragmentref.attrib = empty
  2314. synopfragmentref.role.attrib = role.attrib
  2315. synopfragmentref =
  2316. element synopfragmentref { synopfragmentref.attlist, text }
  2317. # end of synopfragmentref.element
  2318. # to SynopFragment of complex synopsis
  2319. # material for separate referencing
  2320. synopfragmentref.attlist &=
  2321. linkendreq.attrib,
  2322. common.attrib,
  2323. synopfragmentref.role.attrib,
  2324. local.synopfragmentref.attrib
  2325. # end of synopfragmentref.attlist
  2326. # end of synopfragmentref.module
  2327. local.synopfragment.attrib = empty
  2328. synopfragment.role.attrib = role.attrib
  2329. synopfragment =
  2330. element synopfragment { synopfragment.attlist, (arg | group)+ }
  2331. # end of synopfragment.element
  2332. synopfragment.attlist &=
  2333. idreq.common.attrib,
  2334. synopfragment.role.attrib,
  2335. local.synopfragment.attrib
  2336. # end of synopfragment.attlist
  2337. # end of synopfragment.module
  2338. # Command (defined in the Inlines section, below)
  2339. # Option (defined in the Inlines section, below)
  2340. # Replaceable (defined in the Inlines section, below)
  2341. # end of cmdsynopsis.content.module
  2342. # FuncSynopsis .....................
  2343. local.funcsynopsis.attrib = empty
  2344. funcsynopsis.role.attrib = role.attrib
  2345. funcsynopsis =
  2346. element funcsynopsis {
  2347. funcsynopsis.attlist, (funcsynopsisinfo | funcprototype)+
  2348. }
  2349. # end of funcsynopsis.element
  2350. funcsynopsis.attlist &=
  2351. label.attrib,
  2352. common.attrib,
  2353. funcsynopsis.role.attrib,
  2354. local.funcsynopsis.attrib
  2355. # end of funcsynopsis.attlist
  2356. # end of funcsynopsis.module
  2357. local.funcsynopsisinfo.attrib = empty
  2358. funcsynopsisinfo.role.attrib = role.attrib
  2359. funcsynopsisinfo =
  2360. element funcsynopsisinfo {
  2361. funcsynopsisinfo.attlist,
  2362. (cptr.char.mix | textobject | lineannotation)*
  2363. }
  2364. # end of funcsynopsisinfo.element
  2365. funcsynopsisinfo.attlist &=
  2366. linespecific.attrib,
  2367. common.attrib,
  2368. funcsynopsisinfo.role.attrib,
  2369. local.funcsynopsisinfo.attrib
  2370. # end of funcsynopsisinfo.attlist
  2371. # end of funcsynopsisinfo.module
  2372. local.funcprototype.attrib = empty
  2373. funcprototype.role.attrib = role.attrib
  2374. funcprototype =
  2375. element funcprototype {
  2376. funcprototype.attlist, funcdef, (void | varargs | paramdef+)
  2377. }
  2378. # end of funcprototype.element
  2379. funcprototype.attlist &=
  2380. common.attrib, funcprototype.role.attrib, local.funcprototype.attrib
  2381. # end of funcprototype.attlist
  2382. # end of funcprototype.module
  2383. local.funcdef.attrib = empty
  2384. funcdef.role.attrib = role.attrib
  2385. funcdef =
  2386. element funcdef {
  2387. funcdef.attlist, (text | type | replaceable | function)*
  2388. }
  2389. # end of funcdef.element
  2390. funcdef.attlist &=
  2391. common.attrib, funcdef.role.attrib, local.funcdef.attrib
  2392. # end of funcdef.attlist
  2393. # end of funcdef.module
  2394. local.void.attrib = empty
  2395. void.role.attrib = role.attrib
  2396. void = element void { void.attlist, empty }
  2397. # end of void.element
  2398. void.attlist &= common.attrib, void.role.attrib, local.void.attrib
  2399. # end of void.attlist
  2400. # end of void.module
  2401. local.varargs.attrib = empty
  2402. varargs.role.attrib = role.attrib
  2403. varargs = element varargs { varargs.attlist, empty }
  2404. # end of varargs.element
  2405. varargs.attlist &=
  2406. common.attrib, varargs.role.attrib, local.varargs.attrib
  2407. # end of varargs.attlist
  2408. # end of varargs.module
  2409. # Processing assumes that only one Parameter will appear in a
  2410. # ParamDef, and that FuncParams will be used at most once, for
  2411. # providing information on the "inner parameters" for parameters that
  2412. # are pointers to functions.
  2413. local.paramdef.attrib = empty
  2414. paramdef.role.attrib = role.attrib
  2415. paramdef =
  2416. element paramdef {
  2417. paramdef.attlist,
  2418. (text | type | replaceable | parameter | funcparams)*
  2419. }
  2420. # end of paramdef.element
  2421. paramdef.attlist &=
  2422. common.attrib, paramdef.role.attrib, local.paramdef.attrib
  2423. # end of paramdef.attlist
  2424. # end of paramdef.module
  2425. local.funcparams.attrib = empty
  2426. funcparams.role.attrib = role.attrib
  2427. funcparams = element funcparams { funcparams.attlist, cptr.char.mix* }
  2428. # end of funcparams.element
  2429. funcparams.attlist &=
  2430. common.attrib, funcparams.role.attrib, local.funcparams.attrib
  2431. # end of funcparams.attlist
  2432. # end of funcparams.module
  2433. # LineAnnotation (defined in the Inlines section, below)
  2434. # Replaceable (defined in the Inlines section, below)
  2435. # Function (defined in the Inlines section, below)
  2436. # Parameter (defined in the Inlines section, below)
  2437. # end of funcsynopsis.content.module
  2438. # ClassSynopsis .....................
  2439. local.classsynopsis.attrib = empty
  2440. classsynopsis.role.attrib = role.attrib
  2441. classsynopsis =
  2442. element classsynopsis {
  2443. classsynopsis.attlist,
  2444. (ooclass | oointerface | ooexception)+,
  2445. (classsynopsisinfo | fieldsynopsis | method.synop.class)*
  2446. }
  2447. # end of classsynopsis.element
  2448. classsynopsis.attlist &=
  2449. attribute language { text }?,
  2450. [ a:defaultValue = "class" ]
  2451. attribute class { "class" | "interface" }?,
  2452. common.attrib,
  2453. classsynopsis.role.attrib,
  2454. local.classsynopsis.attrib
  2455. # end of classsynopsis.attlist
  2456. # end of classsynopsis.module
  2457. local.classsynopsisinfo.attrib = empty
  2458. classsynopsisinfo.role.attrib = role.attrib
  2459. classsynopsisinfo =
  2460. element classsynopsisinfo {
  2461. classsynopsisinfo.attlist,
  2462. (cptr.char.mix | textobject | lineannotation)*
  2463. }
  2464. # end of classsynopsisinfo.element
  2465. classsynopsisinfo.attlist &=
  2466. linespecific.attrib,
  2467. common.attrib,
  2468. classsynopsisinfo.role.attrib,
  2469. local.classsynopsisinfo.attrib
  2470. # end of classsynopsisinfo.attlist
  2471. # end of classsynopsisinfo.module
  2472. local.ooclass.attrib = empty
  2473. ooclass.role.attrib = role.attrib
  2474. ooclass = element ooclass { ooclass.attlist, modifier*, classname }
  2475. # end of ooclass.element
  2476. ooclass.attlist &=
  2477. common.attrib, ooclass.role.attrib, local.ooclass.attrib
  2478. # end of ooclass.attlist
  2479. # end of ooclass.module
  2480. local.oointerface.attrib = empty
  2481. oointerface.role.attrib = role.attrib
  2482. oointerface =
  2483. element oointerface { oointerface.attlist, modifier*, interfacename }
  2484. # end of oointerface.element
  2485. oointerface.attlist &=
  2486. common.attrib, oointerface.role.attrib, local.oointerface.attrib
  2487. # end of oointerface.attlist
  2488. # end of oointerface.module
  2489. local.ooexception.attrib = empty
  2490. ooexception.role.attrib = role.attrib
  2491. ooexception =
  2492. element ooexception { ooexception.attlist, modifier*, exceptionname }
  2493. # end of ooexception.element
  2494. ooexception.attlist &=
  2495. common.attrib, ooexception.role.attrib, local.ooexception.attrib
  2496. # end of ooexception.attlist
  2497. # end of ooexception.module
  2498. local.modifier.attrib = empty
  2499. modifier.role.attrib = role.attrib
  2500. modifier = element modifier { modifier.attlist, smallcptr.char.mix* }
  2501. # end of modifier.element
  2502. modifier.attlist &=
  2503. common.attrib, modifier.role.attrib, local.modifier.attrib
  2504. # end of modifier.attlist
  2505. # end of modifier.module
  2506. local.interfacename.attrib = empty
  2507. interfacename.role.attrib = role.attrib
  2508. interfacename =
  2509. element interfacename { interfacename.attlist, cptr.char.mix* }
  2510. # end of interfacename.element
  2511. interfacename.attlist &=
  2512. common.attrib, interfacename.role.attrib, local.interfacename.attrib
  2513. # end of interfacename.attlist
  2514. # end of interfacename.module
  2515. local.exceptionname.attrib = empty
  2516. exceptionname.role.attrib = role.attrib
  2517. exceptionname =
  2518. element exceptionname { exceptionname.attlist, smallcptr.char.mix* }
  2519. # end of exceptionname.element
  2520. exceptionname.attlist &=
  2521. common.attrib, exceptionname.role.attrib, local.exceptionname.attrib
  2522. # end of exceptionname.attlist
  2523. # end of exceptionname.module
  2524. local.fieldsynopsis.attrib = empty
  2525. fieldsynopsis.role.attrib = role.attrib
  2526. fieldsynopsis =
  2527. element fieldsynopsis {
  2528. fieldsynopsis.attlist, modifier*, type?, varname, initializer?
  2529. }
  2530. # end of fieldsynopsis.element
  2531. fieldsynopsis.attlist &=
  2532. attribute language { text }?,
  2533. common.attrib,
  2534. fieldsynopsis.role.attrib,
  2535. local.fieldsynopsis.attrib
  2536. # end of fieldsynopsis.attlist
  2537. # end of fieldsynopsis.module
  2538. local.initializer.attrib = empty
  2539. initializer.role.attrib = role.attrib
  2540. initializer =
  2541. element initializer { initializer.attlist, smallcptr.char.mix* }
  2542. # end of initializer.element
  2543. initializer.attlist &=
  2544. common.attrib, initializer.role.attrib, local.initializer.attrib
  2545. # end of initializer.attlist
  2546. # end of initializer.module
  2547. local.constructorsynopsis.attrib = empty
  2548. constructorsynopsis.role.attrib = role.attrib
  2549. constructorsynopsis =
  2550. element constructorsynopsis {
  2551. constructorsynopsis.attlist,
  2552. modifier*,
  2553. methodname?,
  2554. (methodparam+ | void),
  2555. exceptionname*
  2556. }
  2557. # end of constructorsynopsis.element
  2558. constructorsynopsis.attlist &=
  2559. attribute language { text }?,
  2560. common.attrib,
  2561. constructorsynopsis.role.attrib,
  2562. local.constructorsynopsis.attrib
  2563. # end of constructorsynopsis.attlist
  2564. # end of constructorsynopsis.module
  2565. local.destructorsynopsis.attrib = empty
  2566. destructorsynopsis.role.attrib = role.attrib
  2567. destructorsynopsis =
  2568. element destructorsynopsis {
  2569. destructorsynopsis.attlist,
  2570. modifier*,
  2571. methodname?,
  2572. (methodparam+ | void),
  2573. exceptionname*
  2574. }
  2575. # end of destructorsynopsis.element
  2576. destructorsynopsis.attlist &=
  2577. attribute language { text }?,
  2578. common.attrib,
  2579. destructorsynopsis.role.attrib,
  2580. local.destructorsynopsis.attrib
  2581. # end of destructorsynopsis.attlist
  2582. # end of destructorsynopsis.module
  2583. local.methodsynopsis.attrib = empty
  2584. methodsynopsis.role.attrib = role.attrib
  2585. methodsynopsis =
  2586. element methodsynopsis {
  2587. methodsynopsis.attlist,
  2588. modifier*,
  2589. (type | void)?,
  2590. methodname,
  2591. (methodparam+ | void),
  2592. exceptionname*,
  2593. modifier*
  2594. }
  2595. # end of methodsynopsis.element
  2596. methodsynopsis.attlist &=
  2597. attribute language { text }?,
  2598. common.attrib,
  2599. methodsynopsis.role.attrib,
  2600. local.methodsynopsis.attrib
  2601. # end of methodsynopsis.attlist
  2602. # end of methodsynopsis.module
  2603. local.methodname.attrib = empty
  2604. methodname.role.attrib = role.attrib
  2605. methodname =
  2606. element methodname { methodname.attlist, smallcptr.char.mix* }
  2607. # end of methodname.element
  2608. methodname.attlist &=
  2609. common.attrib, methodname.role.attrib, local.methodname.attrib
  2610. # end of methodname.attlist
  2611. # end of methodname.module
  2612. local.methodparam.attrib = empty
  2613. methodparam.role.attrib = role.attrib
  2614. methodparam =
  2615. element methodparam {
  2616. methodparam.attlist,
  2617. modifier*,
  2618. type?,
  2619. ((parameter, initializer?) | funcparams),
  2620. modifier*
  2621. }
  2622. # end of methodparam.element
  2623. methodparam.attlist &=
  2624. [ a:defaultValue = "req" ]
  2625. attribute choice { "opt" | "req" | "plain" }?,
  2626. [ a:defaultValue = "norepeat" ]
  2627. attribute rep { "norepeat" | "repeat" }?,
  2628. common.attrib,
  2629. methodparam.role.attrib,
  2630. local.methodparam.attrib
  2631. # end of methodparam.attlist
  2632. # end of methodparam.module
  2633. # end of classsynopsis.content.module
  2634. # ......................................................................
  2635. # Document information entities and elements ...........................
  2636. # The document information elements include some elements that are
  2637. # currently used only in the document hierarchy module. They are
  2638. # defined here so that they will be available for use in customized
  2639. # document hierarchies.
  2640. # ..................................
  2641. # Ackno ............................
  2642. local.ackno.attrib = empty
  2643. ackno.role.attrib = role.attrib
  2644. ackno = element ackno { ackno.attlist, docinfo.char.mix* }
  2645. # end of ackno.element
  2646. ackno.attlist &= common.attrib, ackno.role.attrib, local.ackno.attrib
  2647. # end of ackno.attlist
  2648. # end of ackno.module
  2649. # Address ..........................
  2650. local.address.attrib = empty
  2651. address.role.attrib = role.attrib
  2652. address =
  2653. element address {
  2654. address.attlist,
  2655. (text
  2656. | personname
  2657. | person.ident.mix
  2658. | street
  2659. | pob
  2660. | postcode
  2661. | city
  2662. | state
  2663. | country
  2664. | phone
  2665. | fax
  2666. | email
  2667. | otheraddr)*
  2668. }
  2669. # end of address.element
  2670. address.attlist &=
  2671. linespecific.attrib,
  2672. common.attrib,
  2673. address.role.attrib,
  2674. local.address.attrib
  2675. # end of address.attlist
  2676. # end of address.module
  2677. local.street.attrib = empty
  2678. street.role.attrib = role.attrib
  2679. street = element street { street.attlist, docinfo.char.mix* }
  2680. # end of street.element
  2681. street.attlist &= common.attrib, street.role.attrib, local.street.attrib
  2682. # end of street.attlist
  2683. # end of street.module
  2684. local.pob.attrib = empty
  2685. pob.role.attrib = role.attrib
  2686. pob = element pob { pob.attlist, docinfo.char.mix* }
  2687. # end of pob.element
  2688. pob.attlist &= common.attrib, pob.role.attrib, local.pob.attrib
  2689. # end of pob.attlist
  2690. # end of pob.module
  2691. local.postcode.attrib = empty
  2692. postcode.role.attrib = role.attrib
  2693. postcode = element postcode { postcode.attlist, docinfo.char.mix* }
  2694. # end of postcode.element
  2695. postcode.attlist &=
  2696. common.attrib, postcode.role.attrib, local.postcode.attrib
  2697. # end of postcode.attlist
  2698. # end of postcode.module
  2699. local.city.attrib = empty
  2700. city.role.attrib = role.attrib
  2701. city = element city { city.attlist, docinfo.char.mix* }
  2702. # end of city.element
  2703. city.attlist &= common.attrib, city.role.attrib, local.city.attrib
  2704. # end of city.attlist
  2705. # end of city.module
  2706. local.state.attrib = empty
  2707. state.role.attrib = role.attrib
  2708. state = element state { state.attlist, docinfo.char.mix* }
  2709. # end of state.element
  2710. state.attlist &= common.attrib, state.role.attrib, local.state.attrib
  2711. # end of state.attlist
  2712. # end of state.module
  2713. local.country.attrib = empty
  2714. country.role.attrib = role.attrib
  2715. country = element country { country.attlist, docinfo.char.mix* }
  2716. # end of country.element
  2717. country.attlist &=
  2718. common.attrib, country.role.attrib, local.country.attrib
  2719. # end of country.attlist
  2720. # end of country.module
  2721. local.phone.attrib = empty
  2722. phone.role.attrib = role.attrib
  2723. phone = element phone { phone.attlist, docinfo.char.mix* }
  2724. # end of phone.element
  2725. phone.attlist &= common.attrib, phone.role.attrib, local.phone.attrib
  2726. # end of phone.attlist
  2727. # end of phone.module
  2728. local.fax.attrib = empty
  2729. fax.role.attrib = role.attrib
  2730. fax = element fax { fax.attlist, docinfo.char.mix* }
  2731. # end of fax.element
  2732. fax.attlist &= common.attrib, fax.role.attrib, local.fax.attrib
  2733. # end of fax.attlist
  2734. # end of fax.module
  2735. # Email (defined in the Inlines section, below)
  2736. local.otheraddr.attrib = empty
  2737. otheraddr.role.attrib = role.attrib
  2738. otheraddr = element otheraddr { otheraddr.attlist, docinfo.char.mix* }
  2739. # end of otheraddr.element
  2740. otheraddr.attlist &=
  2741. common.attrib, otheraddr.role.attrib, local.otheraddr.attrib
  2742. # end of otheraddr.attlist
  2743. # end of otheraddr.module
  2744. # end of address.content.module
  2745. # Affiliation ......................
  2746. local.affiliation.attrib = empty
  2747. affiliation.role.attrib = role.attrib
  2748. affiliation =
  2749. element affiliation {
  2750. affiliation.attlist,
  2751. shortaffil?,
  2752. jobtitle*,
  2753. orgname?,
  2754. orgdiv*,
  2755. address*
  2756. }
  2757. # end of affiliation.element
  2758. affiliation.attlist &=
  2759. common.attrib, affiliation.role.attrib, local.affiliation.attrib
  2760. # end of affiliation.attlist
  2761. # end of affiliation.module
  2762. local.shortaffil.attrib = empty
  2763. shortaffil.role.attrib = role.attrib
  2764. shortaffil =
  2765. element shortaffil { shortaffil.attlist, docinfo.char.mix* }
  2766. # end of shortaffil.element
  2767. shortaffil.attlist &=
  2768. common.attrib, shortaffil.role.attrib, local.shortaffil.attrib
  2769. # end of shortaffil.attlist
  2770. # end of shortaffil.module
  2771. local.jobtitle.attrib = empty
  2772. jobtitle.role.attrib = role.attrib
  2773. jobtitle = element jobtitle { jobtitle.attlist, docinfo.char.mix* }
  2774. # end of jobtitle.element
  2775. jobtitle.attlist &=
  2776. common.attrib, jobtitle.role.attrib, local.jobtitle.attrib
  2777. # end of jobtitle.attlist
  2778. # end of jobtitle.module
  2779. # OrgName (defined elsewhere in this section)
  2780. local.orgdiv.attrib = empty
  2781. orgdiv.role.attrib = role.attrib
  2782. orgdiv = element orgdiv { orgdiv.attlist, docinfo.char.mix* }
  2783. # end of orgdiv.element
  2784. orgdiv.attlist &= common.attrib, orgdiv.role.attrib, local.orgdiv.attrib
  2785. # end of orgdiv.attlist
  2786. # end of orgdiv.module
  2787. # Address (defined elsewhere in this section)
  2788. # end of affiliation.content.module
  2789. # ArtPageNums ......................
  2790. local.artpagenums.attrib = empty
  2791. artpagenums.role.attrib = role.attrib
  2792. artpagenums =
  2793. element artpagenums { artpagenums.attlist, docinfo.char.mix* }
  2794. # end of artpagenums.element
  2795. artpagenums.attlist &=
  2796. common.attrib, artpagenums.role.attrib, local.artpagenums.attrib
  2797. # end of artpagenums.attlist
  2798. # end of artpagenums.module
  2799. # PersonName
  2800. local.personname.attrib = empty
  2801. personname.role.attrib = role.attrib
  2802. personname =
  2803. element personname {
  2804. personname.attlist,
  2805. (honorific | firstname | surname | lineage | othername)+
  2806. }
  2807. # end of personname.element
  2808. personname.attlist &=
  2809. common.attrib, personname.role.attrib, local.personname.attrib
  2810. # end of personname.attlist
  2811. # end of personname.module
  2812. # Author ...........................
  2813. local.author.attrib = empty
  2814. author.role.attrib = role.attrib
  2815. author =
  2816. element author {
  2817. author.attlist,
  2818. (personname | person.ident.mix+),
  2819. (personblurb | email | address)*
  2820. }
  2821. # end of author.element
  2822. author.attlist &= common.attrib, author.role.attrib, local.author.attrib
  2823. # end of author.attlist
  2824. # (see "Personal identity elements" for %person.ident.mix;)
  2825. # end of author.module
  2826. # AuthorGroup ......................
  2827. local.authorgroup.attrib = empty
  2828. authorgroup.role.attrib = role.attrib
  2829. authorgroup =
  2830. element authorgroup {
  2831. authorgroup.attlist,
  2832. (author | editor | collab | corpauthor | othercredit)+
  2833. }
  2834. # end of authorgroup.element
  2835. authorgroup.attlist &=
  2836. common.attrib, authorgroup.role.attrib, local.authorgroup.attrib
  2837. # end of authorgroup.attlist
  2838. # end of authorgroup.module
  2839. # Author (defined elsewhere in this section)
  2840. # Editor (defined elsewhere in this section)
  2841. local.collab.attrib = empty
  2842. collab.role.attrib = role.attrib
  2843. collab = element collab { collab.attlist, collabname, affiliation* }
  2844. # end of collab.element
  2845. collab.attlist &= common.attrib, collab.role.attrib, local.collab.attrib
  2846. # end of collab.attlist
  2847. # end of collab.module
  2848. local.collabname.attrib = empty
  2849. collabname.role.attrib = role.attrib
  2850. collabname =
  2851. element collabname { collabname.attlist, docinfo.char.mix* }
  2852. # end of collabname.element
  2853. collabname.attlist &=
  2854. common.attrib, collabname.role.attrib, local.collabname.attrib
  2855. # end of collabname.attlist
  2856. # end of collabname.module
  2857. # Affiliation (defined elsewhere in this section)
  2858. # end of collab.content.module
  2859. # CorpAuthor (defined elsewhere in this section)
  2860. # OtherCredit (defined elsewhere in this section)
  2861. # end of authorgroup.content.module
  2862. # AuthorInitials ...................
  2863. local.authorinitials.attrib = empty
  2864. authorinitials.role.attrib = role.attrib
  2865. authorinitials =
  2866. element authorinitials { authorinitials.attlist, docinfo.char.mix* }
  2867. # end of authorinitials.element
  2868. authorinitials.attlist &=
  2869. common.attrib, authorinitials.role.attrib, local.authorinitials.attrib
  2870. # end of authorinitials.attlist
  2871. # end of authorinitials.module
  2872. # ConfGroup ........................
  2873. local.confgroup.attrib = empty
  2874. confgroup.role.attrib = role.attrib
  2875. confgroup =
  2876. element confgroup {
  2877. confgroup.attlist,
  2878. (confdates | conftitle | confnum | address | confsponsor)*
  2879. }
  2880. # end of confgroup.element
  2881. confgroup.attlist &=
  2882. common.attrib, confgroup.role.attrib, local.confgroup.attrib
  2883. # end of confgroup.attlist
  2884. # end of confgroup.module
  2885. local.confdates.attrib = empty
  2886. confdates.role.attrib = role.attrib
  2887. confdates = element confdates { confdates.attlist, docinfo.char.mix* }
  2888. # end of confdates.element
  2889. confdates.attlist &=
  2890. common.attrib, confdates.role.attrib, local.confdates.attrib
  2891. # end of confdates.attlist
  2892. # end of confdates.module
  2893. local.conftitle.attrib = empty
  2894. conftitle.role.attrib = role.attrib
  2895. conftitle = element conftitle { conftitle.attlist, docinfo.char.mix* }
  2896. # end of conftitle.element
  2897. conftitle.attlist &=
  2898. common.attrib, conftitle.role.attrib, local.conftitle.attrib
  2899. # end of conftitle.attlist
  2900. # end of conftitle.module
  2901. local.confnum.attrib = empty
  2902. confnum.role.attrib = role.attrib
  2903. confnum = element confnum { confnum.attlist, docinfo.char.mix* }
  2904. # end of confnum.element
  2905. confnum.attlist &=
  2906. common.attrib, confnum.role.attrib, local.confnum.attrib
  2907. # end of confnum.attlist
  2908. # end of confnum.module
  2909. # Address (defined elsewhere in this section)
  2910. local.confsponsor.attrib = empty
  2911. confsponsor.role.attrib = role.attrib
  2912. confsponsor =
  2913. element confsponsor { confsponsor.attlist, docinfo.char.mix* }
  2914. # end of confsponsor.element
  2915. confsponsor.attlist &=
  2916. common.attrib, confsponsor.role.attrib, local.confsponsor.attrib
  2917. # end of confsponsor.attlist
  2918. # end of confsponsor.module
  2919. # end of confgroup.content.module
  2920. # ContractNum ......................
  2921. local.contractnum.attrib = empty
  2922. contractnum.role.attrib = role.attrib
  2923. contractnum =
  2924. element contractnum { contractnum.attlist, docinfo.char.mix* }
  2925. # end of contractnum.element
  2926. contractnum.attlist &=
  2927. common.attrib, contractnum.role.attrib, local.contractnum.attrib
  2928. # end of contractnum.attlist
  2929. # end of contractnum.module
  2930. # ContractSponsor ..................
  2931. local.contractsponsor.attrib = empty
  2932. contractsponsor.role.attrib = role.attrib
  2933. contractsponsor =
  2934. element contractsponsor { contractsponsor.attlist, docinfo.char.mix* }
  2935. # end of contractsponsor.element
  2936. contractsponsor.attlist &=
  2937. common.attrib,
  2938. contractsponsor.role.attrib,
  2939. local.contractsponsor.attrib
  2940. # end of contractsponsor.attlist
  2941. # end of contractsponsor.module
  2942. # Copyright ........................
  2943. local.copyright.attrib = empty
  2944. copyright.role.attrib = role.attrib
  2945. copyright = element copyright { copyright.attlist, year+, holder* }
  2946. # end of copyright.element
  2947. copyright.attlist &=
  2948. common.attrib, copyright.role.attrib, local.copyright.attrib
  2949. # end of copyright.attlist
  2950. # end of copyright.module
  2951. local.year.attrib = empty
  2952. year.role.attrib = role.attrib
  2953. year = element year { year.attlist, docinfo.char.mix* }
  2954. # end of year.element
  2955. year.attlist &= common.attrib, year.role.attrib, local.year.attrib
  2956. # end of year.attlist
  2957. # end of year.module
  2958. local.holder.attrib = empty
  2959. holder.role.attrib = role.attrib
  2960. holder = element holder { holder.attlist, docinfo.char.mix* }
  2961. # end of holder.element
  2962. holder.attlist &= common.attrib, holder.role.attrib, local.holder.attrib
  2963. # end of holder.attlist
  2964. # end of holder.module
  2965. # end of copyright.content.module
  2966. # CorpAuthor .......................
  2967. local.corpauthor.attrib = empty
  2968. corpauthor.role.attrib = role.attrib
  2969. corpauthor =
  2970. element corpauthor { corpauthor.attlist, docinfo.char.mix* }
  2971. # end of corpauthor.element
  2972. corpauthor.attlist &=
  2973. common.attrib, corpauthor.role.attrib, local.corpauthor.attrib
  2974. # end of corpauthor.attlist
  2975. # end of corpauthor.module
  2976. # CorpName .........................
  2977. local.corpname.attrib = empty
  2978. corpname = element corpname { corpname.attlist, docinfo.char.mix* }
  2979. # end of corpname.element
  2980. corpname.role.attrib = role.attrib
  2981. corpname.attlist &=
  2982. common.attrib, corpname.role.attrib, local.corpname.attrib
  2983. # end of corpname.attlist
  2984. # end of corpname.module
  2985. # Date .............................
  2986. local.date.attrib = empty
  2987. date.role.attrib = role.attrib
  2988. date = element date { date.attlist, docinfo.char.mix* }
  2989. # end of date.element
  2990. date.attlist &= common.attrib, date.role.attrib, local.date.attrib
  2991. # end of date.attlist
  2992. # end of date.module
  2993. # Edition ..........................
  2994. local.edition.attrib = empty
  2995. edition.role.attrib = role.attrib
  2996. edition = element edition { edition.attlist, docinfo.char.mix* }
  2997. # end of edition.element
  2998. edition.attlist &=
  2999. common.attrib, edition.role.attrib, local.edition.attrib
  3000. # end of edition.attlist
  3001. # end of edition.module
  3002. # Editor ...........................
  3003. local.editor.attrib = empty
  3004. editor.role.attrib = role.attrib
  3005. editor =
  3006. element editor {
  3007. editor.attlist,
  3008. (personname | person.ident.mix+),
  3009. (personblurb | email | address)*
  3010. }
  3011. # end of editor.element
  3012. editor.attlist &= common.attrib, editor.role.attrib, local.editor.attrib
  3013. # end of editor.attlist
  3014. # (see "Personal identity elements" for %person.ident.mix;)
  3015. # end of editor.module
  3016. # ISBN .............................
  3017. local.isbn.attrib = empty
  3018. isbn.role.attrib = role.attrib
  3019. isbn = element isbn { isbn.attlist, docinfo.char.mix* }
  3020. # end of isbn.element
  3021. isbn.attlist &= common.attrib, isbn.role.attrib, local.isbn.attrib
  3022. # end of isbn.attlist
  3023. # end of isbn.module
  3024. # ISSN .............................
  3025. local.issn.attrib = empty
  3026. issn.role.attrib = role.attrib
  3027. issn = element issn { issn.attlist, docinfo.char.mix* }
  3028. # end of issn.element
  3029. issn.attlist &= common.attrib, issn.role.attrib, local.issn.attrib
  3030. # end of issn.attlist
  3031. # end of issn.module
  3032. # BiblioId .................
  3033. biblio.class.attrib =
  3034. attribute class {
  3035. "uri"
  3036. | "doi"
  3037. | "isbn"
  3038. | "issn"
  3039. | "libraryofcongress"
  3040. | "pubnumber"
  3041. | "other"
  3042. }?,
  3043. attribute otherclass { text }?
  3044. local.biblioid.attrib = empty
  3045. biblioid.role.attrib = role.attrib
  3046. biblioid = element biblioid { biblioid.attlist, docinfo.char.mix* }
  3047. # end of biblioid.element
  3048. biblioid.attlist &=
  3049. biblio.class.attrib,
  3050. common.attrib,
  3051. biblioid.role.attrib,
  3052. local.biblioid.attrib
  3053. # end of biblioid.attlist
  3054. # end of biblioid.module
  3055. # CiteBiblioId .................
  3056. local.citebiblioid.attrib = empty
  3057. citebiblioid.role.attrib = role.attrib
  3058. citebiblioid =
  3059. element citebiblioid { citebiblioid.attlist, docinfo.char.mix* }
  3060. # end of citebiblioid.element
  3061. citebiblioid.attlist &=
  3062. biblio.class.attrib,
  3063. common.attrib,
  3064. citebiblioid.role.attrib,
  3065. local.citebiblioid.attrib
  3066. # end of citebiblioid.attlist
  3067. # end of citebiblioid.module
  3068. # BiblioSource .................
  3069. local.bibliosource.attrib = empty
  3070. bibliosource.role.attrib = role.attrib
  3071. bibliosource =
  3072. element bibliosource { bibliosource.attlist, docinfo.char.mix* }
  3073. # end of bibliosource.element
  3074. bibliosource.attlist &=
  3075. biblio.class.attrib,
  3076. common.attrib,
  3077. bibliosource.role.attrib,
  3078. local.bibliosource.attrib
  3079. # end of bibliosource.attlist
  3080. # end of bibliosource.module
  3081. # BiblioRelation .................
  3082. local.bibliorelation.attrib = empty
  3083. local.bibliorelation.types = notAllowed
  3084. bibliorelation.type.attrib =
  3085. attribute type {
  3086. "isversionof"
  3087. | "hasversion"
  3088. | "isreplacedby"
  3089. | "replaces"
  3090. | "isrequiredby"
  3091. | "requires"
  3092. | "ispartof"
  3093. | "haspart"
  3094. | "isreferencedby"
  3095. | "references"
  3096. | "isformatof"
  3097. | "hasformat"
  3098. | "othertype"
  3099. | local.bibliorelation.types
  3100. }?,
  3101. attribute othertype { text }?
  3102. bibliorelation.role.attrib = role.attrib
  3103. bibliorelation =
  3104. element bibliorelation { bibliorelation.attlist, docinfo.char.mix* }
  3105. # end of bibliorelation.element
  3106. bibliorelation.attlist &=
  3107. biblio.class.attrib,
  3108. bibliorelation.type.attrib,
  3109. common.attrib,
  3110. bibliorelation.role.attrib,
  3111. local.bibliorelation.attrib
  3112. # end of bibliorelation.attlist
  3113. # end of bibliorelation.module
  3114. # BiblioCoverage .................
  3115. local.bibliocoverage.attrib = empty
  3116. bibliocoverage.role.attrib = role.attrib
  3117. bibliocoverage =
  3118. element bibliocoverage { bibliocoverage.attlist, docinfo.char.mix* }
  3119. # end of bibliocoverage.element
  3120. bibliocoverage.attlist &=
  3121. attribute spatial {
  3122. "dcmipoint" | "iso3166" | "dcmibox" | "tgn" | "otherspatial"
  3123. }?,
  3124. attribute otherspatial { text }?,
  3125. attribute temporal { "dcmiperiod" | "w3c-dtf" | "othertemporal" }?,
  3126. attribute othertemporal { text }?,
  3127. common.attrib,
  3128. bibliocoverage.role.attrib,
  3129. local.bibliocoverage.attrib
  3130. # end of bibliocoverage.attlist
  3131. # end of bibliocoverage.module
  3132. # InvPartNumber ....................
  3133. local.invpartnumber.attrib = empty
  3134. invpartnumber.role.attrib = role.attrib
  3135. invpartnumber =
  3136. element invpartnumber { invpartnumber.attlist, docinfo.char.mix* }
  3137. # end of invpartnumber.element
  3138. invpartnumber.attlist &=
  3139. common.attrib, invpartnumber.role.attrib, local.invpartnumber.attrib
  3140. # end of invpartnumber.attlist
  3141. # end of invpartnumber.module
  3142. # IssueNum .........................
  3143. local.issuenum.attrib = empty
  3144. issuenum.role.attrib = role.attrib
  3145. issuenum = element issuenum { issuenum.attlist, docinfo.char.mix* }
  3146. # end of issuenum.element
  3147. issuenum.attlist &=
  3148. common.attrib, issuenum.role.attrib, local.issuenum.attrib
  3149. # end of issuenum.attlist
  3150. # end of issuenum.module
  3151. # LegalNotice ......................
  3152. local.legalnotice.attrib = empty
  3153. legalnotice.role.attrib = role.attrib
  3154. legalnotice =
  3155. element legalnotice {
  3156. legalnotice.attlist, blockinfo?, title?, legalnotice.mix+
  3157. }
  3158. # end of legalnotice.element
  3159. legalnotice.attlist &=
  3160. common.attrib, legalnotice.role.attrib, local.legalnotice.attrib
  3161. # end of legalnotice.attlist
  3162. # end of legalnotice.module
  3163. # ModeSpec .........................
  3164. local.modespec.attrib = empty
  3165. modespec.role.attrib = role.attrib
  3166. modespec = element modespec { modespec.attlist, docinfo.char.mix* }
  3167. # end of modespec.element
  3168. # Application: Type of action required for completion
  3169. # of the links to which the ModeSpec is relevant (e.g.,
  3170. # retrieval query)
  3171. modespec.attlist &=
  3172. attribute application { notation.class }?,
  3173. common.attrib,
  3174. modespec.role.attrib,
  3175. local.modespec.attrib
  3176. # end of modespec.attlist
  3177. # end of modespec.module
  3178. # OrgName ..........................
  3179. local.orgname.attrib = empty
  3180. orgname.role.attrib = role.attrib
  3181. orgname = element orgname { orgname.attlist, docinfo.char.mix* }
  3182. # end of orgname.element
  3183. orgname.attlist &=
  3184. common.attrib,
  3185. attribute class {
  3186. "corporation" | "nonprofit" | "consortium" | "informal" | "other"
  3187. }?,
  3188. attribute otherclass { text }?,
  3189. orgname.role.attrib,
  3190. local.orgname.attrib
  3191. # end of orgname.attlist
  3192. # end of orgname.module
  3193. # OtherCredit ......................
  3194. local.othercredit.attrib = empty
  3195. othercredit.role.attrib = role.attrib
  3196. othercredit =
  3197. element othercredit {
  3198. othercredit.attlist,
  3199. (personname | person.ident.mix+),
  3200. (personblurb | email | address)*
  3201. }
  3202. # end of othercredit.element
  3203. othercredit.attlist &=
  3204. common.attrib, othercredit.role.attrib, local.othercredit.attrib
  3205. # end of othercredit.attlist
  3206. # (see "Personal identity elements" for %person.ident.mix;)
  3207. # end of othercredit.module
  3208. # PageNums .........................
  3209. local.pagenums.attrib = empty
  3210. pagenums.role.attrib = role.attrib
  3211. pagenums = element pagenums { pagenums.attlist, docinfo.char.mix* }
  3212. # end of pagenums.element
  3213. pagenums.attlist &=
  3214. common.attrib, pagenums.role.attrib, local.pagenums.attrib
  3215. # end of pagenums.attlist
  3216. # end of pagenums.module
  3217. # Personal identity elements .......
  3218. # These elements are used only within Author, Editor, and
  3219. # OtherCredit.
  3220. local.contrib.attrib = empty
  3221. contrib.role.attrib = role.attrib
  3222. contrib = element contrib { contrib.attlist, docinfo.char.mix* }
  3223. # end of contrib.element
  3224. contrib.attlist &=
  3225. common.attrib, contrib.role.attrib, local.contrib.attrib
  3226. # end of contrib.attlist
  3227. # end of contrib.module
  3228. local.firstname.attrib = empty
  3229. firstname.role.attrib = role.attrib
  3230. firstname = element firstname { firstname.attlist, docinfo.char.mix* }
  3231. # end of firstname.element
  3232. firstname.attlist &=
  3233. common.attrib, firstname.role.attrib, local.firstname.attrib
  3234. # end of firstname.attlist
  3235. # end of firstname.module
  3236. local.honorific.attrib = empty
  3237. honorific.role.attrib = role.attrib
  3238. honorific = element honorific { honorific.attlist, docinfo.char.mix* }
  3239. # end of honorific.element
  3240. honorific.attlist &=
  3241. common.attrib, honorific.role.attrib, local.honorific.attrib
  3242. # end of honorific.attlist
  3243. # end of honorific.module
  3244. local.lineage.attrib = empty
  3245. lineage.role.attrib = role.attrib
  3246. lineage = element lineage { lineage.attlist, docinfo.char.mix* }
  3247. # end of lineage.element
  3248. lineage.attlist &=
  3249. common.attrib, lineage.role.attrib, local.lineage.attrib
  3250. # end of lineage.attlist
  3251. # end of lineage.module
  3252. local.othername.attrib = empty
  3253. othername.role.attrib = role.attrib
  3254. othername = element othername { othername.attlist, docinfo.char.mix* }
  3255. # end of othername.element
  3256. othername.attlist &=
  3257. common.attrib, othername.role.attrib, local.othername.attrib
  3258. # end of othername.attlist
  3259. # end of othername.module
  3260. local.surname.attrib = empty
  3261. surname.role.attrib = role.attrib
  3262. surname = element surname { surname.attlist, docinfo.char.mix* }
  3263. # end of surname.element
  3264. surname.attlist &=
  3265. common.attrib, surname.role.attrib, local.surname.attrib
  3266. # end of surname.attlist
  3267. # end of surname.module
  3268. # end of person.ident.module
  3269. # PrintHistory .....................
  3270. local.printhistory.attrib = empty
  3271. printhistory.role.attrib = role.attrib
  3272. printhistory =
  3273. element printhistory { printhistory.attlist, para.class+ }
  3274. # end of printhistory.element
  3275. printhistory.attlist &=
  3276. common.attrib, printhistory.role.attrib, local.printhistory.attrib
  3277. # end of printhistory.attlist
  3278. # end of printhistory.module
  3279. # ProductName ......................
  3280. local.productname.attrib = empty
  3281. productname.role.attrib = role.attrib
  3282. productname =
  3283. element productname { productname.attlist, para.char.mix* }
  3284. # end of productname.element
  3285. # Class: More precisely identifies the item the element names
  3286. productname.attlist &=
  3287. [ a:defaultValue = "trade" ]
  3288. attribute class { "service" | "trade" | "registered" | "copyright" }?,
  3289. common.attrib,
  3290. productname.role.attrib,
  3291. local.productname.attrib
  3292. # end of productname.attlist
  3293. # end of productname.module
  3294. # ProductNumber ....................
  3295. local.productnumber.attrib = empty
  3296. productnumber.role.attrib = role.attrib
  3297. productnumber =
  3298. element productnumber { productnumber.attlist, docinfo.char.mix* }
  3299. # end of productnumber.element
  3300. productnumber.attlist &=
  3301. common.attrib, productnumber.role.attrib, local.productnumber.attrib
  3302. # end of productnumber.attlist
  3303. # end of productnumber.module
  3304. # PubDate ..........................
  3305. local.pubdate.attrib = empty
  3306. pubdate.role.attrib = role.attrib
  3307. pubdate = element pubdate { pubdate.attlist, docinfo.char.mix* }
  3308. # end of pubdate.element
  3309. pubdate.attlist &=
  3310. common.attrib, pubdate.role.attrib, local.pubdate.attrib
  3311. # end of pubdate.attlist
  3312. # end of pubdate.module
  3313. # Publisher ........................
  3314. local.publisher.attrib = empty
  3315. publisher.role.attrib = role.attrib
  3316. publisher =
  3317. element publisher { publisher.attlist, publishername, address* }
  3318. # end of publisher.element
  3319. publisher.attlist &=
  3320. common.attrib, publisher.role.attrib, local.publisher.attrib
  3321. # end of publisher.attlist
  3322. # end of publisher.module
  3323. local.publishername.attrib = empty
  3324. publishername.role.attrib = role.attrib
  3325. publishername =
  3326. element publishername { publishername.attlist, docinfo.char.mix* }
  3327. # end of publishername.element
  3328. publishername.attlist &=
  3329. common.attrib, publishername.role.attrib, local.publishername.attrib
  3330. # end of publishername.attlist
  3331. # end of publishername.module
  3332. # Address (defined elsewhere in this section)
  3333. # end of publisher.content.module
  3334. # PubsNumber .......................
  3335. local.pubsnumber.attrib = empty
  3336. pubsnumber.role.attrib = role.attrib
  3337. pubsnumber =
  3338. element pubsnumber { pubsnumber.attlist, docinfo.char.mix* }
  3339. # end of pubsnumber.element
  3340. pubsnumber.attlist &=
  3341. common.attrib, pubsnumber.role.attrib, local.pubsnumber.attrib
  3342. # end of pubsnumber.attlist
  3343. # end of pubsnumber.module
  3344. # ReleaseInfo ......................
  3345. local.releaseinfo.attrib = empty
  3346. releaseinfo.role.attrib = role.attrib
  3347. releaseinfo =
  3348. element releaseinfo { releaseinfo.attlist, docinfo.char.mix* }
  3349. # end of releaseinfo.element
  3350. releaseinfo.attlist &=
  3351. common.attrib, releaseinfo.role.attrib, local.releaseinfo.attrib
  3352. # end of releaseinfo.attlist
  3353. # end of releaseinfo.module
  3354. # RevHistory .......................
  3355. local.revhistory.attrib = empty
  3356. revhistory.role.attrib = role.attrib
  3357. revhistory = element revhistory { revhistory.attlist, revision+ }
  3358. # end of revhistory.element
  3359. revhistory.attlist &=
  3360. common.attrib, revhistory.role.attrib, local.revhistory.attrib
  3361. # end of revhistory.attlist
  3362. # end of revhistory.module
  3363. local.revision.attrib = empty
  3364. revision.role.attrib = role.attrib
  3365. revision =
  3366. element revision {
  3367. revision.attlist,
  3368. revnumber,
  3369. date,
  3370. authorinitials*,
  3371. (revremark | revdescription)?
  3372. }
  3373. # end of revision.element
  3374. revision.attlist &=
  3375. common.attrib, revision.role.attrib, local.revision.attrib
  3376. # end of revision.attlist
  3377. # end of revision.module
  3378. local.revnumber.attrib = empty
  3379. revnumber.role.attrib = role.attrib
  3380. revnumber = element revnumber { revnumber.attlist, docinfo.char.mix* }
  3381. # end of revnumber.element
  3382. revnumber.attlist &=
  3383. common.attrib, revnumber.role.attrib, local.revnumber.attrib
  3384. # end of revnumber.attlist
  3385. # end of revnumber.module
  3386. # Date (defined elsewhere in this section)
  3387. # AuthorInitials (defined elsewhere in this section)
  3388. local.revremark.attrib = empty
  3389. revremark.role.attrib = role.attrib
  3390. revremark = element revremark { revremark.attlist, docinfo.char.mix* }
  3391. # end of revremark.element
  3392. revremark.attlist &=
  3393. common.attrib, revremark.role.attrib, local.revremark.attrib
  3394. # end of revremark.attlist
  3395. # end of revremark.module
  3396. local.revdescription.attrib = empty
  3397. revdescription.role.attrib = role.attrib
  3398. revdescription =
  3399. element revdescription { revdescription.attlist, revdescription.mix+ }
  3400. # end of revdescription.element
  3401. revdescription.attlist &=
  3402. common.attrib, revdescription.role.attrib, local.revdescription.attrib
  3403. # end of revdescription.attlist
  3404. # end of revdescription.module
  3405. # end of revhistory.content.module
  3406. # SeriesVolNums ....................
  3407. local.seriesvolnums.attrib = empty
  3408. seriesvolnums.role.attrib = role.attrib
  3409. seriesvolnums =
  3410. element seriesvolnums { seriesvolnums.attlist, docinfo.char.mix* }
  3411. # end of seriesvolnums.element
  3412. seriesvolnums.attlist &=
  3413. common.attrib, seriesvolnums.role.attrib, local.seriesvolnums.attrib
  3414. # end of seriesvolnums.attlist
  3415. # end of seriesvolnums.module
  3416. # VolumeNum ........................
  3417. local.volumenum.attrib = empty
  3418. volumenum.role.attrib = role.attrib
  3419. volumenum = element volumenum { volumenum.attlist, docinfo.char.mix* }
  3420. # end of volumenum.element
  3421. volumenum.attlist &=
  3422. common.attrib, volumenum.role.attrib, local.volumenum.attrib
  3423. # end of volumenum.attlist
  3424. # end of volumenum.module
  3425. # ..................................
  3426. # end of docinfo.content.module
  3427. # ......................................................................
  3428. # Inline, link, and ubiquitous elements ................................
  3429. # Technical and computer terms .........................................
  3430. local.accel.attrib = empty
  3431. accel.role.attrib = role.attrib
  3432. accel = element accel { accel.attlist, smallcptr.char.mix* }
  3433. # end of accel.element
  3434. accel.attlist &= common.attrib, accel.role.attrib, local.accel.attrib
  3435. # end of accel.attlist
  3436. # end of accel.module
  3437. local.action.attrib = empty
  3438. action.role.attrib = role.attrib
  3439. action = element action { action.attlist, cptr.char.mix* }
  3440. # end of action.element
  3441. action.attlist &=
  3442. moreinfo.attrib,
  3443. common.attrib,
  3444. action.role.attrib,
  3445. local.action.attrib
  3446. # end of action.attlist
  3447. # end of action.module
  3448. local.application.attrib = empty
  3449. application.role.attrib = role.attrib
  3450. application =
  3451. element application { application.attlist, para.char.mix* }
  3452. # end of application.element
  3453. application.attlist &=
  3454. attribute class { "hardware" | "software" }?,
  3455. moreinfo.attrib,
  3456. common.attrib,
  3457. application.role.attrib,
  3458. local.application.attrib
  3459. # end of application.attlist
  3460. # end of application.module
  3461. local.classname.attrib = empty
  3462. classname.role.attrib = role.attrib
  3463. classname = element classname { classname.attlist, smallcptr.char.mix* }
  3464. # end of classname.element
  3465. classname.attlist &=
  3466. common.attrib, classname.role.attrib, local.classname.attrib
  3467. # end of classname.attlist
  3468. # end of classname.module
  3469. local.co.attrib = empty
  3470. # CO is a callout area of the LineColumn unit type (a single character
  3471. # position); the position is directly indicated by the location of CO.
  3472. co.role.attrib = role.attrib
  3473. co = element co { co.attlist, empty }
  3474. # end of co.element
  3475. # bug number/symbol override or initialization
  3476. # to any related information
  3477. co.attlist &=
  3478. label.attrib,
  3479. linkends.attrib,
  3480. idreq.common.attrib,
  3481. co.role.attrib,
  3482. local.co.attrib
  3483. # end of co.attlist
  3484. # end of co.module
  3485. local.coref.attrib = empty
  3486. # COREF is a reference to a CO
  3487. coref.role.attrib = role.attrib
  3488. coref = element coref { coref.attlist, empty }
  3489. # end of coref.element
  3490. # bug number/symbol override or initialization
  3491. # to any related information
  3492. coref.attlist &=
  3493. label.attrib,
  3494. linkendreq.attrib,
  3495. common.attrib,
  3496. coref.role.attrib,
  3497. local.coref.attrib
  3498. # end of coref.attlist
  3499. # end of coref.module
  3500. local.command.attrib = empty
  3501. command.role.attrib = role.attrib
  3502. command = element command { command.attlist, cptr.char.mix* }
  3503. # end of command.element
  3504. command.attlist &=
  3505. moreinfo.attrib,
  3506. common.attrib,
  3507. command.role.attrib,
  3508. local.command.attrib
  3509. # end of command.attlist
  3510. # end of command.module
  3511. local.computeroutput.attrib = empty
  3512. computeroutput.role.attrib = role.attrib
  3513. computeroutput =
  3514. element computeroutput {
  3515. computeroutput.attlist, (cptr.char.mix | co)*
  3516. }
  3517. # end of computeroutput.element
  3518. computeroutput.attlist &=
  3519. moreinfo.attrib,
  3520. common.attrib,
  3521. computeroutput.role.attrib,
  3522. local.computeroutput.attrib
  3523. # end of computeroutput.attlist
  3524. # end of computeroutput.module
  3525. local.database.attrib = empty
  3526. database.role.attrib = role.attrib
  3527. database = element database { database.attlist, cptr.char.mix* }
  3528. # end of database.element
  3529. # Class: Type of database the element names; no default
  3530. database.attlist &=
  3531. attribute class {
  3532. "name" | "table" | "field" | "key1" | "key2" | "record"
  3533. }?,
  3534. moreinfo.attrib,
  3535. common.attrib,
  3536. database.role.attrib,
  3537. local.database.attrib
  3538. # end of database.attlist
  3539. # end of database.module
  3540. local.email.attrib = empty
  3541. email.role.attrib = role.attrib
  3542. email = element email { email.attlist, docinfo.char.mix* }
  3543. # end of email.element
  3544. email.attlist &= common.attrib, email.role.attrib, local.email.attrib
  3545. # end of email.attlist
  3546. # end of email.module
  3547. local.envar.attrib = empty
  3548. envar.role.attrib = role.attrib
  3549. envar = element envar { envar.attlist, smallcptr.char.mix* }
  3550. # end of envar.element
  3551. envar.attlist &= common.attrib, envar.role.attrib, local.envar.attrib
  3552. # end of envar.attlist
  3553. # end of envar.module
  3554. local.errorcode.attrib = empty
  3555. errorcode.role.attrib = role.attrib
  3556. errorcode = element errorcode { errorcode.attlist, smallcptr.char.mix* }
  3557. # end of errorcode.element
  3558. errorcode.attlist &=
  3559. moreinfo.attrib,
  3560. common.attrib,
  3561. errorcode.role.attrib,
  3562. local.errorcode.attrib
  3563. # end of errorcode.attlist
  3564. # end of errorcode.module
  3565. local.errorname.attrib = empty
  3566. errorname.role.attrib = role.attrib
  3567. errorname = element errorname { errorname.attlist, smallcptr.char.mix* }
  3568. # end of errorname.element
  3569. errorname.attlist &=
  3570. common.attrib, errorname.role.attrib, local.errorname.attrib
  3571. # end of errorname.attlist
  3572. # end of errorname.module
  3573. local.errortext.attrib = empty
  3574. errortext.role.attrib = role.attrib
  3575. errortext = element errortext { errortext.attlist, smallcptr.char.mix* }
  3576. # end of errortext.element
  3577. errortext.attlist &=
  3578. common.attrib, errortext.role.attrib, local.errortext.attrib
  3579. # end of errortext.attlist
  3580. # end of errortext.module
  3581. local.errortype.attrib = empty
  3582. errortype.role.attrib = role.attrib
  3583. errortype = element errortype { errortype.attlist, smallcptr.char.mix* }
  3584. # end of errortype.element
  3585. errortype.attlist &=
  3586. common.attrib, errortype.role.attrib, local.errortype.attrib
  3587. # end of errortype.attlist
  3588. # end of errortype.module
  3589. local.filename.attrib = empty
  3590. filename.role.attrib = role.attrib
  3591. filename = element filename { filename.attlist, cptr.char.mix* }
  3592. # end of filename.element
  3593. # Class: Type of filename the element names; no default
  3594. # Path: Search path (possibly system-specific) in which
  3595. # file can be found
  3596. filename.attlist &=
  3597. attribute class {
  3598. "headerfile"
  3599. | "partition"
  3600. | "devicefile"
  3601. | "libraryfile"
  3602. | "directory"
  3603. | "extension"
  3604. | "symlink"
  3605. }?,
  3606. attribute path { text }?,
  3607. moreinfo.attrib,
  3608. common.attrib,
  3609. filename.role.attrib,
  3610. local.filename.attrib
  3611. # end of filename.attlist
  3612. # end of filename.module
  3613. local.function.attrib = empty
  3614. function.role.attrib = role.attrib
  3615. function = element function { function.attlist, cptr.char.mix* }
  3616. # end of function.element
  3617. function.attlist &=
  3618. moreinfo.attrib,
  3619. common.attrib,
  3620. function.role.attrib,
  3621. local.function.attrib
  3622. # end of function.attlist
  3623. # end of function.module
  3624. local.guibutton.attrib = empty
  3625. guibutton.role.attrib = role.attrib
  3626. guibutton =
  3627. element guibutton { guibutton.attlist, (smallcptr.char.mix | accel)* }
  3628. # end of guibutton.element
  3629. guibutton.attlist &=
  3630. moreinfo.attrib,
  3631. common.attrib,
  3632. guibutton.role.attrib,
  3633. local.guibutton.attrib
  3634. # end of guibutton.attlist
  3635. # end of guibutton.module
  3636. local.guiicon.attrib = empty
  3637. guiicon.role.attrib = role.attrib
  3638. guiicon =
  3639. element guiicon { guiicon.attlist, (smallcptr.char.mix | accel)* }
  3640. # end of guiicon.element
  3641. guiicon.attlist &=
  3642. moreinfo.attrib,
  3643. common.attrib,
  3644. guiicon.role.attrib,
  3645. local.guiicon.attrib
  3646. # end of guiicon.attlist
  3647. # end of guiicon.module
  3648. local.guilabel.attrib = empty
  3649. guilabel.role.attrib = role.attrib
  3650. guilabel =
  3651. element guilabel { guilabel.attlist, (smallcptr.char.mix | accel)* }
  3652. # end of guilabel.element
  3653. guilabel.attlist &=
  3654. moreinfo.attrib,
  3655. common.attrib,
  3656. guilabel.role.attrib,
  3657. local.guilabel.attrib
  3658. # end of guilabel.attlist
  3659. # end of guilabel.module
  3660. local.guimenu.attrib = empty
  3661. guimenu.role.attrib = role.attrib
  3662. guimenu =
  3663. element guimenu { guimenu.attlist, (smallcptr.char.mix | accel)* }
  3664. # end of guimenu.element
  3665. guimenu.attlist &=
  3666. moreinfo.attrib,
  3667. common.attrib,
  3668. guimenu.role.attrib,
  3669. local.guimenu.attrib
  3670. # end of guimenu.attlist
  3671. # end of guimenu.module
  3672. local.guimenuitem.attrib = empty
  3673. guimenuitem.role.attrib = role.attrib
  3674. guimenuitem =
  3675. element guimenuitem {
  3676. guimenuitem.attlist, (smallcptr.char.mix | accel)*
  3677. }
  3678. # end of guimenuitem.element
  3679. guimenuitem.attlist &=
  3680. moreinfo.attrib,
  3681. common.attrib,
  3682. guimenuitem.role.attrib,
  3683. local.guimenuitem.attrib
  3684. # end of guimenuitem.attlist
  3685. # end of guimenuitem.module
  3686. local.guisubmenu.attrib = empty
  3687. guisubmenu.role.attrib = role.attrib
  3688. guisubmenu =
  3689. element guisubmenu {
  3690. guisubmenu.attlist, (smallcptr.char.mix | accel)*
  3691. }
  3692. # end of guisubmenu.element
  3693. guisubmenu.attlist &=
  3694. moreinfo.attrib,
  3695. common.attrib,
  3696. guisubmenu.role.attrib,
  3697. local.guisubmenu.attrib
  3698. # end of guisubmenu.attlist
  3699. # end of guisubmenu.module
  3700. local.hardware.attrib = empty
  3701. hardware.role.attrib = role.attrib
  3702. hardware = element hardware { hardware.attlist, cptr.char.mix* }
  3703. # end of hardware.element
  3704. hardware.attlist &=
  3705. moreinfo.attrib,
  3706. common.attrib,
  3707. hardware.role.attrib,
  3708. local.hardware.attrib
  3709. # end of hardware.attlist
  3710. # end of hardware.module
  3711. local.interface.attrib = empty
  3712. interface.role.attrib = role.attrib
  3713. interface =
  3714. element interface { interface.attlist, (smallcptr.char.mix | accel)* }
  3715. # end of interface.element
  3716. # Class: Type of the Interface item; no default
  3717. interface.attlist &=
  3718. moreinfo.attrib,
  3719. common.attrib,
  3720. interface.role.attrib,
  3721. local.interface.attrib
  3722. # end of interface.attlist
  3723. # end of interface.module
  3724. local.keycap.attrib = empty
  3725. keycap.role.attrib = role.attrib
  3726. keycap = element keycap { keycap.attlist, cptr.char.mix* }
  3727. # end of keycap.element
  3728. keycap.attlist &=
  3729. moreinfo.attrib,
  3730. common.attrib,
  3731. keycap.role.attrib,
  3732. local.keycap.attrib
  3733. # end of keycap.attlist
  3734. # end of keycap.module
  3735. local.keycode.attrib = empty
  3736. keycode.role.attrib = role.attrib
  3737. keycode = element keycode { keycode.attlist, smallcptr.char.mix* }
  3738. # end of keycode.element
  3739. keycode.attlist &=
  3740. common.attrib, keycode.role.attrib, local.keycode.attrib
  3741. # end of keycode.attlist
  3742. # end of keycode.module
  3743. local.keycombo.attrib = empty
  3744. keycombo.role.attrib = role.attrib
  3745. keycombo =
  3746. element keycombo {
  3747. keycombo.attlist, (keycap | keycombo | keysym | mousebutton)+
  3748. }
  3749. # end of keycombo.element
  3750. keycombo.attlist &=
  3751. keyaction.attrib,
  3752. moreinfo.attrib,
  3753. common.attrib,
  3754. keycombo.role.attrib,
  3755. local.keycombo.attrib
  3756. # end of keycombo.attlist
  3757. # end of keycombo.module
  3758. local.keysym.attrib = empty
  3759. keysysm.role.attrib = role.attrib
  3760. keysym = element keysym { keysym.attlist, smallcptr.char.mix* }
  3761. # end of keysym.element
  3762. keysym.attlist &=
  3763. common.attrib, keysysm.role.attrib, local.keysym.attrib
  3764. # end of keysym.attlist
  3765. # end of keysym.module
  3766. local.lineannotation.attrib = empty
  3767. lineannotation.role.attrib = role.attrib
  3768. lineannotation =
  3769. element lineannotation { lineannotation.attlist, para.char.mix* }
  3770. # end of lineannotation.element
  3771. lineannotation.attlist &=
  3772. common.attrib, lineannotation.role.attrib, local.lineannotation.attrib
  3773. # end of lineannotation.attlist
  3774. # end of lineannotation.module
  3775. local.literal.attrib = empty
  3776. literal.role.attrib = role.attrib
  3777. literal = element literal { literal.attlist, cptr.char.mix* }
  3778. # end of literal.element
  3779. literal.attlist &=
  3780. moreinfo.attrib,
  3781. common.attrib,
  3782. literal.role.attrib,
  3783. local.literal.attrib
  3784. # end of literal.attlist
  3785. # end of literal.module
  3786. local.constant.attrib = empty
  3787. constant.role.attrib = role.attrib
  3788. constant = element constant { constant.attlist, smallcptr.char.mix* }
  3789. # end of constant.element
  3790. constant.attlist &=
  3791. attribute class { "limit" }?,
  3792. common.attrib,
  3793. constant.role.attrib,
  3794. local.constant.attrib
  3795. # end of constant.attlist
  3796. # end of constant.module
  3797. local.varname.attrib = empty
  3798. varname.role.attrib = role.attrib
  3799. varname = element varname { varname.attlist, smallcptr.char.mix* }
  3800. # end of varname.element
  3801. varname.attlist &=
  3802. common.attrib, varname.role.attrib, local.varname.attrib
  3803. # end of varname.attlist
  3804. # end of varname.module
  3805. local.markup.attrib = empty
  3806. markup.role.attrib = role.attrib
  3807. markup = element markup { markup.attlist, smallcptr.char.mix* }
  3808. # end of markup.element
  3809. markup.attlist &= common.attrib, markup.role.attrib, local.markup.attrib
  3810. # end of markup.attlist
  3811. # end of markup.module
  3812. local.medialabel.attrib = empty
  3813. medialabel.role.attrib = role.attrib
  3814. medialabel =
  3815. element medialabel { medialabel.attlist, smallcptr.char.mix* }
  3816. # end of medialabel.element
  3817. # Class: Type of medium named by the element; no default
  3818. medialabel.attlist &=
  3819. attribute class { "cartridge" | "cdrom" | "disk" | "tape" }?,
  3820. common.attrib,
  3821. medialabel.role.attrib,
  3822. local.medialabel.attrib
  3823. # end of medialabel.attlist
  3824. # end of medialabel.module
  3825. local.menuchoice.attrib = empty
  3826. menuchoice.role.attrib = role.attrib
  3827. menuchoice =
  3828. element menuchoice {
  3829. menuchoice.attlist,
  3830. shortcut?,
  3831. (guibutton
  3832. | guiicon
  3833. | guilabel
  3834. | guimenu
  3835. | guimenuitem
  3836. | guisubmenu
  3837. | interface)+
  3838. }
  3839. # end of menuchoice.element
  3840. menuchoice.attlist &=
  3841. moreinfo.attrib,
  3842. common.attrib,
  3843. menuchoice.role.attrib,
  3844. local.menuchoice.attrib
  3845. # end of menuchoice.attlist
  3846. # end of menuchoice.module
  3847. # See also KeyCombo
  3848. local.shortcut.attrib = empty
  3849. shortcut.role.attrib = role.attrib
  3850. shortcut =
  3851. element shortcut {
  3852. shortcut.attlist, (keycap | keycombo | keysym | mousebutton)+
  3853. }
  3854. # end of shortcut.element
  3855. shortcut.attlist &=
  3856. keyaction.attrib,
  3857. moreinfo.attrib,
  3858. common.attrib,
  3859. shortcut.role.attrib,
  3860. local.shortcut.attrib
  3861. # end of shortcut.attlist
  3862. # end of shortcut.module
  3863. # end of menuchoice.content.module
  3864. local.mousebutton.attrib = empty
  3865. mousebutton.role.attrib = role.attrib
  3866. mousebutton =
  3867. element mousebutton { mousebutton.attlist, smallcptr.char.mix* }
  3868. # end of mousebutton.element
  3869. mousebutton.attlist &=
  3870. moreinfo.attrib,
  3871. common.attrib,
  3872. mousebutton.role.attrib,
  3873. local.mousebutton.attrib
  3874. # end of mousebutton.attlist
  3875. # end of mousebutton.module
  3876. local.msgtext.attrib = empty
  3877. msgtext.role.attrib = role.attrib
  3878. msgtext = element msgtext { msgtext.attlist, component.mix+ }
  3879. # end of msgtext.element
  3880. msgtext.attlist &=
  3881. common.attrib, msgtext.role.attrib, local.msgtext.attrib
  3882. # end of msgtext.attlist
  3883. # end of msgtext.module
  3884. local.option.attrib = empty
  3885. option.role.attrib = role.attrib
  3886. option = element option { option.attlist, cptr.char.mix* }
  3887. # end of option.element
  3888. option.attlist &= common.attrib, option.role.attrib, local.option.attrib
  3889. # end of option.attlist
  3890. # end of option.module
  3891. local.optional.attrib = empty
  3892. optional.role.attrib = role.attrib
  3893. optional = element optional { optional.attlist, cptr.char.mix* }
  3894. # end of optional.element
  3895. optional.attlist &=
  3896. common.attrib, optional.role.attrib, local.optional.attrib
  3897. # end of optional.attlist
  3898. # end of optional.module
  3899. local.parameter.attrib = empty
  3900. parameter.role.attrib = role.attrib
  3901. parameter = element parameter { parameter.attlist, cptr.char.mix* }
  3902. # end of parameter.element
  3903. # Class: Type of the Parameter; no default
  3904. parameter.attlist &=
  3905. attribute class { "command" | "function" | "option" }?,
  3906. moreinfo.attrib,
  3907. common.attrib,
  3908. parameter.role.attrib,
  3909. local.parameter.attrib
  3910. # end of parameter.attlist
  3911. # end of parameter.module
  3912. local.prompt.attrib = empty
  3913. prompt.role.attrib = role.attrib
  3914. prompt = element prompt { prompt.attlist, (smallcptr.char.mix | co)* }
  3915. # end of prompt.element
  3916. prompt.attlist &=
  3917. moreinfo.attrib,
  3918. common.attrib,
  3919. prompt.role.attrib,
  3920. local.prompt.attrib
  3921. # end of prompt.attlist
  3922. # end of prompt.module
  3923. local.property.attrib = empty
  3924. property.role.attrib = role.attrib
  3925. property = element property { property.attlist, cptr.char.mix* }
  3926. # end of property.element
  3927. property.attlist &=
  3928. moreinfo.attrib,
  3929. common.attrib,
  3930. property.role.attrib,
  3931. local.property.attrib
  3932. # end of property.attlist
  3933. # end of property.module
  3934. local.replaceable.attrib = empty
  3935. replaceable.role.attrib = role.attrib
  3936. replaceable =
  3937. element replaceable {
  3938. replaceable.attlist,
  3939. (text
  3940. | link.char.class
  3941. | optional
  3942. | base.char.class
  3943. | other.char.class
  3944. | inlinegraphic
  3945. | inlinemediaobject
  3946. | co)*
  3947. }
  3948. # end of replaceable.element
  3949. # Class: Type of information the element represents; no
  3950. # default
  3951. replaceable.attlist &=
  3952. attribute class { "command" | "function" | "option" | "parameter" }?,
  3953. common.attrib,
  3954. replaceable.role.attrib,
  3955. local.replaceable.attrib
  3956. # end of replaceable.attlist
  3957. # end of replaceable.module
  3958. local.returnvalue.attrib = empty
  3959. returnvalue.role.attrib = role.attrib
  3960. returnvalue =
  3961. element returnvalue { returnvalue.attlist, smallcptr.char.mix* }
  3962. # end of returnvalue.element
  3963. returnvalue.attlist &=
  3964. common.attrib, returnvalue.role.attrib, local.returnvalue.attrib
  3965. # end of returnvalue.attlist
  3966. # end of returnvalue.module
  3967. local.sgmltag.attrib = empty
  3968. sgmltag.role.attrib = role.attrib
  3969. sgmltag = element sgmltag { sgmltag.attlist, smallcptr.char.mix* }
  3970. # end of sgmltag.element
  3971. # Class: Type of SGML construct the element names; no default
  3972. sgmltag.attlist &=
  3973. attribute class {
  3974. "attribute"
  3975. | "attvalue"
  3976. | "element"
  3977. | "endtag"
  3978. | "emptytag"
  3979. | "genentity"
  3980. | "numcharref"
  3981. | "paramentity"
  3982. | "pi"
  3983. | "xmlpi"
  3984. | "starttag"
  3985. | "sgmlcomment"
  3986. }?,
  3987. common.attrib,
  3988. sgmltag.role.attrib,
  3989. local.sgmltag.attrib
  3990. # end of sgmltag.attlist
  3991. # end of sgmltag.module
  3992. local.structfield.attrib = empty
  3993. structfield.role.attrib = role.attrib
  3994. structfield =
  3995. element structfield { structfield.attlist, smallcptr.char.mix* }
  3996. # end of structfield.element
  3997. structfield.attlist &=
  3998. common.attrib, structfield.role.attrib, local.structfield.attrib
  3999. # end of structfield.attlist
  4000. # end of structfield.module
  4001. local.structname.attrib = empty
  4002. structname.role.attrib = role.attrib
  4003. structname =
  4004. element structname { structname.attlist, smallcptr.char.mix* }
  4005. # end of structname.element
  4006. structname.attlist &=
  4007. common.attrib, structname.role.attrib, local.structname.attrib
  4008. # end of structname.attlist
  4009. # end of structname.module
  4010. local.symbol.attrib = empty
  4011. symbol.role.attrib = role.attrib
  4012. symbol = element symbol { symbol.attlist, smallcptr.char.mix* }
  4013. # end of symbol.element
  4014. # Class: Type of symbol; no default
  4015. symbol.attlist &=
  4016. attribute class { "limit" }?,
  4017. common.attrib,
  4018. symbol.role.attrib,
  4019. local.symbol.attrib
  4020. # end of symbol.attlist
  4021. # end of symbol.module
  4022. local.systemitem.attrib = empty
  4023. systemitem.role.attrib = role.attrib
  4024. systemitem =
  4025. element systemitem {
  4026. systemitem.attlist, (cptr.char.mix | acronym | co)*
  4027. }
  4028. # end of systemitem.element
  4029. # Class: Type of system item the element names; no default
  4030. systemitem.attlist &=
  4031. attribute class {
  4032. "constant"
  4033. | "event"
  4034. | "eventhandler"
  4035. | "domainname"
  4036. | "fqdomainname"
  4037. | "ipaddress"
  4038. | "netmask"
  4039. | "etheraddress"
  4040. | "groupname"
  4041. | "library"
  4042. | "macro"
  4043. | "osname"
  4044. | "filesystem"
  4045. | "resource"
  4046. | "systemname"
  4047. | "username"
  4048. | "newsgroup"
  4049. }?,
  4050. moreinfo.attrib,
  4051. common.attrib,
  4052. systemitem.role.attrib,
  4053. local.systemitem.attrib
  4054. # end of systemitem.attlist
  4055. # end of systemitem.module
  4056. local.token.attrib = empty
  4057. token.role.attrib = role.attrib
  4058. \token = element token { token.attlist, smallcptr.char.mix* }
  4059. # end of token.element
  4060. token.attlist &= common.attrib, token.role.attrib, local.token.attrib
  4061. # end of token.attlist
  4062. # end of token.module
  4063. local.type.attrib = empty
  4064. type.role.attrib = role.attrib
  4065. type = element type { type.attlist, smallcptr.char.mix* }
  4066. # end of type.element
  4067. type.attlist &= common.attrib, type.role.attrib, local.type.attrib
  4068. # end of type.attlist
  4069. # end of type.module
  4070. local.userinput.attrib = empty
  4071. userinput.role.attrib = role.attrib
  4072. userinput =
  4073. element userinput { userinput.attlist, (cptr.char.mix | co)* }
  4074. # end of userinput.element
  4075. userinput.attlist &=
  4076. moreinfo.attrib,
  4077. common.attrib,
  4078. userinput.role.attrib,
  4079. local.userinput.attrib
  4080. # end of userinput.attlist
  4081. # end of userinput.module
  4082. # General words and phrases ............................................
  4083. local.abbrev.attrib = empty
  4084. abbrev.role.attrib = role.attrib
  4085. abbrev = element abbrev { abbrev.attlist, word.char.mix* }
  4086. # end of abbrev.element
  4087. abbrev.attlist &= common.attrib, abbrev.role.attrib, local.abbrev.attrib
  4088. # end of abbrev.attlist
  4089. # end of abbrev.module
  4090. local.acronym.attrib = empty
  4091. acronym.role.attrib = role.attrib
  4092. acronym = element acronym { acronym.attlist, word.char.mix* }
  4093. # end of acronym.element
  4094. acronym.attlist &=
  4095. common.attrib, acronym.role.attrib, local.acronym.attrib
  4096. # end of acronym.attlist
  4097. # end of acronym.module
  4098. local.citation.attrib = empty
  4099. citation.role.attrib = role.attrib
  4100. citation = element citation { citation.attlist, para.char.mix* }
  4101. # end of citation.element
  4102. citation.attlist &=
  4103. common.attrib, citation.role.attrib, local.citation.attrib
  4104. # end of citation.attlist
  4105. # end of citation.module
  4106. local.citerefentry.attrib = empty
  4107. citerefentry.role.attrib = role.attrib
  4108. citerefentry =
  4109. element citerefentry {
  4110. citerefentry.attlist, refentrytitle, manvolnum?
  4111. }
  4112. # end of citerefentry.element
  4113. citerefentry.attlist &=
  4114. common.attrib, citerefentry.role.attrib, local.citerefentry.attrib
  4115. # end of citerefentry.attlist
  4116. # end of citerefentry.module
  4117. local.refentrytitle.attrib = empty
  4118. refentrytitle.role.attrib = role.attrib
  4119. refentrytitle =
  4120. element refentrytitle { refentrytitle.attlist, para.char.mix* }
  4121. # end of refentrytitle.element
  4122. refentrytitle.attlist &=
  4123. common.attrib, refentrytitle.role.attrib, local.refentrytitle.attrib
  4124. # end of refentrytitle.attlist
  4125. # end of refentrytitle.module
  4126. local.manvolnum.attrib = empty
  4127. namvolnum.role.attrib = role.attrib
  4128. manvolnum = element manvolnum { manvolnum.attlist, word.char.mix* }
  4129. # end of manvolnum.element
  4130. manvolnum.attlist &=
  4131. common.attrib, namvolnum.role.attrib, local.manvolnum.attrib
  4132. # end of manvolnum.attlist
  4133. # end of manvolnum.module
  4134. local.citetitle.attrib = empty
  4135. citetitle.role.attrib = role.attrib
  4136. citetitle = element citetitle { citetitle.attlist, para.char.mix* }
  4137. # end of citetitle.element
  4138. # Pubwork: Genre of published work cited; no default
  4139. citetitle.attlist &=
  4140. attribute pubwork {
  4141. "article"
  4142. | "book"
  4143. | "chapter"
  4144. | "part"
  4145. | "refentry"
  4146. | "section"
  4147. | "journal"
  4148. | "series"
  4149. | "set"
  4150. | "manuscript"
  4151. }?,
  4152. common.attrib,
  4153. citetitle.role.attrib,
  4154. local.citetitle.attrib
  4155. # end of citetitle.attlist
  4156. # end of citetitle.module
  4157. local.emphasis.attrib = empty
  4158. emphasis.role.attrib = role.attrib
  4159. emphasis = element emphasis { emphasis.attlist, para.char.mix* }
  4160. # end of emphasis.element
  4161. emphasis.attlist &=
  4162. common.attrib, emphasis.role.attrib, local.emphasis.attrib
  4163. # end of emphasis.attlist
  4164. # end of emphasis.module
  4165. local.firstterm.attrib = empty
  4166. firstterm.role.attrib = role.attrib
  4167. firstterm = element firstterm { firstterm.attlist, word.char.mix* }
  4168. # end of firstterm.element
  4169. # to GlossEntry or other explanation
  4170. firstterm.attlist &=
  4171. linkend.attrib,
  4172. common.attrib,
  4173. firstterm.role.attrib,
  4174. local.firstterm.attrib
  4175. # end of firstterm.attlist
  4176. # end of firstterm.module
  4177. local.foreignphrase.attrib = empty
  4178. foreignphrase.role.attrib = role.attrib
  4179. foreignphrase =
  4180. element foreignphrase { foreignphrase.attlist, para.char.mix* }
  4181. # end of foreignphrase.element
  4182. foreignphrase.attlist &=
  4183. common.attrib, foreignphrase.role.attrib, local.foreignphrase.attrib
  4184. # end of foreignphrase.attlist
  4185. # end of foreignphrase.module
  4186. local.glossterm.attrib = empty
  4187. glossterm.role.attrib = role.attrib
  4188. glossterm = element glossterm { glossterm.attlist, para.char.mix* }
  4189. # end of glossterm.element
  4190. # to GlossEntry if Glossterm used in text
  4191. # BaseForm: Provides the form of GlossTerm to be used
  4192. # for indexing
  4193. glossterm.attlist &=
  4194. linkend.attrib,
  4195. attribute baseform { text }?,
  4196. common.attrib,
  4197. glossterm.role.attrib,
  4198. local.glossterm.attrib
  4199. # end of glossterm.attlist
  4200. # end of glossterm.module
  4201. local.phrase.attrib = empty
  4202. phrase.role.attrib = role.attrib
  4203. phrase = element phrase { phrase.attlist, para.char.mix* }
  4204. # end of phrase.element
  4205. phrase.attlist &= common.attrib, phrase.role.attrib, local.phrase.attrib
  4206. # end of phrase.attlist
  4207. # end of phrase.module
  4208. local.quote.attrib = empty
  4209. quote.role.attrib = role.attrib
  4210. quote = element quote { quote.attlist, para.char.mix* }
  4211. # end of quote.element
  4212. quote.attlist &= common.attrib, quote.role.attrib, local.quote.attrib
  4213. # end of quote.attlist
  4214. # end of quote.module
  4215. local.ssscript.attrib = empty
  4216. ssscript.role.attrib = role.attrib
  4217. subscript =
  4218. element subscript {
  4219. subscript.attlist,
  4220. (text
  4221. | link.char.class
  4222. | emphasis
  4223. | replaceable
  4224. | symbol
  4225. | inlinegraphic
  4226. | inlinemediaobject
  4227. | base.char.class
  4228. | other.char.class)*
  4229. }
  4230. # end of subscript.element
  4231. subscript.attlist &=
  4232. common.attrib, ssscript.role.attrib, local.ssscript.attrib
  4233. # end of subscript.attlist
  4234. superscript =
  4235. element superscript {
  4236. superscript.attlist,
  4237. (text
  4238. | link.char.class
  4239. | emphasis
  4240. | replaceable
  4241. | symbol
  4242. | inlinegraphic
  4243. | inlinemediaobject
  4244. | base.char.class
  4245. | other.char.class)*
  4246. }
  4247. # end of superscript.element
  4248. superscript.attlist &=
  4249. common.attrib, ssscript.role.attrib, local.ssscript.attrib
  4250. # end of superscript.attlist
  4251. # end of ssscript.module
  4252. local.trademark.attrib = empty
  4253. trademark.role.attrib = role.attrib
  4254. trademark =
  4255. element trademark {
  4256. trademark.attlist,
  4257. (text
  4258. | link.char.class
  4259. | tech.char.class
  4260. | base.char.class
  4261. | other.char.class
  4262. | inlinegraphic
  4263. | inlinemediaobject
  4264. | emphasis)*
  4265. }
  4266. # end of trademark.element
  4267. # Class: More precisely identifies the item the element names
  4268. trademark.attlist &=
  4269. [ a:defaultValue = "trade" ]
  4270. attribute class { "service" | "trade" | "registered" | "copyright" }?,
  4271. common.attrib,
  4272. trademark.role.attrib,
  4273. local.trademark.attrib
  4274. # end of trademark.attlist
  4275. # end of trademark.module
  4276. local.wordasword.attrib = empty
  4277. wordasword.role.attrib = role.attrib
  4278. wordasword = element wordasword { wordasword.attlist, word.char.mix* }
  4279. # end of wordasword.element
  4280. wordasword.attlist &=
  4281. common.attrib, wordasword.role.attrib, local.wordasword.attrib
  4282. # end of wordasword.attlist
  4283. # end of wordasword.module
  4284. # Links and cross-references ...........................................
  4285. local.link.attrib = empty
  4286. link.role.attrib = role.attrib
  4287. link = element link { link.attlist, para.char.mix* }
  4288. # end of link.element
  4289. # Endterm: ID of element containing text that is to be
  4290. # fetched from elsewhere in the document to appear as
  4291. # the content of this element
  4292. # to linked-to object
  4293. # Type: Freely assignable parameter
  4294. link.attlist &=
  4295. attribute endterm { xsd:IDREF }?,
  4296. linkendreq.attrib,
  4297. attribute type { text }?,
  4298. common.attrib,
  4299. link.role.attrib,
  4300. local.link.attrib
  4301. # end of link.attlist
  4302. # end of link.module
  4303. local.olink.attrib = empty
  4304. olink.role.attrib = role.attrib
  4305. olink = element olink { olink.attlist, para.char.mix* }
  4306. # end of olink.element
  4307. # TargetDocEnt: Name of an entity to be the target of the link
  4308. # LinkMode: ID of a ModeSpec containing instructions for
  4309. # operating on the entity named by TargetDocEnt
  4310. # LocalInfo: Information that may be passed to ModeSpec
  4311. # Type: Freely assignable parameter
  4312. olink.attlist &=
  4313. attribute targetdocent { xsd:ENTITY }?,
  4314. attribute linkmode { xsd:IDREF }?,
  4315. attribute localinfo { text }?,
  4316. attribute type { text }?,
  4317. attribute targetdoc { text }?,
  4318. attribute targetptr { text }?,
  4319. common.attrib,
  4320. olink.role.attrib,
  4321. local.olink.attrib
  4322. # end of olink.attlist
  4323. # end of olink.module
  4324. local.ulink.attrib = empty
  4325. ulink.role.attrib = role.attrib
  4326. ulink = element ulink { ulink.attlist, para.char.mix* }
  4327. # end of ulink.element
  4328. # URL: uniform resource locator; the target of the ULink
  4329. # Type: Freely assignable parameter
  4330. ulink.attlist &=
  4331. attribute url { text },
  4332. attribute type { text }?,
  4333. common.attrib,
  4334. ulink.role.attrib,
  4335. local.ulink.attrib
  4336. # end of ulink.attlist
  4337. # end of ulink.module
  4338. local.footnoteref.attrib = empty
  4339. footnoteref.role.attrib = role.attrib
  4340. footnoteref = element footnoteref { footnoteref.attlist, empty }
  4341. # end of footnoteref.element
  4342. # to footnote content supplied elsewhere
  4343. footnoteref.attlist &=
  4344. linkendreq.attrib,
  4345. label.attrib,
  4346. common.attrib,
  4347. footnoteref.role.attrib,
  4348. local.footnoteref.attrib
  4349. # end of footnoteref.attlist
  4350. # end of footnoteref.module
  4351. local.xref.attrib = empty
  4352. xref.role.attrib = role.attrib
  4353. xref = element xref { xref.attlist, empty }
  4354. # end of xref.element
  4355. # Endterm: ID of element containing text that is to be
  4356. # fetched from elsewhere in the document to appear as
  4357. # the content of this element
  4358. # to linked-to object
  4359. xref.attlist &=
  4360. attribute endterm { xsd:IDREF }?,
  4361. linkendreq.attrib,
  4362. common.attrib,
  4363. xref.role.attrib,
  4364. local.xref.attrib
  4365. # end of xref.attlist
  4366. # end of xref.module
  4367. # Ubiquitous elements ..................................................
  4368. local.anchor.attrib = empty
  4369. anchor.role.attrib = role.attrib
  4370. anchor = element anchor { anchor.attlist, empty }
  4371. # end of anchor.element
  4372. # required
  4373. # replaces Lang
  4374. anchor.attlist &=
  4375. idreq.attrib,
  4376. pagenum.attrib,
  4377. remap.attrib,
  4378. xreflabel.attrib,
  4379. revisionflag.attrib,
  4380. effectivity.attrib,
  4381. anchor.role.attrib,
  4382. local.anchor.attrib
  4383. # end of anchor.attlist
  4384. # end of anchor.module
  4385. local.beginpage.attrib = empty
  4386. beginpage.role.attrib = role.attrib
  4387. beginpage = element beginpage { beginpage.attlist, empty }
  4388. # end of beginpage.element
  4389. # PageNum: Number of page that begins at this point
  4390. beginpage.attlist &=
  4391. pagenum.attrib,
  4392. common.attrib,
  4393. beginpage.role.attrib,
  4394. local.beginpage.attrib
  4395. # end of beginpage.attlist
  4396. # end of beginpage.module
  4397. # IndexTerms appear in the text flow for generating or linking an
  4398. # index.
  4399. local.indexterm.attrib = empty
  4400. indexterm.role.attrib = role.attrib
  4401. indexterm =
  4402. element indexterm {
  4403. indexterm.attlist,
  4404. primary?,
  4405. ((secondary,
  4406. ((tertiary, (see | seealso+)?)
  4407. | see
  4408. | seealso+)?)
  4409. | see
  4410. | seealso+)?
  4411. }
  4412. # end of indexterm.element
  4413. # Scope: Indicates which generated indices the IndexTerm
  4414. # should appear in: Global (whole document set), Local (this
  4415. # document only), or All (both)
  4416. # Significance: Whether this IndexTerm is the most pertinent
  4417. # of its series (Preferred) or not (Normal, the default)
  4418. # Class: Indicates type of IndexTerm; default is Singular,
  4419. # or EndOfRange if StartRef is supplied; StartOfRange value
  4420. # must be supplied explicitly on starts of ranges
  4421. # StartRef: ID of the IndexTerm that starts the indexing
  4422. # range ended by this IndexTerm
  4423. # Zone: IDs of the elements to which the IndexTerm applies,
  4424. # and indicates that the IndexTerm applies to those entire
  4425. # elements rather than the point at which the IndexTerm
  4426. # occurs
  4427. indexterm.attlist &=
  4428. pagenum.attrib,
  4429. attribute scope { "all" | "global" | "local" }?,
  4430. [ a:defaultValue = "normal" ]
  4431. attribute significance { "preferred" | "normal" }?,
  4432. attribute class { "singular" | "startofrange" | "endofrange" }?,
  4433. attribute startref { xsd:IDREF }?,
  4434. attribute zone { xsd:IDREFS }?,
  4435. common.attrib,
  4436. indexterm.role.attrib,
  4437. local.indexterm.attrib
  4438. # end of indexterm.attlist
  4439. # end of indexterm.module
  4440. local.primsecter.attrib = empty
  4441. primsecter.role.attrib = role.attrib
  4442. primary = element primary { primary.attlist, ndxterm.char.mix* }
  4443. # end of primary.element
  4444. # SortAs: Alternate sort string for index sorting, e.g.,
  4445. # "fourteen" for an element containing "14"
  4446. primary.attlist &=
  4447. attribute sortas { text }?,
  4448. common.attrib,
  4449. primsecter.role.attrib,
  4450. local.primsecter.attrib
  4451. # end of primary.attlist
  4452. secondary = element secondary { secondary.attlist, ndxterm.char.mix* }
  4453. # end of secondary.element
  4454. # SortAs: Alternate sort string for index sorting, e.g.,
  4455. # "fourteen" for an element containing "14"
  4456. secondary.attlist &=
  4457. attribute sortas { text }?,
  4458. common.attrib,
  4459. primsecter.role.attrib,
  4460. local.primsecter.attrib
  4461. # end of secondary.attlist
  4462. tertiary = element tertiary { tertiary.attlist, ndxterm.char.mix* }
  4463. # end of tertiary.element
  4464. # SortAs: Alternate sort string for index sorting, e.g.,
  4465. # "fourteen" for an element containing "14"
  4466. tertiary.attlist &=
  4467. attribute sortas { text }?,
  4468. common.attrib,
  4469. primsecter.role.attrib,
  4470. local.primsecter.attrib
  4471. # end of tertiary.attlist
  4472. # end of primsecter.module
  4473. local.seeseealso.attrib = empty
  4474. seeseealso.role.attrib = role.attrib
  4475. see = element see { see.attlist, ndxterm.char.mix* }
  4476. # end of see.element
  4477. see.attlist &=
  4478. common.attrib, seeseealso.role.attrib, local.seeseealso.attrib
  4479. # end of see.attlist
  4480. seealso = element seealso { seealso.attlist, ndxterm.char.mix* }
  4481. # end of seealso.element
  4482. seealso.attlist &=
  4483. common.attrib, seeseealso.role.attrib, local.seeseealso.attrib
  4484. # end of seealso.attlist
  4485. # end of seeseealso.module
  4486. # end of indexterm.content.module
  4487. # End of DocBook XML information pool module V4.2 ......................
  4488. # ......................................................................