Bug 44458, enable XHTML entities when an XHTML doctype with public id is present in an XML document. r=rbs@maths.uq.edu.au, sr=jst.

This commit is contained in:
heikki%netscape.com 2002-01-25 00:07:45 +00:00
Родитель 60b676ca4d
Коммит 71ac1f4761
12 изменённых файлов: 314 добавлений и 7 удалений

Просмотреть файл

@ -191,6 +191,9 @@ sub InstallNonChromeResources()
#//
#// Make aliases of resource files
#//
MakeAlias(":mozilla:content:xml:content:src:xhtml11.dtd", "$dist_dir"."dtd:");
if (! $main::options{mathml})
{
MakeAlias(":mozilla:layout:html:document:src:ua.css", "$resource_dir");

Просмотреть файл

@ -64,3 +64,8 @@ INCLUDES += \
-I$(srcdir)/../../../base/src \
$(NULL)
EXPORT_RESOURCE_CONTENT = \
$(srcdir)/xhtml11.dtd \
$(NULL)
libs::
$(INSTALL) $(EXPORT_RESOURCE_CONTENT) $(DIST)/bin/dtd

Просмотреть файл

@ -63,6 +63,7 @@ include <$(DEPTH)\config\rules.mak>
libs:: $(LIBRARY)
$(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib
$(MAKE_INSTALL) xhtml11.dtd $(DIST)\bin\dtd
clobber::
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib

Просмотреть файл

@ -288,9 +288,6 @@ nsXMLElement::SetAttr(nsINodeInfo *aNodeInfo,
// we do not need to check other attributes. If there
// is no href attribute, then this link is simply
// untraversible [XLink 3.2].
// XXX If a parent of this element is already a simple link, then this
// must not create a link of its own, this is just a normal element
// inside the parent simple XLink element [XLink 3.2].
mIsLink = PR_TRUE;
} else {
mIsLink = PR_FALSE;

Просмотреть файл

@ -0,0 +1,284 @@
<!--
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
-->
<!--
* Predefined HTML entities to be loaded when parsing XHTML documents.
* The contents match mozilla/htmlparser/src/nsHTMLEntityList.h,
* except that Navigator entity extensions are not included.
-->
<!-- ISO 8859-1 entities -->
<!ENTITY nbsp "&#160;">
<!ENTITY iexcl "&#161;">
<!ENTITY cent "&#162;">
<!ENTITY pound "&#163;">
<!ENTITY curren "&#164;">
<!ENTITY yen "&#165;">
<!ENTITY brvbar "&#166;">
<!ENTITY sect "&#167;">
<!ENTITY uml "&#168;">
<!ENTITY copy "&#169;">
<!ENTITY ordf "&#170;">
<!ENTITY laquo "&#171;">
<!ENTITY not "&#172;">
<!ENTITY shy "&#173;">
<!ENTITY reg "&#174;">
<!ENTITY macr "&#175;">
<!ENTITY deg "&#176;">
<!ENTITY plusmn "&#177;">
<!ENTITY sup2 "&#178;">
<!ENTITY sup3 "&#179;">
<!ENTITY acute "&#180;">
<!ENTITY micro "&#181;">
<!ENTITY para "&#182;">
<!ENTITY middot "&#183;">
<!ENTITY cedil "&#184;">
<!ENTITY sup1 "&#185;">
<!ENTITY ordm "&#186;">
<!ENTITY raquo "&#187;">
<!ENTITY frac14 "&#188;">
<!ENTITY frac12 "&#189;">
<!ENTITY frac34 "&#190;">
<!ENTITY iquest "&#191;">
<!ENTITY Agrave "&#192;">
<!ENTITY Aacute "&#193;">
<!ENTITY Acirc "&#194;">
<!ENTITY Atilde "&#195;">
<!ENTITY Auml "&#196;">
<!ENTITY Aring "&#197;">
<!ENTITY AElig "&#198;">
<!ENTITY Ccedil "&#199;">
<!ENTITY Egrave "&#200;">
<!ENTITY Eacute "&#201;">
<!ENTITY Ecirc "&#202;">
<!ENTITY Euml "&#203;">
<!ENTITY Igrave "&#204;">
<!ENTITY Iacute "&#205;">
<!ENTITY Icirc "&#206;">
<!ENTITY Iuml "&#207;">
<!ENTITY ETH "&#208;">
<!ENTITY Ntilde "&#209;">
<!ENTITY Ograve "&#210;">
<!ENTITY Oacute "&#211;">
<!ENTITY Ocirc "&#212;">
<!ENTITY Otilde "&#213;">
<!ENTITY Ouml "&#214;">
<!ENTITY times "&#215;">
<!ENTITY Oslash "&#216;">
<!ENTITY Ugrave "&#217;">
<!ENTITY Uacute "&#218;">
<!ENTITY Ucirc "&#219;">
<!ENTITY Uuml "&#220;">
<!ENTITY Yacute "&#221;">
<!ENTITY THORN "&#222;">
<!ENTITY szlig "&#223;">
<!ENTITY agrave "&#224;">
<!ENTITY aacute "&#225;">
<!ENTITY acirc "&#226;">
<!ENTITY atilde "&#227;">
<!ENTITY auml "&#228;">
<!ENTITY aring "&#229;">
<!ENTITY aelig "&#230;">
<!ENTITY ccedil "&#231;">
<!ENTITY egrave "&#232;">
<!ENTITY eacute "&#233;">
<!ENTITY ecirc "&#234;">
<!ENTITY euml "&#235;">
<!ENTITY igrave "&#236;">
<!ENTITY iacute "&#237;">
<!ENTITY icirc "&#238;">
<!ENTITY iuml "&#239;">
<!ENTITY eth "&#240;">
<!ENTITY ntilde "&#241;">
<!ENTITY ograve "&#242;">
<!ENTITY oacute "&#243;">
<!ENTITY ocirc "&#244;">
<!ENTITY otilde "&#245;">
<!ENTITY ouml "&#246;">
<!ENTITY divide "&#247;">
<!ENTITY oslash "&#248;">
<!ENTITY ugrave "&#249;">
<!ENTITY uacute "&#250;">
<!ENTITY ucirc "&#251;">
<!ENTITY uuml "&#252;">
<!ENTITY yacute "&#253;">
<!ENTITY thorn "&#254;">
<!ENTITY yuml "&#255;">
<!-- Mathematical symbols and Greek letters -->
<!ENTITY fnof "&#402;">
<!ENTITY Alpha "&#913;">
<!ENTITY Beta "&#914;">
<!ENTITY Gamma "&#915;">
<!ENTITY Delta "&#916;">
<!ENTITY Epsilon "&#917;">
<!ENTITY Zeta "&#918;">
<!ENTITY Eta "&#919;">
<!ENTITY Theta "&#920;">
<!ENTITY Iota "&#921;">
<!ENTITY Kappa "&#922;">
<!ENTITY Lambda "&#923;">
<!ENTITY Mu "&#924;">
<!ENTITY Nu "&#925;">
<!ENTITY Xi "&#926;">
<!ENTITY Omicron "&#927;">
<!ENTITY Pi "&#928;">
<!ENTITY Rho "&#929;">
<!ENTITY Sigma "&#931;">
<!ENTITY Tau "&#932;">
<!ENTITY Upsilon "&#933;">
<!ENTITY Phi "&#934;">
<!ENTITY Chi "&#935;">
<!ENTITY Psi "&#936;">
<!ENTITY Omega "&#937;">
<!ENTITY alpha "&#x03B1;">
<!ENTITY beta "&#946;">
<!ENTITY gamma "&#947;">
<!ENTITY delta "&#948;">
<!ENTITY epsilon "&#949;">
<!ENTITY zeta "&#950;">
<!ENTITY eta "&#951;">
<!ENTITY theta "&#952;">
<!ENTITY iota "&#953;">
<!ENTITY kappa "&#954;">
<!ENTITY lambda "&#955;">
<!ENTITY mu "&#956;">
<!ENTITY nu "&#957;">
<!ENTITY xi "&#958;">
<!ENTITY omicron "&#959;">
<!ENTITY pi "&#960;">
<!ENTITY rho "&#961;">
<!ENTITY sigmaf "&#962;">
<!ENTITY sigma "&#963;">
<!ENTITY tau "&#964;">
<!ENTITY upsilon "&#965;">
<!ENTITY phi "&#966;">
<!ENTITY chi "&#967;">
<!ENTITY psi "&#968;">
<!ENTITY omega "&#969;">
<!ENTITY thetasym "&#977;">
<!ENTITY upsih "&#978;">
<!ENTITY piv "&#982;">
<!ENTITY bull "&#8226;">
<!ENTITY hellip "&#8230;">
<!ENTITY prime "&#8242;">
<!ENTITY Prime "&#8243;">
<!ENTITY oline "&#8254;">
<!ENTITY frasl "&#8260;">
<!ENTITY weierp "&#8472;">
<!ENTITY image "&#8465;">
<!ENTITY real "&#8476;">
<!ENTITY trade "&#8482;">
<!ENTITY alefsym "&#8501;">
<!ENTITY larr "&#8592;">
<!ENTITY uarr "&#8593;">
<!ENTITY rarr "&#8594;">
<!ENTITY darr "&#8595;">
<!ENTITY harr "&#8596;">
<!ENTITY crarr "&#8629;">
<!ENTITY lArr "&#8656;">
<!ENTITY uArr "&#8657;">
<!ENTITY rArr "&#8658;">
<!ENTITY dArr "&#8659;">
<!ENTITY hArr "&#8660;">
<!ENTITY forall "&#8704;">
<!ENTITY part "&#8706;">
<!ENTITY exist "&#8707;">
<!ENTITY empty "&#8709;">
<!ENTITY nabla "&#8711;">
<!ENTITY isin "&#8712;">
<!ENTITY notin "&#8713;">
<!ENTITY ni "&#8715;">
<!ENTITY prod "&#8719;">
<!ENTITY sum "&#8721;">
<!ENTITY minus "&#8722;">
<!ENTITY lowast "&#8727;">
<!ENTITY radic "&#8730;">
<!ENTITY prop "&#8733;">
<!ENTITY infin "&#8734;">
<!ENTITY ang "&#8736;">
<!ENTITY and "&#8743;">
<!ENTITY or "&#8744;">
<!ENTITY cap "&#8745;">
<!ENTITY cup "&#8746;">
<!ENTITY int "&#8747;">
<!ENTITY there4 "&#8756;">
<!ENTITY sim "&#8764;">
<!ENTITY cong "&#8773;">
<!ENTITY asymp "&#8776;">
<!ENTITY ne "&#8800;">
<!ENTITY equiv "&#8801;">
<!ENTITY le "&#8804;">
<!ENTITY ge "&#8805;">
<!ENTITY sub "&#8834;">
<!ENTITY sup "&#8835;">
<!ENTITY nsub "&#8836;">
<!ENTITY sube "&#8838;">
<!ENTITY supe "&#8839;">
<!ENTITY oplus "&#8853;">
<!ENTITY otimes "&#8855;">
<!ENTITY perp "&#8869;">
<!ENTITY sdot "&#8901;">
<!ENTITY lceil "&#8968;">
<!ENTITY rceil "&#8969;">
<!ENTITY lfloor "&#8970;">
<!ENTITY rfloor "&#8971;">
<!ENTITY lang "&#9001;">
<!ENTITY rang "&#9002;">
<!ENTITY loz "&#9674;">
<!ENTITY spades "&#9824;">
<!ENTITY clubs "&#9827;">
<!ENTITY hearts "&#9829;">
<!ENTITY diams "&#9830;">
<!-- Markup-significant and internationalization characters -->
<!ENTITY quot "&#34;">
<!ENTITY amp "&#38;">
<!ENTITY lt "&#60;">
<!ENTITY gt "&#62;">
<!ENTITY OElig "&#338;">
<!ENTITY oelig "&#339;">
<!ENTITY Scaron "&#352;">
<!ENTITY scaron "&#353;">
<!ENTITY Yuml "&#376;">
<!ENTITY circ "&#710;">
<!ENTITY tilde "&#732;">
<!ENTITY ensp "&#8194;">
<!ENTITY emsp "&#8195;">
<!ENTITY thinsp "&#8201;">
<!ENTITY zwnj "&#8204;">
<!ENTITY zwj "&#8205;">
<!ENTITY lrm "&#8206;">
<!ENTITY rlm "&#8207;">
<!ENTITY ndash "&#8211;">
<!ENTITY mdash "&#8212;">
<!ENTITY lsquo "&#8216;">
<!ENTITY rsquo "&#8217;">
<!ENTITY sbquo "&#8218;">
<!ENTITY ldquo "&#8220;">
<!ENTITY rdquo "&#8221;">
<!ENTITY bdquo "&#8222;">
<!ENTITY dagger "&#8224;">
<!ENTITY Dagger "&#8225;">
<!ENTITY permil "&#8240;">
<!ENTITY lsaquo "&#8249;">
<!ENTITY rsaquo "&#8250;">
<!ENTITY euro "&#8364;">

Просмотреть файл

@ -403,9 +403,15 @@ struct nsCatalogEntry {
const char* mLocalDTD;
};
// The order of this table is guestimated to be in the optimum order
static const nsCatalogEntry kCatalogTable[] = {
{"-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN", "mathml.dtd"},
{"-//W3C//DTD SVG 20001102//EN", "svg.dtd"},
{"-//W3C//DTD XHTML 1.0 Transitional//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML 1.1//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML 1.0 Strict//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML 1.0 Frameset//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML Basic 1.0//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN", "mathml.dtd" },
{"-//W3C//DTD SVG 20001102//EN", "svg.dtd" },
{nsnull, nsnull}
};

Просмотреть файл

@ -403,9 +403,15 @@ struct nsCatalogEntry {
const char* mLocalDTD;
};
// The order of this table is guestimated to be in the optimum order
static const nsCatalogEntry kCatalogTable[] = {
{"-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN", "mathml.dtd"},
{"-//W3C//DTD SVG 20001102//EN", "svg.dtd"},
{"-//W3C//DTD XHTML 1.0 Transitional//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML 1.1//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML 1.0 Strict//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML 1.0 Frameset//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML Basic 1.0//EN", "xhtml11.dtd" },
{"-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN", "mathml.dtd" },
{"-//W3C//DTD SVG 20001102//EN", "svg.dtd" },
{nsnull, nsnull}
};

Просмотреть файл

@ -246,6 +246,7 @@ viewer:defaults:wallet:DistinguishedSchema.tbl
viewer:defaults:wallet:SchemaStrings.tbl
viewer:defaults:wallet:PositionalSchema.tbl
viewer:defaults:wallet:StateSchema.tbl
viewer:dtd:*
viewer:res:html:*
viewer:res:html.css
viewer:res:quirk.css

Просмотреть файл

@ -207,6 +207,7 @@ bin/res/rdf/folder-open.gif
bin/res/rdf/loading.gif
bin/res/ua.css
bin/res/forms.css
bin/dtd/*
;debug menus reference samples dir - remove for actual releases:
bin/res/samples/*
bin/res/builtin/htmlBindings.xml

Просмотреть файл

@ -207,6 +207,7 @@ bin\res\loading-image.gif
bin\res\broken-image.gif
bin\res\html\*
bin\res\fonts\*
bin\dtd\*
bin\defaults\wallet\VcardSchema.tbl
bin\defaults\wallet\FieldSchema.tbl
bin\defaults\wallet\SchemaConcat.tbl

Просмотреть файл

@ -295,6 +295,7 @@ bin/res/rdf/folder-open.gif
bin/res/rdf/loading.gif
bin/res/ua.css
bin/res/forms.css
bin/dtd/*
;debug menus reference samples dir - remove for actual releases:
bin/res/samples/*
bin/res/builtin/htmlBindings.xml

Просмотреть файл

@ -291,6 +291,7 @@ bin\res\loading-image.gif
bin\res\broken-image.gif
bin\res\html\*
bin\res\fonts\*
bin\dtd\*
bin\defaults\wallet\VcardSchema.tbl
bin\defaults\wallet\FieldSchema.tbl
bin\defaults\wallet\SchemaConcat.tbl