diff options
Diffstat (limited to 'src/resources/entities')
26 files changed, 4706 insertions, 0 deletions
diff --git a/src/resources/entities/CatalogManager.properties b/src/resources/entities/CatalogManager.properties new file mode 100755 index 0000000000..5fb94de4af --- /dev/null +++ b/src/resources/entities/CatalogManager.properties @@ -0,0 +1,50 @@ +# CatalogManager.properties +# +# This is the default properties file for Apache Cocoon. This facilitates local +# configuration of application-specific catalogs. You can also use cocoon.xconf +# to over-ride or supplement these settings. +# +# Apache Cocoon will automatically load a default catalog from +# webapps/cocoon/resources/entities/catalog +# +# See the documentation (catalog.html). + +# verbosity ... level of messages for status/debug (messages go to STDOUT) +# The following messages are provided ... +# 0 = none +# 1 = ? +# 2 = 1+, Loading catalog, Resolved public, Resolved system +# 3 = 2+, Catalog does not exist, resolvePublic, resolveSystem +# 10 = 3+, List all catalog entries when loading a catalog +# (Cocoon also logs the "Resolved public" messages.) +# TODO: determine all messages at each level +# +verbosity=1 + +# catalogs ... list of additional catalogs to load +# use full pathnames +# pathname separator is always semi-colon (;) regardless of operating system +# directory separator is always slash (/) regardless of operating system +# +#catalogs=/path/to/local/catalog +catalogs= + +# prefer ... we prefer to use Public Identifiers for entity resolution +# +prefer=public + +# static-catalog ... see the Sun doco +# TODO: ? what impact does this setting have for Apache Cocoon +# +static-catalog=yes + +# allow-oasis-xml-catalog-pi ... see the Sun doco +# TODO: ? what impact does this setting have for Apache Cocoon +# +allow-oasis-xml-catalog-pi=yes + +# catalog-class-name ... specify an alternate class name to use +# Apache Cocoon does not need this setting - we already have a named class +# +# catalog-class-name=com.sun.resolver.Resolver + diff --git a/src/resources/entities/ISOdia.pen b/src/resources/entities/ISOdia.pen new file mode 100755 index 0000000000..df5c05d2ed --- /dev/null +++ b/src/resources/entities/ISOdia.pen @@ -0,0 +1,34 @@ +<!-- (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % ISOdia PUBLIC + "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"> + %ISOdia; +--> +<!-- This version of the entity set can be used with any SGML document + which uses ISO 10646 as its document character set. + This includes XML documents and ISO HTML documents. + This entity set uses hexadecimal numeric character references. + + Creator: Rick Jelliffe, Allette Systems + + Version: 1997-07-07 +--> + +<!ENTITY acute "´" ><!--=acute accent--> +<!ENTITY breve "˘" ><!--=breve--> +<!ENTITY caron "ˇ" ><!--=caron--> +<!ENTITY cedil "¸" ><!--=cedilla--> +<!ENTITY circ "^" ><!--=circumflex accent--> +<!ENTITY dblac "˝" ><!--=double acute accent--> +<!ENTITY die "¨" ><!--=dieresis--> +<!ENTITY dot "˙" ><!--=dot above--> +<!ENTITY grave "`" ><!--=grave accent--> +<!ENTITY macr "¯" ><!--=macron--> +<!ENTITY ogon "˛" ><!--=ogonek--> +<!ENTITY ring "˚" ><!--=ring--> +<!ENTITY tilde "˜" ><!--=tilde--> +<!ENTITY uml "¨" ><!--=umlaut mark--> diff --git a/src/resources/entities/ISOgrk1.pen b/src/resources/entities/ISOgrk1.pen new file mode 100755 index 0000000000..cdab380fc3 --- /dev/null +++ b/src/resources/entities/ISOgrk1.pen @@ -0,0 +1,74 @@ +<!-- (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + + Creator: version from ISO 8879:1986 + + Version: 0.21 1992-12-04 +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % ISOGRK1 PUBLIC + "ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML"> + %ISOGRK1; +--> +<!-- This version of the entity set can be used with any SGML document + which uses ISO 10646 as its document character set. + This includes XML documents and ISO HTML documents. + + Creator: Rick Jelliffe, from HTMLlat1 + + Version: 1997-07-07 +--> + +<!ENTITY agr "α" ><!--small alpha, Greek, U03B1 --> +<!ENTITY Agr "Α" ><!--capital Alpha, Greek, U0391 --> +<!ENTITY bgr "β" ><!--small beta, Greek, U03B2 --> +<!ENTITY Bgr "Β" ><!--capital Beta, Greek, U0392 --> +<!ENTITY ggr "γ" ><!--small gamma, Greek, U03B3 --> +<!ENTITY Ggr "Γ" ><!--capital Gamma, Greek, U0393 --> +<!ENTITY dgr "δ" ><!--small delta, Greek, U03B4 --> +<!ENTITY Dgr "Δ" ><!--capital Delta, Greek, U0394 --> +<!ENTITY egr "ε" ><!--small epsilon, Greek, U03B5 --> +<!ENTITY Egr "Ε" ><!--capital Epsilon, Greek, U0395 --> +<!ENTITY zgr "ζ" ><!--small zeta, Greek, U03B6 --> +<!ENTITY Zgr "Ζ" ><!--capital Zeta, Greek, U0396 --> +<!ENTITY eegr "η" ><!--small eta, Greek, U03B7 --> +<!ENTITY EEgr "Η" ><!--capital Eta, Greek, U0397 --> +<!ENTITY thgr "θ" ><!--small theta, Greek, U03B8 --> +<!ENTITY THgr "Θ" ><!--capital Theta, Greek, U0398 --> +<!ENTITY igr "ι" ><!--small iota, Greek, U03B9 --> +<!ENTITY Igr "Ι" ><!--capital Iota, Greek, U0399 --> +<!ENTITY kgr "κ" ><!--small kappa, Greek, U03BA --> +<!ENTITY Kgr "Κ" ><!--capital Kappa, Greek, U039A --> +<!ENTITY lgr "λ" ><!--small lambda, Greek, U03BB --> +<!ENTITY Lgr "Λ" ><!--capital Lambda, Greek, U039B --> +<!ENTITY mgr "μ" ><!--small mu, Greek, U03BC --> +<!ENTITY Mgr "Μ" ><!--capital Mu, Greek, U039C --> +<!ENTITY ngr "ν" ><!--small nu, Greek, U03BD --> +<!ENTITY Ngr "Ν" ><!--capital Nu, Greek, U039D --> +<!ENTITY xgr "ξ" ><!--small xi, Greek, U03BE --> +<!ENTITY Xgr "Ξ" ><!--capital Xi, Greek, U039E --> +<!ENTITY ogr "ο" ><!--small omicron, Greek, U03BF --> +<!ENTITY Ogr "Ο" ><!--capital Omicron, Greek, U039F --> +<!ENTITY pgr "π" ><!--small pi, Greek, U03C0 --> +<!ENTITY Pgr "Π" ><!--capital Pi, Greek, U03A0 --> +<!ENTITY rgr "ρ" ><!--small rho, Greek, U03C1 --> +<!ENTITY Rgr "Ρ" ><!--capital Rho, Greek, U03A1 --> +<!ENTITY sfgr "ς" ><!--final small sigma, Greek, U03C2 --> +<!ENTITY sgr "σ" ><!--small sigma, Greek, U03C3 --> +<!ENTITY Sgr "Σ" ><!--capital Sigma, Greek, U03A3 --> +<!ENTITY tgr "τ" ><!--small tau, Greek, U03C4 --> +<!ENTITY Tgr "Τ" ><!--capital Tau, Greek, U03A4 --> +<!ENTITY ugr "υ" ><!--small upsilon, Greek, U03C5 --> +<!ENTITY Ugr "Υ" ><!--capital Upsilon, Greek, U03A5 --> +<!ENTITY phgr "φ" ><!--small phi, Greek, U03C6 --> +<!ENTITY PHgr "Φ" ><!--capital Phi, Greek, U03A6 --> +<!ENTITY khgr "χ" ><!--small chi, Greek, U03C7 --> +<!ENTITY KHgr "Χ" ><!--capital Chi, Greek, U03A7 --> +<!ENTITY psgr "ψ" ><!--small psi, Greek, U03C8 --> +<!ENTITY PSgr "Ψ" ><!--capital Psi, Greek, U03A8 --> +<!ENTITY ohgr "ω" ><!--small omega, Greek, U03C9 --> +<!ENTITY OHgr "Ω" ><!--capital Omega, Greek, U03A9 --> + + diff --git a/src/resources/entities/ISOlat1.pen b/src/resources/entities/ISOlat1.pen new file mode 100755 index 0000000000..82e5a7a6c9 --- /dev/null +++ b/src/resources/entities/ISOlat1.pen @@ -0,0 +1,79 @@ +<!-- (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLlat1 PUBLIC + "ISO 8879-1986//ENTITIES Added Latin 1//EN//XML"> + %ISOlat1; +--> +<!-- This version of the entity set can be used with any SGML document + which uses ISO 8859-1 or ISO 10646 as its document character + set. This includes XML documents and ISO HTML documents. +--> + + <!ENTITY Agrave "À" ><!-- capital A, grave accent --> + <!ENTITY Aacute "Á" ><!-- capital A, acute accent --> + <!ENTITY Acirc "Â" ><!-- capital A, circumflex accent --> + <!ENTITY Atilde "Ã" ><!-- capital A, tilde --> + <!ENTITY Auml "Ä" ><!-- capital A, dieresis or umlaut mark --> + <!ENTITY Aring "Å" ><!-- capital A, ring --> + <!ENTITY AElig "Æ" ><!-- capital AE diphthong (ligature) --> + <!ENTITY Ccedil "Ç" ><!-- capital C, cedilla --> + <!ENTITY Egrave "È" ><!-- capital E, grave accent --> + <!ENTITY Eacute "É" ><!-- capital E, acute accent --> + <!ENTITY Ecirc "Ê" ><!-- capital E, circumflex accent --> + <!ENTITY Euml "Ë" ><!-- capital E, dieresis or umlaut mark --> + <!ENTITY Igrave "Ì" ><!-- capital I, grave accent --> + <!ENTITY Iacute "Í" ><!-- capital I, acute accent --> + <!ENTITY Icirc "Î" ><!-- capital I, circumflex accent --> + <!ENTITY Iuml "Ï" ><!-- capital I, dieresis or umlaut mark --> + <!ENTITY ETH "Ð" ><!-- capital Eth, Icelandic --> + <!ENTITY Ntilde "Ñ" ><!-- capital N, tilde --> + <!ENTITY Ograve "Ò" ><!-- capital O, grave accent --> + <!ENTITY Oacute "Ó" ><!-- capital O, acute accent --> + <!ENTITY Ocirc "Ô" ><!-- capital O, circumflex accent --> + <!ENTITY Otilde "Õ" ><!-- capital O, tilde --> + <!ENTITY Ouml "Ö" ><!-- capital O, dieresis or umlaut mark --> + <!ENTITY Oslash "Ø" ><!-- capital O, slash --> + <!ENTITY Ugrave "Ù" ><!-- capital U, grave accent --> + <!ENTITY Uacute "Ú" ><!-- capital U, acute accent --> + <!ENTITY Ucirc "Û" ><!-- capital U, circumflex accent --> + <!ENTITY Uuml "Ü" ><!-- capital U, dieresis or umlaut mark --> + <!ENTITY Yacute "Ý" ><!-- capital Y, acute accent --> + <!ENTITY THORN "Þ" ><!-- capital THORN, Icelandic --> + <!ENTITY szlig "ß" ><!-- small sharp s, German (sz ligature) --> + <!ENTITY agrave "à" ><!-- small a, grave accent --> + <!ENTITY aacute "á" ><!-- small a, acute accent --> + <!ENTITY acirc "â" ><!-- small a, circumflex accent --> + <!ENTITY atilde "ã" ><!-- small a, tilde --> + <!ENTITY auml "ä" ><!-- small a, dieresis or umlaut mark --> + <!ENTITY aring "å" ><!-- small a, ring --> + <!ENTITY aelig "æ" ><!-- small ae diphthong (ligature) --> + <!ENTITY ccedil "ç" ><!-- small c, cedilla --> + <!ENTITY egrave "è" ><!-- small e, grave accent --> + <!ENTITY eacute "é" ><!-- small e, acute accent --> + <!ENTITY ecirc "ê" ><!-- small e, circumflex accent --> + <!ENTITY euml "ë" ><!-- small e, dieresis or umlaut mark --> + <!ENTITY igrave "ì" ><!-- small i, grave accent --> + <!ENTITY iacute "í" ><!-- small i, acute accent --> + <!ENTITY icirc "î" ><!-- small i, circumflex accent --> + <!ENTITY iuml "ï" ><!-- small i, dieresis or umlaut mark --> + <!ENTITY eth "ð" ><!-- small eth, Icelandic --> + <!ENTITY ntilde "ñ" ><!-- small n, tilde --> + <!ENTITY ograve "ò" ><!-- small o, grave accent --> + <!ENTITY oacute "ó" ><!-- small o, acute accent --> + <!ENTITY ocirc "ô" ><!-- small o, circumflex accent --> + <!ENTITY otilde "õ" ><!-- small o, tilde --> + <!ENTITY ouml "ö" ><!-- small o, dieresis or umlaut mark --> + + <!ENTITY oslash "ø" ><!-- small o, slash --> + <!ENTITY ugrave "ù" ><!-- small u, grave accent --> + <!ENTITY uacute "ú" ><!-- small u, acute accent --> + <!ENTITY ucirc "û" ><!-- small u, circumflex accent --> + <!ENTITY uuml "ü" ><!-- small u, dieresis or umlaut mark --> + <!ENTITY yacute "ý" ><!-- small y, acute accent --> + <!ENTITY thorn "þ" ><!-- small thorn, Icelandic --> + <!ENTITY yuml "ÿ" ><!-- small y, dieresis or umlaut mark --> + diff --git a/src/resources/entities/ISOnum.pen b/src/resources/entities/ISOnum.pen new file mode 100755 index 0000000000..02605bfb58 --- /dev/null +++ b/src/resources/entities/ISOnum.pen @@ -0,0 +1,109 @@ +<!-- (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % ISOnum PUBLIC + "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"> + %ISOnum; +--> +<!-- This version of the entity set can be used with any SGML document + which uses ISO 10646 as its document character set. + This includes XML documents and ISO HTML documents. + This entity set uses hexadecimal numeric character references. + + Creator: Rick Jelliffe, Allette Systems + + Version: 1997-07-07 +--> + +<!ENTITY half "½" ><!--=fraction one-half--> +<!ENTITY frac12 "½" ><!--=fraction one-half--> +<!ENTITY frac14 "¼" ><!--=fraction one-quarter--> +<!ENTITY frac34 "¾" ><!--=fraction three-quarters--> +<!ENTITY frac18 "⅛" > + <!-- or "±Ȃ⁄₈" --><!--=fraction one-eighth--> +<!ENTITY frac38 "⅜" > + <!-- or "³⁄₈" --><!--=fraction three-eighths--> +<!ENTITY frac58 "⅝" > + <!-- or "⁵⁄₈" --><!--=fraction five-eighths--> +<!ENTITY frac78 "⅞" > + <!-- or "⁷⁄₈" --><!--=fraction seven-eighths--> + +<!ENTITY sup1 "¹" ><!--=superscript one--> +<!ENTITY sup2 "²" ><!--=superscript two--> +<!ENTITY sup3 "³" ><!--=superscript three--> + +<!ENTITY plus "+" ><!--=plus sign B:--> +<!ENTITY plusmn "±" ><!--/pm B: =plus-or-minus sign--> +<!ENTITY lt "&#60;" ><!--=less-than sign R:--> +<!ENTITY equals "=" ><!--=equals sign R:--> +<!ENTITY gt ">" ><!--=greater-than sign R:--> +<!ENTITY divide "÷" ><!--/div B: =divide sign--> +<!ENTITY times "×" ><!--/times B: =multiply sign--> + +<!ENTITY curren "¤" ><!--=general currency sign--> +<!ENTITY pound "£" ><!--=pound sign--> +<!ENTITY dollar "$" ><!--=dollar sign--> +<!ENTITY cent "¢" ><!--=cent sign--> +<!ENTITY yen "¥" ><!--/yen =yen sign--> + +<!ENTITY num "#" ><!--=number sign--> +<!ENTITY percnt "%" ><!--=percent sign--> +<!ENTITY amp "&#38;" ><!--=ampersand--> +<!ENTITY ast "*" ><!--/ast B: =asterisk--> +<!ENTITY commat "@" ><!--=commercial at--> +<!ENTITY lsqb "[" ><!--/lbrack O: =left square bracket--> +<!ENTITY bsol "\" ><!--/backslash =reverse solidus--> +<!ENTITY rsqb "]" ><!--/rbrack C: =right square bracket--> +<!ENTITY lcub "{" ><!--/lbrace O: =left curly bracket--> +<!ENTITY horbar "―" ><!--=horizontal bar--> +<!ENTITY verbar "|" ><!--/vert =vertical bar--> +<!ENTITY rcub "}" ><!--/rbrace C: =right curly bracket--> +<!ENTITY micro "µ" ><!--=micro sign--> +<!ENTITY ohm "ࡎ" ><!--=ohm sign--> +<!ENTITY deg "°" ><!--=degree sign--> +<!ENTITY ordm "º" ><!--=ordinal indicator, masculine--> +<!ENTITY ordf "ª" ><!--=ordinal indicator, feminine--> +<!ENTITY sect "§" ><!--=section sign--> +<!ENTITY para "¶" ><!--=pilcrow (paragraph sign)--> +<!ENTITY middot "·" ><!--/centerdot B: =middle dot--> +<!ENTITY larr "←" ><!--/leftarrow /gets A: =leftward arrow--> +<!ENTITY rarr "→" ><!--/rightarrow /to A: =rightward arrow--> +<!ENTITY uarr "↑" ><!--/uparrow A: =upward arrow--> +<!ENTITY darr "↓" ><!--/downarrow A: =downward arrow--> +<!ENTITY copy "©" ><!--=copyright sign--> +<!ENTITY reg "®" ><!--/circledR =registered sign--> +<!ENTITY trade "™" ><!--=trade mark sign--> +<!ENTITY brvbar "¦" ><!--=bren (vertical) bar--> +<!ENTITY not "¬" ><!--/neg /lnot =not sign--> +<!ENTITY sung "♪" ><!--=music note (sung text sign)--> + +<!ENTITY excl "!" ><!--=exclamation mark--> +<!ENTITY iexcl "¡" ><!--=inverted exclamation mark--> +<!ENTITY quot '"' ><!--=quotation mark--> +<!ENTITY apos "'" ><!--=apostrophe--> +<!ENTITY lpar "(" ><!--O: =left parenthesis--> +<!ENTITY rpar ")" ><!--C: =right parenthesis--> +<!ENTITY comma "," ><!--P: =comma--> +<!ENTITY lowbar "_" ><!--=low line--> +<!ENTITY hyphen "‐" ><!--=hyphen--> +<!ENTITY period "." ><!--=full stop, period--> +<!ENTITY sol "/" ><!--=solidus--> +<!ENTITY colon ":" ><!--/colon P:--> +<!ENTITY semi ";" ><!--=semicolon P:--> +<!ENTITY quest "?" ><!--=question mark--> +<!ENTITY iquest "¿" ><!--=inverted question mark--> +<!ENTITY laquo "‹" ><!--=angle quotation mark, left + But note that Unicode 1 & Maler & el Andaloussi give « --> +<!ENTITY raquo "›" ><!--=angle quotation mark, right + But note that Unicode 1 & Maler & el Andaloussi give » --> +<!ENTITY lsquo "‘" ><!--=single quotation mark, left--> +<!ENTITY rsquo "’" ><!--=single quotation mark, right--> +<!ENTITY ldquo "“" ><!--=double quotation mark, left--> +<!ENTITY rdquo "”" ><!--=double quotation mark, right--> +<!ENTITY nbsp " " ><!--=no break (required) space--> +<!ENTITY shy "­" ><!--=soft hyphen--> + + diff --git a/src/resources/entities/ISOpub.pen b/src/resources/entities/ISOpub.pen new file mode 100755 index 0000000000..04a5732b45 --- /dev/null +++ b/src/resources/entities/ISOpub.pen @@ -0,0 +1,110 @@ +<!-- (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % ISOpub PUBLIC + "ISO 8879:1986//ENTITIES Publishing//EN//XML"> + %ISOpub; +--> +<!-- This version of the entity set can be used with any SGML document + which uses ISO 10646 as its document character set. + This includes XML documents and ISO HTML documents. + This entity set uses hexadecimal numeric character references. + + Creator: Rick Jelliffe, Allette Systems + + Version: 1997-07-07 +--> +<!ENTITY emsp " " ><!--=em space--> +<!ENTITY ensp " " ><!--=en space (1/2-em)--> +<!ENTITY emsp13 " " ><!--=1/3-em space--> +<!ENTITY emsp14 " " ><!--=1/4-em space--> +<!ENTITY numsp " " ><!--=digit space (width of a number)--> +<!ENTITY puncsp " " ><!--=punctuation space (width of comma)--> +<!ENTITY thinsp " " ><!--=thin space (1/6-em)--> +<!ENTITY hairsp " " ><!--=hair space--> +<!ENTITY mdash "—" ><!--=em dash--> +<!ENTITY ndash "–" ><!--=en dash--> +<!ENTITY dash "‐" ><!--=hyphen (true graphic)--> +<!ENTITY blank "␣" ><!--=significant blank symbol--> +<!ENTITY hellip "…" ><!--=ellipsis (horizontal)--> +<!ENTITY nldr "‥" ><!--=double baseline dot (en leader)--> +<!ENTITY frac13 "⅓" ><!--=fraction one-third--> +<!ENTITY frac23 "⅔" ><!--=fraction two-thirds--> +<!ENTITY frac15 "⅕" ><!--=fraction one-fifth--> +<!ENTITY frac25 "⅖" ><!--=fraction two-fifths--> +<!ENTITY frac35 "⅗" ><!--=fraction three-fifths--> +<!ENTITY frac45 "⅘" ><!--=fraction four-fifths--> +<!ENTITY frac16 "⅙" ><!--=fraction one-sixth--> +<!ENTITY frac56 "⅚" ><!--=fraction five-sixths--> +<!ENTITY incare "℅" ><!--=in-care-of symbol--> +<!ENTITY block "█" ><!--=full block--> +<!ENTITY uhblk "▀" ><!--=upper half block--> +<!ENTITY lhblk "▄" ><!--=lower half block--> +<!ENTITY blk14 "░" ><!--=25% shaded block--> +<!ENTITY blk12 "▒" ><!--=50% shaded block--> +<!ENTITY blk34 "▓" ><!--=75% shaded block--> +<!ENTITY marker "▮" ><!--=histogram marker--> +<!ENTITY cir "○" ><!--/circ B: =circle, open--> +<!ENTITY squ "□" ><!--=square, open--> +<!ENTITY rect "▭" ><!--=rectangle, open--> +<!ENTITY utri "▵" ><!--/triangle =up triangle, open--> +<!ENTITY dtri "▿" ><!--/triangledown =down triangle, open--> +<!ENTITY star "☆" ><!--=star, open--> +<!ENTITY bull "•" ><!--/bullet B: =round bullet, filled--> +<!ENTITY squf "▪" ><!--/blacksquare =sq bullet, filled--> +<!ENTITY utrif "▴" ><!--/blacktriangle =up tri, filled--> +<!ENTITY dtrif "▾" ><!--/blacktriangledown =dn tri, filled--> +<!ENTITY ltrif "◂" ><!--/blacktriangleleft R: =l tri, filled--> +<!ENTITY rtrif "▸" ><!--/blacktriangleright R: =r tri, filled--> +<!ENTITY clubs "♣" ><!--/clubsuit =club suit symbol--> +<!ENTITY diams "♢" ><!--/diamondsuit =diamond suit symbol--> +<!ENTITY hearts "♡" ><!--/heartsuit =heart suit symbol--> +<!ENTITY spades "♠" ><!--/spadesuit =spades suit symbol--> +<!ENTITY malt "✠" ><!--/maltese =maltese cross--> +<!ENTITY dagger "†" ><!--/dagger B: =dagger--> +<!ENTITY Dagger "‡" ><!--/ddagger B: =double dagger--> +<!ENTITY check "✓" ><!--/checkmark =tick, check mark--> +<!ENTITY cross "✗" ><!--=ballot cross--> +<!ENTITY sharp "♯" ><!--/sharp =musical sharp--> +<!ENTITY flat "♭" ><!--/flat =musical flat--> +<!ENTITY male "♂" ><!--=male symbol--> +<!ENTITY female "♀" ><!--=female symbol--> +<!ENTITY phone "⛠" ><!--=telephone symbol--> +<!ENTITY telrec "⌕" ><!--=telephone recorder symbol--> +<!ENTITY copysr "℗" ><!--=sound recording copyright sign--> +<!ENTITY caret "⁁" ><!--=caret (insertion mark)--> +<!ENTITY lsquor "‚" ><!--=rising single quote, left (low)--> +<!ENTITY ldquor "„" ><!--=rising dbl quote, left (low)--> + +<!ENTITY fflig "ff" ><!--small ff ligature--> +<!ENTITY filig "fi" ><!--small fi ligature--> +<!ENTITY fjlig "fj" ><!--small fj ligature--> +<!ENTITY ffilig "ffi" ><!--small ffi ligature--> +<!ENTITY ffllig "ffl" ><!--small ffl ligature--> +<!ENTITY fllig "fl" ><!--small fl ligature--> + +<!ENTITY mldr "‥" ><!--em leader--> +<!ENTITY rdquor "”" ><!--rising dbl quote, right (high)--> +<!ENTITY rsquor "’" ><!--rising single quote, right (high)--> +<!ENTITY vellip "⋮" ><!--vertical ellipsis--> + +<!ENTITY hybull "⁃" ><!--rectangle, filled (hyphen bullet)--> +<!ENTITY loz "✧" ><!--/lozenge - lozenge or total mark--> +<!ENTITY lozf "✦" ><!--/blacklozenge - lozenge, filled--> +<!ENTITY ltri "◃" ><!--/triangleleft B: l triangle, open--> +<!ENTITY rtri "▹" ><!--/triangleright B: r triangle, open--> +<!ENTITY starf "★" ><!--/bigstar - star, filled--> + +<!ENTITY natur "♮" ><!--/natural - music natural--> +<!ENTITY rx "℞" ><!--pharmaceutical prescription (Rx)--> +<!ENTITY sext "✶" ><!--sextile (6-pointed star)--> + +<!ENTITY target "⌖" ><!--register mark or target--> +<!ENTITY dlcrop "⌍" ><!--downward left crop mark --> +<!ENTITY drcrop "⌌" ><!--downward right crop mark --> +<!ENTITY ulcrop "⌏" ><!--upward left crop mark --> +<!ENTITY urcrop "⌎" ><!--upward right crop mark --> + diff --git a/src/resources/entities/ISOtech.pen b/src/resources/entities/ISOtech.pen new file mode 100755 index 0000000000..b3b39f9f1b --- /dev/null +++ b/src/resources/entities/ISOtech.pen @@ -0,0 +1,85 @@ + +<!-- (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % ISOtech PUBLIC + "ISO 8879:1986//ENTITIES General Technical//EN//XML" + "ISOtech.pen"> + %ISOtech; +--> +<!-- This version of the entity set can be used with any SGML document + which uses ISO 10646 as its document character set. + This includes XML documents and ISO HTML documents. + This entity set uses hexadecimal numeric character references. + + Creator: Rick Jelliffe, Allette Systems + + Version: 1997-07-07 +--> +<!ENTITY aleph "ℵ" ><!--/aleph =aleph, Hebrew--> +<!ENTITY and "∧" ><!--/wedge /land B: =logical and--> +<!ENTITY ang90 "∟" ><!--=right (90 degree) angle--> +<!ENTITY angsph "∢" ><!--/sphericalangle =angle-spherical--> +<!ENTITY ap "≉" ><!--/approx R: =approximate--> +<!ENTITY becaus "∵" ><!--/because R: =because--> +<!ENTITY bottom "⊥" ><!--/bot B: =perpendicular--> +<!ENTITY cap "∩" ><!--/cap B: =intersection--> +<!ENTITY cong "≅" ><!--/cong R: =congruent with--> +<!ENTITY conint "∮" ><!--/oint L: =contour integral operator--> +<!ENTITY cup "∪" ><!--/cup B: =union or logical sum--> +<!ENTITY equiv "≡" ><!--/equiv R: =identical with--> +<!ENTITY exist "∃" ><!--/exists =at least one exists--> +<!ENTITY forall "∀" ><!--/forall =for all--> +<!ENTITY fnof "ƒ" ><!--=function of (italic small f)--> +<!ENTITY ge "≥" ><!--/geq /ge R: =greater-than-or-equal--> +<!ENTITY iff "⇔" ><!--/iff =if and only if--> +<!ENTITY infin "∞" ><!--/infty =infinity--> +<!ENTITY int "∫" ><!--/int L: =integral operator--> +<!ENTITY isin "∈" ><!--/in R: =set membership--> +<!ENTITY lang "〈" ><!--/langle O: =left angle bracket--> +<!ENTITY lArr "⇐" ><!--/Leftarrow A: =is implied by--> +<!ENTITY le "≤" ><!--/leq /le R: =less-than-or-equal--> +<!ENTITY minus "-" ><!--B: =minus sign--> +<!ENTITY mnplus "∓" ><!--/mp B: =minus-or-plus sign--> +<!ENTITY nabla "∇" ><!--/nabla =del, Hamilton operator--> +<!ENTITY ne "≠" ><!--/ne /neq R: =not equal--> +<!ENTITY ni "∋" ><!--/ni /owns R: =contains--> +<!ENTITY or "∨" ><!--/vee /lor B: =logical or--> +<!ENTITY par "∥" ><!--/parallel R: =parallel--> +<!ENTITY part "∂" ><!--/partial =partial differential--> +<!ENTITY permil "‰" ><!--=per thousand--> +<!ENTITY perp "⊥" ><!--/perp R: =perpendicular--> +<!ENTITY prime "′" ><!--/prime =prime or minute--> +<!ENTITY Prime "″" ><!--=double prime or second--> +<!ENTITY prop "∝" ><!--/propto R: =is proportional to--> +<!ENTITY radic "√" ><!--/surd =radical--> +<!ENTITY rang "〉" ><!--/rangle C: =right angle bracket--> +<!ENTITY rArr "⇒" ><!--/Rightarrow A: =implies--> +<!ENTITY sim "∼" ><!--/sim R: =similar--> +<!ENTITY sime "≃" ><!--/simeq R: =similar, equals--> +<!ENTITY square "□" ><!--/square B: =square--> +<!ENTITY sub "⊂" ><!--/subset R: =subset or is implied by--> +<!ENTITY sube "⊆" ><!--/subseteq R: =subset, equals--> +<!ENTITY sup "⊃" ><!--/supset R: =superset or implies--> +<!ENTITY supe "⊇" ><!--/supseteq R: =superset, equals--> +<!ENTITY there4 "∴" ><!--/therefore R: =therefore--> +<!ENTITY Verbar "‖" ><!--/Vert =dbl vertical bar--> + +<!ENTITY angst "Å" ><!--Angstrom =capital A, ring--> +<!ENTITY bernou "ℬ" ><!--Bernoulli function (script capital B)--> +<!ENTITY compfn "∘" ><!--B: composite function (small circle)--> +<!ENTITY Dot "¨" ><!--=dieresis or umlaut mark--> +<!ENTITY DotDot "⃜" ><!--four dots above--> +<!ENTITY hamilt "ℋ" ><!--Hamiltonian (script capital H)--> +<!ENTITY lagran "ℒ" ><!--Lagrangian (script capital L)--> +<!ENTITY lowast "∗" ><!--low asterisk--> +<!ENTITY notin "∉" ><!--N: negated set membership--> +<!ENTITY order "ℴ" ><!--order of (script small o)--> +<!ENTITY phmmat "ℳ" ><!--physics M-matrix (script capital M)--> +<!ENTITY tdot "⃛" ><!--three dots above--> +<!ENTITY tprime "‴" ><!--triple prime--> +<!ENTITY wedgeq "≙" ><!--R: corresponds to (wedge, equals)--> + diff --git a/src/resources/entities/README b/src/resources/entities/README new file mode 100755 index 0000000000..5473cec242 --- /dev/null +++ b/src/resources/entities/README @@ -0,0 +1,5 @@ +See Apache Cocoon documentation +"Entity resolution with catalogs" (catalog.html) + +Note: You must move the CatalogManager.properties file to +some filesystem location that is accessible to your classpath. diff --git a/src/resources/entities/XMLSchema.dtd b/src/resources/entities/XMLSchema.dtd new file mode 100755 index 0000000000..aa3564caa5 --- /dev/null +++ b/src/resources/entities/XMLSchema.dtd @@ -0,0 +1,395 @@ +<!-- DTD for XML Schemas: Part 1: Structures + Public Identifier: "-//W3C//DTD XMLSCHEMA 200010//EN" + Official Location: http://www.w3.org/2000/10/XMLSchema.dtd --> +<!-- $Id$ --> +<!-- Note this DTD is NOT normative, or even definitive. --> <!--d--> +<!-- prose copy in the structures REC is the definitive version --> <!--d--> +<!-- (which shouldn't differ from this one except for this --> <!--d--> +<!-- comment and entity expansions, but just in case) --> <!--d--> +<!-- With the exception of cases with multiple namespace + prefixes for the XML Schema namespace, any XML document which is + not valid per this DTD given redefinitions in its internal subset of the + 'p' and 's' parameter entities below appropriate to its namespace + declaration of the XML Schema namespace is almost certainly not + a valid schema. --> + +<!-- The simpleType element and its constituent parts + are defined in XML Schema: Part 2: Datatypes --> +<!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' > + +<!ENTITY % p ''> <!-- can be overriden in the internal subset of a + schema document to establish a namespace prefix --> +<!ENTITY % s ''> <!-- if %p is defined (e.g. as foo:) then you must + also define %s as the suffix for the appropriate + namespace declaration (e.g. :foo) --> +<!ENTITY % nds 'xmlns%s;'> + +<!-- Define all the element names, with optional prefix --> +<!ENTITY % schema "%p;schema"> +<!ENTITY % complexType "%p;complexType"> +<!ENTITY % complexContent "%p;complexContent"> +<!ENTITY % simpleContent "%p;simpleContent"> +<!ENTITY % extension "%p;extension"> +<!ENTITY % element "%p;element"> +<!ENTITY % unique "%p;unique"> +<!ENTITY % key "%p;key"> +<!ENTITY % keyref "%p;keyref"> +<!ENTITY % selector "%p;selector"> +<!ENTITY % field "%p;field"> +<!ENTITY % group "%p;group"> +<!ENTITY % all "%p;all"> +<!ENTITY % choice "%p;choice"> +<!ENTITY % sequence "%p;sequence"> +<!ENTITY % any "%p;any"> +<!ENTITY % anyAttribute "%p;anyAttribute"> +<!ENTITY % attribute "%p;attribute"> +<!ENTITY % attributeGroup "%p;attributeGroup"> +<!ENTITY % include "%p;include"> +<!ENTITY % import "%p;import"> +<!ENTITY % redefine "%p;redefine"> +<!ENTITY % notation "%p;notation"> + +<!-- annotation elements --> +<!ENTITY % annotation "%p;annotation"> +<!ENTITY % appinfo "%p;appinfo"> +<!ENTITY % documentation "%p;documentation"> + +<!-- Customisation entities for the ATTLIST of each element type. + Define one of these if your schema takes advantage of the + anyAttribute='##other' in the schema for schemas --> + +<!ENTITY % schemaAttrs ''> +<!ENTITY % complexTypeAttrs ''> +<!ENTITY % complexContentAttrs ''> +<!ENTITY % simpleContentAttrs ''> +<!ENTITY % extensionAttrs ''> +<!ENTITY % elementAttrs ''> +<!ENTITY % groupAttrs ''> +<!ENTITY % allAttrs ''> +<!ENTITY % choiceAttrs ''> +<!ENTITY % sequenceAttrs ''> +<!ENTITY % anyAttrs ''> +<!ENTITY % anyAttributeAttrs ''> +<!ENTITY % attributeAttrs ''> +<!ENTITY % attributeGroupAttrs ''> +<!ENTITY % uniqueAttrs ''> +<!ENTITY % keyAttrs ''> +<!ENTITY % keyrefAttrs ''> +<!ENTITY % selectorAttrs ''> +<!ENTITY % fieldAttrs ''> +<!ENTITY % includeAttrs ''> +<!ENTITY % importAttrs ''> +<!ENTITY % redefineAttrs ''> +<!ENTITY % notationAttrs ''> + +<!ENTITY % complexDerivationChoice "(extension|restriction)"> +<!ENTITY % complexDerivationSet "CDATA"> + <!-- #all or space-separated list drawn from derivationChoice --> +<!ENTITY % blockSet "CDATA"> + <!-- #all or space-separated list drawn from + derivationChoice + 'substitution' --> + +<!ENTITY % mgs '%all; | %choice; | %sequence;'> +<!ENTITY % cs '%choice; | %sequence;'> +<!ENTITY % formValues '(qualified|unqualified)'> + + +<!ENTITY % attrDecls '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'> + +<!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'> + +<!-- This is used in part2 --> +<!ENTITY % restriction1 '((%mgs; | %group;)?)'> + +%xs-datatypes; + +<!-- the duplication below is to produce an unambiguous content model + which allows annotation everywhere --> +<!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*, + ((%simpleType; | %complexType; + | %element; | %attribute; + | %attributeGroup; | %group; + | %notation; ), + (%annotation;)*)* )> +<!ATTLIST %schema; + targetNamespace %URIref; #IMPLIED + version CDATA #IMPLIED + %nds; %URIref; #FIXED 'http://www.w3.org/2000/10/XMLSchema' + finalDefault %complexDerivationSet; '' + blockDefault %blockSet; '' + id ID #IMPLIED + elementFormDefault %formValues; 'unqualified' + attributeFormDefault %formValues; 'unqualified' + %schemaAttrs;> +<!-- Note the xmlns declaration is NOT in the Schema for Schemas, + because at the Infoset level where schemas operate, + xmlns(:prefix) is NOT an attribute! --> + +<!-- The id attribute here and below is for use in external references + from non-schemas using simple fragment identifiers. + It is NOT used for schema-to-schema reference, internal or + external. --> + +<!-- a type is a named content type specification which allows attribute + declarations--> +<!-- --> + +<!ELEMENT %complexType; ((%annotation;)?, + (%simpleContent;|%complexContent;| + %particleAndAttrs;))> + +<!ATTLIST %complexType; + name %NCName; #IMPLIED + id ID #IMPLIED + abstract %boolean; 'false' + final %complexDerivationSet; #IMPLIED + block %complexDerivationSet; '' + mixed (true|false) 'false' + %complexTypeAttrs;> + +<!-- particleAndAttrs is shorthand for a root type --> +<!-- mixed is disallowed if simpleContent, overriden if complexContent + has one too. --> + +<!-- If anyAttribute appears in one or more referenced attributeGroups + and/or explicitly, the intersection of the permissions is used --> + +<!ELEMENT %complexContent; (%restriction;|%extension;)> +<!ATTLIST %complexContent; + mixed (true|false) #IMPLIED + id ID #IMPLIED + %complexContentAttrs;> + +<!-- restriction should use the branch defined above, not the simple + one from part2; extension should use the full model --> + +<!ELEMENT %simpleContent; (%restriction;|%extension;)> +<!ATTLIST %simpleContent; + id ID #IMPLIED + %simpleContentAttrs;> + +<!-- restriction should use the simple branch from part2, not the + one defined above; extension should have no particle --> + +<!ELEMENT %extension; (%particleAndAttrs;)> +<!ATTLIST %extension; + base %QName; #REQUIRED + id ID #IMPLIED + %extensionAttrs;> + +<!-- an element is declared by either: + a name and a type (either nested or referenced via the type attribute) + or a ref to an existing element declaration --> + +<!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?, + (%unique; | %key; | %keyref;)*)> +<!-- simpleType or complexType only if no type|ref attribute --> +<!-- ref not allowed at top level --> +<!ATTLIST %element; + name %NCName; #IMPLIED + id ID #IMPLIED + ref %QName; #IMPLIED + type %QName; #IMPLIED + minOccurs %nonNegativeInteger; #IMPLIED + maxOccurs CDATA #IMPLIED + nullable %boolean; #IMPLIED + substitutionGroup %QName; #IMPLIED + abstract %boolean; 'false' + final %complexDerivationSet; #IMPLIED + block %blockSet; #IMPLIED + default CDATA #IMPLIED + fixed CDATA #IMPLIED + form %formValues; #IMPLIED + %elementAttrs;> +<!-- type and ref are mutually exclusive. + name and ref are mutually exclusive, one is required --> +<!-- In the absence of type AND ref, type defaults to type of + substitutionGroup, if any, else the ur-type, i.e. unconstrained --> +<!-- default and fixed are mutually exclusive --> + +<!ELEMENT %group; ((%annotation;)?,(%mgs;)?)> +<!ATTLIST %group; + name %NCName; #IMPLIED + ref %QName; #IMPLIED + minOccurs %nonNegativeInteger; #IMPLIED + maxOccurs CDATA #IMPLIED + id ID #IMPLIED + %groupAttrs;> + +<!ELEMENT %all; ((%annotation;)?, (%element;)*)> +<!ATTLIST %all; + minOccurs (1) #FIXED '1' + maxOccurs (1) #FIXED '1' + id ID #IMPLIED + %allAttrs;> + +<!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)> +<!ATTLIST %choice; + minOccurs %nonNegativeInteger; '1' + maxOccurs CDATA '1' + id ID #IMPLIED + %choiceAttrs;> + +<!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)> +<!ATTLIST %sequence; + minOccurs %nonNegativeInteger; '1' + maxOccurs CDATA '1' + id ID #IMPLIED + %sequenceAttrs;> + +<!-- an anonymous grouping in a model, or + a top-level named group definition, or a reference to same --> + +<!-- Note that if order is 'all', group is not allowed inside. + If order is 'all' THIS group must be alone (or referenced alone) at + the top level of a content model --> +<!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside --> +<!-- Should allow minOccurs=0 inside order='all' . . . --> + +<!ELEMENT %any; (%annotation;)?> +<!ATTLIST %any; + namespace CDATA '##any' + processContents (skip|lax|strict) 'strict' + minOccurs %nonNegativeInteger; '1' + maxOccurs CDATA '1' + id ID #IMPLIED + %anyAttrs;> + +<!-- namespace is interpreted as follows: + ##any - - any non-conflicting WFXML at all + + ##other - - any non-conflicting WFXML from namespace other + than targetNamespace + + ##local - - any unqualified non-conflicting WFXML/attribute + one or - - any non-conflicting WFXML from + more URI the listed namespaces + references + + ##targetNamespace ##local may appear in the above list, + with the obvious meaning --> + +<!ELEMENT %anyAttribute; (%annotation;)?> +<!ATTLIST %anyAttribute; + namespace CDATA '##any' + processContents (skip|lax|strict) 'strict' + id ID #IMPLIED + %anyAttributeAttrs;> +<!-- namespace is interpreted as for 'any' above --> + +<!-- simpleType only if no type|ref attribute --> +<!-- ref not allowed at top level, name iff at top level --> +<!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)> +<!ATTLIST %attribute; + name %NCName; #IMPLIED + id ID #IMPLIED + ref %QName; #IMPLIED + type %QName; #IMPLIED + use (prohibited|optional|required|fixed|default) #IMPLIED + value CDATA #IMPLIED + form %formValues; #IMPLIED + %attributeAttrs;> +<!-- type and ref are mutually exclusive. + name and ref are mutually exclusive, one is required --> +<!-- value only if use is fixed, required or default, or name --> +<!-- name and use are mutually exclusive --> +<!-- default for use is optional when nested, none otherwise --> +<!-- type attr and simpleType content are mutually exclusive --> + +<!-- an attributeGroup is a named collection of attribute decls, or a + reference thereto --> +<!ELEMENT %attributeGroup; ((%annotation;)?, + (%attribute; | %attributeGroup;)*, + (%anyAttribute;)?) > +<!ATTLIST %attributeGroup; + name %NCName; #IMPLIED + id ID #IMPLIED + ref %QName; #IMPLIED + %attributeGroupAttrs;> + +<!-- ref iff no content, no name. ref iff not top level --> + +<!-- better reference mechanisms --> +<!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)> +<!ATTLIST %unique; + name %NCName; #REQUIRED + id ID #IMPLIED + %uniqueAttrs;> + +<!ELEMENT %key; ((%annotation;)?, %selector;, (%field;)+)> +<!ATTLIST %key; + name %NCName; #REQUIRED + id ID #IMPLIED + %keyAttrs;> + +<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)> +<!ATTLIST %keyref; + name %NCName; #REQUIRED + refer %QName; #REQUIRED + id ID #IMPLIED + %keyrefAttrs;> + +<!ELEMENT %selector; ((%annotation;)?)> +<!ATTLIST %selector; + xpath %XPathExpr; #REQUIRED + id ID #IMPLIED + %selectorAttrs;> +<!ELEMENT %field; ((%annotation;)?)> +<!ATTLIST %field; + xpath %XPathExpr; #REQUIRED + id ID #IMPLIED + %fieldAttrs;> + +<!-- Schema combination mechanisms --> +<!ELEMENT %include; (%annotation;)?> +<!ATTLIST %include; + schemaLocation %URIref; #REQUIRED + id ID #IMPLIED + %includeAttrs;> + +<!ELEMENT %import; (%annotation;)?> +<!ATTLIST %import; + namespace %URIref; #IMPLIED + schemaLocation %URIref; #IMPLIED + id ID #IMPLIED + %importAttrs;> + +<!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; | + %attributeGroup; | %group;)*> +<!ATTLIST %redefine; + schemaLocation %URIref; #REQUIRED + id ID #IMPLIED + %redefineAttrs;> + +<!ELEMENT %notation; (%annotation;)?> +<!ATTLIST %notation; + name %NCName; #REQUIRED + id ID #IMPLIED + public CDATA #REQUIRED + system %URIref; #IMPLIED + %notationAttrs;> + +<!-- Annotation is either application information or documentation --> +<!-- By having these here they are available for datatypes as well + as all the structures elements --> + +<!ELEMENT %annotation; (%appinfo; | %documentation;)*> + +<!-- User must define annotation elements in internal subset for this + to work --> +<!ELEMENT %appinfo; ANY> <!-- too restrictive --> +<!ATTLIST %appinfo; + source %URIref; #IMPLIED + id ID #IMPLIED + %appinfoAttrs;> +<!ELEMENT %documentation; ANY> <!-- too restrictive --> +<!ATTLIST %documentation; + source %URIref; #IMPLIED + id ID #IMPLIED + xml:lang CDATA #IMPLIED + %documentationAttrs;> + +<!NOTATION XMLSchemaStructures PUBLIC + 'structures' 'http://www.w3.org/2000/10/XMLSchema.xsd' > +<!NOTATION XML PUBLIC + 'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' > diff --git a/src/resources/entities/book-cocoon-v10.dtd b/src/resources/entities/book-cocoon-v10.dtd new file mode 100755 index 0000000000..77652f8ce4 --- /dev/null +++ b/src/resources/entities/book-cocoon-v10.dtd @@ -0,0 +1,70 @@ +<!-- =================================================================== + + Apache Cocoon Documentation Book DTD (Version 1.0) + +PURPOSE: +This DTD defines the */book.xml documentation configuration files. + +TYPICAL INVOCATION: + + <!DOCTYPE book PUBLIC + "-//APACHE//DTD Cocoon Documentation Book Vx.yz//EN" + "http://xml.apache.org/DTD/book-cocoon-vxyz.dtd"> + + where + + x := major version + y := minor version + z := status identifier (optional) + +NOTES: +We need to replace this DTD with the proper one. +We are only using this DTD to enable validation during "build docs" +because every XML instance must declare its ruleset. + +This initial minimal DTD has been reverse-engineered from the structure +of the current documents, e.g. + docuemntation/xdocs/book.xml + +AUTHORS: + David Crossley <crossley@apache.org> + +FIXME: + - find the proper DTD for book.xml + +CHANGE HISTORY: + 20011031 Initial version. (DC) + +COPYRIGHT: + Copyright (c) @year@ The Apache Software Foundation. + + Permission to copy in any form is granted provided this notice is + included in all copies. Permission to redistribute is granted + provided this file is distributed untouched in all its parts and + included files. + +==================================================================== --> + +<!ELEMENT book (menu+)> +<!ELEMENT menu (menu-item|external)*> +<!ELEMENT menu-item EMPTY> +<!ELEMENT external EMPTY> +<!ATTLIST book software CDATA #REQUIRED + title CDATA #REQUIRED + copyright CDATA #REQUIRED + xmlns:xlink CDATA #IMPLIED +> +<!ATTLIST menu label CDATA #REQUIRED +> +<!ATTLIST menu-item label CDATA #REQUIRED + href CDATA #REQUIRED + type (visible|hidden) "visible" +> +<!ATTLIST external label CDATA #REQUIRED + href CDATA #REQUIRED + type (visible|hidden) "visible" +> + +<!-- =============================================================== --> +<!-- End of DTD --> +<!-- =============================================================== --> diff --git a/src/resources/entities/catalog b/src/resources/entities/catalog new file mode 100755 index 0000000000..4ebdde7b97 --- /dev/null +++ b/src/resources/entities/catalog @@ -0,0 +1,67 @@ +-- this is the default OASIS catalog for Apache Cocoon -- + +OVERRIDE YES + +-- ISO public identifiers for sets of character entities -- +PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//XML" + "ISOlat1.pen" +PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML" + "ISOlat1.pen" +PUBLIC "ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML" + "ISOgrk1.pen" +PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN//XML" + "ISOpub.pen" +PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN//XML" + "ISOtech.pen" +PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML" + "ISOnum.pen" + +-- Document Type Definitions -- +PUBLIC "-//APACHE//DTD Documentation V1.0//EN" + "document-v10.dtd" +PUBLIC "-//APACHE//DTD Changes V1.0//EN" + "changes-v10.dtd" +PUBLIC "-//APACHE//DTD FAQ V1.0//EN" + "faq-v10.dtd" +PUBLIC "-//APACHE//DTD JavaDoc V1.0//EN" + "javadoc-v04draft.dtd" +PUBLIC "-//APACHE//DTD Specification V1.0//EN" + "specification-v10.dtd" +PUBLIC "-//APACHE//DTD Todo V1.0//EN" + "todo-v10.dtd" +PUBLIC "-//APACHE//DTD Cocoon Sitemap V0.2//EN" + "sitemap-v02.dtd" + +-- enabling validation during Cocoon's own "build docs" -- +-- all *.xml require DTD for validation during "build docs" -- +PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" + "book-cocoon-v10.dtd" + +-- Cocoon has extra <label/> element for documentation/svg/label-*.xml -- +-- which breaks validation against official svg10.dtd (why extra label?) -- +PUBLIC "-//APACHE//DTD Cocoon SVG minimal V1.1//EN" + "svg-cocoon-v11.dtd" +PUBLIC "-//W3C//DTD SVG 1.0//EN" + "svg10.dtd" + +-- other DTDs that are yet without a Public Identifier -- +-- XMLSchema.dtd .. what is its purpose ? -- + +-- Character entity set that is referenced by some DTDs -- +-- characters.ent -- +-- ... has no public identifier -- +-- should be OK because it will be resolved relative to the DTD -- +-- ... perhaps the DTD should use the ISO*.pen sets instead? -- + +-- these entries are used for the catalog-demo sample application -- +OVERRIDE NO +PUBLIC "-//Arbortext//TEXT Test Override//EN" + "catalog-demo/override.xml" +OVERRIDE YES +PUBLIC "-//Arbortext//TEXT Test Public Identifier//EN" + "catalog-demo/testpub.xml" +SYSTEM "urn:x-arbortext:test-system-identifier" + "catalog-demo/testsys.xml" +PUBLIC "-//Indexgeo//DTD Catalog Demo v1.0//EN" + "catalog-demo/catalog-demo-v10.dtd" +-- end of entries for the catalog-demo sample application -- diff --git a/src/resources/entities/catalog-demo/catalog-demo-v10.dtd b/src/resources/entities/catalog-demo/catalog-demo-v10.dtd new file mode 100755 index 0000000000..eefdb71887 --- /dev/null +++ b/src/resources/entities/catalog-demo/catalog-demo-v10.dtd @@ -0,0 +1,14 @@ +<!-- +This is the Document Type Definition for the Apache Cocoon sample +demonstration "catalog-demo" which explains entity resolution +using catalogs. See the Apache Cocoon documentation +"Entity resolution with catalogs" (catalog.html). + +Version 1.0 2001-08-09 +--> + +<!ELEMENT catalog-demo (section+)> +<!ELEMENT link (#PCDATA)> +<!ATTLIST link href CDATA #IMPLIED> +<!ELEMENT para (#PCDATA | link)*> +<!ELEMENT section (para+)> diff --git a/src/resources/entities/catalog-demo/override.xml b/src/resources/entities/catalog-demo/override.xml new file mode 100644 index 0000000000..4082d515b6 --- /dev/null +++ b/src/resources/entities/catalog-demo/override.xml @@ -0,0 +1,4 @@ +<para>¬e; This is content from the override.xml external file. + This content will not actually be included, because the catalog + was set with OVERRIDE NO for this public identifier. +</para> diff --git a/src/resources/entities/catalog-demo/testpub.xml b/src/resources/entities/catalog-demo/testpub.xml new file mode 100644 index 0000000000..20b00dae7f --- /dev/null +++ b/src/resources/entities/catalog-demo/testpub.xml @@ -0,0 +1,7 @@ +<para>¬e; This paragraph is automatically included from the + testpub.xml external file. + The entity declaration deliberately used a non-existent file + as the system identifier. The catalog then used the declared + public identifer to resolve to a specific location on the local + filesystem. +</para> diff --git a/src/resources/entities/catalog-demo/testsys.xml b/src/resources/entities/catalog-demo/testsys.xml new file mode 100644 index 0000000000..8b13e5f397 --- /dev/null +++ b/src/resources/entities/catalog-demo/testsys.xml @@ -0,0 +1,5 @@ +<para>¬e; This paragraph is automatically included from the + testsys.xml external file. + The declared SYSTEM identifier was resolved by the catalog to a + specific location on the local filesystem. +</para> diff --git a/src/resources/entities/changes-v10.dtd b/src/resources/entities/changes-v10.dtd new file mode 100755 index 0000000000..42ae93e091 --- /dev/null +++ b/src/resources/entities/changes-v10.dtd @@ -0,0 +1,91 @@ +<!-- =================================================================== + + Apache Changes DTD (Version 1.0) + +PURPOSE: + This DTD was developed to create a simple yet powerful document + type for software development changes for use with the Apache projects. + It is an XML-compliant DTD and it's maintained by the Apache XML + project. + +TYPICAL INVOCATION: + + <!DOCTYPE document PUBLIC + "-//APACHE//DTD Changes Vx.yz//EN" + "http://xml.apache.org/DTD/changes-vxyz.dtd"> + + where + + x := major version + y := minor version + z := status identifier (optional) + +NOTES: + It is important, expecially in open developped software projects, to keep + track of software changes both to give users indications of bugs that might + have been resolved, as well, and not less important, to provide credits + for the support given to the project. It is considered vital to provide + adequate payback using recognition and credits to let users and developers + feel part of the community, thus increasing development power. + +AUTHORS: + Stefano Mazzocchi <stefano@apache.org> + +FIXME: + +CHANGE HISTORY: + 19991129 Initial version. (SM) + 20000316 Added bugfixing attribute. (SM) + +COPYRIGHT: + Copyright (c) @year@ The Apache Software Foundation. + + Permission to copy in any form is granted provided this notice is + included in all copies. Permission to redistribute is granted + provided this file is distributed untouched in all its parts and + included files. + +==================================================================== --> + +<!-- =============================================================== --> +<!-- Extend the Documentation DTD --> +<!-- =============================================================== --> + +<!-- FIXME (SM): this is hardcoding. Find a better way of doing this + possibly using public identifiers --> +<!ENTITY % document-dtd SYSTEM "document-v10.dtd"> +%document-dtd; + +<!-- =============================================================== --> +<!-- Common entities --> +<!-- =============================================================== --> + +<!ENTITY % types "add|remove|update|fix"> + +<!-- =============================================================== --> +<!-- Document Type Definition --> +<!-- =============================================================== --> + +<!ELEMENT changes (devs, release*)> +<!ATTLIST changes %common.att; + %title.att;> + + <!ELEMENT devs (person+)> + <!ATTLIST devs %common.att;> + + <!ELEMENT release (action+)> + <!ATTLIST release %common.att; + version CDATA #REQUIRED + date CDATA #REQUIRED> + + <!ELEMENT action (%content.mix;)*> + <!ATTLIST action %common.att; + dev IDREF #REQUIRED + type (%types;) #IMPLIED + due-to CDATA #IMPLIED + due-to-email CDATA #IMPLIED + fixes-bug CDATA #IMPLIED> + +<!-- =============================================================== --> +<!-- End of DTD --> +<!-- =============================================================== --> diff --git a/src/resources/entities/characters.ent b/src/resources/entities/characters.ent new file mode 100755 index 0000000000..8ff50248fa --- /dev/null +++ b/src/resources/entities/characters.ent @@ -0,0 +1,290 @@ +<!-- + Portions (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> + +<!-- + Character entity set. +--> + +<!-- Latin A --> +<!ENTITY nbsp " "> <!-- U+00A0 ISOnum - no-break space = non-breaking space --> +<!ENTITY iexcl "¡"> <!-- U+00A1 ISOnum - inverted exclamation mark --> +<!ENTITY cent "¢"> <!-- U+00A2 ISOnum - cent sign --> +<!ENTITY pound "£"> <!-- U+00A3 ISOnum - pound sign --> +<!ENTITY curren "¤"> <!-- U+00A4 ISOnum - currency sign --> +<!ENTITY yen "¥"> <!-- U+00A5 ISOnum - yen sign = yuan sign --> +<!ENTITY brvbar "¦"> <!-- U+00A6 ISOnum - broken bar = broken vertical bar --> +<!ENTITY sect "§"> <!-- U+00A7 ISOnum - section sign --> +<!ENTITY uml "¨"> <!-- U+00A8 ISOdia - diaeresis = spacing diaeresis --> +<!ENTITY copy "©"> <!-- U+00A9 ISOnum - copyright sign --> +<!ENTITY ordf "ª"> <!-- U+00AA ISOnum - feminine ordinal indicator --> +<!ENTITY laquo "«"> <!-- U+00AB ISOnum - left-pointing double angle quotation mark = left pointing guillemet --> +<!ENTITY not "¬"> <!-- U+00AC ISOnum - not sign --> +<!ENTITY shy "­"> <!-- U+00AD ISOnum - soft hyphen = discretionary hyphen --> +<!ENTITY reg "®"> <!-- U+00AE ISOnum - registered sign = registered trade mark sign --> +<!ENTITY macr "¯"> <!-- U+00AF ISOdia - macron = spacing macron = overline = APL overbar --> +<!ENTITY deg "°"> <!-- U+00B0 ISOnum - degree sign --> +<!ENTITY plusmn "±"> <!-- U+00B1 ISOnum - plus-minus sign = plus-or-minus sign --> +<!ENTITY sup2 "²"> <!-- U+00B2 ISOnum - superscript two = superscript digit two = squared --> +<!ENTITY sup3 "³"> <!-- U+00B3 ISOnum - superscript three = superscript digit three = cubed --> +<!ENTITY acute "´"> <!-- U+00B4 ISOdia - acute accent = spacing acute --> +<!ENTITY micro "µ"> <!-- U+00B5 ISOnum - micro sign --> +<!ENTITY para "¶"> <!-- U+00B6 ISOnum - pilcrow sign = paragraph sign --> +<!ENTITY middot "·"> <!-- U+00B7 ISOnum - middle dot = Georgian comma = Greek middle dot --> +<!ENTITY cedil "¸"> <!-- U+00B8 ISOdia - cedilla = spacing cedilla --> +<!ENTITY sup1 "¹"> <!-- U+00B9 ISOnum - superscript one = superscript digit one --> +<!ENTITY ordm "º"> <!-- U+00BA ISOnum - masculine ordinal indicator --> +<!ENTITY raquo "»"> <!-- U+00BB ISOnum - right-pointing double angle quotation mark = right pointing guillemet --> +<!ENTITY frac14 "¼"> <!-- U+00BC ISOnum - vulgar fraction one quarter = fraction one quarter --> +<!ENTITY frac12 "½"> <!-- U+00BD ISOnum - vulgar fraction one half = fraction one half --> +<!ENTITY frac34 "¾"> <!-- U+00BE ISOnum - vulgar fraction three quarters = fraction three quarters --> +<!ENTITY iquest "¿"> <!-- U+00BF ISOnum - inverted question mark = turned question mark --> +<!ENTITY Agrave "À"> <!-- U+00C0 ISOlat1 - latin capital letter A with grave = latin capital letter A grave --> +<!ENTITY Aacute "Á"> <!-- U+00C1 ISOlat1 - latin capital letter A with acute --> +<!ENTITY Acirc "Â"> <!-- U+00C2 ISOlat1 - latin capital letter A with circumflex --> +<!ENTITY Atilde "Ã"> <!-- U+00C3 ISOlat1 - latin capital letter A with tilde --> +<!ENTITY Auml "Ä"> <!-- U+00C4 ISOlat1 - latin capital letter A with diaeresis --> +<!ENTITY Aring "Å"> <!-- U+00C5 ISOlat1 - latin capital letter A with ring above = latin capital letter A ring --> +<!ENTITY AElig "Æ"> <!-- U+00C6 ISOlat1 - latin capital letter AE = latin capital ligature AE --> +<!ENTITY Ccedil "Ç"> <!-- U+00C7 ISOlat1 - latin capital letter C with cedilla --> +<!ENTITY Egrave "È"> <!-- U+00C8 ISOlat1 - latin capital letter E with grave --> +<!ENTITY Eacute "É"> <!-- U+00C9 ISOlat1 - latin capital letter E with acute --> +<!ENTITY Ecirc "Ê"> <!-- U+00CA ISOlat1 - latin capital letter E with circumflex --> +<!ENTITY Euml "Ë"> <!-- U+00CB ISOlat1 - latin capital letter E with diaeresis --> +<!ENTITY Igrave "Ì"> <!-- U+00CC ISOlat1 - latin capital letter I with grave --> +<!ENTITY Iacute "Í"> <!-- U+00CD ISOlat1 - latin capital letter I with acute --> +<!ENTITY Icirc "Î"> <!-- U+00CE ISOlat1 - latin capital letter I with circumflex --> +<!ENTITY Iuml "Ï"> <!-- U+00CF ISOlat1 - latin capital letter I with diaeresis --> +<!ENTITY ETH "Ð"> <!-- U+00D0 ISOlat1 - latin capital letter ETH --> +<!ENTITY Ntilde "Ñ"> <!-- U+00D1 ISOlat1 - latin capital letter N with tilde --> +<!ENTITY Ograve "Ò"> <!-- U+00D2 ISOlat1 - latin capital letter O with grave --> +<!ENTITY Oacute "Ó"> <!-- U+00D3 ISOlat1 - latin capital letter O with acute --> +<!ENTITY Ocirc "Ô"> <!-- U+00D4 ISOlat1 - latin capital letter O with circumflex --> +<!ENTITY Otilde "Õ"> <!-- U+00D5 ISOlat1 - latin capital letter O with tilde --> +<!ENTITY Ouml "Ö"> <!-- U+00D6 ISOlat1 - latin capital letter O with diaeresis --> +<!ENTITY times "×"> <!-- U+00D7 ISOnum - multiplication sign --> +<!ENTITY Oslash "Ø"> <!-- U+00D8 ISOlat1 - latin capital letter O with stroke = latin capital letter O slash --> +<!ENTITY Ugrave "Ù"> <!-- U+00D9 ISOlat1 - latin capital letter U with grave --> +<!ENTITY Uacute "Ú"> <!-- U+00DA ISOlat1 - latin capital letter U with acute --> +<!ENTITY Ucirc "Û"> <!-- U+00DB ISOlat1 - latin capital letter U with circumflex --> +<!ENTITY Uuml "Ü"> <!-- U+00DC ISOlat1 - latin capital letter U with diaeresis --> +<!ENTITY Yacute "Ý"> <!-- U+00DD ISOlat1 - latin capital letter Y with acute --> +<!ENTITY THORN "Þ"> <!-- U+00DE ISOlat1 - latin capital letter THORN --> +<!ENTITY szlig "ß"> <!-- U+00DF ISOlat1 - latin small letter sharp s = ess-zed --> +<!ENTITY agrave "à"> <!-- U+00E0 ISOlat1 - latin small letter a with grave = latin small letter a grave --> +<!ENTITY aacute "á"> <!-- U+00E1 ISOlat1 - latin small letter a with acute --> +<!ENTITY acirc "â"> <!-- U+00E2 ISOlat1 - latin small letter a with circumflex --> +<!ENTITY atilde "ã"> <!-- U+00E3 ISOlat1 - latin small letter a with tilde --> +<!ENTITY auml "ä"> <!-- U+00E4 ISOlat1 - latin small letter a with diaeresis --> +<!ENTITY aring "å"> <!-- U+00E5 ISOlat1 - latin small letter a with ring above = latin small letter a ring --> +<!ENTITY aelig "æ"> <!-- U+00E6 ISOlat1 - latin small letter ae = latin small ligature ae --> +<!ENTITY ccedil "ç"> <!-- U+00E7 ISOlat1 - latin small letter c with cedilla --> +<!ENTITY egrave "è"> <!-- U+00E8 ISOlat1 - latin small letter e with grave --> +<!ENTITY eacute "é"> <!-- U+00E9 ISOlat1 - latin small letter e with acute --> +<!ENTITY ecirc "ê"> <!-- U+00EA ISOlat1 - latin small letter e with circumflex --> +<!ENTITY euml "ë"> <!-- U+00EB ISOlat1 - latin small letter e with diaeresis --> +<!ENTITY igrave "ì"> <!-- U+00EC ISOlat1 - latin small letter i with grave --> +<!ENTITY iacute "í"> <!-- U+00ED ISOlat1 - latin small letter i with acute --> +<!ENTITY icirc "î"> <!-- U+00EE ISOlat1 - latin small letter i with circumflex --> +<!ENTITY iuml "ï"> <!-- U+00EF ISOlat1 - latin small letter i with diaeresis --> +<!ENTITY eth "ð"> <!-- U+00F0 ISOlat1 - latin small letter eth --> +<!ENTITY ntilde "ñ"> <!-- U+00F1 ISOlat1 - latin small letter n with tilde --> +<!ENTITY ograve "ò"> <!-- U+00F2 ISOlat1 - latin small letter o with grave --> +<!ENTITY oacute "ó"> <!-- U+00F3 ISOlat1 - latin small letter o with acute --> +<!ENTITY ocirc "ô"> <!-- U+00F4 ISOlat1 - latin small letter o with circumflex --> +<!ENTITY otilde "õ"> <!-- U+00F5 ISOlat1 - latin small letter o with tilde --> +<!ENTITY ouml "ö"> <!-- U+00F6 ISOlat1 - latin small letter o with diaeresis --> +<!ENTITY divide "÷"> <!-- U+00F7 ISOnum - division sign --> +<!ENTITY oslash "ø"> <!-- U+00F8 ISOlat1 - latin small letter o with stroke = latin small letter o slash --> +<!ENTITY ugrave "ù"> <!-- U+00F9 ISOlat1 - latin small letter u with grave --> +<!ENTITY uacute "ú"> <!-- U+00FA ISOlat1 - latin small letter u with acute --> +<!ENTITY ucirc "û"> <!-- U+00FB ISOlat1 - latin small letter u with circumflex --> +<!ENTITY uuml "ü"> <!-- U+00FC ISOlat1 - latin small letter u with diaeresis --> +<!ENTITY yacute "ý"> <!-- U+00FD ISOlat1 - latin small letter y with acute --> +<!ENTITY thorn "þ"> <!-- U+00FE ISOlat1 - latin small letter thorn --> +<!ENTITY yuml "ÿ"> <!-- U+00FF ISOlat1 - latin small letter y with diaeresis --> + +<!-- Latin Extended-A --> +<!ENTITY OElig "Œ"> <!-- U+0152 ISOlat2 - latin capital ligature OE --> +<!ENTITY oelig "œ"> <!-- U+0153 ISOlat2 - latin small ligature oe --> + +<!-- ligature is a misnomer, this is a separate character in some languages --> +<!ENTITY Scaron "Š"> <!-- U+0160 ISOlat2 - latin capital letter S with caron --> +<!ENTITY scaron "š"> <!-- U+0161 ISOlat2 - latin small letter s with caron --> +<!ENTITY Yuml "Ÿ"> <!-- U+0178 ISOlat2 - latin capital letter Y with diaeresis --> + +<!-- Spacing Modifier Letters --> +<!ENTITY circ "ˆ"> <!-- U+02C6 ISOpub - modifier letter circumflex accent --> +<!ENTITY tilde "˜"> <!-- U+02DC ISOdia - small tilde --> + +<!-- General Punctuation --> +<!ENTITY ensp " "> <!-- U+2002 ISOpub - en space --> +<!ENTITY emsp " "> <!-- U+2003 ISOpub - em space --> +<!ENTITY thinsp " "> <!-- U+2009 ISOpub - thin space --> +<!ENTITY zwnj "‌"> <!-- U+200C RFC 2070 - zero width non-joiner --> +<!ENTITY zwj "‍"> <!-- U+200D RFC 2070 - zero width joiner --> +<!ENTITY lrm "‎"> <!-- U+200E RFC 2070 - left-to-right mark --> +<!ENTITY rlm "‏"> <!-- U+200F RFC 2070 - right-to-left mark --> +<!ENTITY ndash "–"> <!-- U+2013 ISOpub - en dash --> +<!ENTITY mdash "—"> <!-- U+2014 ISOpub - em dash --> +<!ENTITY lsquo "‘"> <!-- U+2018 ISOnum - left single quotation mark --> +<!ENTITY rsquo "’"> <!-- U+2019 ISOnum - right single quotation mark --> +<!ENTITY sbquo "‚"> <!-- U+201A NEW - single low-9 quotation mark --> +<!ENTITY ldquo "“"> <!-- U+201C ISOnum - left double quotation mark --> +<!ENTITY rdquo "”"> <!-- U+201D ISOnum - right double quotation mark, --> +<!ENTITY bdquo "„"> <!-- U+201E NEW - double low-9 quotation mark --> +<!ENTITY dagger "†"> <!-- U+2020 ISOpub - dagger --> +<!ENTITY Dagger "‡"> <!-- U+2021 ISOpub - double dagger --> +<!ENTITY permil "‰"> <!-- U+2030 ISOtech - per mille sign --> +<!ENTITY lsaquo "‹"> <!-- U+2039 ISO prop. - single left-pointing angle quotation mark --> + +<!-- lsaquo is proposed but not yet ISO standardized --> +<!ENTITY rsaquo "›"> <!-- U+203A ISO prop. - single right-pointing angle quotation mark --> + +<!-- rsaquo is proposed but not yet ISO standardized --> +<!ENTITY euro "€"> <!-- U+20AC NEW - euro sign --> + +<!-- Latin Extended-B --> +<!ENTITY fnof "ƒ"> <!-- U+0192 ISOtech - latin small f with hook = function = florin --> + +<!-- Greek --> +<!ENTITY Alpha "Α"> <!-- U+0391 - greek capital letter alpha --> +<!ENTITY Beta "Β"> <!-- U+0392 - greek capital letter beta --> +<!ENTITY Gamma "Γ"> <!-- U+0393 ISOgrk3 - greek capital letter gamma --> +<!ENTITY Delta "Δ"> <!-- U+0394 ISOgrk3 - greek capital letter delta --> +<!ENTITY Epsilon "Ε"> <!-- U+0395 - greek capital letter epsilon --> +<!ENTITY Zeta "Ζ"> <!-- U+0396 - greek capital letter zeta --> +<!ENTITY Eta "Η"> <!-- U+0397 - greek capital letter eta --> +<!ENTITY Theta "Θ"> <!-- U+0398 ISOgrk3 - greek capital letter theta --> +<!ENTITY Iota "Ι"> <!-- U+0399 - greek capital letter iota --> +<!ENTITY Kappa "Κ"> <!-- U+039A - greek capital letter kappa --> +<!ENTITY Lambda "Λ"> <!-- U+039B ISOgrk3 - greek capital letter lambda --> +<!ENTITY Mu "Μ"> <!-- U+039C - greek capital letter mu --> +<!ENTITY Nu "Ν"> <!-- U+039D - greek capital letter nu --> +<!ENTITY Xi "Ξ"> <!-- U+039E ISOgrk3 - greek capital letter xi --> +<!ENTITY Omicron "Ο"> <!-- U+039F - greek capital letter omicron --> +<!ENTITY Pi "Π"> <!-- U+03A0 ISOgrk3 - greek capital letter pi --> +<!ENTITY Rho "Ρ"> <!-- U+03A1 - greek capital letter rho --> +<!ENTITY Sigma "Σ"> <!-- U+03A3 ISOgrk3 - greek capital letter sigma --> +<!ENTITY Tau "Τ"> <!-- U+03A4 - greek capital letter tau --> +<!ENTITY Upsilon "Υ"> <!-- U+03A5 ISOgrk3 - greek capital letter upsilon --> +<!ENTITY Phi "Φ"> <!-- U+03A6 ISOgrk3 - greek capital letter phi --> +<!ENTITY Chi "Χ"> <!-- U+03A7 - greek capital letter chi --> +<!ENTITY Psi "Ψ"> <!-- U+03A8 ISOgrk3 - greek capital letter psi --> +<!ENTITY Omega "Ω"> <!-- U+03A9 ISOgrk3 - greek capital letter omega --> +<!ENTITY alpha "α"> <!-- U+03B1 ISOgrk3 - greek small letter alpha --> +<!ENTITY beta "β"> <!-- U+03B2 ISOgrk3 - greek small letter beta --> +<!ENTITY gamma "γ"> <!-- U+03B3 ISOgrk3 - greek small letter gamma --> +<!ENTITY delta "δ"> <!-- U+03B4 ISOgrk3 - greek small letter delta --> +<!ENTITY epsilon "ε"> <!-- U+03B5 ISOgrk3 - greek small letter epsilon --> +<!ENTITY zeta "ζ"> <!-- U+03B6 ISOgrk3 - greek small letter zeta --> +<!ENTITY eta "η"> <!-- U+03B7 ISOgrk3 - greek small letter eta --> +<!ENTITY theta "θ"> <!-- U+03B8 ISOgrk3 - greek small letter theta --> +<!ENTITY iota "ι"> <!-- U+03B9 ISOgrk3 - greek small letter iota --> +<!ENTITY kappa "κ"> <!-- U+03BA ISOgrk3 - greek small letter kappa --> +<!ENTITY lambda "λ"> <!-- U+03BB ISOgrk3 - greek small letter lambda --> +<!ENTITY mu "μ"> <!-- U+03BC ISOgrk3 - greek small letter mu --> +<!ENTITY nu "ν"> <!-- U+03BD ISOgrk3 - greek small letter nu --> +<!ENTITY xi "ξ"> <!-- U+03BE ISOgrk3 - greek small letter xi --> +<!ENTITY omicron "ο"> <!-- U+03BF NEW - greek small letter omicron --> +<!ENTITY pi "π"> <!-- U+03C0 ISOgrk3 - greek small letter pi --> +<!ENTITY rho "ρ"> <!-- U+03C1 ISOgrk3 - greek small letter rho --> +<!ENTITY sigmaf "ς"> <!-- U+03C2 ISOgrk3 - greek small letter final sigma --> +<!ENTITY sigma "σ"> <!-- U+03C3 ISOgrk3 - greek small letter sigma --> +<!ENTITY tau "τ"> <!-- U+03C4 ISOgrk3 - greek small letter tau --> +<!ENTITY upsilon "υ"> <!-- U+03C5 ISOgrk3 - greek small letter upsilon --> +<!ENTITY phi "φ"> <!-- U+03C6 ISOgrk3 - greek small letter phi --> +<!ENTITY chi "χ"> <!-- U+03C7 ISOgrk3 - greek small letter chi --> +<!ENTITY psi "ψ"> <!-- U+03C8 ISOgrk3 - greek small letter psi --> +<!ENTITY omega "ω"> <!-- U+03C9 ISOgrk3 - greek small letter omega --> +<!ENTITY thetasym "ϑ"> <!-- U+03D1 NEW - greek small letter theta symbol --> +<!ENTITY upsih "ϒ"> <!-- U+03D2 NEW - greek upsilon with hook symbol --> +<!ENTITY piv "ϖ"> <!-- U+03D6 ISOgrk3 - greek pi symbol --> + +<!-- General Punctuation --> +<!ENTITY bull "•"> <!-- U+2022 ISOpub - bullet = black small circle --> +<!ENTITY hellip "…"> <!-- U+2026 ISOpub - horizontal ellipsis = three dot leader --> +<!ENTITY prime "′"> <!-- U+2032 ISOtech - prime = minutes = feet --> +<!ENTITY Prime "″"> <!-- U+2033 ISOtech - double prime = seconds = inches --> +<!ENTITY oline "‾"> <!-- U+203E NEW - overline = spacing overscore --> +<!ENTITY frasl "⁄"> <!-- U+2044 NEW - fraction slash --> + +<!-- Letterlike Symbols --> +<!ENTITY weierp "℘"> <!-- U+2118 ISOamso - script capital P = power set = Weierstrass p --> +<!ENTITY image "ℑ"> <!-- U+2111 ISOamso - blackletter capital I = imaginary part --> +<!ENTITY real "ℜ"> <!-- U+211C ISOamso - blackletter capital R = real part symbol --> +<!ENTITY trade "™"> <!-- U+2122 ISOnum - trade mark sign --> +<!ENTITY alefsym "ℵ"> <!-- U+2135 NEW - alef symbol = first transfinite cardinal --> + +<!-- Arrows --> +<!ENTITY larr "←"> <!-- U+2190 ISOnum - leftwards arrow --> +<!ENTITY uarr "↑"> <!-- U+2191 ISOnum - upwards arrow --> +<!ENTITY rarr "→"> <!-- U+2192 ISOnum - rightwards arrow --> +<!ENTITY darr "↓"> <!-- U+2193 ISOnum - downwards arrow --> +<!ENTITY harr "↔"> <!-- U+2194 ISOamsa - left right arrow --> +<!ENTITY crarr "↵"> <!-- U+21B5 NEW - downwards arrow with corner leftwards = carriage return --> +<!ENTITY lArr "⇐"> <!-- U+21D0 ISOtech - leftwards double arrow --> +<!ENTITY uArr "⇑"> <!-- U+21D1 ISOamsa - upwards double arrow --> +<!ENTITY rArr "⇒"> <!-- U+21D2 ISOtech - rightwards double arrow --> +<!ENTITY dArr "⇓"> <!-- U+21D3 ISOamsa - downwards double arrow --> +<!ENTITY hArr "⇔"> <!-- U+21D4 ISOamsa - left right double arrow --> + +<!-- Mathematical Operators --> +<!ENTITY forall "∀"> <!-- U+2200 ISOtech - for all --> +<!ENTITY part "∂"> <!-- U+2202 ISOtech - partial differential --> +<!ENTITY exist "∃"> <!-- U+2203 ISOtech - there exists --> +<!ENTITY empty "∅"> <!-- U+2205 ISOamso - empty set = null set = diameter --> +<!ENTITY nabla "∇"> <!-- U+2207 ISOtech - nabla = backward difference --> +<!ENTITY isin "∈"> <!-- U+2208 ISOtech - element of --> +<!ENTITY notin "∉"> <!-- U+2209 ISOtech - not an element of --> +<!ENTITY ni "∋"> <!-- U+220B ISOtech - contains as member --> +<!ENTITY prod "∏"> <!-- U+220F ISOamsb - n-ary product = product sign --> +<!ENTITY sum "∑"> <!-- U+2211 ISOamsb - n-ary sumation --> +<!ENTITY minus "−"> <!-- U+2212 ISOtech - minus sign --> +<!ENTITY lowast "∗"> <!-- U+2217 ISOtech - asterisk operator --> +<!ENTITY radic "√"> <!-- U+221A ISOtech - square root = radical sign --> +<!ENTITY prop "∝"> <!-- U+221D ISOtech - proportional to --> +<!ENTITY infin "∞"> <!-- U+221E ISOtech - infinity --> +<!ENTITY ang "∠"> <!-- U+2220 ISOamso - angle --> +<!ENTITY and "∧"> <!-- U+2227 ISOtech - logical and = wedge --> +<!ENTITY or "∨"> <!-- U+2228 ISOtech - logical or = vee --> +<!ENTITY cap "∩"> <!-- U+2229 ISOtech - intersection = cap --> +<!ENTITY cup "∪"> <!-- U+222A ISOtech - union = cup --> +<!ENTITY int "∫"> <!-- U+222B ISOtech - integral --> +<!ENTITY there4 "∴"> <!-- U+2234 ISOtech - therefore --> +<!ENTITY sim "∼"> <!-- U+223C ISOtech - tilde operator = varies with = similar to --> +<!ENTITY cong "≅"> <!-- U+2245 ISOtech - approximately equal to --> +<!ENTITY asymp "≈"> <!-- U+2248 ISOamsr - almost equal to = asymptotic to --> +<!ENTITY ne "≠"> <!-- U+2260 ISOtech - not equal to --> +<!ENTITY equiv "≡"> <!-- U+2261 ISOtech - identical to --> +<!ENTITY le "≤"> <!-- U+2264 ISOtech - less-than or equal to --> +<!ENTITY ge "≥"> <!-- U+2265 ISOtech - greater-than or equal to --> +<!ENTITY sub "⊂"> <!-- U+2282 ISOtech - subset of --> +<!ENTITY sup "⊃"> <!-- U+2283 ISOtech - superset of --> +<!ENTITY nsub "⊄"> <!-- U+2284 ISOamsn - not a subset of --> +<!ENTITY sube "⊆"> <!-- U+2286 ISOtech - subset of or equal to --> +<!ENTITY supe "⊇"> <!-- U+2287 ISOtech - superset of or equal to --> +<!ENTITY oplus "⊕"> <!-- U+2295 ISOamsb - circled plus = direct sum --> +<!ENTITY otimes "⊗"> <!-- U+2297 ISOamsb - circled times = vector product --> +<!ENTITY perp "⊥"> <!-- U+22A5 ISOtech - up tack = orthogonal to = perpendicular --> +<!ENTITY sdot "⋅"> <!-- U+22C5 ISOamsb - dot operator --> + +<!-- Miscellaneous Technical --> +<!ENTITY lceil "⌈"> <!-- U+2308 ISOamsc - left ceiling = apl upstile --> +<!ENTITY rceil "⌉"> <!-- U+2309 ISOamsc - right ceiling --> +<!ENTITY lfloor "⌊"> <!-- U+230A ISOamsc - left floor = apl downstile --> +<!ENTITY rfloor "⌋"> <!-- U+230B ISOamsc - right floor --> +<!ENTITY lang "〈"> <!-- U+2329 ISOtech - left-pointing angle bracket = bra --> +<!ENTITY rang "〉"> <!-- U+232A ISOtech - right-pointing angle bracket = ket --> + +<!-- Geometric Shapes --> +<!ENTITY loz "◊"> <!-- U+25CA ISOpub - lozenge --> + +<!-- Miscellaneous Symbols --> +<!ENTITY spades "♠"> <!-- U+2660 ISOpub - black spade suit --> +<!ENTITY clubs "♣"> <!-- U+2663 ISOpub - black club suit = shamrock --> +<!ENTITY hearts "♥"> <!-- U+2665 ISOpub - black heart suit = valentine --> +<!ENTITY diams "♦"> <!-- U+2666 ISOpub - black diamond suit --> diff --git a/src/resources/entities/datatypes.dtd b/src/resources/entities/datatypes.dtd new file mode 100755 index 0000000000..48d7fade8c --- /dev/null +++ b/src/resources/entities/datatypes.dtd @@ -0,0 +1,195 @@ +<!-- DTD for XML Schemas: Part 2: Datatypes --> +<!-- Id: datatypes.dtd,v 1.14 2000/10/23 08:58:09 ht Exp --> + +<!-- This DTD cannot be used on its own, it is intended only for incorporation + in XMLSchema.dtd, q.v. --> + +<!-- Define all the element names, with optional prefix --> +<!ENTITY % simpleType "%p;simpleType"> +<!ENTITY % restriction "%p;restriction"> +<!ENTITY % list "%p;list"> +<!ENTITY % union "%p;union"> +<!ENTITY % maxExclusive "%p;maxExclusive"> +<!ENTITY % minExclusive "%p;minExclusive"> +<!ENTITY % maxInclusive "%p;maxInclusive"> +<!ENTITY % minInclusive "%p;minInclusive"> +<!ENTITY % precision "%p;precision"> +<!ENTITY % scale "%p;scale"> +<!ENTITY % length "%p;length"> +<!ENTITY % minLength "%p;minLength"> +<!ENTITY % maxLength "%p;maxLength"> +<!ENTITY % enumeration "%p;enumeration"> +<!ENTITY % whiteSpace "%p;whiteSpace"> +<!ENTITY % pattern "%p;pattern"> +<!ENTITY % encoding "%p;encoding"> +<!ENTITY % period "%p;period"> +<!ENTITY % duration "%p;duration"> + +<!-- Customisation entities for the ATTLIST of each element type. + Define one of these if your schema takes advantage of the + anyAttribute='##other' in the schema for schemas --> + +<!ENTITY % simpleTypeAttrs ""> +<!ENTITY % restrictionAttrs ""> +<!ENTITY % listAttrs ""> +<!ENTITY % unionAttrs ""> +<!ENTITY % simpleTypeAttrs ""> +<!ENTITY % maxExclusiveAttrs ""> +<!ENTITY % minExclusiveAttrs ""> +<!ENTITY % maxInclusiveAttrs ""> +<!ENTITY % minInclusiveAttrs ""> +<!ENTITY % precisionAttrs ""> +<!ENTITY % scaleAttrs ""> +<!ENTITY % lengthAttrs ""> +<!ENTITY % minLengthAttrs ""> +<!ENTITY % maxLengthAttrs ""> +<!ENTITY % enumerationAttrs ""> +<!ENTITY % whiteSpaceAttrs ""> +<!ENTITY % patternAttrs ""> +<!ENTITY % encodingAttrs ""> +<!ENTITY % periodAttrs ""> +<!ENTITY % durationAttrs ""> +<!ENTITY % appinfoAttrs ""> +<!ENTITY % documentationAttrs ""> + +<!-- Define some entities for informative use as attribute types --> +<!ENTITY % URIref "CDATA"> +<!ENTITY % XPathExpr "CDATA"> +<!ENTITY % QName "NMTOKEN"> +<!ENTITY % QNames "NMTOKENS"> +<!ENTITY % NCName "NMTOKEN"> +<!ENTITY % nonNegativeInteger "NMTOKEN"> +<!ENTITY % boolean "(true|false)"> + +<!-- Note that the use of 'facet' below is less restrictive than is + really intended: There should in fact be no more than one of each of + minInclusive, minExclusive, maxInclusive, maxExclusive, + precision, scale, + length, maxLength, minLength, encoding, period within datatype, + and the min- and max- variants of Inclusive and Exclusive are + mutually exclusive. + On the other hand, pattern and enumeration may repeat --> +<!ENTITY % minBound "(%minInclusive; | %minExclusive;)"> +<!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)"> +<!ENTITY % bounds "%minBound; | %maxBound;"> +<!ENTITY % numeric "%precision; | %scale;"> +<!ENTITY % ordered "%bounds; | %numeric;"> +<!ENTITY % unordered + "%pattern; | %enumeration; | %whiteSpace; | %length; | %maxLength; | %minLength; + | %encoding; | %period; | %duration;"> +<!ENTITY % facet "%ordered; | %unordered;"> +<!ENTITY % facetAttr "value CDATA #REQUIRED"> +<!ENTITY % fixedAttr "fixed %boolean; #IMPLIED"> +<!ENTITY % facetModel "(%annotation;)?"> +<!ELEMENT %simpleType; ((%annotation;)?, (%restriction; | %list; | %union;))> +<!ATTLIST %simpleType; + name %NCName; #IMPLIED + id ID #IMPLIED + %simpleTypeAttrs;> +<!-- name is required at top level --> +<!ELEMENT %restriction; ((%annotation;)?, + (%restriction1; | + ((%simpleType;)?,(%facet;)*)), + (%attrDecls;))> +<!ATTLIST %restriction; + base %QName; #IMPLIED + id ID #IMPLIED + %restrictionAttrs;> +<!-- base and simpleType child are mutually exclusive, one is required --> +<!-- restriction is shared between simpleType and simpleContent and --> +<!-- complexContent (in XMLSchema.xsd). restriction1 is for the latter --> +<!-- cases, when this is restricting a complex type, as is attrDecls --> +<!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)> +<!ATTLIST %list; + itemType %QName; #IMPLIED + id ID #IMPLIED + %listAttrs;> +<!-- itemType and simpleType child are mutually exclusive, one is required --> +<!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)> +<!ATTLIST %union; + id ID #IMPLIED + memberTypes %QNames; #IMPLIED + %unionAttrs;> +<!-- At least one item in memberTypes or one simpleType child is required --> + +<!ELEMENT %maxExclusive; %facetModel;> +<!ATTLIST %maxExclusive; + %facetAttr; + %fixedAttr; + %maxExclusiveAttrs;> +<!ELEMENT %minExclusive; %facetModel;> +<!ATTLIST %minExclusive; + %facetAttr; + %fixedAttr; + %minExclusiveAttrs;> + +<!ELEMENT %maxInclusive; %facetModel;> +<!ATTLIST %maxInclusive; + %facetAttr; + %fixedAttr; + %maxInclusiveAttrs;> +<!ELEMENT %minInclusive; %facetModel;> +<!ATTLIST %minInclusive; + %facetAttr; + %fixedAttr; + %minInclusiveAttrs;> + +<!ELEMENT %precision; %facetModel;> +<!ATTLIST %precision; + %facetAttr; + %fixedAttr; + %precisionAttrs;> +<!ELEMENT %scale; %facetModel;> +<!ATTLIST %scale; + %facetAttr; + %fixedAttr; + %scaleAttrs;> + +<!ELEMENT %length; %facetModel;> +<!ATTLIST %length; + %facetAttr; + %fixedAttr; + %lengthAttrs;> +<!ELEMENT %minLength; %facetModel;> +<!ATTLIST %minLength; + %facetAttr; + %fixedAttr; + %minLengthAttrs;> +<!ELEMENT %maxLength; %facetModel;> +<!ATTLIST %maxLength; + %facetAttr; + %fixedAttr; + %maxLengthAttrs;> + +<!-- This one can be repeated --> +<!ELEMENT %enumeration; %facetModel;> +<!ATTLIST %enumeration; + %facetAttr; + %enumerationAttrs;> + +<!ELEMENT %whiteSpace; %facetModel;> +<!ATTLIST %whiteSpace; + %facetAttr; + %whiteSpaceAttrs;> + +<!-- This one can be repeated --> +<!ELEMENT %pattern; %facetModel;> +<!ATTLIST %pattern; + %facetAttr; + %patternAttrs;> + +<!ELEMENT %encoding; %facetModel;> +<!ATTLIST %encoding; + %facetAttr; + %fixedAttr; + %encodingAttrs;> +<!ELEMENT %period; %facetModel;> +<!ATTLIST %period; + %facetAttr; + %fixedAttr; + %periodAttrs;> +<!ELEMENT %duration; %facetModel;> +<!ATTLIST %duration; + %facetAttr; + %fixedAttr; + %durationAttrs;> diff --git a/src/resources/entities/document-v10.dtd b/src/resources/entities/document-v10.dtd new file mode 100755 index 0000000000..78c7d877a3 --- /dev/null +++ b/src/resources/entities/document-v10.dtd @@ -0,0 +1,555 @@ +<!-- =================================================================== + + Apache Documentation DTD (Version 1.0) + +PURPOSE: + This DTD was developed to create a simple yet powerful document + type for software documentation for use with the Apache projects. + It is an XML-compliant DTD and it's maintained by the Apache XML + project. + +TYPICAL INVOCATION: + + <!DOCTYPE document PUBLIC + "-//APACHE//DTD Documentation Vx.yz//EN" + "http://xml.apache.org/DTD/document-vxyz.dtd"> + + where + + x := major version + y := minor version + z := status identifier (optional) + +NOTES: + Many of the design patterns used in this DTD were take from the + W3C XML Specification DTD edited by Eve Maler <elm@arbortext.com>. + + Where possible, great care has been used to reutilize HTML tag + names to reduce learning efforts and to allow HTML editors to be + used for complex authorings like tables and lists. + +AUTHORS: + Stefano Mazzocchi <stefano@apache.org> + +FIXME: + - how can we include char entities without hardwiring them? + - should "form" tags be included? + - should all style-free HTML 4.0 markup tags be included? + - how do we handle the idea of "soft" xlinks? + - should we add "soft" links to images? + +CHANGE HISTORY: + 19991121 Initial version. (SM) + 19991123 Replaced "res" with more standard "strong" for emphasis. (SM) + 19991124 Added "fork" element for window forking behavior. (SM) + 19991124 Added "img-inline" element to separate from "img". (SM) + 19991129 Removed "affiliation" from "author". (SM) + 19991129 Made "author" empty and moved "name|email" as attributes. (SM) + 19991215 Simplified table section. (SM) + 19991215 Changed "img-block" in more friendly "figure". (SM) + 20000125 Added the "icon" image. (SM) + 20000126 Allowed "anchor" in all levels. (SM) + 20000404 Removed the "role" attribute from common-xxx.att. (SM) + 20000815 Allowed "code" inside "strong" and "em". (SM) + +COPYRIGHT: + Copyright (c) 1999-2000 The Apache Software Foundation. + + Permission to copy in any form is granted provided this notice is + included in all copies. Permission to redistribute is granted + provided this file is distributed untouched in all its parts and + included files. + +==================================================================== --> + + + + +<!-- =============================================================== --> +<!-- Common character entities (included from external file) --> +<!-- =============================================================== --> + +<!-- FIXME (SM): this is hardcoding. Find a better way of doing this + possibly using public identifiers of ISO latin char sets --> +<!ENTITY % charEntity SYSTEM "characters.ent"> +%charEntity; + + + + +<!-- =============================================================== --> +<!-- Userful entitieis for increased DTD readability --> +<!-- =============================================================== --> + +<!ENTITY % text "#PCDATA"> + + +<!-- =============================================================== --> +<!-- Entities for general XML compliance --> +<!-- =============================================================== --> + +<!-- Common attributes + Every element has an ID attribute (sometimes required, + but usually optional) for links. %common.att; + is for common attributes where the ID is optional, and + %common-idreq.att; is for common attributes where the + ID is required. +--> +<!ENTITY % common.att + 'id ID #IMPLIED + xml:lang NMTOKEN #IMPLIED'> +<!ENTITY % common-idreq.att + 'id ID #REQUIRED + xml:lang NMTOKEN #IMPLIED'> + + +<!-- xml:space attribute =============================================== + Indicates that the element contains white space + that the formatter or other application should retain, + as appropriate to its function. +==================================================================== --> +<!ENTITY % xmlspace.att + 'xml:space (default|preserve) #FIXED "preserve"'> + + +<!-- def attribute ===================================================== + Points to the element where the relevant definition can be + found, using the IDREF mechanism. %def.att; is for optional + def attributes, and %def-req.att; is for required def + attributes. +==================================================================== --> +<!ENTITY % def.att + 'def IDREF #IMPLIED'> +<!ENTITY % def-req.att + 'def IDREF #REQUIRED'> + + + +<!-- ref attribute ===================================================== + Points to the element where more information can be found, + using the IDREF mechanism. %ref.att; is for optional + ref attributes, and %ref-req.att; is for required ref + attributes. +================================================================== --> +<!ENTITY % ref.att + 'ref IDREF #IMPLIED'> +<!ENTITY % ref-req.att + 'ref IDREF #REQUIRED'> + + +<!-- =============================================================== --> +<!-- Entities for XLink compliance --> +<!-- =============================================================== --> + +<!ENTITY % xlink-simple.att + 'type (simple|extended|locator|arc) #FIXED "simple" + href CDATA #IMPLIED + role CDATA #IMPLIED + title CDATA #IMPLIED '> +<!-- 'xmlns CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" --> +<!-- FIXME: brain-dead IE5 has broken support for + namespace validation and since I use it for editing + I remove this for now --> + +<!ENTITY % xlink-user-replace.att + 'show (new|parsed|replace) #FIXED "replace" + actuate (user|auto) #FIXED "user" '> + +<!ENTITY % xlink-user-new.att + 'show (new|parsed|replace) #FIXED "new" + actuate (user|auto) #FIXED "user" '> + +<!ENTITY % xlink-auto-parsed.att + 'show (new|parsed|replace) #FIXED "parsed" + actuate (user|auto) #FIXED "auto" '> + +<!-- FIXME (SM): XLink doesn't yet cover the idea of soft links so + introducing it here using the same namespace is _somewhat_ + illegal. Should we create it own namespace? +--> +<!ENTITY % xlink-soft.att + 'mode (hard|soft) #FIXED "soft" '> + + +<!-- =============================================================== --> +<!-- Entities for general usage --> +<!-- =============================================================== --> + + +<!-- Key attribute ===================================================== + Optionally provides a sorting or indexing key, for cases when + the element content is inappropriate for this purpose. +==================================================================== --> +<!ENTITY % key.att + 'key CDATA #IMPLIED'> + + + +<!-- Title attributes ================================================== + Indicates that the element requires to have a title. +==================================================================== --> +<!ENTITY % title.att + 'title CDATA #REQUIRED'> + + + +<!-- Name attributes ================================================== + Indicates that the element requires to have a name. +==================================================================== --> +<!ENTITY % name.att + 'name CDATA #REQUIRED'> + + + +<!-- Email attributes ================================================== + Indicates that the element requires to have an email. +==================================================================== --> +<!ENTITY % email.att + 'email CDATA #REQUIRED'> + + + + + +<!-- =============================================================== --> +<!-- General definitions --> +<!-- =============================================================== --> + +<!-- A person is a general human entity --> +<!ELEMENT person EMPTY> +<!ATTLIST person %common.att; + %name.att; + %email.att;> + + + + +<!-- =============================================================== --> +<!-- Content definitions --> +<!-- =============================================================== --> + +<!ENTITY % local.content.mix ""> + +<!ENTITY % markup "strong|em|code|sub|sup"> + +<!ENTITY % links "link|connect|jump|fork|anchor"> + +<!ENTITY % special "br|img|icon"> + +<!ENTITY % link-content.mix "%text;|%markup;|%special;%local.content.mix;"> + +<!ENTITY % content.mix "%link-content.mix;|%links;"> + + <!-- ==================================================== --> + <!-- Phrase Markup --> + <!-- ==================================================== --> + + <!-- Code (typically monospaced) --> + <!ELEMENT code (%text;)> + <!ATTLIST code %common.att;> + + <!-- Strong (typically bold) --> + <!ELEMENT strong (%text;|code)*> + <!ATTLIST strong %common.att;> + + <!-- Emphasis (typically italic) --> + <!ELEMENT em (%text;|code)*> + <!ATTLIST em %common.att;> + + <!-- Superscript (typically smaller and higher) --> + <!ELEMENT sup (%text;)> + <!ATTLIST sup %common.att;> + + <!-- Subscript (typically smaller and lower) --> + <!ELEMENT sub (%text;)> + <!ATTLIST sub %common.att;> + + <!-- FIXME (SM): should we add these HTML 4.0 markups + which are style-free? + + -dfn + -samp + -kbd + -var + -cite + -abbr + -acronym + + --> + + <!-- ==================================================== --> + <!-- Hypertextual Links --> + <!-- ==================================================== --> + + <!-- hard replacing link (equivalent of <a ...>) --> + <!ELEMENT link (%link-content.mix;)*> + <!ATTLIST link %common.att; + %xlink-simple.att; + %xlink-user-replace.att;> + + <!-- Hard window replacing link (equivalent of <a ... target="_top">) --> + <!ELEMENT jump (%link-content.mix;)*> + <!ATTLIST jump %common.att; + %xlink-simple.att; + %xlink-user-new.att;> + + <!-- Hard window forking link (equivalent of <a ... target="_new">) --> + <!ELEMENT fork (%link-content.mix;)*> + <!ATTLIST fork %common.att; + %xlink-simple.att; + %xlink-user-new.att;> + + <!-- Anchor point (equivalent of <a name="...">) --> + <!ELEMENT anchor EMPTY> + <!ATTLIST anchor %common-idreq.att;> + + <!-- Soft link between processed pages (no equivalent in HTML) --> + <!ELEMENT connect (%link-content.mix;)*> + <!ATTLIST connect %common.att; + %xlink-simple.att; + %xlink-user-replace.att; + %xlink-soft.att;> + + <!-- ==================================================== --> + <!-- Specials --> + <!-- ==================================================== --> + + <!-- Breakline Object (typically forces line break) --> + <!ELEMENT br EMPTY> + <!ATTLIST br %common.att;> + + <!-- Image Object (typically an inlined image) --> + <!-- FIXME (SM): should we have the notion of soft links even here + for inlined objects? --> + <!ELEMENT img EMPTY> + <!ATTLIST img src CDATA #REQUIRED + alt CDATA #REQUIRED + height CDATA #IMPLIED + width CDATA #IMPLIED + usemap CDATA #IMPLIED + ismap (ismap) #IMPLIED + %common.att;> + + <!-- Image Icon (typically an inlined image placed as graphical item) --> + <!-- FIXME (SM): should we have the notion of soft links even here + for inlined objects? --> + <!ELEMENT icon EMPTY> + <!ATTLIST icon src CDATA #REQUIRED + alt CDATA #REQUIRED + height CDATA #IMPLIED + width CDATA #IMPLIED + %common.att;> + + + + +<!-- =============================================================== --> +<!-- Blocks definitions --> +<!-- =============================================================== --> + +<!ENTITY % local.blocks ""> + +<!ENTITY % local.lists ""> + +<!ENTITY % paragraphs "p|source|note|fixme|figure"> + +<!ENTITY % tables "table"> + +<!ENTITY % lists "ol|ul|sl|dl %local.lists;"> + +<!ENTITY % blocks "anchor|%paragraphs;|%tables;|%lists; %local.blocks;"> + + <!-- ==================================================== --> + <!-- Paragraphs --> + <!-- ==================================================== --> + + <!-- Text Paragraph (normally vertically space delimited) --> + <!ELEMENT p (%content.mix;)*> + <!ATTLIST p %common.att;> + + <!-- Source Paragraph (normally space is preserved) --> + <!ELEMENT source (%content.mix;)*> + <!ATTLIST source %common.att; + %xmlspace.att;> + + <!-- Note Paragraph (normally shown encapsulated) --> + <!ELEMENT note (%content.mix;)*> + <!ATTLIST note %common.att;> + + <!-- Fixme Paragraph (normally not shown) --> + <!ELEMENT fixme (%content.mix;)*> + <!-- the "author" attribute should match the "key" attribute of the + <author> element --> + <!ATTLIST fixme author CDATA #REQUIRED + %common.att;> + + <!-- ==================================================== --> + <!-- Tables --> + <!-- ==================================================== --> + + <!-- Attributes that indicate the spanning of the table cell --> + <!ENTITY % cell.span + 'colspan CDATA "1" + rowspan CDATA "1"'> + + <!-- Table element --> + <!ELEMENT table (caption?, tr+)> + <!ATTLIST table %common.att;> + + <!-- The table title --> + <!ELEMENT caption (%content.mix;)*> + <!ATTLIST caption %common.att;> + + <!-- The table row element --> + <!ELEMENT tr (th|td)+> + <!ATTLIST tr %common.att;> + + <!-- The table row header element --> + <!ELEMENT th (%content.mix;)*> + <!ATTLIST th %common.att; + %cell.span;> + + <!-- The table row description element --> + <!ELEMENT td (%content.mix;)*> + <!ATTLIST td %common.att; + %cell.span;> + + <!-- ==================================================== --> + <!-- Lists --> + <!-- ==================================================== --> + + <!-- Unordered list (typically bulleted) --> + <!ELEMENT ul (li|%lists;)+> + <!-- spacing attribute: + Use "normal" to get normal vertical spacing for items; + use "compact" to get less spacing. The default is dependent + on the stylesheet. --> + <!ATTLIST ul + %common.att; + spacing (normal|compact) #IMPLIED> + + <!-- Ordered list (typically numbered) --> + <!ELEMENT ol (li|%lists;)+> + <!-- spacing attribute: + Use "normal" to get normal vertical spacing for items; + use "compact" to get less spacing. The default is dependent + on the stylesheet. --> + <!ATTLIST ol + %common.att; + spacing (normal|compact) #IMPLIED> + + <!-- Simple list (typically with no mark) --> + <!ELEMENT sl (li|%lists;)+> + <!ATTLIST sl %common.att;> + + <!-- List item --> + <!ELEMENT li (%content.mix;|%lists;)*> + <!ATTLIST li %common.att;> + + <!-- Definition list (typically two-column) --> + <!ELEMENT dl (dt,dd)+> + <!ATTLIST dl %common.att;> + + <!-- Definition term --> + <!ELEMENT dt (%content.mix;)*> + <!ATTLIST dt %common.att;> + + <!-- Definition description --> + <!ELEMENT dd (%content.mix;)*> + <!ATTLIST dd %common.att;> + + <!-- ==================================================== --> + <!-- Special Blocks --> + <!-- ==================================================== --> + + <!-- Image Block (typically a separated and centered image) --> + <!-- FIXME (SM): should we have the notion of soft links even here + for inlined objects? --> + <!ELEMENT figure EMPTY> + <!ATTLIST figure src CDATA #REQUIRED + alt CDATA #REQUIRED + height CDATA #IMPLIED + width CDATA #IMPLIED + usemap CDATA #IMPLIED + ismap (ismap) #IMPLIED + %common.att;> + + + + + +<!-- =============================================================== --> +<!-- Document --> +<!-- =============================================================== --> + +<!ELEMENT document (header?, body, footer?)> +<!ATTLIST document %common.att;> + + <!-- ==================================================== --> + <!-- Header --> + <!-- ==================================================== --> + + <!ENTITY % local.headers ""> + + <!ELEMENT header (title, subtitle?, version?, type?, authors, + notice*, abstract? %local.headers;)> + <!ATTLIST header %common.att;> + + <!ELEMENT title (%text;)> + <!ATTLIST title %common.att;> + + <!ELEMENT subtitle (%text;)> + <!ATTLIST subtitle %common.att;> + + <!ELEMENT version (%text;)> + <!ATTLIST version %common.att;> + + <!ELEMENT type (%text;)> + <!ATTLIST type %common.att;> + + <!ELEMENT authors (person+)> + <!ATTLIST authors %common.att;> + + <!ELEMENT notice (%content.mix;)*> + <!ATTLIST notice %common.att;> + + <!ELEMENT abstract (%content.mix;)*> + <!ATTLIST abstract %common.att;> + + <!-- ==================================================== --> + <!-- Body --> + <!-- ==================================================== --> + + <!ENTITY % local.sections ""> + + <!ENTITY % sections "s1|anchor %local.sections;"> + + <!ELEMENT body (%sections;)+> + <!ATTLIST body %common.att;> + + <!ELEMENT s1 (s2|%blocks;)*> + <!ATTLIST s1 %title.att; %common.att;> + + <!ELEMENT s2 (s3|%blocks;)*> + <!ATTLIST s2 %title.att; %common.att;> + + <!ELEMENT s3 (s4|%blocks;)*> + <!ATTLIST s3 %title.att; %common.att;> + + <!ELEMENT s4 (%blocks;)*> + <!ATTLIST s4 %title.att; %common.att;> + + <!-- ==================================================== --> + <!-- Footer --> + <!-- ==================================================== --> + + <!ENTITY % local.footers ""> + + <!ELEMENT footer (legal %local.footers;)> + + <!ELEMENT legal (%content.mix;)*> + <!ATTLIST legal %common.att;> + +<!-- =============================================================== --> +<!-- End of DTD --> +<!-- =============================================================== --> diff --git a/src/resources/entities/faq-v10.dtd b/src/resources/entities/faq-v10.dtd new file mode 100755 index 0000000000..35459ae7e9 --- /dev/null +++ b/src/resources/entities/faq-v10.dtd @@ -0,0 +1,77 @@ +<!-- =================================================================== + + Apache FAQ DTD (Version 1.0) + +PURPOSE: + This DTD was developed to create a simple yet powerful document + type for software FAQ's for use with the Apache projects. + It is an XML-compliant DTD and it's maintained by the Apache XML + project. + +TYPICAL INVOCATION: + + <!DOCTYPE document PUBLIC + "-//APACHE//DTD FAQ Vx.yz//EN" + "http://xml.apache.org/DTD/faq-vxyz.dtd"> + + where + + x := major version + y := minor version + z := status identifier (optional) + +NOTES: + FAQs represent a powerful knowledge base and a very good way of solving + common user problems reducing messages on mail lists and reducing the effort + required for software installation and usage. Thid DTD want to be a common + format for FAQ interchange to allow FAQ-O-Matic-type workgroup services to + be published in other formats as well as enhancing data interchange. + +AUTHORS: + Stefano Mazzocchi <stefano@apache.org> + +FIXME: + +CHANGE HISTORY: + 19991129 Initial version. (SM) + +COPYRIGHT: + Copyright (c) @year@ The Apache Software Foundation. + + Permission to copy in any form is granted provided this notice is + included in all copies. Permission to redistribute is granted + provided this file is distributed untouched in all its parts and + included files. + +==================================================================== --> + +<!-- =============================================================== --> +<!-- Extend the Documentation DTD --> +<!-- =============================================================== --> + +<!-- FIXME (SM): this is hardcoding. Find a better way of doing this + possibly using public identifiers --> +<!ENTITY % document-dtd SYSTEM "document-v10.dtd"> +%document-dtd; + + +<!-- =============================================================== --> +<!-- Document Type Definition --> +<!-- =============================================================== --> + +<!ELEMENT faqs (authors?, faq)+> +<!ATTLIST faqs %common.att; + %title.att;> + + <!ELEMENT faq (question, answer)> + <!ATTLIST faq %common.att;> + + <!ELEMENT question (%content.mix;)*> + <!ATTLIST question %common.att;> + + <!ELEMENT answer (%blocks;)*> + <!ATTLIST answer author IDREF #IMPLIED> + +<!-- =============================================================== --> +<!-- End of DTD --> +<!-- =============================================================== --> diff --git a/src/resources/entities/javadoc-v04draft.dtd b/src/resources/entities/javadoc-v04draft.dtd new file mode 100755 index 0000000000..efa6bbce17 --- /dev/null +++ b/src/resources/entities/javadoc-v04draft.dtd @@ -0,0 +1,254 @@ +<!-- =================================================================== + + Apache JavaDoc DTD (version 0.4-draft) + +PURPOSE: + This DTD is designed to capture the output of JavaDoc as an XML document + through the use of the JavaDocXML Doclet. The hope is that by having the + JavaDoc documentation in an XML format, it will be easier for application + developers working with XML to treat their java source documentation in the + same way they treat any other XML document within their publication framework. + + This DTD should reflect the information contained within the RootDoc object + passed to the JavaDocXML Doclet by JavaDoc. The RootDoc object and the rest + of the javaDoc Doclet API is specified at + + http://java.sun.com/products/jdk/1.2/docs/tooldocs/javadoc/doclet/index.html + + The only information that appears to be difficult to derive from this DTD + that is easy to obtain from the RootDoc object is the information about + serialization. However, this information should be derivable by manually + looking for the correct serialization methods and other related structures. + +TYPICAL INVOCATION: + + <!DOCTYPE document PUBLIC + "-//APACHE//DTD JavaDoc Vx.yz//EN" + "http://xml.apache.org/DTD/javadoc-vxyz.dtd"> + + where + + x := major version + y := minor version + z := status identifier (optional) + +NOTES: + The authors would like to thank the Cocoon's mail list subscribers for + providing such great support and feedback for this DTD. + +AUTHORS: + Kenneth Murphy <murphyk@umsystem.edu> + +FIXME: + +CHANGE HISTORY: + 199909?? Original idea of XML doclet. (KM) + 199910?? Initial version of this DTD. (KM) + 19991129 Cleaned up DTD. (SM) + +COPYRIGHT: + Copyright (c) @year@ The Apache Software Foundation. + + Permission to copy in any form is granted provided this notice is + included in all copies. Permission to redistribute is granted + provided this file is distributed untouched in all its parts and + included files. + +==================================================================== --> + +<!-- =============================================================== --> +<!-- Common Attribute Entities --> +<!-- =============================================================== --> + +<!ENTITY % name 'name CDATA #REQUIRED'> +<!ENTITY % dimension 'dimension CDATA #REQUIRED'> + +<!ENTITY % abstract 'abstract (true | false) "false"'> +<!ENTITY % anonymous 'anonymous (true | false) "false"'> +<!ENTITY % synthetic 'synthetic (true | false) "false"'> +<!ENTITY % static 'static (true | false) "false"'> +<!ENTITY % final 'final (true | false) "false"'> +<!ENTITY % transient 'transient (true | false) "false"'> +<!ENTITY % volatile 'volatile (true | false) "false"'> +<!ENTITY % native 'native (true | false) "false"'> +<!ENTITY % synchronized 'synchronized (true | false) "false"'> + +<!ENTITY % access 'access (private | package | protected | public) "package"'> +<!ENTITY % class.access 'access (package | public) "package"'> + +<!ENTITY % extensibility 'extensibility (abstract | final | default) "default"'> + + +<!-- =============================================================== --> +<!-- Javadoc --> +<!-- =============================================================== --> + +<!ELEMENT javadoc (package*, class*, interface*)> + +<!-- =============================================================== --> +<!-- Package --> +<!-- =============================================================== --> + +<!ELEMENT package (doc?, package*, class*, interface*)> +<!ATTLIST package %name;> + +<!-- =============================================================== --> +<!-- Class --> +<!-- =============================================================== --> + +<!ELEMENT class (doc?, + extends_class?, + implements?, + field*, + constructor*, + method*, + innerclass*)> +<!ATTLIST class + %name; + %extensibility; + %class.access;> + +<!ELEMENT extends_class (classref+)> + +<!ELEMENT innerclass (doc?, + extends?, + implements?, + field*, + constructor*, + method*)> +<!ATTLIST innerclass + %name; + %access; + %abstract; + %anonymous; + %final; + %static;> + +<!-- =============================================================== --> +<!-- Interface --> +<!-- =============================================================== --> + +<!ELEMENT interface (doc?, + extends_interface?, + field*, + method*)> +<!ATTLIST interface + %name; + %access;> + +<!ELEMENT extends_interface (interfaceref+)> + +<!-- =============================================================== --> +<!-- Elements --> +<!-- =============================================================== --> + +<!ELEMENT implements (interfaceref+)> + +<!ELEMENT throws (classref)+> + +<!ELEMENT classref EMPTY> +<!ATTLIST classref %name;> + +<!ELEMENT interfaceref EMPTY> +<!ATTLIST interfaceref %name;> + +<!ELEMENT methodref EMPTY> +<!ATTLIST methodref %name;> + +<!ELEMENT packageref EMPTY> +<!ATTLIST packageref %name;> + +<!ELEMENT primitive EMPTY> +<!ATTLIST primitive + type (void | boolean | int | long | byte | short | double | float | char) #REQUIRED> + +<!ELEMENT field (doc?, (classref | interfaceref | primitive))> +<!ATTLIST field + %name; + %access; + %dimension; + %synthetic; + %static; + %final; + %transient; + %volatile;> + +<!ELEMENT constructor (doc?, parameter*, throws*)> +<!ATTLIST constructor + %name; + %access; + %synthetic;> + +<!ELEMENT method (doc?, returns, parameter*, throws*)> +<!ATTLIST method + %name; + %access; + %extensibility; + %native; + %synthetic; + %static; + %synchronized;> + +<!ELEMENT returns (classref | interfaceref | primitive)> +<!ATTLIST returns %dimension;> + +<!ELEMENT parameter (classref | interfaceref | primitive)> +<!ATTLIST parameter + %name; + %final; + %dimension;> + +<!ELEMENT dimension (#PCDATA)> + +<!ELEMENT doc (#PCDATA | + linktag | + authortag | + versiontag | + paramtag | + returntag | + exceptiontag | + throwstag | + seetag | + sincetag | + deprecatedtag | + serialtag | + serialfieldtag | + serialdatatag)*> + +<!ELEMENT linktag (#PCDATA)> +<!ATTLIST linktag + src CDATA #REQUIRED> + +<!ELEMENT authortag (#PCDATA | linktag)*> + +<!ELEMENT versiontag (#PCDATA | linktag)*> + +<!ELEMENT paramtag (#PCDATA | linktag)*> +<!ATTLIST paramtag %name;> + +<!ELEMENT returntag (#PCDATA | linktag)*> + +<!ELEMENT exceptiontag (#PCDATA | classref | linktag)*> + +<!ELEMENT throwstag (#PCDATA | classref | linktag)*> + +<!ELEMENT seetag (#PCDATA | linktag)*> +<!ATTLIST seetag + src CDATA #REQUIRED> + +<!ELEMENT sincetag (#PCDATA | linktag)*> + +<!ELEMENT deprecatedtag (#PCDATA | linktag)*> + +<!ELEMENT serialtag (#PCDATA | linktag)*> + +<!ELEMENT serialfieldtag (#PCDATA | linktag)*> +<!ATTLIST serialfieldtag + fieldname CDATA #REQUIRED + fieldtype CDATA #REQUIRED> + +<!ELEMENT serialdatatag (#PCDATA | linktag)*> + +<!-- =============================================================== --> +<!-- End of DTD --> +<!-- =============================================================== --> diff --git a/src/resources/entities/sitemap-v02.dtd b/src/resources/entities/sitemap-v02.dtd new file mode 100755 index 0000000000..7e34e8f899 --- /dev/null +++ b/src/resources/entities/sitemap-v02.dtd @@ -0,0 +1,341 @@ +<!-- =================================================================== + + Apache Cocoon Sitemap DTD (Version 0.2) + +PURPOSE: + INITIAL DRAFT DTD for the Cocoon2 sitemap.xmap files. + +TYPICAL INVOCATION: + + <!DOCTYPE map:sitemap PUBLIC + "-//APACHE//DTD Cocoon Sitemap Vx.yz//EN" + "sitemap-vxyz.dtd"> + + where + + x := major version + y := minor version + z := status identifier (optional) + +NOTES: +* ATTENTION: This initial DTD was reverse-engineered from the various + sitemap.xmap instances included in the current distribution. This is + just an attempt to document the existing rules for sitemap structure. + In many cases a very lax content model is used, simply to get around + validation issues. + A proper design process is still required. +* Needed by XML editing tools for creation of reliable documents. +* Can generate XSD once DTD is locked down. +* We need to synchronise this DTD with the relax-ng work + by <Bruno.Dumon@the-ecorp.com> ... cocoon-dev 2001-07-18 + http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=99545886226916&w=2 +* This DTD has been tested with various XML validating parsers. +* The big questions (still) are: + "What possibilities were not included in the examples?" and + "What in the example sitemap.xmap files is mandatory versus optional?" + +AUTHORS: + Jeffrey Ricker NG (Usonia Holdings) <rickerng@usonia.net> + David Crossley <crossley@indexgeo.com.au> + +FIXME: + - map:act is used in various contexts, so it has a loose definition + - Completely rewrite this DTD looking from the application + point-of-view (do not rely on this temporary initial DTD) + - map:when and map:otherwise are shown in xdocs/sitemap.xml but are + not used in the sitemap.xmap files + - align elements and attributes with sitemap*.xsl + - review all xdocs/userdocs/generators/*.xml etc. and sync with this DTD + +CHANGE HISTORY: + 20010715 V0.1 Initial version. (RNG) + 20011106 V0.2 Reviewed all */sitemap.xmap and added definitions (DC) + 20011106 V0.2 All elements now have "map:" prefix. (DC) + 20011106 V0.2 Incorporated comments Bruno Dumon cocoon-dev 20010718 (DC) + 20011116 V0.2 Changes from label/view discussion cocoon-dev 20011115 (DC) + 20011219 V0.2 Deprecated 'redirect-to resource'. Added 'map:call resource'(CH) + +==================================================================== --> + +<!ELEMENT map:sitemap (map:components, map:views?, map:resources?, + map:action-sets?, map:pipelines)> +<!ATTLIST map:sitemap + xmlns:map CDATA #FIXED "http://apache.org/cocoon/sitemap/1.0" +> + +<!-- =============================================================== --> +<!-- Components --> +<!-- =============================================================== --> + +<!ELEMENT map:components (map:generators, map:transformers, map:readers, + map:serializers, map:selectors?, map:matchers?, + map:actions?)> +<!-- RNG: must they appear in this order? + must they all appear, even if they are empty? --> +<!-- DC: it seems that some sitemaps do not contain all components + e.g. documentation/sitemap.xmap does not have map:selectors --> + + <!-- Generators ======================================== --> +<!ELEMENT map:generators (map:generator*)> +<!ATTLIST map:generators + default CDATA #IMPLIED +> +<!ELEMENT map:generator EMPTY> +<!ATTLIST map:generator + name CDATA #REQUIRED + src CDATA #REQUIRED + label CDATA #IMPLIED + pool-max CDATA #IMPLIED + pool-min CDATA #IMPLIED + pool-grow CDATA #IMPLIED +> + +<!-- RNG: with all attributes, which are required and which are implied? --> + + <!-- Transformers ====================================== --> +<!ELEMENT map:transformers (map:transformer*)> +<!ATTLIST map:transformers + default CDATA #IMPLIED +> +<!ELEMENT map:transformer ANY> +<!-- RNG: surely the content is not ANY. However, there were so many + children here that I did not know where to begin --> +<!-- DC: here are some that are currently used --> +<!ELEMENT use-store (#PCDATA)> +<!ELEMENT use-request-parameters (#PCDATA)> +<!ELEMENT use-browser-capabilities-db (#PCDATA)> +<!ELEMENT catalogue-name (#PCDATA)> +<!ELEMENT catalogue-location (#PCDATA)> +<!ATTLIST map:transformer + name CDATA #REQUIRED + src CDATA #REQUIRED + label CDATA #IMPLIED + pool-max CDATA #IMPLIED + pool-min CDATA #IMPLIED + pool-grow CDATA #IMPLIED +> + + <!-- Readers =========================================== --> +<!ELEMENT map:readers (map:reader*)> +<!ATTLIST map:readers + default CDATA #IMPLIED +> +<!ELEMENT map:reader EMPTY> +<!-- RNG: does reader ever have children? Its peers do. --> +<!ATTLIST map:reader + name CDATA #REQUIRED + src CDATA #REQUIRED +> + + <!-- Serializers ======================================= --> +<!ELEMENT map:serializers (map:serializer*)> +<!ATTLIST map:serializers + default CDATA #IMPLIED +> +<!ELEMENT map:serializer (doctype-public|doctype-system|encoding| + omit-xml-declaration|parameter)*> +<!-- RNG: are these the only children of serializer? --> +<!ATTLIST map:serializer + name CDATA #REQUIRED + mime-type CDATA #REQUIRED + src CDATA #REQUIRED + pool-max CDATA #IMPLIED + pool-min CDATA #IMPLIED + pool-grow CDATA #IMPLIED +> +<!ELEMENT doctype-public (#PCDATA)> +<!ELEMENT doctype-system (#PCDATA)> +<!ELEMENT encoding (#PCDATA)> +<!ELEMENT omit-xml-declaration (#PCDATA)> +<!ELEMENT parameter EMPTY> +<!ATTLIST parameter + name CDATA #REQUIRED + value CDATA #REQUIRED + type CDATA #IMPLIED +> + + <!-- Selectors ========================================= --> +<!ELEMENT map:selectors (map:selector*)> +<!ATTLIST map:selectors + default CDATA #IMPLIED +> +<!ELEMENT map:selector (browser*)> +<!ATTLIST map:selector + name CDATA #REQUIRED + src CDATA #REQUIRED +> +<!ELEMENT browser EMPTY> +<!ATTLIST browser + name CDATA #REQUIRED + useragent CDATA #REQUIRED +> + + <!-- Matchers ========================================== --> +<!ELEMENT map:matchers (map:matcher*)> +<!ATTLIST map:matchers + default CDATA #IMPLIED +> +<!ELEMENT map:matcher (attribute-name|parameter-name|header-name)*> +<!ATTLIST map:matcher + name CDATA #REQUIRED + src CDATA #REQUIRED +> +<!ELEMENT attribute-name (#PCDATA)> +<!ELEMENT parameter-name (#PCDATA)> +<!ELEMENT header-name (#PCDATA)> + + <!-- Actions =========================================== --> +<!ELEMENT map:actions (map:action*)> +<!ATTLIST map:actions + default CDATA #IMPLIED +> +<!ELEMENT map:action EMPTY> +<!ATTLIST map:action + name CDATA #REQUIRED + src CDATA #REQUIRED +> + +<!-- =============================================================== --> +<!-- Views --> +<!-- =============================================================== --> + +<!ELEMENT map:views (map:view*)> +<!ELEMENT map:view (map:transform*,map:serialize)> +<!ATTLIST map:view + name CDATA #REQUIRED + from-label CDATA #IMPLIED + from-position (first|last) "last" +> +<!ELEMENT map:serialize (map:parameter*)> +<!ATTLIST map:serialize + type CDATA #REQUIRED + mime-type CDATA #IMPLIED + status-code CDATA #IMPLIED +> + +<!-- =============================================================== --> +<!-- Resources --> +<!-- =============================================================== --> + +<!ELEMENT map:resources (map:resource*)> +<!ELEMENT map:resource ((map:generate,map:transform+,map:serialize) | map:act)> +<!ATTLIST map:resource + name CDATA #REQUIRED +> +<!-- generate and transform defined in PIPELINE section --> + +<!-- =============================================================== --> +<!-- Action Sets --> +<!-- =============================================================== --> + +<!ELEMENT map:action-sets (map:action-set*)> +<!ELEMENT map:action-set (map:act+)> +<!ATTLIST map:action-set + name CDATA #REQUIRED +> +<!ELEMENT map:act (map:parameter|map:redirect-to|map:call|map:generate| + map:transform|map:serialize|map:act|map:match)*> +<!ATTLIST map:act + type CDATA #IMPLIED + action CDATA #IMPLIED + set CDATA #IMPLIED +> + +<!-- =============================================================== --> +<!-- Pipelines --> +<!-- =============================================================== --> + +<!ELEMENT map:pipelines (map:pipeline*)> +<!ELEMENT map:pipeline (map:match*, map:handle-errors?)> + +<!ELEMENT map:match (map:mount | map:redirect-to | map:call | map:generate | + map:transform | map:serialize | map:read | + map:aggregate | map:act | map:match)*> +<!-- RNG: It seemed from the example that match should be defined as + match (map:mount*|map:redirect-to*|(map:generate*,map:transform*,map:serialize*)*|map:read*|map:aggregate*) + but I have no way of knowing. +--> +<!-- DC: Now map:act complicates the content model even further --> +<!ATTLIST map:match + type CDATA #IMPLIED + pattern CDATA #REQUIRED +> + +<!-- map:act is already defined in the Action Sets section --> + +<!ELEMENT map:mount EMPTY> +<!ATTLIST map:mount + uri-prefix CDATA #REQUIRED + src CDATA #REQUIRED + reload-method (synchron|asynchron) "asynchron" + check-reload (true|false|yes|no) "no" +> + +<!ELEMENT map:redirect-to EMPTY> +<!ATTLIST map:redirect-to + uri CDATA #IMPLIED + session (true|false|yes|no) "no" +> +<!-- CH: redirects to resources are now deprecated +<!ATTLIST map:redirect-to + uri CDATA #IMPLIED + resource CDATA #IMPLIED + target CDATA #IMPLIED + session (true|false|yes|no) "no" +> +--> + +<!ELEMENT map:call (map:parameter*)> +<!ATTLIST map:call + resource CDATA #REQUIRED +> + +<!ELEMENT map:generate (map:parameter*)> +<!ATTLIST map:generate + type CDATA #IMPLIED + src CDATA #IMPLIED + label CDATA #IMPLIED +> +<!ELEMENT map:parameter EMPTY> +<!ATTLIST map:parameter + name CDATA #REQUIRED + value CDATA #REQUIRED +> + +<!ELEMENT map:transform (map:parameter*)> +<!ATTLIST map:transform + type CDATA #IMPLIED + src CDATA #IMPLIED + label CDATA #IMPLIED +> + +<!-- map:serialize is already defined in VIEWS section --> + +<!ELEMENT map:read EMPTY> +<!ATTLIST map:read + src CDATA #REQUIRED + mime-type CDATA #REQUIRED + type CDATA #IMPLIED +> + +<!ELEMENT map:aggregate (map:part*)> +<!ATTLIST map:aggregate + element CDATA #IMPLIED + prefix CDATA #IMPLIED + ns CDATA #IMPLIED + label CDATA #IMPLIED +> +<!ELEMENT map:part EMPTY> +<!ATTLIST map:part + src CDATA #IMPLIED + element CDATA #IMPLIED + ns CDATA #IMPLIED + strip-root CDATA #IMPLIED + label CDATA #IMPLIED +> + +<!ELEMENT map:handle-errors (map:generate*,map:transform*,map:serialize*)> + +<!-- =============================================================== --> +<!-- End of DTD --> +<!-- =============================================================== --> diff --git a/src/resources/entities/specification-v10.dtd b/src/resources/entities/specification-v10.dtd new file mode 100755 index 0000000000..39d26f80e4 --- /dev/null +++ b/src/resources/entities/specification-v10.dtd @@ -0,0 +1,85 @@ +<!-- =================================================================== + + Apache Specification DTD (Version 1.0) + +PURPOSE: + This DTD was developed to create a simple yet powerful document + type for software specifications for use with the Apache projects. + It is an XML-compliant DTD and it's maintained by the Apache XML + project. + +TYPICAL INVOCATION: + + <!DOCTYPE document PUBLIC + "-//APACHE//DTD Specification Vx.yz//EN" + "http://xml.apache.org/DTD/specification-vxyz.dtd"> + + where + + x := major version + y := minor version + z := status identifier (optional) + +NOTES: + +AUTHORS: + Stefano Mazzocchi <stefano@apache.org> + +FIXME: + +CHANGE HISTORY: + 19991129 Initial version. (SM) + +COPYRIGHT: + Copyright (c) @year@ The Apache Software Foundation. + + Permission to copy in any form is granted provided this notice is + included in all copies. Permission to redistribute is granted + provided this file is distributed untouched in all its parts and + included files. + +==================================================================== --> + +<!-- =============================================================== --> +<!-- Extend the Documentation DTD --> +<!-- =============================================================== --> + +<!-- extend the local.xxx entities --> +<!ENTITY % local.lists "|bl"> + +<!-- FIXME (SM): this is hardcoding. Find a better way of doing this + possibly using public identifiers --> +<!ENTITY % document-dtd SYSTEM "document-v10.dtd"> +%document-dtd; + +<!-- =============================================================== --> +<!-- Document Type Definition --> +<!-- =============================================================== --> + +<!ELEMENT specification (header?, body, appendices?, footer?)> +<!ATTLIST specification %common.att;> + + <!ELEMENT appendices (%sections;)+> + <!ATTLIST appendices %common.att;> + +<!-- =============================================================== --> +<!-- Bibliography List --> +<!-- =============================================================== --> + + <!-- Bibliography list --> + <!ELEMENT bl (bi)+> + <!ATTLIST bl %common.att;> + + <!-- Book item --> + <!ELEMENT bi EMPTY> + <!ATTLIST bi %common.att; + %name.att; + %title.att; + %xlink-simple.att; + %xlink-user-new.att; + authors CDATA #REQUIRED + date CDATA #IMPLIED> + +<!-- =============================================================== --> +<!-- End of DTD --> +<!-- =============================================================== --> diff --git a/src/resources/entities/svg-cocoon-v11.dtd b/src/resources/entities/svg-cocoon-v11.dtd new file mode 100755 index 0000000000..109b4e2e8e --- /dev/null +++ b/src/resources/entities/svg-cocoon-v11.dtd @@ -0,0 +1,82 @@ +<!-- + +PURPOSE: +This is a minimal SVG DTD intended solely for Apache Cocoon internal use. + +TYPICAL INVOCATION: + + <!DOCTYPE svg PUBLIC + "-//APACHE//DTD Cocoon SVG minimal Vx.yz//EN" + "http://xml.apache.org/DTD/svg-cocoon-vxyz.dtd"> + + where + + x := major version + y := minor version + z := status identifier (optional) + +NOTES: +The Official SVG DTD is using some entities that cannot yet be resolved +so this is a hack DTD to get us started. We are only using this DTD to +enable validation during "build docs" because every XML instance must +declare its ruleset. + +This initial minimal DTD has been reverse-engineered from the structure +of the current documents at documentation/svg/*.xml + +See: +http://www.w3.org/TR/2001/REC-SVG-20010904/ +http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd + +CHANGE HISTORY: + 20011031 1.0 Initial version (DC) + 20011102 1.1 Added more elements for new svg/*.xml from Klaus (DC) +--> + +<!ELEMENT svg (defs|image|g|rect|text)*> +<!ELEMENT defs (filter)*> +<!ELEMENT filter (feGaussianBlur)*> +<!ELEMENT feGaussianBlur EMPTY> +<!ELEMENT g (path)*> +<!ELEMENT path EMPTY> +<!ELEMENT image EMPTY> +<!ELEMENT rect EMPTY> +<!ELEMENT text (label?)> +<!ELEMENT label EMPTY> + +<!ATTLIST svg height CDATA #REQUIRED + width CDATA #REQUIRED + xmlns:xlink CDATA #IMPLIED +> + <!-- yikes ... this breaks build docs --> + <!-- just like hacking the official DTD to add <label> --> + <!-- see email 2001-11-08 --> + <!-- xmlns CDATA #FIXED "http://www.w3.org/2000/svg" --> + +<!ATTLIST filter id ID #IMPLIED +> +<!ATTLIST feGaussianBlur in CDATA #IMPLIED + stdDeviation CDATA #IMPLIED +> +<!ATTLIST g transform CDATA #IMPLIED +> +<!ATTLIST path style CDATA #REQUIRED + d CDATA #REQUIRED +> +<!ATTLIST image width CDATA #REQUIRED + height CDATA #REQUIRED + xlink:href CDATA #IMPLIED +> +<!ATTLIST rect width CDATA #REQUIRED + height CDATA #REQUIRED + x CDATA #IMPLIED + y CDATA #IMPLIED + fill CDATA #IMPLIED + style CDATA #IMPLIED +> +<!ATTLIST text style CDATA #REQUIRED + x CDATA #REQUIRED + y CDATA #REQUIRED + text-anchor CDATA #IMPLIED + fill CDATA #IMPLIED +> diff --git a/src/resources/entities/svg10.dtd b/src/resources/entities/svg10.dtd new file mode 100755 index 0000000000..3ed00059f9 --- /dev/null +++ b/src/resources/entities/svg10.dtd @@ -0,0 +1,1538 @@ +<!-- ===================================================================== + This is the DTD for SVG 1.0. + + The specification for SVG that corresponds to this DTD is available at: + + http://www.w3.org/TR/2001/REC-SVG-20010904/ + + Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved. + + For SVG 1.0: + + Namespace: + http://www.w3.org/2000/svg + + Public identifier: + PUBLIC "-//W3C//DTD SVG 1.0//EN" + + URI for the DTD: + http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd +============================================================================= --> +<!-- ============================================================== + ENTITY DECLARATIONS: Data types + ============================================================== --> +<!ENTITY % BaselineShiftValue "CDATA"> +<!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) --> +<!ENTITY % Boolean "(false | true)"> +<!-- feature specification --> +<!ENTITY % ClassList "CDATA"> +<!-- list of classes --> +<!ENTITY % ClipValue "CDATA"> +<!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) --> +<!ENTITY % ClipPathValue "CDATA"> +<!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) --> +<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)"> +<!-- 'clip-rule' or fill-rule property/attribute value --> +<!ENTITY % ContentType "CDATA"> +<!-- media type, as per [RFC2045] --> +<!ENTITY % Coordinate "CDATA"> +<!-- a <coordinate> --> +<!ENTITY % Coordinates "CDATA"> +<!-- a list of <coordinate>s --> +<!ENTITY % Color "CDATA"> +<!-- a <color> value --> +<!ENTITY % CursorValue "CDATA"> +<!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) --> +<!ENTITY % EnableBackgroundValue "CDATA"> +<!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') --> +<!ENTITY % ExtensionList "CDATA"> +<!-- extension list specification --> +<!ENTITY % FeatureList "CDATA"> +<!-- feature list specification --> +<!ENTITY % FilterValue "CDATA"> +<!-- 'filter' property/attribute value (e.g., 'none', %URI;) --> +<!ENTITY % FontFamilyValue "CDATA"> +<!-- 'font-family' property/attribute value (i.e., list of fonts) --> +<!ENTITY % FontSizeValue "CDATA"> +<!-- 'font-size' property/attribute value --> +<!ENTITY % FontSizeAdjustValue "CDATA"> +<!-- 'font-size-adjust' property/attribute value --> +<!ENTITY % GlyphOrientationHorizontalValue "CDATA"> +<!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) --> +<!ENTITY % GlyphOrientationVerticalValue "CDATA"> +<!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) --> +<!ENTITY % Integer "CDATA"> +<!-- a <integer> --> +<!ENTITY % KerningValue "CDATA"> +<!-- 'kerning' property/attribute value (e.g., auto | <length>) --> +<!ENTITY % LanguageCode "NMTOKEN"> +<!-- a language code, as per [RFC3066] --> +<!ENTITY % LanguageCodes "CDATA"> +<!-- comma-separated list of language codes, as per [RFC3066] --> +<!ENTITY % Length "CDATA"> +<!-- a <length> --> +<!ENTITY % Lengths "CDATA"> +<!-- a list of <length>s --> +<!ENTITY % LinkTarget "NMTOKEN"> +<!-- link to this target --> +<!ENTITY % MarkerValue "CDATA"> +<!-- 'marker' property/attribute value (e.g., 'none', %URI;) --> +<!ENTITY % MaskValue "CDATA"> +<!-- 'mask' property/attribute value (e.g., 'none', %URI;) --> +<!ENTITY % MediaDesc "CDATA"> +<!-- comma-separated list of media descriptors. --> +<!ENTITY % Number "CDATA"> +<!-- a <number> --> +<!ENTITY % NumberOptionalNumber "CDATA"> +<!-- list of <number>s, but at least one and at most two --> +<!ENTITY % NumberOrPercentage "CDATA"> +<!-- a <number> or a <percentage> --> +<!ENTITY % Numbers "CDATA"> +<!-- a list of <number>s --> +<!ENTITY % OpacityValue "CDATA"> +<!-- opacity value (e.g., <number>) --> +<!ENTITY % Paint "CDATA"> +<!-- a 'fill' or 'stroke' property/attribute value: <paint> --> +<!ENTITY % PathData "CDATA"> +<!-- a path data specification --> +<!ENTITY % Points "CDATA"> +<!-- a list of points --> +<!ENTITY % PreserveAspectRatioSpec "CDATA"> +<!-- 'preserveAspectRatio' attribute specification --> +<!ENTITY % Script "CDATA"> +<!-- script expression --> +<!ENTITY % SpacingValue "CDATA"> +<!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) --> +<!ENTITY % StrokeDashArrayValue "CDATA"> +<!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) --> +<!ENTITY % StrokeDashOffsetValue "CDATA"> +<!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) --> +<!ENTITY % StrokeMiterLimitValue "CDATA"> +<!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) --> +<!ENTITY % StrokeWidthValue "CDATA"> +<!-- 'stroke-width' property/attribute value (e.g., <length>) --> +<!ENTITY % StructuredText "content CDATA #FIXED 'structured text'"> +<!ENTITY % StyleSheet "CDATA"> +<!-- style sheet data --> +<!ENTITY % SVGColor "CDATA"> +<!-- An SVG color value (RGB plus optional ICC) --> +<!ENTITY % Text "CDATA"> +<!-- arbitrary text string --> +<!ENTITY % TextDecorationValue "CDATA"> +<!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') --> +<!ENTITY % TransformList "CDATA"> +<!-- list of transforms --> +<!ENTITY % URI "CDATA"> +<!-- a Uniform Resource Identifier, see [URI] --> +<!ENTITY % ViewBoxSpec "CDATA"> +<!-- 'viewBox' attribute specification --> +<!-- ============================================================== + ENTITY DECLARATIONS: Collections of common attributes + ============================================================== --> +<!-- All elements have an ID. --> +<!ENTITY % stdAttrs "id ID #IMPLIED + xml:base %URI; #IMPLIED"> +<!-- Common attributes for elements that might contain character data content. --> +<!ENTITY % langSpaceAttrs "xml:lang %LanguageCode; #IMPLIED + xml:space (default|preserve) #IMPLIED"> +<!-- Common attributes to check for system capabilities. --> +<!ENTITY % testAttrs "requiredFeatures %FeatureList; #IMPLIED + requiredExtensions %ExtensionList; #IMPLIED + systemLanguage %LanguageCodes; #IMPLIED"> +<!-- For most uses of URI referencing: + standard XLink attributes other than xlink:href. --> +<!ENTITY % xlinkRefAttrs "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink' + xlink:type (simple) #FIXED 'simple' + xlink:role %URI; #IMPLIED + xlink:arcrole %URI; #IMPLIED + xlink:title CDATA #IMPLIED + xlink:show (other) 'other' + xlink:actuate (onLoad) #FIXED 'onLoad'"> +<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' --> +<!ENTITY % xlinkRefAttrsEmbed "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink' + xlink:type (simple) #FIXED 'simple' + xlink:role %URI; #IMPLIED + xlink:arcrole %URI; #IMPLIED + xlink:title CDATA #IMPLIED + xlink:show (embed) 'embed' + xlink:actuate (onLoad) #FIXED 'onLoad'"> +<!ENTITY % graphicsElementEvents "onfocusin %Script; #IMPLIED + onfocusout %Script; #IMPLIED + onactivate %Script; #IMPLIED + onclick %Script; #IMPLIED + onmousedown %Script; #IMPLIED + onmouseup %Script; #IMPLIED + onmouseover %Script; #IMPLIED + onmousemove %Script; #IMPLIED + onmouseout %Script; #IMPLIED + onload %Script; #IMPLIED"> +<!ENTITY % documentEvents "onunload %Script; #IMPLIED + onabort %Script; #IMPLIED + onerror %Script; #IMPLIED + onresize %Script; #IMPLIED + onscroll %Script; #IMPLIED + onzoom %Script; #IMPLIED"> +<!ENTITY % animationEvents "onbegin %Script; #IMPLIED + onend %Script; #IMPLIED + onrepeat %Script; #IMPLIED"> +<!-- This entity allows for at most one of desc, title and metadata, + supplied in any order --> +<!ENTITY % descTitleMetadata "(((desc,((title,metadata?)|(metadata,title?))?)| + (title,((desc,metadata?)|(metadata,desc?))?)| + (metadata,((desc,title?)|(title,desc?))?))?)"> +<!-- ============================================================== + ENTITY DECLARATIONS: Collections of presentation attributes + ============================================================== --> +<!-- The following presentation attributes have to do with specifying color. --> +<!ENTITY % PresentationAttributes-Color "color %Color; #IMPLIED + color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED + color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED "> +<!-- The following presentation attributes apply to container elements. --> +<!ENTITY % PresentationAttributes-Containers "enable-background %EnableBackgroundValue; #IMPLIED "> +<!-- The following presentation attributes apply to 'feFlood' elements. --> +<!ENTITY % PresentationAttributes-feFlood "flood-color %SVGColor; #IMPLIED + flood-opacity %OpacityValue; #IMPLIED "> +<!-- The following presentation attributes apply to filling and stroking operations. --> +<!ENTITY % PresentationAttributes-FillStroke "fill %Paint; #IMPLIED + fill-opacity %OpacityValue; #IMPLIED + fill-rule %ClipFillRule; #IMPLIED + stroke %Paint; #IMPLIED + stroke-dasharray %StrokeDashArrayValue; #IMPLIED + stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED + stroke-linecap (butt | round | square | inherit) #IMPLIED + stroke-linejoin (miter | round | bevel | inherit) #IMPLIED + stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED + stroke-opacity %OpacityValue; #IMPLIED + stroke-width %StrokeWidthValue; #IMPLIED "> +<!-- The following presentation attributes apply to filter primitives. --> +<!ENTITY % PresentationAttributes-FilterPrimitives "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED "> +<!-- The following presentation attributes have to do with selecting a font to use. --> +<!ENTITY % PresentationAttributes-FontSpecification "font-family %FontFamilyValue; #IMPLIED + font-size %FontSizeValue; #IMPLIED + font-size-adjust %FontSizeAdjustValue; #IMPLIED + font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed | + condensed | semi-condensed | semi-expanded | expanded | + extra-expanded | ultra-expanded | inherit) #IMPLIED + font-style (normal | italic | oblique | inherit) #IMPLIED + font-variant (normal | small-caps | inherit) #IMPLIED + font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 | + 400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED "> +<!-- The following presentation attributes apply to gradient 'stop' elements. --> +<!ENTITY % PresentationAttributes-Gradients "stop-color %SVGColor; #IMPLIED + stop-opacity %OpacityValue; #IMPLIED "> +<!-- The following presentation attributes apply to graphics elements. --> +<!ENTITY % PresentationAttributes-Graphics "clip-path %ClipPathValue; #IMPLIED + clip-rule %ClipFillRule; #IMPLIED + cursor %CursorValue; #IMPLIED + display (inline | block | list-item | run-in | compact | marker | + table | inline-table | table-row-group | table-header-group | + table-footer-group | table-row | table-column-group | table-column | + table-cell | table-caption | none | inherit) #IMPLIED + filter %FilterValue; #IMPLIED + image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED + mask %MaskValue; #IMPLIED + opacity %OpacityValue; #IMPLIED + pointer-events (visiblePainted | visibleFill | visibleStroke | visible | + painted | fill | stroke | all | none | inherit) #IMPLIED + shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED + text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED + visibility (visible | hidden | inherit) #IMPLIED "> +<!-- The following presentation attributes apply to 'image' elements. --> +<!ENTITY % PresentationAttributes-Images "color-profile CDATA #IMPLIED "> +<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. --> +<!ENTITY % PresentationAttributes-LightingEffects "lighting-color %SVGColor; #IMPLIED "> +<!-- The following presentation attributes apply to marker operations. --> +<!ENTITY % PresentationAttributes-Markers "marker-start %MarkerValue; #IMPLIED + marker-mid %MarkerValue; #IMPLIED + marker-end %MarkerValue; #IMPLIED "> +<!-- The following presentation attributes apply to text content elements. --> +<!ENTITY % PresentationAttributes-TextContentElements "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge | + middle | bottom | after-edge | text-bottom | text-after-edge | + ideographic | lower | hanging | mathematical | inherit) #IMPLIED + baseline-shift %BaselineShiftValue; #IMPLIED + direction (ltr | rtl | inherit) #IMPLIED + dominant-baseline (auto | autosense-script | no-change | reset| + ideographic | lower | hanging | mathematical | inherit ) #IMPLIED + glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED + glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED + kerning %KerningValue; #IMPLIED + letter-spacing %SpacingValue; #IMPLIED + text-anchor (start | middle | end | inherit) #IMPLIED + text-decoration %TextDecorationValue; #IMPLIED + unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED + word-spacing %SpacingValue; #IMPLIED "> +<!-- The following presentation attributes apply to 'text' elements. --> +<!ENTITY % PresentationAttributes-TextElements "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED "> +<!-- The following presentation attributes apply to elements that establish viewports. --> +<!ENTITY % PresentationAttributes-Viewports "clip %ClipValue; #IMPLIED + overflow (visible | hidden | scroll | auto | inherit) #IMPLIED "> +<!--The following represents the complete list of presentation attributes. --> +<!ENTITY % PresentationAttributes-All "%PresentationAttributes-Color; + %PresentationAttributes-Containers; + %PresentationAttributes-feFlood; + %PresentationAttributes-FillStroke; + %PresentationAttributes-FilterPrimitives; + %PresentationAttributes-FontSpecification; + %PresentationAttributes-Gradients; + %PresentationAttributes-Graphics; + %PresentationAttributes-Images; + %PresentationAttributes-LightingEffects; + %PresentationAttributes-Markers; + %PresentationAttributes-TextContentElements; + %PresentationAttributes-TextElements; + %PresentationAttributes-Viewports;"> +<!-- ============================================================== + ENTITY DECLARATIONS: DTD extensions + ============================================================== --> +<!-- Allow for extending the DTD with internal subset for + container and graphics elements --> +<!ENTITY % ceExt ""> +<!ENTITY % geExt ""> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Document Structure + ============================================================== --> +<!ENTITY % svgExt ""> +<!ELEMENT svg (desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %ceExt;%svgExt;)* > +<!ATTLIST svg + xmlns CDATA #FIXED "http://www.w3.org/2000/svg" + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + viewBox %ViewBoxSpec; #IMPLIED + preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet" + zoomAndPan (disable | magnify) "magnify" + %graphicsElementEvents; + %documentEvents; + version %Number; #FIXED "1.0" + x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED + width %Length; #IMPLIED + height %Length; #IMPLIED + contentScriptType %ContentType; "text/ecmascript" + contentStyleType %ContentType; "text/css" +> +<!ENTITY % gExt ""> +<!ELEMENT g (desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %ceExt;%gExt;)* > +<!ATTLIST g + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + transform %TransformList; #IMPLIED + %graphicsElementEvents; +> +<!ENTITY % defsExt ""> +<!ELEMENT defs (desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %ceExt;%defsExt;)* > +<!ATTLIST defs + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + transform %TransformList; #IMPLIED + %graphicsElementEvents; +> +<!ENTITY % descExt ""> +<!ELEMENT desc (#PCDATA %descExt;)* > +<!ATTLIST desc + %stdAttrs; + %langSpaceAttrs; + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %StructuredText; +> +<!ENTITY % titleExt ""> +<!ELEMENT title (#PCDATA %titleExt;)* > +<!ATTLIST title + %stdAttrs; + %langSpaceAttrs; + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %StructuredText; +> +<!ENTITY % symbolExt ""> +<!ELEMENT symbol (desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %ceExt;%symbolExt;)* > +<!ATTLIST symbol + %stdAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + viewBox %ViewBoxSpec; #IMPLIED + preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet" + %graphicsElementEvents; +> +<!ENTITY % useExt ""> +<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform + %geExt;%useExt;)*) > +<!ATTLIST use + %stdAttrs; + %xlinkRefAttrsEmbed; + xlink:href %URI; #REQUIRED + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED + width %Length; #IMPLIED + height %Length; #IMPLIED +> +<!ENTITY % imageExt ""> +<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform + %geExt;%imageExt;)*) > +<!ATTLIST image + %stdAttrs; + %xlinkRefAttrsEmbed; + xlink:href %URI; #REQUIRED + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-Graphics; + %PresentationAttributes-Images; + %PresentationAttributes-Viewports; + transform %TransformList; #IMPLIED + preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet" + %graphicsElementEvents; + x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED + width %Length; #REQUIRED + height %Length; #REQUIRED +> +<!ENTITY % switchExt ""> +<!ELEMENT switch (%descTitleMetadata;, + (path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|switch|a|foreignObject| + animate|set|animateMotion|animateColor|animateTransform + %ceExt;%switchExt;)*) > +<!ATTLIST switch + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + transform %TransformList; #IMPLIED + %graphicsElementEvents; +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Styling + ============================================================== --> +<!ELEMENT style (#PCDATA)> +<!ATTLIST style + %stdAttrs; + xml:space (preserve) #FIXED "preserve" + type %ContentType; #REQUIRED + media %MediaDesc; #IMPLIED + title %Text; #IMPLIED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Paths + ============================================================== --> +<!ENTITY % pathExt ""> +<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform + %geExt;%pathExt;)*) > +<!ATTLIST path + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-Graphics; + %PresentationAttributes-Markers; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + d %PathData; #REQUIRED + pathLength %Number; #IMPLIED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Basic Shapes + ============================================================== --> +<!ENTITY % rectExt ""> +<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform + %geExt;%rectExt;)*) > +<!ATTLIST rect + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-Graphics; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED + width %Length; #REQUIRED + height %Length; #REQUIRED + rx %Length; #IMPLIED + ry %Length; #IMPLIED +> +<!ENTITY % circleExt ""> +<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform + %geExt;%circleExt;)*) > +<!ATTLIST circle + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-Graphics; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + cx %Coordinate; #IMPLIED + cy %Coordinate; #IMPLIED + r %Length; #REQUIRED +> +<!ENTITY % ellipseExt ""> +<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform + %geExt;%ellipseExt;)*) > +<!ATTLIST ellipse + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-Graphics; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + cx %Coordinate; #IMPLIED + cy %Coordinate; #IMPLIED + rx %Length; #REQUIRED + ry %Length; #REQUIRED +> +<!ENTITY % lineExt ""> +<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform + %geExt;%lineExt;)*) > +<!ATTLIST line + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-Graphics; + %PresentationAttributes-Markers; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + x1 %Coordinate; #IMPLIED + y1 %Coordinate; #IMPLIED + x2 %Coordinate; #IMPLIED + y2 %Coordinate; #IMPLIED +> +<!ENTITY % polylineExt ""> +<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform + %geExt;%polylineExt;)*) > +<!ATTLIST polyline + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-Graphics; + %PresentationAttributes-Markers; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + points %Points; #REQUIRED +> +<!ENTITY % polygonExt ""> +<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform + %geExt;%polygonExt;)*) > +<!ATTLIST polygon + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-Graphics; + %PresentationAttributes-Markers; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + points %Points; #REQUIRED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Text + ============================================================== --> +<!ENTITY % textExt ""> +<!ELEMENT text (#PCDATA|desc|title|metadata| + tspan|tref|textPath|altGlyph|a|animate|set| + animateMotion|animateColor|animateTransform + %geExt;%textExt;)* > +<!ATTLIST text + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-FontSpecification; + %PresentationAttributes-Graphics; + %PresentationAttributes-TextContentElements; + %PresentationAttributes-TextElements; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + x %Coordinates; #IMPLIED + y %Coordinates; #IMPLIED + dx %Lengths; #IMPLIED + dy %Lengths; #IMPLIED + rotate %Numbers; #IMPLIED + textLength %Length; #IMPLIED + lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED +> +<!ENTITY % tspanExt ""> +<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor + %tspanExt;)* > +<!ATTLIST tspan + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-FontSpecification; + %PresentationAttributes-Graphics; + %PresentationAttributes-TextContentElements; + %graphicsElementEvents; + x %Coordinates; #IMPLIED + y %Coordinates; #IMPLIED + dx %Lengths; #IMPLIED + dy %Lengths; #IMPLIED + rotate %Numbers; #IMPLIED + textLength %Length; #IMPLIED + lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED +> +<!ENTITY % trefExt ""> +<!ELEMENT tref (desc|title|metadata|animate|set|animateColor + %trefExt;)* > +<!ATTLIST tref + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #REQUIRED + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-FontSpecification; + %PresentationAttributes-Graphics; + %PresentationAttributes-TextContentElements; + %graphicsElementEvents; + x %Coordinates; #IMPLIED + y %Coordinates; #IMPLIED + dx %Lengths; #IMPLIED + dy %Lengths; #IMPLIED + rotate %Numbers; #IMPLIED + textLength %Length; #IMPLIED + lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED +> +<!ENTITY % textPathExt ""> +<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor + %textPathExt;)* > +<!ATTLIST textPath + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #REQUIRED + %langSpaceAttrs; + %testAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-FontSpecification; + %PresentationAttributes-Graphics; + %PresentationAttributes-TextContentElements; + %graphicsElementEvents; + startOffset %Length; #IMPLIED + textLength %Length; #IMPLIED + lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED + method (align | stretch) #IMPLIED + spacing (auto | exact) #IMPLIED +> +<!ENTITY % altGlyphExt ""> +<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* > +<!ATTLIST altGlyph + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #IMPLIED + glyphRef CDATA #IMPLIED + format CDATA #IMPLIED + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-FontSpecification; + %PresentationAttributes-Graphics; + %PresentationAttributes-TextContentElements; + %graphicsElementEvents; + x %Coordinates; #IMPLIED + y %Coordinates; #IMPLIED + dx %Lengths; #IMPLIED + dy %Lengths; #IMPLIED + rotate %Numbers; #IMPLIED +> +<!ENTITY % altGlyphDefExt ""> +<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) > +<!ATTLIST altGlyphDef + %stdAttrs; +> +<!ENTITY % altGlyphItemExt ""> +<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) > +<!ATTLIST altGlyphItem + %stdAttrs; +> +<!ELEMENT glyphRef EMPTY> +<!ATTLIST glyphRef + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-FontSpecification; + glyphRef CDATA #IMPLIED + format CDATA #IMPLIED + x %Number; #IMPLIED + y %Number; #IMPLIED + dx %Number; #IMPLIED + dy %Number; #IMPLIED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols + ============================================================== --> +<!ENTITY % markerExt ""> +<!ELEMENT marker (desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %ceExt;%markerExt;)* > +<!ATTLIST marker + %stdAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + viewBox %ViewBoxSpec; #IMPLIED + preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet" + refX %Coordinate; #IMPLIED + refY %Coordinate; #IMPLIED + markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED + markerWidth %Length; #IMPLIED + markerHeight %Length; #IMPLIED + orient CDATA #IMPLIED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Color + ============================================================== --> +<!ELEMENT color-profile (%descTitleMetadata;)> +<!ATTLIST color-profile + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #IMPLIED + local CDATA #IMPLIED + name CDATA #REQUIRED + rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Gradients and Patterns + ============================================================== --> +<!ENTITY % linearGradientExt ""> +<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform + %linearGradientExt;)*) > +<!ATTLIST linearGradient + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #IMPLIED + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-Gradients; + gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED + gradientTransform %TransformList; #IMPLIED + x1 %Coordinate; #IMPLIED + y1 %Coordinate; #IMPLIED + x2 %Coordinate; #IMPLIED + y2 %Coordinate; #IMPLIED + spreadMethod (pad | reflect | repeat) #IMPLIED +> +<!ENTITY % radialGradientExt ""> +<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform + %radialGradientExt;)*) > +<!ATTLIST radialGradient + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #IMPLIED + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-Gradients; + gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED + gradientTransform %TransformList; #IMPLIED + cx %Coordinate; #IMPLIED + cy %Coordinate; #IMPLIED + r %Length; #IMPLIED + fx %Coordinate; #IMPLIED + fy %Coordinate; #IMPLIED + spreadMethod (pad | reflect | repeat) #IMPLIED +> +<!ENTITY % stopExt ""> +<!ELEMENT stop (animate|set|animateColor + %stopExt;)* > +<!ATTLIST stop + %stdAttrs; + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-Gradients; + offset %NumberOrPercentage; #REQUIRED +> +<!ENTITY % patternExt ""> +<!ELEMENT pattern (desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %ceExt;%patternExt;)* > +<!ATTLIST pattern + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #IMPLIED + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + viewBox %ViewBoxSpec; #IMPLIED + preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet" + patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED + patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED + patternTransform %TransformList; #IMPLIED + x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED + width %Length; #IMPLIED + height %Length; #IMPLIED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing + ============================================================== --> +<!ENTITY % clipPathExt ""> +<!ELEMENT clipPath (%descTitleMetadata;, + (path|text|rect|circle|ellipse|line|polyline|polygon| + use|animate|set|animateMotion|animateColor|animateTransform + %ceExt;%clipPathExt;)*) > +<!ATTLIST clipPath + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FillStroke; + %PresentationAttributes-FontSpecification; + %PresentationAttributes-Graphics; + %PresentationAttributes-TextContentElements; + %PresentationAttributes-TextElements; + transform %TransformList; #IMPLIED + clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED +> +<!ENTITY % maskExt ""> +<!ELEMENT mask (desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %ceExt;%maskExt;)* > +<!ATTLIST mask + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED + maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED + x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED + width %Length; #IMPLIED + height %Length; #IMPLIED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Filter Effects + ============================================================== --> +<!ENTITY % filterExt ""> +<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood| + feColorMatrix|feComponentTransfer| + feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap| + feGaussianBlur|feImage|feMerge| + feMorphology|feOffset|feSpecularLighting| + feTile|feTurbulence| + animate|set + %filterExt;)*) > +<!ATTLIST filter + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #IMPLIED + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED + primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED + x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED + width %Length; #IMPLIED + height %Length; #IMPLIED + filterRes %NumberOptionalNumber; #IMPLIED +> +<!ENTITY % filter_primitive_attributes "x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED + width %Length; #IMPLIED + height %Length; #IMPLIED + result CDATA #IMPLIED"> +<!ENTITY % filter_primitive_attributes_with_in "%filter_primitive_attributes; + in CDATA #IMPLIED"> +<!ELEMENT feDistantLight (animate | set)*> +<!ATTLIST feDistantLight + %stdAttrs; + azimuth %Number; #IMPLIED + elevation %Number; #IMPLIED +> +<!ELEMENT fePointLight (animate | set)*> +<!ATTLIST fePointLight + %stdAttrs; + x %Number; #IMPLIED + y %Number; #IMPLIED + z %Number; #IMPLIED +> +<!ELEMENT feSpotLight (animate | set)*> +<!ATTLIST feSpotLight + %stdAttrs; + x %Number; #IMPLIED + y %Number; #IMPLIED + z %Number; #IMPLIED + pointsAtX %Number; #IMPLIED + pointsAtY %Number; #IMPLIED + pointsAtZ %Number; #IMPLIED + specularExponent %Number; #IMPLIED + limitingConeAngle %Number; #IMPLIED +> +<!ELEMENT feBlend (animate | set)*> +<!ATTLIST feBlend + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; + in2 CDATA #REQUIRED + mode (normal | multiply | screen | darken | lighten) "normal" +> +<!ELEMENT feColorMatrix (animate | set)*> +<!ATTLIST feColorMatrix + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; + type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix" + values CDATA #IMPLIED +> +<!ELEMENT feComponentTransfer (feFuncR?, feFuncG?, feFuncB?, feFuncA?)> +<!ATTLIST feComponentTransfer + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; +> +<!ENTITY % component_transfer_function_attributes "type (identity | table | discrete | linear | gamma) #REQUIRED + tableValues CDATA #IMPLIED + slope %Number; #IMPLIED + intercept %Number; #IMPLIED + amplitude %Number; #IMPLIED + exponent %Number; #IMPLIED + offset %Number; #IMPLIED"> +<!ELEMENT feFuncR (animate | set)*> +<!ATTLIST feFuncR + %stdAttrs; + %component_transfer_function_attributes; +> +<!ELEMENT feFuncG (animate | set)*> +<!ATTLIST feFuncG + %stdAttrs; + %component_transfer_function_attributes; +> +<!ELEMENT feFuncB (animate | set)*> +<!ATTLIST feFuncB + %stdAttrs; + %component_transfer_function_attributes; +> +<!ELEMENT feFuncA (animate | set)*> +<!ATTLIST feFuncA + %stdAttrs; + %component_transfer_function_attributes; +> +<!ELEMENT feComposite (animate | set)*> +<!ATTLIST feComposite + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; + in2 CDATA #REQUIRED + operator (over | in | out | atop | xor | arithmetic) "over" + k1 %Number; #IMPLIED + k2 %Number; #IMPLIED + k3 %Number; #IMPLIED + k4 %Number; #IMPLIED +> +<!ELEMENT feConvolveMatrix (animate | set)*> +<!ATTLIST feConvolveMatrix + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; + order %NumberOptionalNumber; #REQUIRED + kernelMatrix CDATA #REQUIRED + divisor %Number; #IMPLIED + bias %Number; #IMPLIED + targetX %Integer; #IMPLIED + targetY %Integer; #IMPLIED + edgeMode (duplicate | wrap | none) "duplicate" + kernelUnitLength %NumberOptionalNumber; #IMPLIED + preserveAlpha %Boolean; #IMPLIED +> +<!ELEMENT feDiffuseLighting ((feDistantLight | fePointLight | feSpotLight), (animate | set | animateColor)*)> +<!ATTLIST feDiffuseLighting + %stdAttrs; + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FilterPrimitives; + %PresentationAttributes-LightingEffects; + %filter_primitive_attributes_with_in; + surfaceScale %Number; #IMPLIED + diffuseConstant %Number; #IMPLIED + kernelUnitLength %NumberOptionalNumber; #IMPLIED +> +<!ELEMENT feDisplacementMap (animate | set)*> +<!ATTLIST feDisplacementMap + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; + in2 CDATA #REQUIRED + scale %Number; #IMPLIED + xChannelSelector (R | G | B | A) "A" + yChannelSelector (R | G | B | A) "A" +> +<!ELEMENT feFlood (animate | set | animateColor)*> +<!ATTLIST feFlood + %stdAttrs; + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-feFlood; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; +> +<!ELEMENT feGaussianBlur (animate | set)*> +<!ATTLIST feGaussianBlur + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; + stdDeviation %NumberOptionalNumber; #IMPLIED +> +<!ELEMENT feImage (animate | set | animateTransform)*> +<!ATTLIST feImage + %stdAttrs; + %xlinkRefAttrsEmbed; + xlink:href %URI; #REQUIRED + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + %filter_primitive_attributes; +> +<!ELEMENT feMerge (feMergeNode)*> +<!ATTLIST feMerge + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes; +> +<!ELEMENT feMergeNode (animate | set)*> +<!ATTLIST feMergeNode + %stdAttrs; + in CDATA #IMPLIED +> +<!ELEMENT feMorphology (animate | set)*> +<!ATTLIST feMorphology + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; + operator (erode | dilate) "erode" + radius %NumberOptionalNumber; #IMPLIED +> +<!ELEMENT feOffset (animate | set)*> +<!ATTLIST feOffset + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; + dx %Number; #IMPLIED + dy %Number; #IMPLIED +> +<!ELEMENT feSpecularLighting ((feDistantLight | fePointLight | feSpotLight), (animate | set | animateColor)*)> +<!ATTLIST feSpecularLighting + %stdAttrs; + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-Color; + %PresentationAttributes-FilterPrimitives; + %PresentationAttributes-LightingEffects; + %filter_primitive_attributes_with_in; + surfaceScale %Number; #IMPLIED + specularConstant %Number; #IMPLIED + specularExponent %Number; #IMPLIED + kernelUnitLength %NumberOptionalNumber; #IMPLIED +> +<!ELEMENT feTile (animate | set)*> +<!ATTLIST feTile + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes_with_in; +> +<!ELEMENT feTurbulence (animate | set)*> +<!ATTLIST feTurbulence + %stdAttrs; + %PresentationAttributes-FilterPrimitives; + %filter_primitive_attributes; + baseFrequency %NumberOptionalNumber; #IMPLIED + numOctaves %Integer; #IMPLIED + seed %Number; #IMPLIED + stitchTiles (stitch | noStitch) "noStitch" + type (fractalNoise | turbulence) "turbulence" +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Interactivity + ============================================================== --> +<!ELEMENT cursor (%descTitleMetadata;)> +<!ATTLIST cursor + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #REQUIRED + %testAttrs; + externalResourcesRequired %Boolean; #IMPLIED + x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Linking + ============================================================== --> +<!ENTITY % aExt ""> +<!ELEMENT a (#PCDATA|desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %ceExt;%aExt;)* > +<!ATTLIST a + %stdAttrs; + xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink" + xlink:type (simple) #FIXED "simple" + xlink:role %URI; #IMPLIED + xlink:arcrole %URI; #IMPLIED + xlink:title CDATA #IMPLIED + xlink:show (new | replace) "replace" + xlink:actuate (onRequest) #FIXED "onRequest" + xlink:href %URI; #REQUIRED + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + target %LinkTarget; #IMPLIED +> +<!ENTITY % viewExt ""> +<!ELEMENT view (%descTitleMetadata;%viewExt;) > +<!ATTLIST view + %stdAttrs; + externalResourcesRequired %Boolean; #IMPLIED + viewBox %ViewBoxSpec; #IMPLIED + preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet" + zoomAndPan (disable | magnify) "magnify" + viewTarget CDATA #IMPLIED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Scripting + ============================================================== --> +<!ELEMENT script (#PCDATA)> +<!ATTLIST script + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #IMPLIED + externalResourcesRequired %Boolean; #IMPLIED + type %ContentType; #REQUIRED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Animation + ============================================================== --> +<!ENTITY % animElementAttrs "%xlinkRefAttrs; + xlink:href %URI; #IMPLIED"> +<!ENTITY % animAttributeAttrs "attributeName CDATA #REQUIRED + attributeType CDATA #IMPLIED"> +<!ENTITY % animTimingAttrs "begin CDATA #IMPLIED + dur CDATA #IMPLIED + end CDATA #IMPLIED + min CDATA #IMPLIED + max CDATA #IMPLIED + restart (always | never | whenNotActive) 'always' + repeatCount CDATA #IMPLIED + repeatDur CDATA #IMPLIED + fill (remove | freeze) 'remove'"> +<!ENTITY % animValueAttrs "calcMode (discrete | linear | paced | spline) 'linear' + values CDATA #IMPLIED + keyTimes CDATA #IMPLIED + keySplines CDATA #IMPLIED + from CDATA #IMPLIED + to CDATA #IMPLIED + by CDATA #IMPLIED"> +<!ENTITY % animAdditionAttrs "additive (replace | sum) 'replace' + accumulate (none | sum) 'none'"> +<!ENTITY % animateExt ""> +<!ELEMENT animate (%descTitleMetadata;%animateExt;) > +<!ATTLIST animate + %stdAttrs; + %testAttrs; + externalResourcesRequired %Boolean; #IMPLIED + %animationEvents; + %animElementAttrs; + %animAttributeAttrs; + %animTimingAttrs; + %animValueAttrs; + %animAdditionAttrs; +> +<!ENTITY % setExt ""> +<!ELEMENT set (%descTitleMetadata;%setExt;) > +<!ATTLIST set + %stdAttrs; + %testAttrs; + externalResourcesRequired %Boolean; #IMPLIED + %animationEvents; + %animElementAttrs; + %animAttributeAttrs; + %animTimingAttrs; + to CDATA #IMPLIED +> +<!ENTITY % animateMotionExt ""> +<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) > +<!ATTLIST animateMotion + %stdAttrs; + %testAttrs; + externalResourcesRequired %Boolean; #IMPLIED + %animationEvents; + %animElementAttrs; + %animTimingAttrs; + calcMode (discrete | linear | paced | spline) "paced" + values CDATA #IMPLIED + keyTimes CDATA #IMPLIED + keySplines CDATA #IMPLIED + from CDATA #IMPLIED + to CDATA #IMPLIED + by CDATA #IMPLIED + %animAdditionAttrs; + path CDATA #IMPLIED + keyPoints CDATA #IMPLIED + rotate CDATA #IMPLIED + origin CDATA #IMPLIED +> +<!ENTITY % mpathExt ""> +<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) > +<!ATTLIST mpath + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #REQUIRED + externalResourcesRequired %Boolean; #IMPLIED +> +<!ENTITY % animateColorExt ""> +<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) > +<!ATTLIST animateColor + %stdAttrs; + %testAttrs; + externalResourcesRequired %Boolean; #IMPLIED + %animationEvents; + %animElementAttrs; + %animAttributeAttrs; + %animTimingAttrs; + %animValueAttrs; + %animAdditionAttrs; +> +<!ENTITY % animateTransformExt ""> +<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) > +<!ATTLIST animateTransform + %stdAttrs; + %testAttrs; + externalResourcesRequired %Boolean; #IMPLIED + %animationEvents; + %animElementAttrs; + %animAttributeAttrs; + %animTimingAttrs; + %animValueAttrs; + %animAdditionAttrs; + type (translate | scale | rotate | skewX | skewY) "translate" +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Fonts + ============================================================== --> +<!ENTITY % fontExt ""> +<!ELEMENT font (%descTitleMetadata;,font-face, + missing-glyph,(glyph|hkern|vkern %fontExt;)*) > +<!ATTLIST font + %stdAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + horiz-origin-x %Number; #IMPLIED + horiz-origin-y %Number; #IMPLIED + horiz-adv-x %Number; #REQUIRED + vert-origin-x %Number; #IMPLIED + vert-origin-y %Number; #IMPLIED + vert-adv-y %Number; #IMPLIED +> +<!ENTITY % glyphExt ""> +<!ELEMENT glyph (desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %glyphExt;)* > +<!ATTLIST glyph + %stdAttrs; + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + unicode CDATA #IMPLIED + glyph-name CDATA #IMPLIED + d %PathData; #IMPLIED + orientation CDATA #IMPLIED + arabic-form CDATA #IMPLIED + lang %LanguageCodes; #IMPLIED + horiz-adv-x %Number; #IMPLIED + vert-origin-x %Number; #IMPLIED + vert-origin-y %Number; #IMPLIED + vert-adv-y %Number; #IMPLIED +> +<!ENTITY % missing-glyphExt ""> +<!ELEMENT missing-glyph (desc|title|metadata|defs| + path|text|rect|circle|ellipse|line|polyline|polygon| + use|image|svg|g|view|switch|a|altGlyphDef| + script|style|symbol|marker|clipPath|mask| + linearGradient|radialGradient|pattern|filter|cursor|font| + animate|set|animateMotion|animateColor|animateTransform| + color-profile|font-face + %missing-glyphExt;)* > +<!ATTLIST missing-glyph + %stdAttrs; + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + d %PathData; #IMPLIED + horiz-adv-x %Number; #IMPLIED + vert-origin-x %Number; #IMPLIED + vert-origin-y %Number; #IMPLIED + vert-adv-y %Number; #IMPLIED +> +<!ELEMENT hkern EMPTY> +<!ATTLIST hkern + %stdAttrs; + u1 CDATA #IMPLIED + g1 CDATA #IMPLIED + u2 CDATA #IMPLIED + g2 CDATA #IMPLIED + k %Number; #REQUIRED +> +<!ELEMENT vkern EMPTY> +<!ATTLIST vkern + %stdAttrs; + u1 CDATA #IMPLIED + g1 CDATA #IMPLIED + u2 CDATA #IMPLIED + g2 CDATA #IMPLIED + k %Number; #REQUIRED +> +<!ELEMENT font-face (%descTitleMetadata;, font-face-src?, definition-src?)> +<!ATTLIST font-face + %stdAttrs; + font-family CDATA #IMPLIED + font-style CDATA #IMPLIED + font-variant CDATA #IMPLIED + font-weight CDATA #IMPLIED + font-stretch CDATA #IMPLIED + font-size CDATA #IMPLIED + unicode-range CDATA #IMPLIED + units-per-em %Number; #IMPLIED + panose-1 CDATA #IMPLIED + stemv %Number; #IMPLIED + stemh %Number; #IMPLIED + slope %Number; #IMPLIED + cap-height %Number; #IMPLIED + x-height %Number; #IMPLIED + accent-height %Number; #IMPLIED + ascent %Number; #IMPLIED + descent %Number; #IMPLIED + widths CDATA #IMPLIED + bbox CDATA #IMPLIED + ideographic %Number; #IMPLIED + alphabetic %Number; #IMPLIED + mathematical %Number; #IMPLIED + hanging %Number; #IMPLIED + v-ideographic %Number; #IMPLIED + v-alphabetic %Number; #IMPLIED + v-mathematical %Number; #IMPLIED + v-hanging %Number; #IMPLIED + underline-position %Number; #IMPLIED + underline-thickness %Number; #IMPLIED + strikethrough-position %Number; #IMPLIED + strikethrough-thickness %Number; #IMPLIED + overline-position %Number; #IMPLIED + overline-thickness %Number; #IMPLIED +> +<!ELEMENT font-face-src (font-face-uri | font-face-name)+> +<!ATTLIST font-face-src + %stdAttrs; +> +<!ELEMENT font-face-uri (font-face-format*)> +<!ATTLIST font-face-uri + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #REQUIRED +> +<!ELEMENT font-face-format EMPTY> +<!ATTLIST font-face-format + %stdAttrs; + string CDATA #IMPLIED +> +<!ELEMENT font-face-name EMPTY> +<!ATTLIST font-face-name + %stdAttrs; + name CDATA #IMPLIED +> +<!ELEMENT definition-src EMPTY> +<!ATTLIST definition-src + %stdAttrs; + %xlinkRefAttrs; + xlink:href %URI; #REQUIRED +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Metadata + ============================================================== --> +<!ENTITY % metadataExt ""> +<!ELEMENT metadata (#PCDATA %metadataExt;)* > +<!ATTLIST metadata + %stdAttrs; +> +<!-- ============================================================== + DECLARATIONS CORRESPONDING TO: Extensibility + ============================================================== --> +<!ENTITY % foreignObjectExt ""> +<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* > +<!ATTLIST foreignObject + %stdAttrs; + %testAttrs; + %langSpaceAttrs; + externalResourcesRequired %Boolean; #IMPLIED + class %ClassList; #IMPLIED + style %StyleSheet; #IMPLIED + %PresentationAttributes-All; + transform %TransformList; #IMPLIED + %graphicsElementEvents; + x %Coordinate; #IMPLIED + y %Coordinate; #IMPLIED + width %Length; #REQUIRED + height %Length; #REQUIRED + %StructuredText; +> diff --git a/src/resources/entities/todo-v10.dtd b/src/resources/entities/todo-v10.dtd new file mode 100755 index 0000000000..46e22cbb27 --- /dev/null +++ b/src/resources/entities/todo-v10.dtd @@ -0,0 +1,90 @@ +<!-- =================================================================== + + Apache Todos DTD (Version 1.0) + +PURPOSE: + This DTD was developed to create a simple yet powerful document + type for software development todo lists for use with the Apache projects. + It is an XML-compliant DTD and it's maintained by the Apache XML + project. + +TYPICAL INVOCATION: + + <!DOCTYPE document PUBLIC + "-//APACHE//DTD Todo Vx.yz//EN" + "http://xml.apache.org/DTD/todo-vxyz.dtd"> + + where + + x := major version + y := minor version + z := status identifier (optional) + +NOTES: + It is important, expecially in open developped software projects, to keep + track of software changes that need to be done, planned features, development + assignment, etc. in order to allow better work parallelization and create + an entry point for people that want to help. This DTD wants to provide + a solid foundation to provide such information and to allow it to be + published as well as distributed in a common format. + +AUTHORS: + Stefano Mazzocchi <stefano@apache.org> + +FIXME: + - do we need anymore working contexts? (SM) + +CHANGE HISTORY: + 19991129 Initial version. (SM) + 19991225 Added actions element for better structure (SM) + +COPYRIGHT: + Copyright (c) @year@ The Apache Software Foundation. + + Permission to copy in any form is granted provided this notice is + included in all copies. Permission to redistribute is granted + provided this file is distributed untouched in all its parts and + included files. + +==================================================================== --> + +<!-- =============================================================== --> +<!-- Extend the Documentation DTD --> +<!-- =============================================================== --> + +<!-- FIXME (SM): this is hardcoding. Find a better way of doing this + possibly using public identifiers --> +<!ENTITY % document-dtd SYSTEM "document-v10.dtd"> +%document-dtd; + +<!-- =============================================================== --> +<!-- Common entities --> +<!-- =============================================================== --> + +<!ENTITY % priorities "showstopper|high|medium|low|wish|dream"> + +<!ENTITY % contexts "build|docs|code|admin|design"> + +<!-- =============================================================== --> +<!-- Document Type Definition --> +<!-- =============================================================== --> + +<!ELEMENT todo (devs, actions*)> +<!ATTLIST todo %common.att; + %title.att;> + + <!ELEMENT devs (person+)> + <!ATTLIST devs %common.att;> + + <!ELEMENT actions (action+)> + <!ATTLIST actions %common.att; + priority (%priorities;) #IMPLIED> + + <!ELEMENT action (%content.mix;)*> + <!ATTLIST action %common.att; + assigned-to IDREF #IMPLIED + context (%contexts;) #REQUIRED> + +<!-- =============================================================== --> +<!-- End of DTD --> +<!-- =============================================================== --> |