http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2218 *** shadow/2218 Mon Jun 18 10:40:01 2001 --- shadow/2218.tmp.20107 Mon Jun 18 10:40:01 2001 *************** *** 0 **** --- 1,1039 ---- + +============================================================================+ + | NULL Pointer exception on invalid DTD | + +----------------------------------------------------------------------------+ + | Bug #: 2218 Product: Xerces-J | + | Status: NEW Version: 1.4 | + | Resolution: Platform: PC | + | Severity: Normal OS/Version: Other | + | Priority: Other Component: DTD | + +----------------------------------------------------------------------------+ + | Assigned To: [EMAIL PROTECTED] | + | Reported By: [EMAIL PROTECTED] | + | CC list: Cc: | + +----------------------------------------------------------------------------+ + | URL: | + +============================================================================+ + | DESCRIPTION | + In trying to find some valid DTDs on which to test the XML parser, I tried + using the DTD from the w3C page for strict XHTML. As it turns out this DTD + doesn't look like it complies with the XML 1.0 specification (which is a pretty + weird thing, I think, but that is another matter). Anyway running if through + Xerces-J I get the following exception. I think that printing out an error + rather than throwing a null pointer exception is really the correct thing to do. + + So this has "two attachments" here first the stack trace followed by the DTD + which is put into a valid XML document. + + -----------------------------Exception----------------------------------------- + C:\JBUILDER4\JDK1.3\bin\javaw - + classpath "C:\matthew\java\SAXPrint\classes;C:\matthew\xml\xerces-1_4_0 + \xerces.jar;C:\JBUILDER4\JDK1.3\demo\jfc\Java2D\Java2Demo.jar;C:\JBUILDER4 + \JDK1.3\jre\lib\i18n.jar;C:\JBUILDER4\JDK1.3\jre\lib\jaws.jar;C:\JBUILDER4 + \JDK1.3\jre\lib\rt.jar;C:\JBUILDER4\JDK1.3\jre\lib\sunrsasign.jar;C:\JBUILDER4 + \JDK1.3\lib\dt.jar;C:\JBUILDER4\JDK1.3\lib\tools.jar" saxprint.SAXPrint + c:\matthew\xml\mytests\test5.xml c:\matthew\xml\schema\XMLSchema.xml + Document locator + + Start document + + java.lang.NullPointerException + + at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1048) + + at saxprint.SAXPrint.<init>(SAXPrint.java:87) + + at saxprint.SAXPrint.main(SAXPrint.java:99) + + -----------------------------DOCUMENT------------------------------------------ + <?xml version="1.0" encoding="UTF-8"?> + <!DOCTYPE person [ + <!-- + Extensible HTML version 1.0 Strict DTD + + This is the same as HTML 4.0 Strict except for + changes due to the differences between XML and SGML. + + Namespace = http://www.w3.org/1999/xhtml + + For further information, see: http://www.w3.org/TR/xhtml1 + + Copyright (c) 1998-2000 W3C (MIT, INRIA, Keio), + All Rights Reserved. + + This DTD module is identified by the PUBLIC and SYSTEM identifiers: + + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + + $Revision: 1.1 $ + $Date: 2000/01/26 14:08:56 $ + + --> + + <!--================ Character mnemonic entities =========================--> + + <!ENTITY % HTMLlat1 PUBLIC + "-//W3C//ENTITIES Latin 1 for XHTML//EN" + "xhtml-lat1.ent"> + %HTMLlat1; + + <!ENTITY % HTMLsymbol PUBLIC + "-//W3C//ENTITIES Symbols for XHTML//EN" + "xhtml-symbol.ent"> + %HTMLsymbol; + + <!ENTITY % HTMLspecial PUBLIC + "-//W3C//ENTITIES Special for XHTML//EN" + "xhtml-special.ent"> + %HTMLspecial; + + <!--================== Imported Names ====================================--> + + <!ENTITY % ContentType "CDATA"> + <!-- media type, as per [RFC2045] --> + + <!ENTITY % ContentTypes "CDATA"> + <!-- comma-separated list of media types, as per [RFC2045] --> + + <!ENTITY % Charset "CDATA"> + <!-- a character encoding, as per [RFC2045] --> + + <!ENTITY % Charsets "CDATA"> + <!-- a space separated list of character encodings, as per [RFC2045] --> + + <!ENTITY % LanguageCode "NMTOKEN"> + <!-- a language code, as per [RFC1766] --> + + <!ENTITY % Character "CDATA"> + <!-- a single character from [ISO10646] --> + + <!ENTITY % Number "CDATA"> + <!-- one or more digits --> + + <!ENTITY % LinkTypes "CDATA"> + <!-- space-separated list of link types --> + + <!ENTITY % MediaDesc "CDATA"> + <!-- single or comma-separated list of media descriptors --> + + <!ENTITY % URI "CDATA"> + <!-- a Uniform Resource Identifier, see [RFC2396] --> + + <!ENTITY % UriList "CDATA"> + <!-- a space separated list of Uniform Resource Identifiers --> + + <!ENTITY % Datetime "CDATA"> + <!-- date and time information. ISO date format --> + + <!ENTITY % Script "CDATA"> + <!-- script expression --> + + <!ENTITY % StyleSheet "CDATA"> + <!-- style sheet data --> + + <!ENTITY % Text "CDATA"> + <!-- used for titles etc. --> + + <!ENTITY % FrameTarget "NMTOKEN"> + <!-- render in this frame --> + + <!ENTITY % Length "CDATA"> + <!-- nn for pixels or nn% for percentage length --> + + <!ENTITY % MultiLength "CDATA"> + <!-- pixel, percentage, or relative --> + + <!ENTITY % MultiLengths "CDATA"> + <!-- comma-separated list of MultiLength --> + + <!ENTITY % Pixels "CDATA"> + <!-- integer representing length in pixels --> + + <!-- these are used for image maps --> + + <!ENTITY % Shape "(rect|circle|poly|default)"> + + <!ENTITY % Coords "CDATA"> + <!-- comma separated list of lengths --> + + <!--=================== Generic Attributes ===============================--> + + <!-- core attributes common to most elements + id document-wide unique id + class space separated list of classes + style associated style info + title advisory title/amplification + --> + <!ENTITY % coreattrs + "id ID #IMPLIED + class CDATA #IMPLIED + style %StyleSheet; #IMPLIED + title %Text; #IMPLIED" + > + + <!-- internationalization attributes + lang language code (backwards compatible) + xml:lang language code (as per XML 1.0 spec) + dir direction for weak/neutral text + --> + <!ENTITY % i18n + "lang %LanguageCode; #IMPLIED + xml:lang %LanguageCode; #IMPLIED + dir (ltr|rtl) #IMPLIED" + > + + <!-- attributes for common UI events + onclick a pointer button was clicked + ondblclick a pointer button was double clicked + onmousedown a pointer button was pressed down + onmouseup a pointer button was released + onmousemove a pointer was moved onto the element + onmouseout a pointer was moved away from the element + onkeypress a key was pressed and released + onkeydown a key was pressed down + onkeyup a key was released + --> + <!ENTITY % events + "onclick %Script; #IMPLIED + ondblclick %Script; #IMPLIED + onmousedown %Script; #IMPLIED + onmouseup %Script; #IMPLIED + onmouseover %Script; #IMPLIED + onmousemove %Script; #IMPLIED + onmouseout %Script; #IMPLIED + onkeypress %Script; #IMPLIED + onkeydown %Script; #IMPLIED + onkeyup %Script; #IMPLIED" + > + + <!-- attributes for elements that can get the focus + accesskey accessibility key character + tabindex position in tabbing order + onfocus the element got the focus + onblur the element lost the focus + --> + <!ENTITY % focus + "accesskey %Character; #IMPLIED + tabindex %Number; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED" + > + + <!ENTITY % attrs "%coreattrs; %i18n; %events;"> + + <!--=================== Text Elements ====================================--> + + <!ENTITY % special + "br | span | bdo | object | img | map"> + + <!ENTITY % fontstyle "tt | i | b | big | small"> + + <!ENTITY % phrase "em | strong | dfn | code | q | sub | sup | + samp | kbd | var | cite | abbr | acronym"> + + <!ENTITY % inline.forms "input | select | textarea | label | button"> + + <!-- these can occur at block or inline level --> + <!ENTITY % misc "ins | del | script | noscript"> + + <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;"> + + <!-- %Inline; covers inline or "text-level" elements --> + <!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*"> + + <!--================== Block level elements ==============================--> + + <!ENTITY % heading "h1|h2|h3|h4|h5|h6"> + <!ENTITY % lists "ul | ol | dl"> + <!ENTITY % blocktext "pre | hr | blockquote | address"> + + <!ENTITY % block + "p | %heading; | div | %lists; | %blocktext; | fieldset | table"> + + <!ENTITY % Block "(%block; | form | %misc;)*"> + + <!-- %Flow; mixes Block and Inline and is used for list items etc. --> + <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*"> + + <!--================== Content models for exclusions =====================--> + + <!-- a elements use %Inline; excluding a --> + + <!ENTITY % a.content + "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*"> + + <!-- pre uses %Inline excluding img, object, big, small, sup or sup --> + + <!ENTITY % pre.content + "(#PCDATA | a | br | span | bdo | map | tt | i | b | + %phrase; | %inline.forms;)*"> + + <!-- form uses %Block; excluding form --> + + <!ENTITY % form.content "(%block; | %misc;)*"> + + <!-- button uses %Flow; but excludes a, form and form controls --> + + <!ENTITY % button.content + "(#PCDATA | p | %heading; | div | %lists; | %blocktext; | + table | %special; | %fontstyle; | %phrase; | %misc;)*"> + + <!--================ Document Structure ==================================--> + + <!-- the namespace URI designates the document profile --> + + <!ELEMENT html (head, body)> + <!ATTLIST html + %i18n; + xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml' + > + + <!--================ Document Head =======================================--> + + <!ENTITY % head.misc "(script|style|meta|link|object)*"> + + <!-- content model is %head.misc; combined with a single + title and an optional base element in any order --> + + <!ELEMENT head (%head.misc;, + ((title, %head.misc;, (base, %head.misc;)?) | + (base, %head.misc;, (title, %head.misc;))))> + + <!ATTLIST head + %i18n; + profile %URI; #IMPLIED + > + + <!-- The title element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. Exactly one title is required per document. + --> + <!ELEMENT title (#PCDATA)> + <!ATTLIST title %i18n;> + + <!-- document base URI --> + + <!ELEMENT base EMPTY> + <!ATTLIST base + href %URI; #IMPLIED + > + + <!-- generic metainformation --> + <!ELEMENT meta EMPTY> + <!ATTLIST meta + %i18n; + http-equiv CDATA #IMPLIED + name CDATA #IMPLIED + content CDATA #REQUIRED + scheme CDATA #IMPLIED + > + + <!-- + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the link element in document head e.g. + start, contents, previous, next, index, end, help + b) to link to a separate style sheet (rel="stylesheet") + c) to make a link to a script (rel="script") + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a PostScript or PDF version (rel="alternate" media="print") + --> + + <!ELEMENT link EMPTY> + <!ATTLIST link + %attrs; + charset %Charset; #IMPLIED + href %URI; #IMPLIED + hreflang %LanguageCode; #IMPLIED + type %ContentType; #IMPLIED + rel %LinkTypes; #IMPLIED + rev %LinkTypes; #IMPLIED + media %MediaDesc; #IMPLIED + > + + <!-- style info, which may include CDATA sections --> + <!ELEMENT style (#PCDATA)> + <!ATTLIST style + %i18n; + type %ContentType; #REQUIRED + media %MediaDesc; #IMPLIED + title %Text; #IMPLIED + xml:space (preserve) #FIXED 'preserve' + > + + <!-- script statements, which may include CDATA sections --> + <!ELEMENT script (#PCDATA)> + <!ATTLIST script + charset %Charset; #IMPLIED + type %ContentType; #REQUIRED + src %URI; #IMPLIED + defer (defer) #IMPLIED + xml:space (preserve) #FIXED 'preserve' + > + + <!-- alternate content container for non script-based rendering --> + + <!ELEMENT noscript %Block;> + <!ATTLIST noscript + %attrs; + > + + <!--=================== Document Body ====================================--> + + <!ELEMENT body %Block;> + <!ATTLIST body + %attrs; + onload %Script; #IMPLIED + onunload %Script; #IMPLIED + > + + <!ELEMENT div %Flow;> <!-- generic language/style container --> + <!ATTLIST div + %attrs; + > + + <!--=================== Paragraphs =======================================--> + + <!ELEMENT p %Inline;> + <!ATTLIST p + %attrs; + > + + <!--=================== Headings =========================================--> + + <!-- + There are six levels of headings from h1 (the most important) + to h6 (the least important). + --> + + <!ELEMENT h1 %Inline;> + <!ATTLIST h1 + %attrs; + > + + <!ELEMENT h2 %Inline;> + <!ATTLIST h2 + %attrs; + > + + <!ELEMENT h3 %Inline;> + <!ATTLIST h3 + %attrs; + > + + <!ELEMENT h4 %Inline;> + <!ATTLIST h4 + %attrs; + > + + <!ELEMENT h5 %Inline;> + <!ATTLIST h5 + %attrs; + > + + <!ELEMENT h6 %Inline;> + <!ATTLIST h6 + %attrs; + > + + <!--=================== Lists ============================================--> + + <!-- Unordered list --> + + <!ELEMENT ul (li)+> + <!ATTLIST ul + %attrs; + > + + <!-- Ordered (numbered) list --> + + <!ELEMENT ol (li)+> + <!ATTLIST ol + %attrs; + > + + <!-- list item --> + + <!ELEMENT li %Flow;> + <!ATTLIST li + %attrs; + > + + <!-- definition lists - dt for term, dd for its definition --> + + <!ELEMENT dl (dt|dd)+> + <!ATTLIST dl + %attrs; + > + + <!ELEMENT dt %Inline;> + <!ATTLIST dt + %attrs; + > + + <!ELEMENT dd %Flow;> + <!ATTLIST dd + %attrs; + > + + <!--=================== Address ==========================================--> + + <!-- information on author --> + + <!ELEMENT address %Inline;> + <!ATTLIST address + %attrs; + > + + <!--=================== Horizontal Rule ==================================--> + + <!ELEMENT hr EMPTY> + <!ATTLIST hr + %attrs; + > + + <!--=================== Preformatted Text ================================--> + + <!-- content is %Inline; excluding "img|object|big|small|sub|sup" --> + + <!ELEMENT pre %pre.content;> + <!ATTLIST pre + %attrs; + xml:space (preserve) #FIXED 'preserve' + > + + <!--=================== Block-like Quotes ================================--> + + <!ELEMENT blockquote %Block;> + <!ATTLIST blockquote + %attrs; + cite %URI; #IMPLIED + > + + <!--=================== Inserted/Deleted Text ============================--> + + <!-- + ins/del are allowed in block and inline content, but its + inappropriate to include block content within an ins element + occurring in inline content. + --> + <!ELEMENT ins %Flow;> + <!ATTLIST ins + %attrs; + cite %URI; #IMPLIED + datetime %Datetime; #IMPLIED + > + + <!ELEMENT del %Flow;> + <!ATTLIST del + %attrs; + cite %URI; #IMPLIED + datetime %Datetime; #IMPLIED + > + + <!--================== The Anchor Element ================================--> + + <!-- content is %Inline; except that anchors shouldn't be nested --> + + <!ELEMENT a %a.content;> + <!ATTLIST a + %attrs; + charset %Charset; #IMPLIED + type %ContentType; #IMPLIED + name NMTOKEN #IMPLIED + href %URI; #IMPLIED + hreflang %LanguageCode; #IMPLIED + rel %LinkTypes; #IMPLIED + rev %LinkTypes; #IMPLIED + accesskey %Character; #IMPLIED + shape %Shape; "rect" + coords %Coords; #IMPLIED + tabindex %Number; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + > + + <!--===================== Inline Elements ================================--> + + <!ELEMENT span %Inline;> <!-- generic language/style container --> + <!ATTLIST span + %attrs; + > + + <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride --> + <!ATTLIST bdo + %coreattrs; + %events; + lang %LanguageCode; #IMPLIED + xml:lang %LanguageCode; #IMPLIED + dir (ltr|rtl) #REQUIRED + > + + <!ELEMENT br EMPTY> <!-- forced line break --> + <!ATTLIST br + %coreattrs; + > + + <!ELEMENT em %Inline;> <!-- emphasis --> + <!ATTLIST em %attrs;> + + <!ELEMENT strong %Inline;> <!-- strong emphasis --> + <!ATTLIST strong %attrs;> + + <!ELEMENT dfn %Inline;> <!-- definitional --> + <!ATTLIST dfn %attrs;> + + <!ELEMENT code %Inline;> <!-- program code --> + <!ATTLIST code %attrs;> + + <!ELEMENT samp %Inline;> <!-- sample --> + <!ATTLIST samp %attrs;> + + <!ELEMENT kbd %Inline;> <!-- something user would type --> + <!ATTLIST kbd %attrs;> + + <!ELEMENT var %Inline;> <!-- variable --> + <!ATTLIST var %attrs;> + + <!ELEMENT cite %Inline;> <!-- citation --> + <!ATTLIST cite %attrs;> + + <!ELEMENT abbr %Inline;> <!-- abbreviation --> + <!ATTLIST abbr %attrs;> + + <!ELEMENT acronym %Inline;> <!-- acronym --> + <!ATTLIST acronym %attrs;> + + <!ELEMENT q %Inline;> <!-- inlined quote --> + <!ATTLIST q + %attrs; + cite %URI; #IMPLIED + > + + <!ELEMENT sub %Inline;> <!-- subscript --> + <!ATTLIST sub %attrs;> + + <!ELEMENT sup %Inline;> <!-- superscript --> + <!ATTLIST sup %attrs;> + + <!ELEMENT tt %Inline;> <!-- fixed pitch font --> + <!ATTLIST tt %attrs;> + + <!ELEMENT i %Inline;> <!-- italic font --> + <!ATTLIST i %attrs;> + + <!ELEMENT b %Inline;> <!-- bold font --> + <!ATTLIST b %attrs;> + + <!ELEMENT big %Inline;> <!-- bigger font --> + <!ATTLIST big %attrs;> + + <!ELEMENT small %Inline;> <!-- smaller font --> + <!ATTLIST small %attrs;> + + <!--==================== Object ======================================--> + <!-- + object is used to embed objects as part of HTML pages. + param elements should precede other content. Parameters + can also be expressed as attribute/value pairs on the + object element itself when brevity is desired. + --> + + <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*> + <!ATTLIST object + %attrs; + declare (declare) #IMPLIED + classid %URI; #IMPLIED + codebase %URI; #IMPLIED + data %URI; #IMPLIED + type %ContentType; #IMPLIED + codetype %ContentType; #IMPLIED + archive %UriList; #IMPLIED + standby %Text; #IMPLIED + height %Length; #IMPLIED + width %Length; #IMPLIED + usemap %URI; #IMPLIED + name NMTOKEN #IMPLIED + tabindex %Number; #IMPLIED + > + + <!-- + param is used to supply a named property value. + In XML it would seem natural to follow RDF and support an + abbreviated syntax where the param elements are replaced + by attribute value pairs on the object start tag. + --> + <!ELEMENT param EMPTY> + <!ATTLIST param + id ID #IMPLIED + name CDATA #IMPLIED + value CDATA #IMPLIED + valuetype (data|ref|object) "data" + type %ContentType; #IMPLIED + > + + <!--=================== Images ===========================================--> + + <!-- + To avoid accessibility problems for people who aren't + able to see the image, you should provide a text + description using the alt and longdesc attributes. + In addition, avoid the use of server-side image maps. + Note that in this DTD there is no name attribute. That + is only available in the transitional and frameset DTD. + --> + + <!ELEMENT img EMPTY> + <!ATTLIST img + %attrs; + src %URI; #REQUIRED + alt %Text; #REQUIRED + longdesc %URI; #IMPLIED + height %Length; #IMPLIED + width %Length; #IMPLIED + usemap %URI; #IMPLIED + ismap (ismap) #IMPLIED + > + + <!-- usemap points to a map element which may be in this document + or an external document, although the latter is not widely supported --> + + <!--================== Client-side image maps ============================--> + + <!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + + <!ELEMENT map ((%block; | form | %misc;)+ | area+)> + <!ATTLIST map + %i18n; + %events; + id ID #REQUIRED + class CDATA #IMPLIED + style %StyleSheet; #IMPLIED + title %Text; #IMPLIED + name NMTOKEN #IMPLIED + > + + <!ELEMENT area EMPTY> + <!ATTLIST area + %attrs; + shape %Shape; "rect" + coords %Coords; #IMPLIED + href %URI; #IMPLIED + nohref (nohref) #IMPLIED + alt %Text; #REQUIRED + tabindex %Number; #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + > + + <!--================ Forms ===============================================--> + <!ELEMENT form %form.content;> <!-- forms shouldn't be nested --> + + <!ATTLIST form + %attrs; + action %URI; #REQUIRED + method (get|post) "get" + enctype %ContentType; "application/x-www-form-urlencoded" + onsubmit %Script; #IMPLIED + onreset %Script; #IMPLIED + accept %ContentTypes; #IMPLIED + accept-charset %Charsets; #IMPLIED + > + + <!-- + Each label must not contain more than ONE field + Label elements shouldn't be nested. + --> + <!ELEMENT label %Inline;> + <!ATTLIST label + %attrs; + for IDREF #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + > + + <!ENTITY % InputType + "(text | password | checkbox | + radio | submit | reset | + file | hidden | image | button)" + > + + <!-- the name attribute is required for all but submit & reset --> + + <!ELEMENT input EMPTY> <!-- form control --> + <!ATTLIST input + %attrs; + type %InputType; "text" + name CDATA #IMPLIED + value CDATA #IMPLIED + checked (checked) #IMPLIED + disabled (disabled) #IMPLIED + readonly (readonly) #IMPLIED + size CDATA #IMPLIED + maxlength %Number; #IMPLIED + src %URI; #IMPLIED + alt CDATA #IMPLIED + usemap %URI; #IMPLIED + tabindex %Number; #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + onselect %Script; #IMPLIED + onchange %Script; #IMPLIED + accept %ContentTypes; #IMPLIED + > + + <!ELEMENT select (optgroup|option)+> <!-- option selector --> + <!ATTLIST select + %attrs; + name CDATA #IMPLIED + size %Number; #IMPLIED + multiple (multiple) #IMPLIED + disabled (disabled) #IMPLIED + tabindex %Number; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + onchange %Script; #IMPLIED + > + + <!ELEMENT optgroup (option)+> <!-- option group --> + <!ATTLIST optgroup + %attrs; + disabled (disabled) #IMPLIED + label %Text; #REQUIRED + > + + <!ELEMENT option (#PCDATA)> <!-- selectable choice --> + <!ATTLIST option + %attrs; + selected (selected) #IMPLIED + disabled (disabled) #IMPLIED + label %Text; #IMPLIED + value CDATA #IMPLIED + > + + <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field --> + <!ATTLIST textarea + %attrs; + name CDATA #IMPLIED + rows %Number; #REQUIRED + cols %Number; #REQUIRED + disabled (disabled) #IMPLIED + readonly (readonly) #IMPLIED + tabindex %Number; #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + onselect %Script; #IMPLIED + onchange %Script; #IMPLIED + > + + <!-- + The fieldset element is used to group form fields. + Only one legend element should occur in the content + and if present should only be preceded by whitespace. + --> + <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*> + <!ATTLIST fieldset + %attrs; + > + + <!ELEMENT legend %Inline;> <!-- fieldset label --> + <!ATTLIST legend + %attrs; + accesskey %Character; #IMPLIED + > + + <!-- + Content is %Flow; excluding a, form and form controls + --> + <!ELEMENT button %button.content;> <!-- push button --> + <!ATTLIST button + %attrs; + name CDATA #IMPLIED + value CDATA #IMPLIED + type (button|submit|reset) "submit" + disabled (disabled) #IMPLIED + tabindex %Number; #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + > + + <!--======================= Tables =======================================--> + + <!-- Derived from IETF HTML table standard, see [RFC1942] --> + + <!-- + The border attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + The frame attribute specifies which parts of the frame around + the table should be rendered. The values are not the same as + CALS to avoid a name clash with the valign attribute. + --> + <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> + + <!-- + The rules attribute defines which rules to draw between cells: + + If rules is absent then assume: + "none" if border is absent or border="0" otherwise "all" + --> + + <!ENTITY % TRules "(none | groups | rows | cols | all)"> + + <!-- horizontal placement of table relative to document --> + <!ENTITY % TAlign "(left|center|right)"> + + <!-- horizontal alignment attributes for cell contents + + char alignment char, e.g. char=':' + charoff offset for alignment char + --> + <!ENTITY % cellhalign + "align (left|center|right|justify|char) #IMPLIED + char %Character; #IMPLIED + charoff %Length; #IMPLIED" + > + + <!-- vertical alignment attributes for cell contents --> + <!ENTITY % cellvalign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + + <!ELEMENT table + (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))> + <!ELEMENT caption %Inline;> + <!ELEMENT thead (tr)+> + <!ELEMENT tfoot (tr)+> + <!ELEMENT tbody (tr)+> + <!ELEMENT colgroup (col)*> + <!ELEMENT col EMPTY> + <!ELEMENT tr (th|td)+> + <!ELEMENT th %Flow;> + <!ELEMENT td %Flow;> + + <!ATTLIST table + %attrs; + summary %Text; #IMPLIED + width %Length; #IMPLIED + border %Pixels; #IMPLIED + frame %TFrame; #IMPLIED + rules %TRules; #IMPLIED + cellspacing %Length; #IMPLIED + cellpadding %Length; #IMPLIED + > + + <!ENTITY % CAlign "(top|bottom|left|right)"> + + <!ATTLIST caption + %attrs; + > + + <!-- + colgroup groups a set of col elements. It allows you to group + several semantically related columns together. + --> + <!ATTLIST colgroup + %attrs; + span %Number; "1" + width %MultiLength; #IMPLIED + %cellhalign; + %cellvalign; + > + + <!-- + col elements define the alignment properties for cells in + one or more columns. + + The width attribute specifies the width of the columns, e.g. + + width=64 width in screen pixels + width=0.5* relative width of 0.5 + + The span attribute causes the attributes of one + col element to apply to more than one column. + --> + <!ATTLIST col + %attrs; + span %Number; "1" + width %MultiLength; #IMPLIED + %cellhalign; + %cellvalign; + > + + <!-- + Use thead to duplicate headers when breaking table + across page boundaries, or for static headers when + tbody sections are rendered in scrolling panel. + + Use tfoot to duplicate footers when breaking table + across page boundaries, or for static footers when + tbody sections are rendered in scrolling panel. + + Use multiple tbody sections when rules are needed + between groups of table rows. + --> + <!ATTLIST thead + %attrs; + %cellhalign; + %cellvalign; + > + + <!ATTLIST tfoot + %attrs; + %cellhalign; + %cellvalign; + > + + <!ATTLIST tbody + %attrs; + %cellhalign; + %cellvalign; + > + + <!ATTLIST tr + %attrs; + %cellhalign; + %cellvalign; + > + + + <!-- Scope is simpler than headers attribute for common tables --> + <!ENTITY % Scope "(row|col|rowgroup|colgroup)"> + + <!-- th is for headers, td for data and for cells acting as both --> + + <!ATTLIST th + %attrs; + abbr %Text; #IMPLIED + axis CDATA #IMPLIED + headers IDREFS #IMPLIED + scope %Scope; #IMPLIED + rowspan %Number; "1" + colspan %Number; "1" + %cellhalign; + %cellvalign; + > + + <!ATTLIST td + %attrs; + abbr %Text; #IMPLIED + axis CDATA #IMPLIED + headers IDREFS #IMPLIED + scope %Scope; #IMPLIED + rowspan %Number; "1" + colspan %Number; "1" + %cellhalign; + %cellvalign; + > + ] > + <html> + </html> \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
