view release on metacpan or search on metacpan
tidy-html5.c view on Meta::CPAN
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_RT)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_RTC)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_RUBY)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_S)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SAMP)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SCRIPT)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SELECT)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SMALL)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SPAN)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_STRIKE)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_STRONG)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_STYLE)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SUB)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SUP)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SVG)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TABLE)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TBODY)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TD)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TEXTAREA)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TFOOT)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TH)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_THEAD)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TITLE)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TR)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TT)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_U)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_UL)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_VAR)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_XMP)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TRACK)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SUMMARY)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_FIGCAPTION)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_HGROUP)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_FIGURE)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_ARTICLE)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_ASIDE)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_BDI)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_NAV)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SECTION)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_FOOTER)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_HEADER)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_DETAILS)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_DIALOG)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_COMMAND)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_MAIN)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_MARK)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_OUTPUT)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_MENUITEM)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_METER)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_PROGRESS)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SLOT)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TEMPLATE)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_TIME)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_DATA)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_DATALIST)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_AUDIO)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_VIDEO)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_CANVAS)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_SOURCE)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_EMBED)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_KEYGEN)[];
TY_PRIVATE extern const AttrVersion TY_(W3CAttrsFor_WBR)[];
#endif /* __ATTRDICT_H__ */
#ifndef __ATTRS_H__
#define __ATTRS_H__
/* attrs.h -- recognize HTML attributes
(c) 1998-2007 (W3C) MIT, ERCIM, Keio University
See tidy.h for the copyright notice.
*/
/* #include "forward.h" */
/* declaration for methods that check attribute values */
typedef void (AttrCheck)(TidyDocImpl* doc, Node *node, AttVal *attval);
struct _Attribute
{
TidyAttrId id;
tmbstr name;
AttrCheck* attrchk;
struct _Attribute* next;
};
/*
Anchor/Node linked list
*/
struct _Anchor
{
struct _Anchor *next;
Node *node;
char *name;
};
typedef struct _Anchor Anchor;
enum
{
ATTRIBUTE_HASH_SIZE=178u
};
struct _AttrHash
{
Attribute const* attr;
struct _AttrHash* next;
};
typedef struct _AttrHash AttrHash;
enum
{
ANCHOR_HASH_SIZE=1021u
};
tidy-html5.c view on Meta::CPAN
{ APPLET_MISSING_ALT, 0, "[1.1.4.1]: <applet> fehlender alternativer Inhalt." },
{ OBJECT_MISSING_ALT, 0, "[1.1.5.1]: <object> fehlender alternativer Inhalt." },
{ AUDIO_MISSING_TEXT_WAV, 0, "[1.1.6.1]: Tonausgabe ohne Text-Transkription (wav)." },
{ AUDIO_MISSING_TEXT_AU, 0, "[1.1.6.2]: Tonausgabe ohne Text-Transkription (au)." },
{ AUDIO_MISSING_TEXT_AIFF, 0, "[1.1.6.3]: Tonausgabe ohne Text-Transkription (aiff)." },
{ AUDIO_MISSING_TEXT_SND, 0, "[1.1.6.4]: Tonausgabe ohne Text-Transkription (snd)." },
{ AUDIO_MISSING_TEXT_RA, 0, "[1.1.6.5]: Tonausgabe ohne Text-Transkription (ra)." },
{ AUDIO_MISSING_TEXT_RM, 0, "[1.1.6.6]: Tonausgabe ohne Text-Transkription (rm)." },
{ FRAME_MISSING_LONGDESC, 0, "[1.1.8.1]: <frame> benötigt vielleicht 'longdesc' Attribut." },
{ AREA_MISSING_ALT, 0, "[1.1.9.1]: <area> fehlender 'alt' Text." },
{ SCRIPT_MISSING_NOSCRIPT, 0, "[1.1.10.1]: <script> fehlender <noscript> Abschnitt." },
{ ASCII_REQUIRES_DESCRIPTION, 0, "[1.1.12.1]: ASCII Bild benötigt Beschreibung." },
{ IMG_MAP_SERVER_REQUIRES_TEXT_LINKS, 0, "[1.2.1.1]: (Server-seitige) Image-Map benötigt Textverweise." },
{ MULTIMEDIA_REQUIRES_TEXT, 0, "[1.4.1.1]: Multimediadaten benötigen synchronisierte Textentsprechung." },
{ IMG_MAP_CLIENT_MISSING_TEXT_LINKS, 0, "[1.5.1.1]: (Client-seitige) Image-Map benötigt Textverweise." },
{ INFORMATION_NOT_CONVEYED_IMAGE, 0, "[2.1.1.1]: Vermeiden Sie, dass Information nur durch Farbe vermittelt wird (image)." },
{ INFORMATION_NOT_CONVEYED_APPLET, 0, "[2.1.1.2]: Vermeiden Sie, dass Information nur durch Farbe vermittelt wird (applet)." },
{ INFORMATION_NOT_CONVEYED_OBJECT, 0, "[2.1.1.3]: Vermeiden Sie, dass Information nur durch Farbe vermittelt wird (object)." },
{ INFORMATION_NOT_CONVEYED_SCRIPT, 0, "[2.1.1.4]: Vermeiden Sie, dass Information nur durch Farbe vermittelt wird (script)." },
{ INFORMATION_NOT_CONVEYED_INPUT, 0, "[2.1.1.5]: Vermeiden Sie, dass Information nur durch Farbe vermittelt wird (input)." },
{ COLOR_CONTRAST_TEXT, 0, "[2.2.1.1]: schlechter Farbkontrast (Text)." },
{ COLOR_CONTRAST_LINK, 0, "[2.2.1.2]: schlechter Farbkontrast (Link)." },
{ COLOR_CONTRAST_ACTIVE_LINK, 0, "[2.2.1.3]: schlechter Farbkontrast (Aktiver Link)." },
{ COLOR_CONTRAST_VISITED_LINK, 0, "[2.2.1.4]: schlechter Farbkontrast (Besuchter Link)." },
{ DOCTYPE_MISSING, 0, "[3.2.1.1]: <doctype> fehlt." },
{ STYLE_SHEET_CONTROL_PRESENTATION, 0, "[3.3.1.1]: Kontrollieren Sie die Präsentation mit Style Sheets." },
{ HEADERS_IMPROPERLY_NESTED, 0, "[3.5.1.1]: inkorrekt verschachtelte Ãberschriften." },
{ POTENTIAL_HEADER_BOLD, 0, "[3.5.2.1]: potentielle Ãberschrift (Fettdruck)." },
{ POTENTIAL_HEADER_ITALICS, 0, "[3.5.2.2]: potentielle Ãberschrift (kursiv)." },
{ POTENTIAL_HEADER_UNDERLINE, 0, "[3.5.2.3]: potentielle Ãberschrift (unterstrichen)." },
{ HEADER_USED_FORMAT_TEXT, 0, "[3.5.3.1]: Ãberschrift zur Textformatierung verwendet." },
{ LIST_USAGE_INVALID_UL, 0, "[3.6.1.1]: falsche Verwendung von Listenelementen <ul>." },
{ LIST_USAGE_INVALID_OL, 0, "[3.6.1.2]: falsche Verwendung von Listenelementen <ol>." },
{ LIST_USAGE_INVALID_LI, 0, "[3.6.1.4]: falsche Verwendung von Listenelementen <li>." },
{ LANGUAGE_NOT_IDENTIFIED, 0, "[4.3.1.1]: Sprache nicht identifiziert." },
{ LANGUAGE_INVALID, 0, "[4.3.1.2]: ungültiges Attribut language." },
{ DATA_TABLE_MISSING_HEADERS, 0, "[5.1.2.1]: Datentabelle <table> ohne Spalten-/Zeilenköpfe (alle)." },
{ DATA_TABLE_MISSING_HEADERS_COLUMN, 0, "[5.1.2.2]: Datentabelle <table> ohne Spalten-/Zeilenköpfe (1 Spalte)." },
{ DATA_TABLE_MISSING_HEADERS_ROW, 0, "[5.1.2.3]: Datentabelle <table> ohne Spalten-/Zeilenköpfe (1 Zeile)." },
{ DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS, 0, "[5.2.1.1]: Datentabelle <table> benötigt vielleicht Auszeichnung (Spaltenköpfe)." },
{ DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS, 0, "[5.2.1.2]: Datentabelle <table> benötigt vielleicht Auszeichnung (Zeilenköpfe)." },
{ LAYOUT_TABLES_LINEARIZE_PROPERLY, 0, "[5.3.1.1]: Stellen Sie sicher, dass Layout-Tabellen richtig linearisieren." },
{ LAYOUT_TABLE_INVALID_MARKUP, 0, "[5.4.1.1]: Ungültige Auszeichnung in der Layout-Tabelle." },
{ TABLE_MISSING_SUMMARY, 0, "[5.5.1.1]: <table> ohne Zusammenfassung (summary)." },
{ TABLE_SUMMARY_INVALID_NULL, 0, "[5.5.1.2]: Ungültige Zusammenfassung in <table> (null)." },
{ TABLE_SUMMARY_INVALID_SPACES, 0, "[5.5.1.3]: Ungültige Zusammenfassung in <table> (Leerzeichen)." },
{ TABLE_SUMMARY_INVALID_PLACEHOLDER, 0, "[5.5.1.6]: Ungültige Zusammenfassung in <table> (Platzhaltertext)." },
{ TABLE_MISSING_CAPTION, 0, "[5.5.2.1]: <table> ohne Titelzeile (<caption>)." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR, 0, "[5.6.1.1]: Kopfdaten in <table> sollten abgekürzt sein." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_NULL, 0, "[5.6.1.2]: Abgekürzte Kopfdaten in <table> sind ungültig (null)." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES, 0, "[5.6.1.3]: Abgekürzte Kopfdaten in <table> sind ungültig (Leerzeichen)." },
{ STYLESHEETS_REQUIRE_TESTING_LINK, 0, "[6.1.1.1]: Style Sheets sollten getestet werden (Link)." },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT, 0, "[6.1.1.2]: Style Sheets sollten getestet werden (Style-Element)." },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR, 0, "[6.1.1.3]: Style Sheets sollten getestet werden (Style-Attribut)." },
{ FRAME_SRC_INVALID, 0, "[6.2.1.1]: Quelle des Rahmeninhalts in <frame> ist ungültig." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET, 0, "[6.2.2.1]: Text-Ãquivalente müssen getestet werden (applet)." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT, 0, "[6.2.2.2]: Text-Ãquivalente müssen getestet werden (script)." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT, 0, "[6.2.2.3]: Text-Ãquivalente müssen getestet werden (object)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT, 0, "[6.3.1.1]: Programmatische Objekte sollten getestet werden (script)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT, 0, "[6.3.1.2]: Programmatische Objekte sollten getestet werden (object)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED, 0, "[6.3.1.3]: Programmatische Objekte sollten getestet werden (embed)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET, 0, "[6.3.1.4]: Programmatische Objekte sollten getestet werden (applet)." },
{ FRAME_MISSING_NOFRAMES, 0, "[6.5.1.1]: <frameset> ohne <noframes> Abschnitt." },
{ NOFRAMES_INVALID_NO_VALUE, 0, "[6.5.1.2]: <noframes> Abschnitt ungültig (kein Wert)." },
{ NOFRAMES_INVALID_CONTENT, 0, "[6.5.1.3]: <noframes> Abschnitt ungültig (Inhalt)." },
{ NOFRAMES_INVALID_LINK, 0, "[6.5.1.4]: <noframes> Abschnitt ungültig (Verweis)." },
{ REMOVE_FLICKER_SCRIPT, 0, "[7.1.1.1]: Flimmern entfernen (script)." },
{ REMOVE_FLICKER_OBJECT, 0, "[7.1.1.2]: Flimmern entfernen (object)." },
{ REMOVE_FLICKER_EMBED, 0, "[7.1.1.3]: Flimmern entfernen (embed)." },
{ REMOVE_FLICKER_APPLET, 0, "[7.1.1.4]: Flimmern entfernen (applet)." },
{ REMOVE_FLICKER_ANIMATED_GIF, 0, "[7.1.1.5]: Flimmern etfernen (animated gif)." },
{ REMOVE_BLINK_MARQUEE, 0, "[7.2.1.1]: blink/marquee entfernen." },
{ REMOVE_AUTO_REFRESH, 0, "[7.4.1.1]: auto-refresh entfernen." },
{ REMOVE_AUTO_REDIRECT, 0, "[7.5.1.1]: auto-redirect entfernen." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT, 0, "[8.1.1.1]: sicherstellen, dass programmatische objekte zugänglich sind (script)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT, 0, "[8.1.1.2]: sicherstellen, dass programmatische objekte zugänglich sind (object)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET, 0, "[8.1.1.3]: sicherstellen, dass programmatische objekte zugänglich sind (applet)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED, 0, "[8.1.1.4]: sicherstellen, dass programmatische objekte zugänglich sind (embed)." },
{ IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION, 0, "[9.1.1.1]: (serverseitige) image map muss umgewandelt werden." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN, 0, "[9.3.1.1]: <script> für Tastatur ungeeignet (onMouseDown)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP, 0, "[9.3.1.2]: <script> für Tastatur ungeeignet (onMouseUp)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK, 0, "[9.3.1.3]: <script> für Tastatur ungeeignet (onClick)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER, 0, "[9.3.1.4]: <script> für Tastatur ungeeignet (onMouseOver)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT, 0, "[9.3.1.5]: <script> für Tastatur ungeeignet (onMouseOut)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE, 0, "[9.3.1.6]: <script> für Tastatur ungeeignet (onMouseMove)." },
{ NEW_WINDOWS_REQUIRE_WARNING_NEW, 0, "[10.1.1.1]: neue Fenster benötigen Warnhinweis (_new)." },
{ NEW_WINDOWS_REQUIRE_WARNING_BLANK, 0, "[10.1.1.2]: neue Fenster benötigen Warnhinweis (_blank)." },
{ REPLACE_DEPRECATED_HTML_APPLET, 0, "[11.2.1.1]: ersetze veraltetes html <applet>." },
{ REPLACE_DEPRECATED_HTML_BASEFONT, 0, "[11.2.1.2]: ersetze veraltetes html <basefont>." },
{ REPLACE_DEPRECATED_HTML_CENTER, 0, "[11.2.1.3]: ersetze veraltetes html <center>." },
{ REPLACE_DEPRECATED_HTML_DIR, 0, "[11.2.1.4]: ersetze veraltetes html <dir>." },
{ REPLACE_DEPRECATED_HTML_FONT, 0, "[11.2.1.5]: ersetze veraltetes html <font>." },
{ REPLACE_DEPRECATED_HTML_ISINDEX, 0, "[11.2.1.6]: ersetze veraltetes html <isindex>." },
{ REPLACE_DEPRECATED_HTML_MENU, 0, "[11.2.1.7]: ersetze veraltetes html <menu>." },
{ REPLACE_DEPRECATED_HTML_S, 0, "[11.2.1.8]: ersetze veraltetes html <s>." },
{ REPLACE_DEPRECATED_HTML_STRIKE, 0, "[11.2.1.9]: ersetze veraltetes html <strike>." },
{ REPLACE_DEPRECATED_HTML_U, 0, "[11.2.1.10]: ersetze veraltetes html <u>." },
{ FRAME_MISSING_TITLE, 0, "[12.1.1.1]: <frame> ohne Titel." },
{ FRAME_TITLE_INVALID_NULL, 0, "[12.1.1.2]: <frame> Titel ungültig (null)." },
{ FRAME_TITLE_INVALID_SPACES, 0, "[12.1.1.3]: <frame> Titel ungültig (spaces)." },
{ ASSOCIATE_LABELS_EXPLICITLY, 0, "[12.4.1.1]: ordne Beschriftungen explizit Formularelementen zu." },
{ ASSOCIATE_LABELS_EXPLICITLY_FOR, 0, "[12.4.1.2]: ordne Beschriftungen explizit Formularelementen zu (for)." },
{ ASSOCIATE_LABELS_EXPLICITLY_ID, 0, "[12.4.1.3]: ordne Beschriftungen explizit Formularelementen zu (id)." },
{ LINK_TEXT_NOT_MEANINGFUL, 0, "[13.1.1.1]: Link Text nicht aussagekräftig." },
{ LINK_TEXT_MISSING, 0, "[13.1.1.2]: Link Text fehlt." },
{ LINK_TEXT_TOO_LONG, 0, "[13.1.1.3]: Link Text zu lang." },
{ LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE, 0, "[13.1.1.4]: Link Text nicht aussagekräftig (hier klicken)." },
{ METADATA_MISSING, 0, "[13.2.1.1]: Metadaten fehlen." },
{ METADATA_MISSING_REDIRECT_AUTOREFRESH, 0, "[13.2.1.3]: Metadaten fehlen (redirect/auto-refresh)." },
{ SKIPOVER_ASCII_ART, 0, "[13.10.1.1]: Ignoriere Ascii Art." },
#if SUPPORT_CONSOLE_APP
/********************************************************
** Console Application
** Although these strings are not used within LibTidy
** and only for the console application, they are
** provided as part of LibTidy for convenience to
** developers.
********************************************************/
{ TC_LABEL_COL, 0, "Spalte" },
{ TC_LABEL_FILE, 0, "Datei" },
{ TC_LABEL_LANG, 0, "Sprache" },
{ TC_LABEL_LEVL, 0, "Niveau" },
{ TC_LABEL_OPT, 0, "Option" },
{ TC_MAIN_ERROR_LOAD_CONFIG, 0, "Problem beim laden der Konfigurationsdatei \"%s\", Fehler = %d" },
{ TC_OPT_ACCESS, 0,
"Führe zusätzliche Prüfungen der Barrierefreiheit durch (<Niveau> = 0, 1, 2, 3). 0 wird "
"angenommen, wenn <Niveau> fehlt."
},
{ TC_OPT_ASCII, 0, "verwende ISO-8859-1 für Eingaben, US-ASCII für Ausgaben" },
{ TC_OPT_ASHTML, 0, "erzwinge Umwandlung von XHTML in wohlgeformtes HTML" },
{ TC_OPT_ASXML, 0, "konvertiere HTML zu wohlgeformtem XHTML" },
{ TC_OPT_BARE, 0, "entferne typografische Anführungsstriche, Geviertstriche, etc." },
{ TC_OPT_BIG5, 0, "verwende Big5 für Ein- und Ausgaben" },
{ TC_OPT_CLEAN, 0, "ersetze FONT, NOBR und CENTER Tags durch CSS" },
{ TC_OPT_CONFIG, 0, "setze Konfigurationseinstellungen aus der genannten <Datei>" },
{ TC_OPT_ERRORS, 0, "nur Fehler und Warnungen anzeigen" },
tidy-html5.c view on Meta::CPAN
{ APPLET_MISSING_ALT, 0, "[1.1.4.1]: <applet> missing alternate content." },
{ OBJECT_MISSING_ALT, 0, "[1.1.5.1]: <object> missing alternate content." },
{ AUDIO_MISSING_TEXT_WAV, 0, "[1.1.6.1]: audio missing text transcript (wav)." },
{ AUDIO_MISSING_TEXT_AU, 0, "[1.1.6.2]: audio missing text transcript (au)." },
{ AUDIO_MISSING_TEXT_AIFF, 0, "[1.1.6.3]: audio missing text transcript (aiff)." },
{ AUDIO_MISSING_TEXT_SND, 0, "[1.1.6.4]: audio missing text transcript (snd)." },
{ AUDIO_MISSING_TEXT_RA, 0, "[1.1.6.5]: audio missing text transcript (ra)." },
{ AUDIO_MISSING_TEXT_RM, 0, "[1.1.6.6]: audio missing text transcript (rm)." },
{ FRAME_MISSING_LONGDESC, 0, "[1.1.8.1]: <frame> may require 'longdesc'." },
{ AREA_MISSING_ALT, 0, "[1.1.9.1]: <area> missing 'alt' text." },
{ SCRIPT_MISSING_NOSCRIPT, 0, "[1.1.10.1]: <script> missing <noscript> section." },
{ ASCII_REQUIRES_DESCRIPTION, 0, "[1.1.12.1]: ascii art requires description." },
{ IMG_MAP_SERVER_REQUIRES_TEXT_LINKS, 0, "[1.2.1.1]: image map (server-side) requires text links." },
{ MULTIMEDIA_REQUIRES_TEXT, 0, "[1.4.1.1]: multimedia requires synchronized text equivalents." },
{ IMG_MAP_CLIENT_MISSING_TEXT_LINKS, 0, "[1.5.1.1]: image map (client-side) missing text links." },
{ INFORMATION_NOT_CONVEYED_IMAGE, 0, "[2.1.1.1]: ensure information not conveyed through color alone (image)." },
{ INFORMATION_NOT_CONVEYED_APPLET, 0, "[2.1.1.2]: ensure information not conveyed through color alone (applet)." },
{ INFORMATION_NOT_CONVEYED_OBJECT, 0, "[2.1.1.3]: ensure information not conveyed through color alone (object)." },
{ INFORMATION_NOT_CONVEYED_SCRIPT, 0, "[2.1.1.4]: ensure information not conveyed through color alone (script)." },
{ INFORMATION_NOT_CONVEYED_INPUT, 0, "[2.1.1.5]: ensure information not conveyed through color alone (input)." },
{ COLOR_CONTRAST_TEXT, 0, "[2.2.1.1]: poor color contrast (text)." },
{ COLOR_CONTRAST_LINK, 0, "[2.2.1.2]: poor color contrast (link)." },
{ COLOR_CONTRAST_ACTIVE_LINK, 0, "[2.2.1.3]: poor color contrast (active link)." },
{ COLOR_CONTRAST_VISITED_LINK, 0, "[2.2.1.4]: poor color contrast (visited link)." },
{ DOCTYPE_MISSING, 0, "[3.2.1.1]: <doctype> missing." },
{ STYLE_SHEET_CONTROL_PRESENTATION, 0, "[3.3.1.1]: use style sheets to control presentation." },
{ HEADERS_IMPROPERLY_NESTED, 0, "[3.5.1.1]: headers improperly nested." },
{ POTENTIAL_HEADER_BOLD, 0, "[3.5.2.1]: potential header (bold)." },
{ POTENTIAL_HEADER_ITALICS, 0, "[3.5.2.2]: potential header (italics)." },
{ POTENTIAL_HEADER_UNDERLINE, 0, "[3.5.2.3]: potential header (underline)." },
{ HEADER_USED_FORMAT_TEXT, 0, "[3.5.3.1]: header used to format text." },
{ LIST_USAGE_INVALID_UL, 0, "[3.6.1.1]: list usage invalid <ul>." },
{ LIST_USAGE_INVALID_OL, 0, "[3.6.1.2]: list usage invalid <ol>." },
{ LIST_USAGE_INVALID_LI, 0, "[3.6.1.4]: list usage invalid <li>." },
{ LANGUAGE_NOT_IDENTIFIED, 0, "[4.3.1.1]: language not identified." },
{ LANGUAGE_INVALID, 0, "[4.3.1.2]: language attribute invalid." },
{ DATA_TABLE_MISSING_HEADERS, 0, "[5.1.2.1]: data <table> missing row/column headers (all)." },
{ DATA_TABLE_MISSING_HEADERS_COLUMN, 0, "[5.1.2.2]: data <table> missing row/column headers (1 col)." },
{ DATA_TABLE_MISSING_HEADERS_ROW, 0, "[5.1.2.3]: data <table> missing row/column headers (1 row)." },
{ DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS, 0, "[5.2.1.1]: data <table> may require markup (column headers)." },
{ DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS, 0, "[5.2.1.2]: data <table> may require markup (row headers)." },
{ LAYOUT_TABLES_LINEARIZE_PROPERLY, 0, "[5.3.1.1]: verify layout tables linearize properly." },
{ LAYOUT_TABLE_INVALID_MARKUP, 0, "[5.4.1.1]: invalid markup used in layout <table>." },
{ TABLE_MISSING_SUMMARY, 0, "[5.5.1.1]: <table> missing summary." },
{ TABLE_SUMMARY_INVALID_NULL, 0, "[5.5.1.2]: <table> summary invalid (null)." },
{ TABLE_SUMMARY_INVALID_SPACES, 0, "[5.5.1.3]: <table> summary invalid (spaces)." },
{ TABLE_SUMMARY_INVALID_PLACEHOLDER, 0, "[5.5.1.6]: <table> summary invalid (placeholder text)." },
{ TABLE_MISSING_CAPTION, 0, "[5.5.2.1]: <table> missing <caption>." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR, 0, "[5.6.1.1]: <table> may require header abbreviations." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_NULL, 0, "[5.6.1.2]: <table> header abbreviations invalid (null)." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES, 0, "[5.6.1.3]: <table> header abbreviations invalid (spaces)." },
{ STYLESHEETS_REQUIRE_TESTING_LINK, 0, "[6.1.1.1]: style sheets require testing (link)." },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT, 0, "[6.1.1.2]: style sheets require testing (style element)." },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR, 0, "[6.1.1.3]: style sheets require testing (style attribute)." },
{ FRAME_SRC_INVALID, 0, "[6.2.1.1]: <frame> source invalid." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET, 0, "[6.2.2.1]: text equivalents require updating (applet)." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT, 0, "[6.2.2.2]: text equivalents require updating (script)." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT, 0, "[6.2.2.3]: text equivalents require updating (object)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT, 0, "[6.3.1.1]: programmatic objects require testing (script)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT, 0, "[6.3.1.2]: programmatic objects require testing (object)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED, 0, "[6.3.1.3]: programmatic objects require testing (embed)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET, 0, "[6.3.1.4]: programmatic objects require testing (applet)." },
{ FRAME_MISSING_NOFRAMES, 0, "[6.5.1.1]: <frameset> missing <noframes> section." },
{ NOFRAMES_INVALID_NO_VALUE, 0, "[6.5.1.2]: <noframes> section invalid (no value)." },
{ NOFRAMES_INVALID_CONTENT, 0, "[6.5.1.3]: <noframes> section invalid (content)." },
{ NOFRAMES_INVALID_LINK, 0, "[6.5.1.4]: <noframes> section invalid (link)." },
{ REMOVE_FLICKER_SCRIPT, 0, "[7.1.1.1]: remove flicker (script)." },
{ REMOVE_FLICKER_OBJECT, 0, "[7.1.1.2]: remove flicker (object)." },
{ REMOVE_FLICKER_EMBED, 0, "[7.1.1.3]: remove flicker (embed)." },
{ REMOVE_FLICKER_APPLET, 0, "[7.1.1.4]: remove flicker (applet)." },
{ REMOVE_FLICKER_ANIMATED_GIF, 0, "[7.1.1.5]: remove flicker (animated gif)." },
{ REMOVE_BLINK_MARQUEE, 0, "[7.2.1.1]: remove blink/marquee." },
{ REMOVE_AUTO_REFRESH, 0, "[7.4.1.1]: remove auto-refresh." },
{ REMOVE_AUTO_REDIRECT, 0, "[7.5.1.1]: remove auto-redirect." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT, 0, "[8.1.1.1]: ensure programmatic objects are accessible (script)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT, 0, "[8.1.1.2]: ensure programmatic objects are accessible (object)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET, 0, "[8.1.1.3]: ensure programmatic objects are accessible (applet)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED, 0, "[8.1.1.4]: ensure programmatic objects are accessible (embed)." },
{ IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION, 0, "[9.1.1.1]: image map (server-side) requires conversion." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN, 0, "[9.3.1.1]: <script> not keyboard accessible (onMouseDown)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP, 0, "[9.3.1.2]: <script> not keyboard accessible (onMouseUp)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK, 0, "[9.3.1.3]: <script> not keyboard accessible (onClick)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER, 0, "[9.3.1.4]: <script> not keyboard accessible (onMouseOver)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT, 0, "[9.3.1.5]: <script> not keyboard accessible (onMouseOut)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE, 0, "[9.3.1.6]: <script> not keyboard accessible (onMouseMove)." },
{ NEW_WINDOWS_REQUIRE_WARNING_NEW, 0, "[10.1.1.1]: new windows require warning (_new)." },
{ NEW_WINDOWS_REQUIRE_WARNING_BLANK, 0, "[10.1.1.2]: new windows require warning (_blank)." },
{ REPLACE_DEPRECATED_HTML_APPLET, 0, "[11.2.1.1]: replace deprecated html <applet>." },
{ REPLACE_DEPRECATED_HTML_BASEFONT, 0, "[11.2.1.2]: replace deprecated html <basefont>." },
{ REPLACE_DEPRECATED_HTML_CENTER, 0, "[11.2.1.3]: replace deprecated html <center>." },
{ REPLACE_DEPRECATED_HTML_DIR, 0, "[11.2.1.4]: replace deprecated html <dir>." },
{ REPLACE_DEPRECATED_HTML_FONT, 0, "[11.2.1.5]: replace deprecated html <font>." },
{ REPLACE_DEPRECATED_HTML_ISINDEX, 0, "[11.2.1.6]: replace deprecated html <isindex>." },
{ REPLACE_DEPRECATED_HTML_MENU, 0, "[11.2.1.7]: replace deprecated html <menu>." },
{ REPLACE_DEPRECATED_HTML_S, 0, "[11.2.1.8]: replace deprecated html <s>." },
{ REPLACE_DEPRECATED_HTML_STRIKE, 0, "[11.2.1.9]: replace deprecated html <strike>." },
{ REPLACE_DEPRECATED_HTML_U, 0, "[11.2.1.10]: replace deprecated html <u>." },
{ FRAME_MISSING_TITLE, 0, "[12.1.1.1]: <frame> missing title." },
{ FRAME_TITLE_INVALID_NULL, 0, "[12.1.1.2]: <frame> title invalid (null)." },
{ FRAME_TITLE_INVALID_SPACES, 0, "[12.1.1.3]: <frame> title invalid (spaces)." },
{ ASSOCIATE_LABELS_EXPLICITLY, 0, "[12.4.1.1]: associate labels explicitly with form controls." },
{ ASSOCIATE_LABELS_EXPLICITLY_FOR, 0, "[12.4.1.2]: associate labels explicitly with form controls (for)." },
{ ASSOCIATE_LABELS_EXPLICITLY_ID, 0, "[12.4.1.3]: associate labels explicitly with form controls (id)." },
{ LINK_TEXT_NOT_MEANINGFUL, 0, "[13.1.1.1]: link text not meaningful." },
{ LINK_TEXT_MISSING, 0, "[13.1.1.2]: link text missing." },
{ LINK_TEXT_TOO_LONG, 0, "[13.1.1.3]: link text too long." },
{ LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE, 0, "[13.1.1.4]: link text not meaningful (click here)." },
{ METADATA_MISSING, 0, "[13.2.1.1]: Metadata missing." },
{ METADATA_MISSING_REDIRECT_AUTOREFRESH, 0, "[13.2.1.3]: Metadata missing (redirect/auto-refresh)." },
{ SKIPOVER_ASCII_ART, 0, "[13.10.1.1]: skip over ascii art." },
#if SUPPORT_CONSOLE_APP
/********************************************************
** Console Application
** Although these strings are not used within LibTidy
** and only for the console application, they are
** provided as part of LibTidy for convenience to
** developers.
********************************************************/
{ TC_LABEL_COL, 0, "column" },
{ TC_LABEL_FILE, 0, "file" },
{ TC_LABEL_LANG, 0, "lang" },
{ TC_LABEL_LEVL, 0, "level" },
{ TC_LABEL_OPT, 0, "option" },
{ TC_MAIN_ERROR_LOAD_CONFIG, 0, "Loading config file \"%s\" problems, err = %d" },
{ TC_OPT_ACCESS, 0,
"do additional accessibility checks (<level> = 0, 1, 2, 3). 0 is "
"assumed if <level> is missing."
},
{ TC_OPT_ASCII, 0, "use ISO-8859-1 for input, US-ASCII for output" },
{ TC_OPT_ASHTML, 0, "force XHTML to well formed HTML" },
{ TC_OPT_ASXML, 0, "convert HTML to well formed XHTML" },
{ TC_OPT_BARE, 0, "strip out smart quotes and em dashes, etc." },
{ TC_OPT_BIG5, 0, "use Big5 for both input and output" },
{ TC_OPT_CLEAN, 0, "replace FONT, NOBR and CENTER tags with CSS" },
{ TC_OPT_CONFIG, 0, "set configuration options from the specified <file>" },
{ TC_OPT_ERRORS, 0, "show only errors and warnings" },
tidy-html5.c view on Meta::CPAN
{ AUDIO_MISSING_TEXT_AU, 0, "[1.1.6.2]: texte de transcription audio manquant (au)." },
{ AUDIO_MISSING_TEXT_AIFF, 0, "[1.1.6.3]: texte de transcription audio manquant (aiff)." },
{ AUDIO_MISSING_TEXT_SND, 0, "[1.1.6.4]: texte de transcription audio manquant (snd)." },
{ AUDIO_MISSING_TEXT_RA, 0, "[1.1.6.5]: texte de transcription audio manquant (ra)." },
{ AUDIO_MISSING_TEXT_RM, 0, "[1.1.6.6]: texte de transcription audio manquant (rm)." },
{ FRAME_MISSING_LONGDESC, 0, "[1.1.8.1]: <frame> peut nécessiter 'longdesc'." },
{ AREA_MISSING_ALT, 0, "[1.1.9.1]: <area> absence de texte 'alt'." },
{ SCRIPT_MISSING_NOSCRIPT, 0, "[1.1.10.1]: <script> section <noscript> manquante." },
{ ASCII_REQUIRES_DESCRIPTION, 0, "[1.1.12.1]: ascii art nécessite une description." },
{ IMG_MAP_SERVER_REQUIRES_TEXT_LINKS, 0, "[1.2.1.1]: image map (côté serveur) nécessite des liens textes." },
{ MULTIMEDIA_REQUIRES_TEXT, 0, "[1.4.1.1]: le multimédia nécessite une équivalence de textes correspondants." },
{ IMG_MAP_CLIENT_MISSING_TEXT_LINKS, 0, "[1.5.1.1]: image map (côté client) liens textes manquants." },
{ INFORMATION_NOT_CONVEYED_IMAGE, 0, "[2.1.1.1]: Vérifiez que l'information n'est pas transmise uniquement par la couleur (image)." },
{ INFORMATION_NOT_CONVEYED_APPLET, 0, "[2.1.1.2]: Vérifiez que l'information n'est pas transmise uniquement par la couleur (applet)." },
{ INFORMATION_NOT_CONVEYED_OBJECT, 0, "[2.1.1.3]: Vérifiez que l'information n'est pas transmise uniquement par la couleur (object)." },
{ INFORMATION_NOT_CONVEYED_SCRIPT, 0, "[2.1.1.4]: Vérifiez que l'information n'est pas transmise uniquement par la couleur (script)." },
{ INFORMATION_NOT_CONVEYED_INPUT, 0,
"[2.1.1.5]: Vérifiez que l'information n'est pas transmise uniquement par la couleur (champs de "
"formulaire)."
},
{ COLOR_CONTRAST_TEXT, 0, "[2.2.1.1]: contraste couleur faible (texte)." },
{ COLOR_CONTRAST_LINK, 0, "2.2.1.2]: contraste couleur faible (lien)." },
{ COLOR_CONTRAST_ACTIVE_LINK, 0, "2.2.1.3]: contraste couleur faible (lien actif)." },
{ COLOR_CONTRAST_VISITED_LINK, 0, "2.2.1.4]: contraste couleur faible (lien visité)." },
{ DOCTYPE_MISSING, 0, "[3.2.1.1]: déclaration <doctype> manquante." },
{ STYLE_SHEET_CONTROL_PRESENTATION, 0, "[3.3.1.1]: Utiliser les feuilles de style pour contrôler la présentation." },
{ HEADERS_IMPROPERLY_NESTED, 0, "[3.5.1.1]: entêtes imbriqués incorrectement." },
{ POTENTIAL_HEADER_BOLD, 0, "[3.5.2.1]: entête potentiel (gras)." },
{ POTENTIAL_HEADER_ITALICS, 0, "[3.5.2.2]: entête potentiel (italique)." },
{ POTENTIAL_HEADER_UNDERLINE, 0, "[3.5.2.3]: entête potentiel (soulignement)." },
{ HEADER_USED_FORMAT_TEXT, 0, "[3.5.3.1]: entête utilisé pour formater du texte." },
{ LIST_USAGE_INVALID_UL, 0, "[3.6.1.1]: Usage non valide de liste <ul>." },
{ LIST_USAGE_INVALID_OL, 0, "[3.6.1.2]: usage non valide de liste <ol>." },
{ LIST_USAGE_INVALID_LI, 0, "[3.6.1.4]: usage non valide de liste <li>." },
{ LANGUAGE_NOT_IDENTIFIED, 0, "[4.3.1.1]: langage non identifié." },
{ LANGUAGE_INVALID, 0, "[4.3.1.2]: attribut de langage non valide." },
{ DATA_TABLE_MISSING_HEADERS, 0, "[5.1.2.1]: data <table> absence d'entêtes rangée/colonne (tous)." },
{ DATA_TABLE_MISSING_HEADERS_COLUMN, 0, "[5.1.2.2]: data <table> absence d'entêtes rang/colonne (1 col)." },
{ DATA_TABLE_MISSING_HEADERS_ROW, 0, "[5.1.2.3]: data <table> absence d'entêtes rang/colonne (1 rang)." },
{ DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS, 0, "[5.2.1.1]: data <table> peut nécessiter une structure de balises (entêtes de colonne)." },
{ DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS, 0, "[5.2.1.1]: data <table> peut nécessiter une structure de balises (entêtes de rangée)." },
{ LAYOUT_TABLES_LINEARIZE_PROPERLY, 0, "[5.3.1.1]: vérifie que la structure des tableaux est correctement sérialisée." },
{ LAYOUT_TABLE_INVALID_MARKUP, 0, "[5.4.1.1]: structure de balises incorrecte dans l'agencement de <table>." },
{ TABLE_MISSING_SUMMARY, 0, "[5.5.1.1]: <table> absence de résumé." },
{ TABLE_SUMMARY_INVALID_NULL, 0, "[5.5.1.2]: <table> résumé non valide (null)." },
{ TABLE_SUMMARY_INVALID_SPACES, 0, "[5.5.1.3]: <table> résumé non valide (espaces)." },
{ TABLE_SUMMARY_INVALID_PLACEHOLDER, 0, "[5.5.1.6]: <table> résumé non valide (texte de l'emplacement réservé)." },
{ TABLE_MISSING_CAPTION, 0, "[5.5.2.1]: <table> absence de légende (<caption>)." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR, 0, "[5.6.1.1]: <table> peut nécessiter des abréviations d'entête." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_NULL, 0, "[5.6.1.2]: <table> abréviations d'entête non valide (null)." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES, 0, "[5.6.1.3]: <table> abréviations d'entête non valide (espaces)." },
{ STYLESHEETS_REQUIRE_TESTING_LINK, 0, "[6.1.1.1]: les feuilles de style nécessitent un examen (link)." },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT, 0, "[6.1.1.2]: les feuilles de style nécessitent un examen (élément style)." },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR, 0, "[6.1.1.3]: les feuilles de style nécessitent un examen (attribut style)." },
{ FRAME_SRC_INVALID, 0, "[6.2.1.1]: <frame> source non valide." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET, 0, "[6.2.2.1]: les équivalences de texte nécessitent une mise à jour (applet)." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT, 0, "[6.2.2.2]: les équivalences de texte nécessitent une mise à jour (script)." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT, 0, "[6.2.2.3]: les équivalences de texte nécessitent une mise à jour (object)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT, 0, "[6.3.1.1]: les objets programmatiques nécessitent un examen (script)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT, 0, "[6.3.1.2]: les objets programmatiques nécessitent un examen (object)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED, 0, "[6.3.1.3]: les objets programmatiques nécessitent un examen (embed)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET, 0, "[6.3.1.4]: les objets programmatiques nécessitent un examen (applet)." },
{ FRAME_MISSING_NOFRAMES, 0, "[6.5.1.1]: <frameset> section <noframes> manquante." },
{ NOFRAMES_INVALID_NO_VALUE, 0, "[6.5.1.2]: <noframes> section non valide (pas de valeur)." },
{ NOFRAMES_INVALID_CONTENT, 0, "[6.5.1.3]: <noframes> section non valide (contenu)." },
{ NOFRAMES_INVALID_LINK, 0, "[6.5.1.4]: <noframes> section non valide (lien)." },
{ REMOVE_FLICKER_SCRIPT, 0, "[7.1.1.1]: suppression de scintillement (script)." },
{ REMOVE_FLICKER_OBJECT, 0, "[7.1.1.2]: suppression de scintillement (object)." },
{ REMOVE_FLICKER_EMBED, 0, "[7.1.1.1]: suppression de scintillement (embed)." },
{ REMOVE_FLICKER_APPLET, 0, "[7.1.1.1]: suppression de scintillement (applet)." },
{ REMOVE_FLICKER_ANIMATED_GIF, 0, "[7.1.1.1]: suppression de scintillement (gif animé)." },
{ REMOVE_BLINK_MARQUEE, 0, "[7.2.1.1]: suppression de blink/marquee." },
{ REMOVE_AUTO_REFRESH, 0, "[7.4.1.1]: suppression de auto-refresh." },
{ REMOVE_AUTO_REDIRECT, 0, "[7.5.1.1]: suppression de auto-redirect." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT, 0, "[8.1.1.1]: garantir que les objets programmatiques sont accessibles (script)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT, 0, "[8.1.1.2]: garantir que les objets programmatiques sont accessibles (object)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET, 0, "[8.1.1.3]: garantir que les objets programmatiques sont accessibles (applet)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED, 0, "[8.1.1.4]: garantir que les objets programmatiques sont accessibles (embed)." },
{ IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION, 0, "[9.1.1.1]: image map (côté serveur) nécessite une conversion." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN, 0, "[9.3.1.1]: <script> non accessible par le clavier (onMouseDown)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP, 0, "[9.3.1.2]: <script> non accessible par le clavier (onMouseUp)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK, 0, "[9.3.1.3]: <script> non accessible par le clavier (onClick)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER, 0, "[9.3.1.4]: <script> non accessible par le clavier (onMouseOver)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT, 0, "[9.3.1.5]: <script> non accessible par le clavier (onMouseOut)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE, 0, "[9.3.1.6]: <script> non accessible par le clavier (onMouseMove)." },
{ NEW_WINDOWS_REQUIRE_WARNING_NEW, 0, "[10.1.1.1]: les nouvelles fenêtres nécessitent un avertissement (_new)." },
{ NEW_WINDOWS_REQUIRE_WARNING_BLANK, 0, "[10.1.1.2]: les nouvelles fenêtres nécessitent un avertissement (_blank)." },
{ REPLACE_DEPRECATED_HTML_APPLET, 0, "[11.2.1.1]: remplacer l'élément HTML déprécié <applet>." },
{ REPLACE_DEPRECATED_HTML_BASEFONT, 0, "[11.2.1.2]: remplacer l'élément HTML déprécié <basefont>." },
{ REPLACE_DEPRECATED_HTML_CENTER, 0, "[11.2.1.3]: remplacer l'élément HTML déprécié <center>." },
{ REPLACE_DEPRECATED_HTML_DIR, 0, "[11.2.1.4]: remplacer l'élément HTML déprécié <dir>." },
{ REPLACE_DEPRECATED_HTML_FONT, 0, "[11.2.1.5]: remplacer l'élément HTML déprécié <font>." },
{ REPLACE_DEPRECATED_HTML_ISINDEX, 0, "[11.2.1.6]: remplacer l'élément HTML déprécié <isindex>." },
{ REPLACE_DEPRECATED_HTML_MENU, 0, "[11.2.1.7]: remplacer l'élément HTML déprécié <menu>." },
{ REPLACE_DEPRECATED_HTML_S, 0, "[11.2.1.8]: remplacer l'élément HTML déprécié <s>." },
{ REPLACE_DEPRECATED_HTML_STRIKE, 0, "[11.2.1.9]: remplacer l'élément HTML déprécié <strike>." },
{ REPLACE_DEPRECATED_HTML_U, 0, "[11.2.1.10]: remplacer l'élément HTML déprécié <u>." },
{ FRAME_MISSING_TITLE, 0, "[12.1.1.1]: <frame> absence de titre." },
{ FRAME_TITLE_INVALID_NULL, 0, "[12.1.1.2]: <frame> titre non valide (null)." },
{ FRAME_TITLE_INVALID_SPACES, 0, "[12.1.1.3]: <frame> titre non valide (espaces)." },
{ ASSOCIATE_LABELS_EXPLICITLY, 0, "[12.4.1.1]: associer explicitement les étiquettes avec les contrôles de formulaire." },
{ ASSOCIATE_LABELS_EXPLICITLY_FOR, 0, "[12.4.1.2]: associer explicitement les étiquettes avec les contrôles de formulaire (for)." },
{ ASSOCIATE_LABELS_EXPLICITLY_ID, 0, "[12.4.1.3]: associer explicitement les étiquettes avec les contrôles de formulaire (id)." },
{ LINK_TEXT_NOT_MEANINGFUL, 0, "[13.1.1.1]: texte du lien peu significatif." },
{ LINK_TEXT_MISSING, 0, "[13.1.1.2]: texte du lien manquant." },
{ LINK_TEXT_TOO_LONG, 0, "[13.1.1.3]: texte du lien trop long." },
{ LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE, 0, "[13.1.1.4]: texte du lien peu significatif (click here)." },
{ METADATA_MISSING, 0, "[13.2.1.1]: Métadonnées manquantes." },
{ METADATA_MISSING_REDIRECT_AUTOREFRESH, 0, "[13.2.1.3]: Métadonnées manquantes (redirect/auto-refresh)." },
{ SKIPOVER_ASCII_ART, 0, "[13.10.1.1]: ignore l'ascii art." },
#if SUPPORT_CONSOLE_APP
{ TC_LABEL_COL, 0, "colonne" },
{ TC_LABEL_FILE, 0, "fichier" },
{ TC_LABEL_LANG, 0, "langue" },
{ TC_LABEL_LEVL, 0, "niveau" },
{ TC_LABEL_OPT, 0, "option" },
{ TC_MAIN_ERROR_LOAD_CONFIG, 0, "Le chargement du fichier de configuration \"%s\" a échoué, err = %d" },
{ TC_OPT_ACCESS, 0,
"faire des vérifications d'accessibilité supplémentaires (<niveau> = 0, 1, 2, 3). implicitement 0 si "
"<niveau> est manquant."
},
{ TC_OPT_ASCII, 0, "utilise ISO-8859-1 pour l'entrée, US-ASCII pour la sortie" },
{ TC_OPT_ASHTML, 0, "force le XHTML en HTML bien structuré" },
{ TC_OPT_ASXML, 0, "converti le HTML en XHTML bien structuré" },
{ TC_OPT_BARE, 0, "enlève les guillemets à double chevron et les tirets longs." },
{ TC_OPT_BIG5, 0, "utilise Big5 pour l'entrée et la sortie" },
{ TC_OPT_CLEAN, 0, "remplace les balises FONT, NOBR et CENTER par du CSS" },
{ TC_OPT_CONFIG, 0, "détermine les options de configuration à partir du <fichier> spécifié " },
{ TC_OPT_ERRORS, 0, "affiche seulement les erreurs et avertissements" },
{ TC_OPT_FILE, 0, "écrit les erreurs et avertissements vers le <fichier> précisé " },
{ TC_OPT_GDOC, 0, "produit une version nettoyée du html exporté par Google Docs" },
{ TC_OPT_HELP, 0, "liste toutes les options de ligne de commande" },
{ TC_OPT_HELPCFG, 0, "liste toutes les options de configuration" },
{ TC_OPT_HELPOPT, 0, "Affiche une description de l'<option>" },
{ TC_OPT_IBM858, 0, "utilise IBM-858 (CP850+Euro) pour l'entrée, US-ASCII pour la sortie" },
{ TC_OPT_INDENT, 0, "indente le contenu d'un élément" },
{ TC_OPT_ISO2022, 0, "utilise ISO-2022 pour l'entrée et la sortie" },
tidy-html5.c view on Meta::CPAN
{ AUDIO_MISSING_TEXT_AU, 0, "[1.1.6.2]: áudio carece de transcrição de texto (au)." },
{ AUDIO_MISSING_TEXT_AIFF, 0, "[1.1.6.3]: áudio carece de transcrição de texto (aiff)." },
{ AUDIO_MISSING_TEXT_SND, 0, "[1.1.6.4]: áudio carece de transcrição de texto (snd)." },
{ AUDIO_MISSING_TEXT_RA, 0, "[1.1.6.5]: áudio carece de transcrição de texto (ra)." },
{ AUDIO_MISSING_TEXT_RM, 0, "[1.1.6.6]: áudio carece de transcrição de texto (rm)." },
{ FRAME_MISSING_LONGDESC, 0, "[1.1.8.1]: <frame> pode exigir 'longdesc'." },
{ AREA_MISSING_ALT, 0, "[1.1.9.1]: <area> carece de texto 'alt'." },
{ SCRIPT_MISSING_NOSCRIPT, 0, "[1.1.10.1]: <script> carece de seção <noscript>." },
{ ASCII_REQUIRES_DESCRIPTION, 0, "[1.1.12.1]: arte em ascii exige descrição." },
{ IMG_MAP_SERVER_REQUIRES_TEXT_LINKS, 0, "[1.2.1.1]: mapa de imagem (lado do servidor) exige links de texto." },
{ MULTIMEDIA_REQUIRES_TEXT, 0, "[1.4.1.1]: multimÃdia exibe equivalentes de texto sincronizado." },
{ IMG_MAP_CLIENT_MISSING_TEXT_LINKS, 0, "[1.5.1.1]: mapa da imagem (lado do cliente) carece de links de texto." },
{ INFORMATION_NOT_CONVEYED_IMAGE, 0, "[2.1.1.1]: certificar de que as informações não sejam transmitidas apenas por cores (imagem)." },
{ INFORMATION_NOT_CONVEYED_APPLET, 0, "[2.1.1.2]: certificar de que as informações não sejam transmitidas apenas por cores (applet)." },
{ INFORMATION_NOT_CONVEYED_OBJECT, 0, "[2.1.1.3]: certificar de que as informações não sejam transmitidas apenas por cores (objeto)." },
{ INFORMATION_NOT_CONVEYED_SCRIPT, 0, "[2.1.1.4]: certificar de que as informações não sejam transmitidas apenas por cores (script)." },
{ INFORMATION_NOT_CONVEYED_INPUT, 0,
"[2.1.1.5]: certificar de que as informações não sejam transmitidas apenas por cores "
"(entrada)."
},
{ COLOR_CONTRAST_TEXT, 0, "[2.2.1.1]: contraste de cores ruim (texto)." },
{ COLOR_CONTRAST_LINK, 0, "[2.2.1.2]: contraste de cores ruim (link)." },
{ COLOR_CONTRAST_ACTIVE_LINK, 0, "[2.2.1.3]: contraste de cores ruim (link ativo)." },
{ COLOR_CONTRAST_VISITED_LINK, 0, "[2.2.1.4]: contraste de cores ruim (link visitado)." },
{ DOCTYPE_MISSING, 0, "[3.2.1.1]: faltando <doctype>." },
{ STYLE_SHEET_CONTROL_PRESENTATION, 0, "[3.3.1.1]: use folhas de estilo para controlar apresentação." },
{ HEADERS_IMPROPERLY_NESTED, 0, "[3.5.1.1]: cabeçalhos aninhados incorretamente." },
{ POTENTIAL_HEADER_BOLD, 0, "[3.5.2.1]: cabeçalho potencial (negrito)." },
{ POTENTIAL_HEADER_ITALICS, 0, "[3.5.2.2]: cabeçalho potencial (itálico)." },
{ POTENTIAL_HEADER_UNDERLINE, 0, "[3.5.2.3]: cabeçalho potencial (sublinhado)." },
{ HEADER_USED_FORMAT_TEXT, 0, "[3.5.3.1]: cabeçalho usado para formatar o texto." },
{ LIST_USAGE_INVALID_UL, 0, "[3.6.1.1]: uso de lista inválido <ul>." },
{ LIST_USAGE_INVALID_OL, 0, "[3.6.1.2]: uso de lista inválido <ol>." },
{ LIST_USAGE_INVALID_LI, 0, "[3.6.1.4]: uso de lista inválido <li>." },
{ LANGUAGE_NOT_IDENTIFIED, 0, "[4.3.1.1]: idioma não identificado." },
{ LANGUAGE_INVALID, 0, "[4.3.1.2]: atributo de idioma inválido." },
{ DATA_TABLE_MISSING_HEADERS, 0, "[5.1.2.1]: <table> de dados carece de cabeçalhos de linha/coluna (todos)." },
{ DATA_TABLE_MISSING_HEADERS_COLUMN, 0, "[5.1.2.2]: <table> de dados carece de cabeçalhos de linha/coluna (1 col)." },
{ DATA_TABLE_MISSING_HEADERS_ROW, 0, "[5.1.2.3]: <table> de dados carece de cabeçalhos de linha/coluna (1 lin)." },
{ DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS, 0, "[5.2.1.1]: <table> pode exigir marcação (cabeçalhos de coluna)." },
{ DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS, 0, "[5.2.1.2]: <table> pode exigir marcação (cabeçalhos de linha)." },
{ LAYOUT_TABLES_LINEARIZE_PROPERLY, 0, "[5.3.1.1]: verifique se tabelas de layout linearizaram corretamente." },
{ LAYOUT_TABLE_INVALID_MARKUP, 0, "[5.4.1.1]: marcação inválida usada em <table> de layout." },
{ TABLE_MISSING_SUMMARY, 0, "[5.5.1.1]: <table> carece de sumário." },
{ TABLE_SUMMARY_INVALID_NULL, 0, "[5.5.1.2]: resumo da <table> inválido (nulo)." },
{ TABLE_SUMMARY_INVALID_SPACES, 0, "[5.5.1.3]: resumo da <table> inválido (espaços)." },
{ TABLE_SUMMARY_INVALID_PLACEHOLDER, 0, "[5.5.1.6]: resumo da <table> inválido (texto de espaço reservado)." },
{ TABLE_MISSING_CAPTION, 0, "[5.5.2.1]: <table> carece de <caption>." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR, 0, "[5.6.1.1]: <table> pode exigir abreviações de cabeçalho." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_NULL, 0, "[5.6.1.2]: abreviações de cabeçalho de <table> inválidas (nula)." },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES, 0, "[5.6.1.3]: abreviações de cabeçalho de <table> inválidas (espaços)." },
{ STYLESHEETS_REQUIRE_TESTING_LINK, 0, "[6.1.1.1]: folhas de estilo exigem teste (link)." },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT, 0, "[6.1.1.2]: folhas de estilo exigem teste (elemento de estilo)." },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR, 0, "[6.1.1.3]: folhas de estilo exigem teste (atributo de estilo)." },
{ FRAME_SRC_INVALID, 0, "[6.2.1.1]: fonte de <frame> inválida." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET, 0, "[6.2.2.1]: equivalentes de texto exigem atualização (applet)." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT, 0, "[6.2.2.2]: equivalentes de texto exigem atualização (script)." },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT, 0, "[6.2.2.3]: equivalentes de texto exigem atualização (object)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT, 0, "[6.3.1.1]: objetos programáticos exigem teste (script)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT, 0, "[6.3.1.2]: objetos programáticos exigem teste (object)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED, 0, "[6.3.1.3]: objetos programáticos exigem teste (embed)." },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET, 0, "[6.3.1.4]: objetos programáticos exigem teste (applet)." },
{ FRAME_MISSING_NOFRAMES, 0, "[6.5.1.1]: <frameset> carece de seção <noframes>." },
{ NOFRAMES_INVALID_NO_VALUE, 0, "[6.5.1.2]: seção <noframes> inválida (sem valor)." },
{ NOFRAMES_INVALID_CONTENT, 0, "[6.5.1.3]: seção <noframes> inválida (conteúdo)." },
{ NOFRAMES_INVALID_LINK, 0, "[6.5.1.4]: seção <noframes> inválida (link)." },
{ REMOVE_FLICKER_SCRIPT, 0, "[7.1.1.1]: remoção de cintilação (script)." },
{ REMOVE_FLICKER_OBJECT, 0, "[7.1.1.2]: remoção de cintilação (object)." },
{ REMOVE_FLICKER_EMBED, 0, "[7.1.1.3]: remoção de cintilação (embed)." },
{ REMOVE_FLICKER_APPLET, 0, "[7.1.1.4]: remoção de cintilação (applet)." },
{ REMOVE_FLICKER_ANIMATED_GIF, 0, "[7.1.1.5]: remoção de cintilação (gif animado)." },
{ REMOVE_BLINK_MARQUEE, 0, "[7.2.1.1]: remoção de blink/marquee." },
{ REMOVE_AUTO_REFRESH, 0, "[7.4.1.1]: remoção de autorrenovação." },
{ REMOVE_AUTO_REDIRECT, 0, "[7.5.1.1]: remoção de autorredirecionamento." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT, 0, "[8.1.1.1]: certifique-se que objetos programáticos sejam acessÃveis (script)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT, 0, "[8.1.1.2]: certifique-se que objetos programáticos sejam acessÃveis (object)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET, 0, "[8.1.1.3]: certifique-se que objetos programáticos sejam acessÃveis (applet)." },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED, 0, "[8.1.1.43]: certifique-se que objetos programáticos sejam acessÃveis (embed)." },
{ IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION, 0, "[9.1.1.1]: mapa de imagem (lado do servidor) exige conversão." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN, 0, "[9.3.1.1]: <script> não é acessÃvel por teclado (onMouseDown)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP, 0, "[9.3.1.2]: <script> não é acessÃvel por teclado (onMouseUp)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK, 0, "[9.3.1.3]: <script> não é acessÃvel por teclado (onClick)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER, 0, "[9.3.1.4]: <script> não é acessÃvel por teclado (onMouseOver)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT, 0, "[9.3.1.5]: <script> não é acessÃvel por teclado (onMouseOut)." },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE, 0, "[9.3.1.6]: <script> não é acessÃvel por teclado (onMouseMove)." },
{ NEW_WINDOWS_REQUIRE_WARNING_NEW, 0, "[10.1.1.1]: novas janelas exigem aviso (_new)." },
{ NEW_WINDOWS_REQUIRE_WARNING_BLANK, 0, "[10.1.1.2]: novas janelas exigem aviso (_blank)." },
{ REPLACE_DEPRECATED_HTML_APPLET, 0, "[11.2.1.1]: substituir o elemento html obsoleto <applet>." },
{ REPLACE_DEPRECATED_HTML_BASEFONT, 0, "[11.2.1.2]: substituir o elemento html obsoleto <basefont>." },
{ REPLACE_DEPRECATED_HTML_CENTER, 0, "[11.2.1.3]: substituir o elemento html obsoleto <center>." },
{ REPLACE_DEPRECATED_HTML_DIR, 0, "[11.2.1.4]: substituir o elemento html obsoleto <dir>." },
{ REPLACE_DEPRECATED_HTML_FONT, 0, "[11.2.1.5]: substituir o elemento html obsoleto <font>." },
{ REPLACE_DEPRECATED_HTML_ISINDEX, 0, "[11.2.1.6]: substituir o elemento html obsoleto <isindex>." },
{ REPLACE_DEPRECATED_HTML_MENU, 0, "[11.2.1.7]: substituir o elemento html obsoleto <menu>." },
{ REPLACE_DEPRECATED_HTML_S, 0, "[11.2.1.8]: substituir o elemento html obsoleto <s>." },
{ REPLACE_DEPRECATED_HTML_STRIKE, 0, "[11.2.1.9]: substituir o elemento html obsoleto <strike>." },
{ REPLACE_DEPRECATED_HTML_U, 0, "[11.2.1.10]: substituir o elemento html obsoleto <u>." },
{ FRAME_MISSING_TITLE, 0, "[12.1.1.1]: <frame> carece de tÃtulo." },
{ FRAME_TITLE_INVALID_NULL, 0, "[12.1.1.2]: tÃtulo de <frame> inválido (nulo)." },
{ FRAME_TITLE_INVALID_SPACES, 0, "[12.1.1.3]: tÃtulo de <frame> inválido (espaços)." },
{ ASSOCIATE_LABELS_EXPLICITLY, 0, "[12.4.1.1]: associar rótulos explicitamente com controles de formulário." },
{ ASSOCIATE_LABELS_EXPLICITLY_FOR, 0,
"[12.4.1.2]: associar rótulos explicitamente com controles de formulário "
"(for)."
},
{ ASSOCIATE_LABELS_EXPLICITLY_ID, 0, "[12.4.1.3]: associar rótulos explicitamente com controles de formulário (id)." },
{ LINK_TEXT_NOT_MEANINGFUL, 0, "[13.1.1.1]: texto de link não significativo." },
{ LINK_TEXT_MISSING, 0, "[13.1.1.2]: faltando texto de link." },
{ LINK_TEXT_TOO_LONG, 0, "[13.1.1.3]: texto de link longo demais." },
{ LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE, 0, "[13.1.1.4]: texto de link não significativo (clique aqui)." },
{ METADATA_MISSING, 0, "[13.2.1.1]: faltando metadados." },
{ METADATA_MISSING_REDIRECT_AUTOREFRESH, 0, "[13.2.1.3]: faltando metadados (redirecionamento/autorrenovação)." },
{ SKIPOVER_ASCII_ART, 0, "[13.10.1.1]: pular arte em ascii." },
#if SUPPORT_CONSOLE_APP
{ TC_LABEL_COL, 0, "coluna" },
{ TC_LABEL_FILE, 0, "arquivo" },
{ TC_LABEL_LANG, 0, "idioma" },
{ TC_LABEL_LEVL, 0, "nÃvel" },
{ TC_LABEL_OPT, 0, "opção" },
{ TC_MAIN_ERROR_LOAD_CONFIG, 0, "Falha ao carregar o arquivo de config \"%s\", err = %d" },
{ TC_OPT_ACCESS, 0,
" faz verificações adicionais de acessibilidade (<nÃvel> = 0, 1, 2, 3). 0 é "
"presumido se <nÃvel> estiver faltando."
},
{ TC_OPT_ASCII, 0, "usa ISO-8859-1 para entrada, US-ASCII para saÃda" },
{ TC_OPT_ASHTML, 0, "força XHTML para HTML bem formatado" },
{ TC_OPT_ASXML, 0, "converte HTML para XHTML bem formatado" },
{ TC_OPT_BARE, 0, "retira aspas inteligentes, travessões etc." },
{ TC_OPT_BIG5, 0, "usa Big5 para tanto entrada quanto saÃda" },
{ TC_OPT_CLEAN, 0, "substitui tags FONT, NOBR e CENTER com CSS" },
{ TC_OPT_CONFIG, 0, "define opções de configuração a partir do <arquivo> especificado" },
{ TC_OPT_ERRORS, 0, "mostra apenas erros e avisos" },
{ TC_OPT_FILE, 0, "escreve erros e avisos para o <arquivo> especificado" },
{ TC_OPT_GDOC, 0, "produz versão limpa do html exportado pelo Google Docs" },
{ TC_OPT_HELP, 0, "lista as opções de linha de comando" },
{ TC_OPT_HELPCFG, 0, "lista todas as opções de configuração" },
{ TC_OPT_HELPOPT, 0, " mostra uma descrição da <opção>" },
tidy-html5.c view on Meta::CPAN
#define nodeIsPRE( node ) TagIsId( node, TidyTag_PRE )
#define nodeIsLISTING( node ) TagIsId( node, TidyTag_LISTING )
#define nodeIsP( node ) TagIsId( node, TidyTag_P )
#define nodeIsUL( node ) TagIsId( node, TidyTag_UL )
#define nodeIsOL( node ) TagIsId( node, TidyTag_OL )
#define nodeIsDL( node ) TagIsId( node, TidyTag_DL )
#define nodeIsDIR( node ) TagIsId( node, TidyTag_DIR )
#define nodeIsLI( node ) TagIsId( node, TidyTag_LI )
#define nodeIsDT( node ) TagIsId( node, TidyTag_DT )
#define nodeIsDD( node ) TagIsId( node, TidyTag_DD )
#define nodeIsTABLE( node ) TagIsId( node, TidyTag_TABLE )
#define nodeIsCAPTION( node ) TagIsId( node, TidyTag_CAPTION )
#define nodeIsTD( node ) TagIsId( node, TidyTag_TD )
#define nodeIsTH( node ) TagIsId( node, TidyTag_TH )
#define nodeIsTR( node ) TagIsId( node, TidyTag_TR )
#define nodeIsCOL( node ) TagIsId( node, TidyTag_COL )
#define nodeIsCOLGROUP( node ) TagIsId( node, TidyTag_COLGROUP )
#define nodeIsBR( node ) TagIsId( node, TidyTag_BR )
#define nodeIsA( node ) TagIsId( node, TidyTag_A )
#define nodeIsLINK( node ) TagIsId( node, TidyTag_LINK )
#define nodeIsB( node ) TagIsId( node, TidyTag_B )
#define nodeIsI( node ) TagIsId( node, TidyTag_I )
#define nodeIsSTRONG( node ) TagIsId( node, TidyTag_STRONG )
#define nodeIsEM( node ) TagIsId( node, TidyTag_EM )
#define nodeIsBIG( node ) TagIsId( node, TidyTag_BIG )
#define nodeIsSMALL( node ) TagIsId( node, TidyTag_SMALL )
#define nodeIsPARAM( node ) TagIsId( node, TidyTag_PARAM )
#define nodeIsOPTION( node ) TagIsId( node, TidyTag_OPTION )
#define nodeIsOPTGROUP( node ) TagIsId( node, TidyTag_OPTGROUP )
#define nodeIsIMG( node ) TagIsId( node, TidyTag_IMG )
#define nodeIsMAP( node ) TagIsId( node, TidyTag_MAP )
#define nodeIsAREA( node ) TagIsId( node, TidyTag_AREA )
#define nodeIsNOBR( node ) TagIsId( node, TidyTag_NOBR )
#define nodeIsWBR( node ) TagIsId( node, TidyTag_WBR )
#define nodeIsFONT( node ) TagIsId( node, TidyTag_FONT )
#define nodeIsLAYER( node ) TagIsId( node, TidyTag_LAYER )
#define nodeIsSPACER( node ) TagIsId( node, TidyTag_SPACER )
#define nodeIsCENTER( node ) TagIsId( node, TidyTag_CENTER )
#define nodeIsSTYLE( node ) TagIsId( node, TidyTag_STYLE )
#define nodeIsSCRIPT( node ) TagIsId( node, TidyTag_SCRIPT )
#define nodeIsNOSCRIPT( node ) TagIsId( node, TidyTag_NOSCRIPT )
#define nodeIsFORM( node ) TagIsId( node, TidyTag_FORM )
#define nodeIsTEXTAREA( node ) TagIsId( node, TidyTag_TEXTAREA )
#define nodeIsBLOCKQUOTE( node ) TagIsId( node, TidyTag_BLOCKQUOTE )
#define nodeIsAPPLET( node ) TagIsId( node, TidyTag_APPLET )
#define nodeIsOBJECT( node ) TagIsId( node, TidyTag_OBJECT )
#define nodeIsDIV( node ) TagIsId( node, TidyTag_DIV )
#define nodeIsSPAN( node ) TagIsId( node, TidyTag_SPAN )
#define nodeIsINPUT( node ) TagIsId( node, TidyTag_INPUT )
#define nodeIsQ( node ) TagIsId( node, TidyTag_Q )
#define nodeIsLABEL( node ) TagIsId( node, TidyTag_LABEL )
#define nodeIsH3( node ) TagIsId( node, TidyTag_H3 )
#define nodeIsH4( node ) TagIsId( node, TidyTag_H4 )
#define nodeIsH5( node ) TagIsId( node, TidyTag_H5 )
#define nodeIsH6( node ) TagIsId( node, TidyTag_H6 )
#define nodeIsADDRESS( node ) TagIsId( node, TidyTag_ADDRESS )
#define nodeIsXMP( node ) TagIsId( node, TidyTag_XMP )
#define nodeIsSELECT( node ) TagIsId( node, TidyTag_SELECT )
#define nodeIsBLINK( node ) TagIsId( node, TidyTag_BLINK )
#define nodeIsMARQUEE( node ) TagIsId( node, TidyTag_MARQUEE )
#define nodeIsEMBED( node ) TagIsId( node, TidyTag_EMBED )
#define nodeIsBASEFONT( node ) TagIsId( node, TidyTag_BASEFONT )
#define nodeIsISINDEX( node ) TagIsId( node, TidyTag_ISINDEX )
#define nodeIsS( node ) TagIsId( node, TidyTag_S )
#define nodeIsSTRIKE( node ) TagIsId( node, TidyTag_STRIKE )
#define nodeIsSUB( node ) TagIsId( node, TidyTag_SUB )
#define nodeIsSUP( node ) TagIsId( node, TidyTag_SUP )
#define nodeIsU( node ) TagIsId( node, TidyTag_U )
#define nodeIsMENU( node ) TagIsId( node, TidyTag_MENU )
#define nodeIsMAIN( node ) TagIsId( node, TidyTag_MAIN )
#define nodeIsBUTTON( node ) TagIsId( node, TidyTag_BUTTON )
#define nodeIsCANVAS( node ) TagIsId( node, TidyTag_CANVAS )
#define nodeIsPROGRESS( node ) TagIsId( node, TidyTag_PROGRESS )
#define nodeIsINS( node ) TagIsId( node, TidyTag_INS )
#define nodeIsDEL( node ) TagIsId( node, TidyTag_DEL )
#define nodeIsSVG( node ) TagIsId( node, TidyTag_SVG )
/* HTML5 */
#define nodeIsDATALIST( node ) TagIsId( node, TidyTag_DATALIST )
#define nodeIsDATA( node ) TagIsId( node, TidyTag_DATA )
#define nodeIsMATHML( node ) TagIsId( node, TidyTag_MATHML ) /* #130 MathML attr and entity fix! */
/* NOT in HTML 5 */
#define nodeIsACRONYM( node ) TagIsId( node, TidyTag_ACRONYM )
#define nodesIsFRAME( node ) TagIsId( node, TidyTag_FRAME )
#define nodeIsTT( node ) TagIsId( node, TidyTag_TT )
/** @} name */
/** @} tags_h group */
/** @} internal_api addtogroup */
#endif /* __TAGS_H__ */
#ifndef __TIDY_INT_H__
#define __TIDY_INT_H__
/* tidy-int.h -- internal library declarations
(c) 1998-2007 (W3C) MIT, ERCIM, Keio University
See tidy.h for the copyright notice.
*/
/* #include "tidy.h" */
/* #include "config.h" */
/* #include "lexer.h" */
/* #include "tags.h" */
/* #include "attrs.h" */
/* #include "pprint.h" */
/* #include "access.h" */
/* #include "message.h" */
#ifndef MAX
#define MAX(a,b) (((a) > (b))?(a):(b))
#endif
#ifndef MIN
#define MIN(a,b) (((a) < (b))?(a):(b))
#endif
tidy-html5.c view on Meta::CPAN
/*******************************************************
* CheckStyle
*
* Document must not contain STYLE element. HTML/XHTML
* document is unreadable when style sheets are applied.
*******************************************************/
static void CheckStyle( TidyDocImpl* doc, Node* node )
{
if (Level1_Enabled( doc ))
{
TY_(ReportAccessError)( doc, node, STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT );
}
}
/*************************************************************
* DynamicContent
*
* Verify that equivalents of dynamic content are updated and
* available as often as the dynamic content.
*************************************************************/
static void DynamicContent( TidyDocImpl* doc, Node* node )
{
if (Level1_Enabled( doc ))
{
unsigned int msgcode = 0;
if ( nodeIsAPPLET(node) )
msgcode = TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET;
else if ( nodeIsSCRIPT(node) )
msgcode = TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT;
else if ( nodeIsOBJECT(node) )
msgcode = TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT;
if ( msgcode )
TY_(ReportAccessError)( doc, node, msgcode );
}
}
/*************************************************************
* ProgrammaticObjects
*
* Verify that the page is usable when programmatic objects
* are disabled.
*************************************************************/
static void ProgrammaticObjects( TidyDocImpl* doc, Node* node )
{
if (Level1_Enabled( doc ))
{
int msgcode = 0;
if ( nodeIsSCRIPT(node) )
msgcode = PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT;
else if ( nodeIsOBJECT(node) )
msgcode = PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT;
else if ( nodeIsEMBED(node) )
msgcode = PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED;
else if ( nodeIsAPPLET(node) )
msgcode = PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET;
if ( msgcode )
TY_(ReportAccessError)( doc, node, msgcode );
}
}
/*************************************************************
* AccessibleCompatible
*
* Verify that programmatic objects are directly accessible.
*************************************************************/
static void AccessibleCompatible( TidyDocImpl* doc, Node* node )
{
if (Level1_Enabled( doc ))
{
int msgcode = 0;
if ( nodeIsSCRIPT(node) )
msgcode = ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT;
else if ( nodeIsOBJECT(node) )
msgcode = ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT;
else if ( nodeIsEMBED(node) )
msgcode = ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED;
else if ( nodeIsAPPLET(node) )
msgcode = ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET;
if ( msgcode )
TY_(ReportAccessError)( doc, node, msgcode );
}
}
/**************************************************
* CheckFlicker
*
* Verify that the page does not cause flicker.
**************************************************/
static void CheckFlicker( TidyDocImpl* doc, Node* node )
{
if (Level1_Enabled( doc ))
{
int msgcode = 0;
if ( nodeIsSCRIPT(node) )
msgcode = REMOVE_FLICKER_SCRIPT;
else if ( nodeIsOBJECT(node) )
msgcode = REMOVE_FLICKER_OBJECT;
else if ( nodeIsEMBED(node) )
msgcode = REMOVE_FLICKER_EMBED;
else if ( nodeIsAPPLET(node) )
msgcode = REMOVE_FLICKER_APPLET;
/* Checks for animated gif within the <img> tag. */
else if ( nodeIsIMG(node) )
{
AttVal* av = attrGetSRC( node );
if ( hasValue(av) )
{
tmbchar ext[20];
GetFileExtension( av->value, ext, sizeof(ext) );
if ( TY_(tmbstrcasecmp)(ext, ".gif") == 0 )
msgcode = REMOVE_FLICKER_ANIMATED_GIF;
}
}
if ( msgcode )
TY_(ReportAccessError)( doc, node, msgcode );
}
}
/**********************************************************
* CheckDeprecated
*
* APPLET, BASEFONT, CENTER, FONT, ISINDEX,
* S, STRIKE, and U should not be used. Becomes deprecated
* HTML if any of the above are used.
**********************************************************/
static void CheckDeprecated( TidyDocImpl* doc, Node* node )
{
if (Level2_Enabled( doc ))
{
int msgcode = 0;
if ( nodeIsAPPLET(node) )
msgcode = REPLACE_DEPRECATED_HTML_APPLET;
else if ( nodeIsBASEFONT(node) )
msgcode = REPLACE_DEPRECATED_HTML_BASEFONT;
else if ( nodeIsCENTER(node) )
msgcode = REPLACE_DEPRECATED_HTML_CENTER;
else if ( nodeIsDIR(node) )
msgcode = REPLACE_DEPRECATED_HTML_DIR;
else if ( nodeIsFONT(node) )
msgcode = REPLACE_DEPRECATED_HTML_FONT;
else if ( nodeIsISINDEX(node) )
msgcode = REPLACE_DEPRECATED_HTML_ISINDEX;
else if ( nodeIsMENU(node) )
msgcode = REPLACE_DEPRECATED_HTML_MENU;
else if ( nodeIsS(node) )
msgcode = REPLACE_DEPRECATED_HTML_S;
else if ( nodeIsSTRIKE(node) )
msgcode = REPLACE_DEPRECATED_HTML_STRIKE;
else if ( nodeIsU(node) )
msgcode = REPLACE_DEPRECATED_HTML_U;
if ( msgcode )
TY_(ReportAccessError)( doc, node, msgcode );
}
}
tidy-html5.c view on Meta::CPAN
CheckLabel( doc, node );
}
/* Check INPUT tag for validity */
else if ( nodeIsINPUT(node) )
{
CheckColorAvailable( doc, node );
CheckInputLabel( doc, node );
CheckInputAttributes( doc, node );
}
/* Checks FRAMESET element for NOFRAME section */
else if ( nodeIsFRAMESET(node) )
{
CheckFrameSet( doc, node );
}
/* Checks for header elements for valid header increase */
else if ( TY_(nodeIsHeader)(node) )
{
CheckHeaderNesting( doc, node );
}
/* Checks P element to ensure that it is not a header */
else if ( nodeIsP(node) )
{
CheckParagraphHeader( doc, node );
}
/* Checks HTML elemnt for valid 'LANG' */
else if ( nodeIsHTML(node) )
{
CheckHTMLAccess( doc, node );
}
/* Checks BLINK for any blinking text */
else if ( nodeIsBLINK(node) )
{
CheckBlink( doc, node );
}
/* Checks MARQUEE for any MARQUEE text */
else if ( nodeIsMARQUEE(node) )
{
CheckMarquee( doc, node );
}
/* Checks LINK for 'REL' attribute */
else if ( nodeIsLINK(node) )
{
CheckLink( doc, node );
}
/* Checks to see if STYLE is used */
else if ( nodeIsSTYLE(node) )
{
CheckColorContrast( doc, node );
CheckStyle( doc, node );
}
/* Checks to see if EMBED is used */
else if ( nodeIsEMBED(node) )
{
CheckEmbed( doc, node );
ProgrammaticObjects( doc, node );
AccessibleCompatible( doc, node );
CheckFlicker( doc, node );
}
/* Deprecated HTML if the following tags are found in the document */
else if ( nodeIsBASEFONT(node) ||
nodeIsCENTER(node) ||
nodeIsISINDEX(node) ||
nodeIsU(node) ||
nodeIsFONT(node) ||
nodeIsDIR(node) ||
nodeIsS(node) ||
nodeIsSTRIKE(node) ||
nodeIsMENU(node) )
{
CheckDeprecated( doc, node );
}
/* Checks for 'ABBR' attribute if needed */
else if ( nodeIsTH(node) )
{
CheckTH( doc, node );
}
/* Ensures that lists are properly used */
else if ( nodeIsLI(node) || nodeIsOL(node) || nodeIsUL(node) )
{
CheckListUsage( doc, node );
}
/* Recursively check all child nodes.
*/
for ( content = node->content; content != NULL; content = content->next )
{
AccessibilityCheckNode( doc, content );
}
}
void TY_(AccessibilityChecks)( TidyDocImpl* doc )
{
/* Initialize */
InitAccessibilityChecks( doc, cfg(doc, TidyAccessibilityCheckLevel) );
/* Hello there, ladies and gentlemen... */
TY_(Dialogue)( doc, STRING_HELLO_ACCESS );
/* Checks all elements for script accessibility */
CheckScriptKeyboardAccessible( doc, &doc->root );
/* Checks entire document for the use of 'STYLE' attribute */
CheckForStyleAttribute( doc, &doc->root );
/* Checks for '!DOCTYPE' */
CheckDocType( doc );
tidy-html5.c view on Meta::CPAN
};
const AttrVersion TY_(W3CAttrsFor_DT)[] =
{
INCLUDE_ARIA
INCLUDE_MICRODATA
{ TidyAttr_CLASS, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50 }, /* CORE override */
{ TidyAttr_DIR, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_ID, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50 }, /* CORE override */
{ TidyAttr_LANG, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|xxxx|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnCLICK, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnDBLCLICK, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnKEYDOWN, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnKEYPRESS, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnKEYUP, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEDOWN, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEMOVE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEOUT, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEOVER, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEUP, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_SDAFORM, HT20|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx },
{ TidyAttr_STYLE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_TITLE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50 }, /* CORE override */
{ TidyAttr_XMLNS, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|XB10|HT50|XH50 }, /* CORE override */
{ TidyAttr_XML_LANG, xxxx|xxxx|xxxx|xxxx|X10T|xxxx|xxxx|X10F|xxxx|xxxx|X10S|XH11|XB10|xxxx|XH50 }, /* CORE override */
INCLUDE_CORE_ATTRIBS
INCLUDE_CORE_EVENTS
INCLUDE_RDFA
{ TidyAttr_UNKNOWN, 0 },
};
const AttrVersion TY_(W3CAttrsFor_EM)[] =
{
INCLUDE_ARIA
INCLUDE_MICRODATA
{ TidyAttr_CLASS, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50 }, /* CORE override */
{ TidyAttr_DIR, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_ID, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50 }, /* CORE override */
{ TidyAttr_LANG, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|xxxx|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnCLICK, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnDBLCLICK, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnKEYDOWN, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnKEYPRESS, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnKEYUP, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEDOWN, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEMOVE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEOUT, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEOVER, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEUP, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_SDAFORM, HT20|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx },
{ TidyAttr_STYLE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_TITLE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50 }, /* CORE override */
{ TidyAttr_XMLNS, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|XB10|HT50|XH50 }, /* CORE override */
{ TidyAttr_XML_LANG, xxxx|xxxx|xxxx|xxxx|X10T|xxxx|xxxx|X10F|xxxx|xxxx|X10S|XH11|XB10|xxxx|XH50 }, /* CORE override */
INCLUDE_CORE_ATTRIBS
INCLUDE_CORE_EVENTS
INCLUDE_RDFA
{ TidyAttr_UNKNOWN, 0 },
};
const AttrVersion TY_(W3CAttrsFor_EMBED)[] =
{
INCLUDE_ARIA
INCLUDE_MICRODATA
{ TidyAttr_HEIGHT, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50 },
{ TidyAttr_SRC, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50 },
{ TidyAttr_TYPE, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50 },
{ TidyAttr_WIDTH, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50 },
INCLUDE_CORE_ATTRIBS
INCLUDE_CORE_EVENTS
INCLUDE_RDFA
{ TidyAttr_UNKNOWN, 0 },
};
const AttrVersion TY_(W3CAttrsFor_FIELDSET)[] =
{
INCLUDE_ARIA
INCLUDE_MICRODATA
{ TidyAttr_CLASS, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_DIR, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_DISABLED, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50 },
{ TidyAttr_FORM, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50 },
{ TidyAttr_ID, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_LANG, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|xxxx|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_NAME, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50 },
{ TidyAttr_OnCLICK, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnDBLCLICK, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnKEYDOWN, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnKEYPRESS, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnKEYUP, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEDOWN, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEMOVE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEOUT, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEOVER, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_OnMOUSEUP, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_STYLE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_TITLE, xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_XMLNS, xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|xxxx|HT50|XH50 }, /* CORE override */
{ TidyAttr_XML_LANG, xxxx|xxxx|xxxx|xxxx|X10T|xxxx|xxxx|X10F|xxxx|xxxx|X10S|XH11|xxxx|xxxx|XH50 }, /* CORE override */
INCLUDE_CORE_ATTRIBS
INCLUDE_CORE_EVENTS
INCLUDE_RDFA
{ TidyAttr_UNKNOWN, 0 },
};
const AttrVersion TY_(W3CAttrsFor_FIGCAPTION)[] =
{
INCLUDE_ARIA
INCLUDE_MICRODATA
INCLUDE_CORE_ATTRIBS
INCLUDE_CORE_EVENTS
INCLUDE_RDFA
{ TidyAttr_UNKNOWN, 0 },
};
const AttrVersion TY_(W3CAttrsFor_FIGURE)[] =
{
INCLUDE_ARIA
INCLUDE_MICRODATA
INCLUDE_CORE_ATTRIBS
INCLUDE_CORE_EVENTS
tidy-html5.c view on Meta::CPAN
TY_(ReportAttrError)( doc, node, attval, BAD_ATTRIBUTE_VALUE);
}
if ((old = GetNodeByAnchor(doc, attval->value)) && old != node)
{
if (node->implicit) /* Is #709 - improve warning text */
TY_(ReportAttrError)(doc, node, attval, ANCHOR_DUPLICATED);
else
TY_(ReportAttrError)( doc, node, attval, ANCHOR_NOT_UNIQUE);
}
else
AddAnchor( doc, attval->value, node );
}
void CheckIs( TidyDocImpl* doc, Node *node, AttVal *attval )
{
const char *ptr;
Bool go = yes;
/* `is` MUST NOT be in an autonomous custom tag */
ptr = strchr(node->element, '-');
if ( ( ptr && (ptr - node->element > 0) ) )
{
TY_(ReportAttrError)( doc, node, attval, ATTRIBUTE_IS_NOT_ALLOWED);
}
/* Even if we fail the above test, we'll continue to emit reports because
the user should *also* know that his attribute values are wrong, even
if they should't be in custom tags anyway. */
/* `is` MUST have a value */
if (!AttrHasValue(attval))
{
TY_(ReportAttrError)( doc, node, attval, MISSING_ATTR_VALUE);
return;
}
/* `is` MUST contain a hyphen and no space. */
ptr = strchr(attval->value, '-');
go = ( ptr && (ptr - attval->value > 0) );
ptr = strchr(attval->value, ' ');
go = go & (ptr == NULL);
if ( !go )
{
TY_(ReportAttrError)( doc, node, attval, BAD_ATTRIBUTE_VALUE);
}
}
void CheckBool( TidyDocImpl* doc, Node *node, AttVal *attval)
{
if (!AttrHasValue(attval))
return;
CheckLowerCaseAttrValue( doc, node, attval );
}
void CheckAlign( TidyDocImpl* doc, Node *node, AttVal *attval)
{
ctmbstr const values[] = {"left", "right", "center", "justify", NULL};
/* IMG, OBJECT, APPLET and EMBED use align for vertical position */
if (node->tag && (node->tag->model & CM_IMG))
{
CheckValign( doc, node, attval );
return;
}
if (!AttrHasValue(attval))
{
TY_(ReportAttrError)( doc, node, attval, MISSING_ATTR_VALUE);
return;
}
CheckLowerCaseAttrValue( doc, node, attval);
/* currently CheckCaption(...) takes care of the remaining cases */
if (nodeIsCAPTION(node))
return;
if (!AttrValueIsAmong(attval, values))
{
/* align="char" is allowed for elements with CM_TABLE|CM_ROW
except CAPTION which is excluded above, */
if( !(AttrValueIs(attval, "char")
&& TY_(nodeHasCM)(node, CM_TABLE|CM_ROW)) )
TY_(ReportAttrError)( doc, node, attval, BAD_ATTRIBUTE_VALUE);
}
}
void CheckValign( TidyDocImpl* doc, Node *node, AttVal *attval)
{
ctmbstr const values[] = {"top", "middle", "bottom", "baseline", NULL};
ctmbstr const values2[] = {"left", "right", NULL};
ctmbstr const valuesp[] = {"texttop", "absmiddle", "absbottom",
"textbottom", NULL};
if (!AttrHasValue(attval))
{
TY_(ReportAttrError)( doc, node, attval, MISSING_ATTR_VALUE);
return;
}
CheckLowerCaseAttrValue( doc, node, attval );
if (AttrValueIsAmong(attval, values))
{
/* all is fine */
}
else if (AttrValueIsAmong(attval, values2))
{
if (!(node->tag && (node->tag->model & CM_IMG)))
TY_(ReportAttrError)( doc, node, attval, BAD_ATTRIBUTE_VALUE);
}
else if (AttrValueIsAmong(attval, valuesp))
{
TY_(ConstrainVersion)( doc, VERS_PROPRIETARY );
TY_(ReportAttrError)( doc, node, attval, PROPRIETARY_ATTR_VALUE);
}
else
TY_(ReportAttrError)( doc, node, attval, BAD_ATTRIBUTE_VALUE);
}
tidy-html5.c view on Meta::CPAN
{ PROPRIETARY_ELEMENT, TidyWarning, formatStandard },
{ REMOVED_HTML5, TidyWarning, formatStandard },
{ REPEATED_ATTRIBUTE, TidyWarning, formatAttributeReport },
{ REPLACING_ELEMENT, TidyWarning, formatStandard },
{ REPLACING_UNEX_ELEMENT, TidyWarning, formatStandard },
{ SPACE_PRECEDING_XMLDECL, TidyWarning, formatStandard },
{ STRING_ARGUMENT_BAD, TidyConfig, formatStandard },
{ STRING_CONTENT_LOOKS, TidyInfo, formatStandard }, /* reportMarkupVersion() */
{ STRING_DOCTYPE_GIVEN, TidyInfo, formatStandard }, /* reportMarkupVersion() */
{ STRING_MISSING_MALFORMED, TidyConfig, formatStandard },
{ STRING_MUTING_TYPE, TidyInfo, formatStandard },
{ STRING_NO_SYSID, TidyInfo, formatStandard }, /* reportMarkupVersion() */
{ STRING_UNKNOWN_OPTION, TidyConfig, formatStandard },
{ SUSPECTED_MISSING_QUOTE, TidyWarning, formatStandard },
{ TAG_NOT_ALLOWED_IN, TidyWarning, formatStandard, PREVIOUS_LOCATION },
{ TOO_MANY_ELEMENTS_IN, TidyWarning, formatStandard, PREVIOUS_LOCATION },
{ TOO_MANY_ELEMENTS, TidyWarning, formatStandard },
{ TRIM_EMPTY_ELEMENT, TidyWarning, formatStandard },
{ UNESCAPED_AMPERSAND, TidyWarning, formatStandard },
{ UNEXPECTED_END_OF_FILE_ATTR, TidyWarning, formatAttributeReport },
{ UNEXPECTED_END_OF_FILE, TidyWarning, formatStandard },
{ UNEXPECTED_ENDTAG_IN, TidyError, formatStandard },
{ UNEXPECTED_ENDTAG, TidyWarning, formatStandard },
{ UNEXPECTED_ENDTAG_ERR, TidyError, formatStandard },
{ UNEXPECTED_EQUALSIGN, TidyWarning, formatAttributeReport },
{ UNEXPECTED_GT, TidyWarning, formatAttributeReport },
{ UNEXPECTED_QUOTEMARK, TidyWarning, formatAttributeReport },
{ UNKNOWN_ELEMENT_LOOKS_CUSTOM, TidyError, formatStandard },
{ UNKNOWN_ELEMENT, TidyError, formatStandard },
{ UNKNOWN_ENTITY, TidyWarning, formatStandard },
{ USING_BR_INPLACE_OF, TidyWarning, formatStandard },
{ VENDOR_SPECIFIC_CHARS, TidyWarning, formatEncodingReport },
{ WHITE_IN_URI, TidyWarning, formatAttributeReport },
{ XML_DECLARATION_DETECTED, TidyWarning, formatStandard },
{ XML_ID_SYNTAX, TidyWarning, formatAttributeReport },
{ BLANK_TITLE_ELEMENT, TidyWarning, formatStandard },
{ APPLET_MISSING_ALT, TidyAccess, formatAccessReport },
{ AREA_MISSING_ALT, TidyAccess, formatAccessReport },
{ ASCII_REQUIRES_DESCRIPTION, TidyAccess, formatAccessReport },
{ ASSOCIATE_LABELS_EXPLICITLY, TidyAccess, formatAccessReport },
{ ASSOCIATE_LABELS_EXPLICITLY_FOR, TidyAccess, formatAccessReport },
{ ASSOCIATE_LABELS_EXPLICITLY_ID, TidyAccess, formatAccessReport },
{ AUDIO_MISSING_TEXT_AIFF, TidyAccess, formatAccessReport },
{ AUDIO_MISSING_TEXT_AU, TidyAccess, formatAccessReport },
{ AUDIO_MISSING_TEXT_RA, TidyAccess, formatAccessReport },
{ AUDIO_MISSING_TEXT_RM, TidyAccess, formatAccessReport },
{ AUDIO_MISSING_TEXT_SND, TidyAccess, formatAccessReport },
{ AUDIO_MISSING_TEXT_WAV, TidyAccess, formatAccessReport },
{ COLOR_CONTRAST_ACTIVE_LINK, TidyAccess, formatAccessReport },
{ COLOR_CONTRAST_LINK, TidyAccess, formatAccessReport },
{ COLOR_CONTRAST_TEXT, TidyAccess, formatAccessReport },
{ COLOR_CONTRAST_VISITED_LINK, TidyAccess, formatAccessReport },
{ DATA_TABLE_MISSING_HEADERS, TidyAccess, formatAccessReport },
{ DATA_TABLE_MISSING_HEADERS_COLUMN, TidyAccess, formatAccessReport },
{ DATA_TABLE_MISSING_HEADERS_ROW, TidyAccess, formatAccessReport },
{ DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS, TidyAccess, formatAccessReport },
{ DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS, TidyAccess, formatAccessReport },
{ DOCTYPE_MISSING, TidyAccess, formatAccessReport },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET, TidyAccess, formatAccessReport },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED, TidyAccess, formatAccessReport },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT, TidyAccess, formatAccessReport },
{ ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT, TidyAccess, formatAccessReport },
{ FRAME_MISSING_LONGDESC, TidyAccess, formatAccessReport },
{ FRAME_MISSING_NOFRAMES, TidyAccess, formatAccessReport },
{ FRAME_MISSING_TITLE, TidyAccess, formatAccessReport },
{ FRAME_SRC_INVALID, TidyAccess, formatAccessReport },
{ FRAME_TITLE_INVALID_NULL, TidyAccess, formatAccessReport },
{ FRAME_TITLE_INVALID_SPACES, TidyAccess, formatAccessReport },
{ HEADER_USED_FORMAT_TEXT, TidyAccess, formatAccessReport },
{ HEADERS_IMPROPERLY_NESTED, TidyAccess, formatAccessReport },
{ IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION, TidyAccess, formatAccessReport },
{ IMG_ALT_SUSPICIOUS_FILE_SIZE, TidyAccess, formatAccessReport },
{ IMG_ALT_SUSPICIOUS_FILENAME, TidyAccess, formatAccessReport },
{ IMG_ALT_SUSPICIOUS_PLACEHOLDER, TidyAccess, formatAccessReport },
{ IMG_ALT_SUSPICIOUS_TOO_LONG, TidyAccess, formatAccessReport },
{ IMG_BUTTON_MISSING_ALT, TidyAccess, formatAccessReport },
{ IMG_MAP_CLIENT_MISSING_TEXT_LINKS, TidyAccess, formatAccessReport },
{ IMG_MAP_SERVER_REQUIRES_TEXT_LINKS, TidyAccess, formatAccessReport },
{ IMG_MISSING_ALT, TidyAccess, formatAccessReport },
{ IMG_MISSING_DLINK, TidyAccess, formatAccessReport },
{ IMG_MISSING_LONGDESC, TidyAccess, formatAccessReport },
{ IMG_MISSING_LONGDESC_DLINK, TidyAccess, formatAccessReport },
{ INFORMATION_NOT_CONVEYED_APPLET, TidyAccess, formatAccessReport },
{ INFORMATION_NOT_CONVEYED_IMAGE, TidyAccess, formatAccessReport },
{ INFORMATION_NOT_CONVEYED_INPUT, TidyAccess, formatAccessReport },
{ INFORMATION_NOT_CONVEYED_OBJECT, TidyAccess, formatAccessReport },
{ INFORMATION_NOT_CONVEYED_SCRIPT, TidyAccess, formatAccessReport },
{ LANGUAGE_INVALID, TidyAccess, formatAccessReport },
{ LANGUAGE_NOT_IDENTIFIED, TidyAccess, formatAccessReport },
{ LAYOUT_TABLE_INVALID_MARKUP, TidyAccess, formatAccessReport },
{ LAYOUT_TABLES_LINEARIZE_PROPERLY, TidyAccess, formatAccessReport },
{ LINK_TEXT_MISSING, TidyAccess, formatAccessReport },
{ LINK_TEXT_NOT_MEANINGFUL, TidyAccess, formatAccessReport },
{ LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE, TidyAccess, formatAccessReport },
{ LINK_TEXT_TOO_LONG, TidyAccess, formatAccessReport },
{ LIST_USAGE_INVALID_LI, TidyAccess, formatAccessReport },
{ LIST_USAGE_INVALID_OL, TidyAccess, formatAccessReport },
{ LIST_USAGE_INVALID_UL, TidyAccess, formatAccessReport },
{ METADATA_MISSING, TidyAccess, formatAccessReport },
{ METADATA_MISSING_REDIRECT_AUTOREFRESH, TidyAccess, formatAccessReport },
{ MULTIMEDIA_REQUIRES_TEXT, TidyAccess, formatAccessReport },
{ NEW_WINDOWS_REQUIRE_WARNING_BLANK, TidyAccess, formatAccessReport },
{ NEW_WINDOWS_REQUIRE_WARNING_NEW, TidyAccess, formatAccessReport },
{ NOFRAMES_INVALID_CONTENT, TidyAccess, formatAccessReport },
{ NOFRAMES_INVALID_LINK, TidyAccess, formatAccessReport },
{ NOFRAMES_INVALID_NO_VALUE, TidyAccess, formatAccessReport },
{ OBJECT_MISSING_ALT, TidyAccess, formatAccessReport },
{ POTENTIAL_HEADER_BOLD, TidyAccess, formatAccessReport },
{ POTENTIAL_HEADER_ITALICS, TidyAccess, formatAccessReport },
{ POTENTIAL_HEADER_UNDERLINE, TidyAccess, formatAccessReport },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET, TidyAccess, formatAccessReport },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED, TidyAccess, formatAccessReport },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT, TidyAccess, formatAccessReport },
{ PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT, TidyAccess, formatAccessReport },
{ REMOVE_AUTO_REDIRECT, TidyAccess, formatAccessReport },
{ REMOVE_AUTO_REFRESH, TidyAccess, formatAccessReport },
{ REMOVE_BLINK_MARQUEE, TidyAccess, formatAccessReport },
{ REMOVE_FLICKER_ANIMATED_GIF, TidyAccess, formatAccessReport },
{ REMOVE_FLICKER_APPLET, TidyAccess, formatAccessReport },
{ REMOVE_FLICKER_EMBED, TidyAccess, formatAccessReport },
{ REMOVE_FLICKER_OBJECT, TidyAccess, formatAccessReport },
{ REMOVE_FLICKER_SCRIPT, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_APPLET, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_BASEFONT, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_CENTER, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_DIR, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_FONT, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_ISINDEX, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_MENU, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_S, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_STRIKE, TidyAccess, formatAccessReport },
{ REPLACE_DEPRECATED_HTML_U, TidyAccess, formatAccessReport },
{ SCRIPT_MISSING_NOSCRIPT, TidyAccess, formatAccessReport },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK, TidyAccess, formatAccessReport },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN, TidyAccess, formatAccessReport },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE, TidyAccess, formatAccessReport },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT, TidyAccess, formatAccessReport },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER, TidyAccess, formatAccessReport },
{ SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP, TidyAccess, formatAccessReport },
{ SKIPOVER_ASCII_ART, TidyAccess, formatAccessReport },
{ STYLE_SHEET_CONTROL_PRESENTATION, TidyAccess, formatAccessReport },
{ STYLESHEETS_REQUIRE_TESTING_LINK, TidyAccess, formatAccessReport },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR, TidyAccess, formatAccessReport },
{ STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT, TidyAccess, formatAccessReport },
{ TABLE_MAY_REQUIRE_HEADER_ABBR, TidyAccess, formatAccessReport },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_NULL, TidyAccess, formatAccessReport },
{ TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES, TidyAccess, formatAccessReport },
{ TABLE_MISSING_CAPTION, TidyAccess, formatAccessReport },
{ TABLE_MISSING_SUMMARY, TidyAccess, formatAccessReport },
{ TABLE_SUMMARY_INVALID_NULL, TidyAccess, formatAccessReport },
{ TABLE_SUMMARY_INVALID_PLACEHOLDER, TidyAccess, formatAccessReport },
{ TABLE_SUMMARY_INVALID_SPACES, TidyAccess, formatAccessReport },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET, TidyAccess, formatAccessReport },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT, TidyAccess, formatAccessReport },
{ TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT, TidyAccess, formatAccessReport },
{ 0, 0, NULL }
};
/*********************************************************************
* Message Formatting
* These individual message formatters populate messages with the
* correct, pertinent data.
*********************************************************************/
/* Provides formatting for the Attribute-related reports. This formatter
** should be reserved for messages generated by Tidy's accessibility module,
** even if the signature matches some unrelated report that you wish to
** generate.
*/
TidyMessageImpl *formatAccessReport(TidyDocImpl* doc, Node *element, Node *node, unsigned int code, unsigned int level, va_list args)
{
doc->badAccess |= BA_WAI;
/* Currently *all* cases are handled in the default, but maintain this
structure for possible future cases. */
switch (code)
{
tidy-html5.c view on Meta::CPAN
prev = node->prev;
if (prev)
{
if (TY_(nodeIsText)(prev))
return TY_(TextNodeEndWithSpace)( lexer, prev );
else if (nodeIsBR(prev))
return yes;
return no;
}
if ( isEmpty && !TY_(nodeCMIsInline)(node->parent) )
return no;
return AfterSpaceImp(lexer, node->parent, isEmpty);
}
static Bool AfterSpace(Lexer *lexer, Node *node)
{
return AfterSpaceImp(lexer, node, TY_(nodeCMIsEmpty)(node));
}
static void PPrintEndTag( TidyDocImpl* doc, unsigned int ARG_UNUSED(mode),
unsigned int ARG_UNUSED(indent), Node *node );
/*\
* See Issue #162 - void elements also get a closing tag, like img, br, ...
*
* from : http://www.w3.org/TR/html-markup/syntax.html#syntax-elements
* A complete list of the void elements in HTML:
* area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr
*
* This could be sped up by NOT using the macro nodeIsXXXX, since this repeatedly checks the node,
* and then the node->tag, which here are checked at the beginning...
*
* Some have already been done... at least where no macro yet exists.
*
* And maybe a switch(id) case would be faster.
\*/
static Bool TY_(isVoidElement)( Node *node )
{
TidyTagId id;
if ( !node )
return no;
if ( !node->tag )
return no;
id = node->tag->id;
if (nodeIsAREA(node))
return yes;
if (nodeIsBASE(node))
return yes;
if (nodeIsBR(node))
return yes;
if (nodeIsCOL(node))
return yes;
/* if (nodeIsCOMMAND(node)) */
if (id == TidyTag_COMMAND)
return yes;
if (nodeIsEMBED(node))
return yes;
if (nodeIsHR(node))
return yes;
if (nodeIsIMG(node))
return yes;
if (nodeIsINPUT(node))
return yes;
/* if (nodeIsKEYGEN(node)) */
if (id == TidyTag_KEYGEN )
return yes;
if (nodeIsLINK(node))
return yes;
if (nodeIsMETA(node))
return yes;
if (nodeIsPARAM(node))
return yes;
/* if (nodeIsSOURCE(node)) */
if (id == TidyTag_SOURCE )
return yes;
/* if (nodeIsTRACK(node)) */
if (id == TidyTag_TRACK )
return yes;
if (nodeIsWBR(node))
return yes;
return no;
}
static void PPrintTag( TidyDocImpl* doc,
unsigned int mode, unsigned int indent, Node *node )
{
TidyPrintImpl* pprint = &doc->pprint;
Bool uc = cfgBool( doc, TidyUpperCaseTags );
Bool xhtmlOut = cfgBool( doc, TidyXhtmlOut );
Bool xmlOut = cfgBool( doc, TidyXmlOut );
tchar c;
tmbstr s = node->element;
AddChar( pprint, '<' );
if ( node->type == EndTag )
AddChar( pprint, '/' );
if (s)
{
while (*s)
{
c = (unsigned char)*s;
if (c > 0x7F)
s += TY_(GetUTF8)(s, &c);
else if (uc)
c = TY_(ToUpper)(c);
AddChar(pprint, c);
++s;
}
}
PPrintAttrs( doc, indent, node );
tidy-html5.c view on Meta::CPAN
#define VERS_ELEM_MAP (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_MATHML (xxxx|xxxx|xxxx|H41T|X10T|xxxx|H41F|X10F|xxxx|H41S|X10S|XH11|xxxx|HT50|XH50) /* [i_a]2 */
#define VERS_ELEM_MENU (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_META (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_NEXTID (HT20|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx)
#define VERS_ELEM_NOFRAMES (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx)
#define VERS_ELEM_NOSCRIPT (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_OBJECT (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_OL (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_OPTGROUP (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_OPTION (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_P (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_PARAM (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_PICTURE (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_PLAINTEXT (HT20|HT32|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx)
#define VERS_ELEM_PRE (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_Q (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_RB (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|xxxx|xxxx|xxxx)
#define VERS_ELEM_RBC (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|xxxx|xxxx|xxxx)
#define VERS_ELEM_RP (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_RT (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_RTC (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|xxxx|xxxx|xxxx)
#define VERS_ELEM_RUBY (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_S (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_SAMP (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_SCRIPT (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_SELECT (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_SMALL (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_SPAN (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_STRIKE (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx)
#define VERS_ELEM_STRONG (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_STYLE (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_SUB (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_SUP (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_SVG (xxxx|xxxx|xxxx|H41T|X10T|xxxx|H41F|X10F|xxxx|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_TABLE (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_TBODY (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_TD (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_TEXTAREA (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_TFOOT (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_TH (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_THEAD (xxxx|xxxx|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|HT50|XH50)
#define VERS_ELEM_TITLE (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_TR (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_TT (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|xxxx|xxxx|xxxx)
#define VERS_ELEM_U (xxxx|HT32|H40T|H41T|X10T|H40F|H41F|X10F|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_UL (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_VAR (HT20|HT32|H40T|H41T|X10T|H40F|H41F|X10F|H40S|H41S|X10S|XH11|XB10|HT50|XH50)
#define VERS_ELEM_XMP (HT20|HT32|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx)
#define VERS_ELEM_ARTICLE (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_ASIDE (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_AUDIO (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_BDI (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_CANVAS (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_COMMAND (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_DATALIST (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_DATA (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_DETAILS (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_DIALOG (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_EMBED (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_FIGCAPTION (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_FIGURE (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_FOOTER (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_HEADER (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_HGROUP (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_KEYGEN (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_MAIN (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_MARK (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_MENUITEM (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_METER (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_NAV (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_OUTPUT (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_PROGRESS (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_SECTION (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_SLOT (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_SOURCE (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_SUMMARY (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_TEMPLATE (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_TIME (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_TRACK (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_VIDEO (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
#define VERS_ELEM_WBR (xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|xxxx|HT50|XH50)
/*\
* Issue #167 & #169 & #232
* Tidy defaults to HTML5 mode
* but allow this table to be ADJUSTED if NOT HTML5
* was static const Dict tag_defs[] =
\*/
static Dict tag_defs[] =
{
{ TidyTag_UNKNOWN, "unknown!", VERS_UNKNOWN, NULL, (0), NULL, NULL },
/* W3C defined elements */
{ TidyTag_A, "a", VERS_ELEM_A, &TY_(W3CAttrsFor_A)[0], (CM_INLINE|CM_BLOCK|CM_MIXED), TY_(ParseBlock), NULL }, /* Issue #167 & #169 - default HTML5 */
{ TidyTag_ABBR, "abbr", VERS_ELEM_ABBR, &TY_(W3CAttrsFor_ABBR)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_ACRONYM, "acronym", VERS_ELEM_ACRONYM, &TY_(W3CAttrsFor_ACRONYM)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_ADDRESS, "address", VERS_ELEM_ADDRESS, &TY_(W3CAttrsFor_ADDRESS)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_APPLET, "applet", VERS_ELEM_APPLET, &TY_(W3CAttrsFor_APPLET)[0], (CM_OBJECT|CM_IMG|CM_INLINE|CM_PARAM), TY_(ParseBlock), NULL },
{ TidyTag_AREA, "area", VERS_ELEM_AREA, &TY_(W3CAttrsFor_AREA)[0], (CM_BLOCK|CM_EMPTY), TY_(ParseEmpty), CheckAREA },
{ TidyTag_B, "b", VERS_ELEM_B, &TY_(W3CAttrsFor_B)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_BASE, "base", VERS_ELEM_BASE, &TY_(W3CAttrsFor_BASE)[0], (CM_HEAD|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_BASEFONT, "basefont", VERS_ELEM_BASEFONT, &TY_(W3CAttrsFor_BASEFONT)[0], (CM_INLINE|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_BDO, "bdo", VERS_ELEM_BDO, &TY_(W3CAttrsFor_BDO)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_BIG, "big", VERS_ELEM_BIG, &TY_(W3CAttrsFor_BIG)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_BLOCKQUOTE, "blockquote", VERS_ELEM_BLOCKQUOTE, &TY_(W3CAttrsFor_BLOCKQUOTE)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_BODY, "body", VERS_ELEM_BODY, &TY_(W3CAttrsFor_BODY)[0], (CM_HTML|CM_OPT|CM_OMITST), TY_(ParseBody), NULL },
{ TidyTag_BR, "br", VERS_ELEM_BR, &TY_(W3CAttrsFor_BR)[0], (CM_INLINE|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_BUTTON, "button", VERS_ELEM_BUTTON, &TY_(W3CAttrsFor_BUTTON)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_CAPTION, "caption", VERS_ELEM_CAPTION, &TY_(W3CAttrsFor_CAPTION)[0], (CM_TABLE), TY_(ParseBlock), CheckCaption },
{ TidyTag_CENTER, "center", VERS_ELEM_CENTER, &TY_(W3CAttrsFor_CENTER)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_CITE, "cite", VERS_ELEM_CITE, &TY_(W3CAttrsFor_CITE)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_CODE, "code", VERS_ELEM_CODE, &TY_(W3CAttrsFor_CODE)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_COL, "col", VERS_ELEM_COL, &TY_(W3CAttrsFor_COL)[0], (CM_TABLE|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_COLGROUP, "colgroup", VERS_ELEM_COLGROUP, &TY_(W3CAttrsFor_COLGROUP)[0], (CM_TABLE|CM_OPT), TY_(ParseColGroup), NULL },
{ TidyTag_DD, "dd", VERS_ELEM_DD, &TY_(W3CAttrsFor_DD)[0], (CM_DEFLIST|CM_OPT|CM_NO_INDENT), TY_(ParseBlock), NULL },
{ TidyTag_DEL, "del", VERS_ELEM_DEL, &TY_(W3CAttrsFor_DEL)[0], (CM_INLINE|CM_BLOCK|CM_MIXED), TY_(ParseInline), NULL },
{ TidyTag_DFN, "dfn", VERS_ELEM_DFN, &TY_(W3CAttrsFor_DFN)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_DIR, "dir", VERS_ELEM_DIR, &TY_(W3CAttrsFor_DIR)[0], (CM_BLOCK|CM_OBSOLETE), TY_(ParseList), NULL },
{ TidyTag_DIV, "div", VERS_ELEM_DIV, &TY_(W3CAttrsFor_DIV)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
tidy-html5.c view on Meta::CPAN
{ TidyTag_MAP, "map", VERS_ELEM_MAP, &TY_(W3CAttrsFor_MAP)[0], (CM_INLINE), TY_(ParseBlock), NULL },
{ TidyTag_MATHML, "math", VERS_ELEM_MATHML, &TY_(W3CAttrsFor_MATHML)[0], (CM_INLINE|CM_BLOCK|CM_MIXED), TY_(ParseNamespace),NULL }, /* [i_a]2 */
/* { TidyTag_MENU, "menu", VERS_ELEM_MENU, &TY_(W3CAttrsFor_MENU)[0], (CM_BLOCK|CM_OBSOLETE), TY_(ParseList), NULL }, */
{ TidyTag_META, "meta", VERS_ELEM_META, &TY_(W3CAttrsFor_META)[0], (CM_HEAD|CM_BLOCK|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_NOFRAMES, "noframes", VERS_ELEM_NOFRAMES, &TY_(W3CAttrsFor_NOFRAMES)[0], (CM_BLOCK|CM_FRAMES), TY_(ParseNoFrames), NULL },
{ TidyTag_NOSCRIPT, "noscript", VERS_ELEM_NOSCRIPT, &TY_(W3CAttrsFor_NOSCRIPT)[0], (CM_HEAD|CM_BLOCK|CM_INLINE|CM_MIXED), TY_(ParseBlock), NULL },
{ TidyTag_OBJECT, "object", VERS_ELEM_OBJECT, &TY_(W3CAttrsFor_OBJECT)[0], (CM_OBJECT|CM_IMG|CM_INLINE|CM_PARAM), TY_(ParseBlock), NULL },
{ TidyTag_OL, "ol", VERS_ELEM_OL, &TY_(W3CAttrsFor_OL)[0], (CM_BLOCK), TY_(ParseList), NULL },
{ TidyTag_OPTGROUP, "optgroup", VERS_ELEM_OPTGROUP, &TY_(W3CAttrsFor_OPTGROUP)[0], (CM_FIELD|CM_OPT), TY_(ParseOptGroup), NULL },
{ TidyTag_OPTION, "option", VERS_ELEM_OPTION, &TY_(W3CAttrsFor_OPTION)[0], (CM_FIELD|CM_OPT), TY_(ParseText), NULL },
{ TidyTag_P, "p", VERS_ELEM_P, &TY_(W3CAttrsFor_P)[0], (CM_BLOCK|CM_OPT), TY_(ParseInline), NULL },
{ TidyTag_PARAM, "param", VERS_ELEM_PARAM, &TY_(W3CAttrsFor_PARAM)[0], (CM_INLINE|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_PICTURE, "picture", VERS_ELEM_PICTURE, &TY_(W3CAttrsFor_PICTURE)[0], (CM_INLINE), TY_(ParseInline), NULL }, /* Issue #151 html5 */
{ TidyTag_PLAINTEXT, "plaintext", VERS_ELEM_PLAINTEXT, &TY_(W3CAttrsFor_PLAINTEXT)[0], (CM_BLOCK|CM_OBSOLETE), TY_(ParsePre), NULL },
{ TidyTag_PRE, "pre", VERS_ELEM_PRE, &TY_(W3CAttrsFor_PRE)[0], (CM_BLOCK), TY_(ParsePre), NULL },
{ TidyTag_Q, "q", VERS_ELEM_Q, &TY_(W3CAttrsFor_Q)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_RB, "rb", VERS_ELEM_RB, &TY_(W3CAttrsFor_RB)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_RBC, "rbc", VERS_ELEM_RBC, &TY_(W3CAttrsFor_RBC)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_RP, "rp", VERS_ELEM_RP, &TY_(W3CAttrsFor_RP)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_RT, "rt", VERS_ELEM_RT, &TY_(W3CAttrsFor_RT)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_RTC, "rtc", VERS_ELEM_RTC, &TY_(W3CAttrsFor_RTC)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_RUBY, "ruby", VERS_ELEM_RUBY, &TY_(W3CAttrsFor_RUBY)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_S, "s", VERS_ELEM_S, &TY_(W3CAttrsFor_S)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_SAMP, "samp", VERS_ELEM_SAMP, &TY_(W3CAttrsFor_SAMP)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_SCRIPT, "script", VERS_ELEM_SCRIPT, &TY_(W3CAttrsFor_SCRIPT)[0], (CM_HEAD|CM_MIXED|CM_BLOCK|CM_INLINE), TY_(ParseScript), NULL },
{ TidyTag_SELECT, "select", VERS_ELEM_SELECT, &TY_(W3CAttrsFor_SELECT)[0], (CM_INLINE|CM_FIELD), TY_(ParseSelect), NULL },
{ TidyTag_SMALL, "small", VERS_ELEM_SMALL, &TY_(W3CAttrsFor_SMALL)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_SPAN, "span", VERS_ELEM_SPAN, &TY_(W3CAttrsFor_SPAN)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_STRIKE, "strike", VERS_ELEM_STRIKE, &TY_(W3CAttrsFor_STRIKE)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_STRONG, "strong", VERS_ELEM_STRONG, &TY_(W3CAttrsFor_STRONG)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_STYLE, "style", VERS_ELEM_STYLE, &TY_(W3CAttrsFor_STYLE)[0], (CM_HEAD|CM_BLOCK), TY_(ParseScript), NULL },
{ TidyTag_SUB, "sub", VERS_ELEM_SUB, &TY_(W3CAttrsFor_SUB)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_SUP, "sup", VERS_ELEM_SUP, &TY_(W3CAttrsFor_SUP)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_SVG, "svg", VERS_ELEM_SVG, &TY_(W3CAttrsFor_SVG)[0], (CM_INLINE|CM_BLOCK|CM_MIXED), TY_(ParseNamespace),NULL },
{ TidyTag_TABLE, "table", VERS_ELEM_TABLE, &TY_(W3CAttrsFor_TABLE)[0], (CM_BLOCK), TY_(ParseTableTag), CheckTABLE },
{ TidyTag_TBODY, "tbody", VERS_ELEM_TBODY, &TY_(W3CAttrsFor_TBODY)[0], (CM_TABLE|CM_ROWGRP|CM_OPT), TY_(ParseRowGroup), NULL },
{ TidyTag_TD, "td", VERS_ELEM_TD, &TY_(W3CAttrsFor_TD)[0], (CM_ROW|CM_OPT|CM_NO_INDENT), TY_(ParseBlock), NULL },
{ TidyTag_TEXTAREA, "textarea", VERS_ELEM_TEXTAREA, &TY_(W3CAttrsFor_TEXTAREA)[0], (CM_INLINE|CM_FIELD), TY_(ParseText), NULL },
{ TidyTag_TFOOT, "tfoot", VERS_ELEM_TFOOT, &TY_(W3CAttrsFor_TFOOT)[0], (CM_TABLE|CM_ROWGRP|CM_OPT), TY_(ParseRowGroup), NULL },
{ TidyTag_TH, "th", VERS_ELEM_TH, &TY_(W3CAttrsFor_TH)[0], (CM_ROW|CM_OPT|CM_NO_INDENT), TY_(ParseBlock), NULL },
{ TidyTag_THEAD, "thead", VERS_ELEM_THEAD, &TY_(W3CAttrsFor_THEAD)[0], (CM_TABLE|CM_ROWGRP|CM_OPT), TY_(ParseRowGroup), NULL },
{ TidyTag_TITLE, "title", VERS_ELEM_TITLE, &TY_(W3CAttrsFor_TITLE)[0], (CM_HEAD), TY_(ParseTitle), NULL },
{ TidyTag_TR, "tr", VERS_ELEM_TR, &TY_(W3CAttrsFor_TR)[0], (CM_TABLE|CM_OPT), TY_(ParseRow), NULL },
{ TidyTag_TT, "tt", VERS_ELEM_TT, &TY_(W3CAttrsFor_TT)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_U, "u", VERS_ELEM_U, &TY_(W3CAttrsFor_U)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_UL, "ul", VERS_ELEM_UL, &TY_(W3CAttrsFor_UL)[0], (CM_BLOCK), TY_(ParseList), NULL },
{ TidyTag_VAR, "var", VERS_ELEM_VAR, &TY_(W3CAttrsFor_VAR)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_XMP, "xmp", VERS_ELEM_XMP, &TY_(W3CAttrsFor_XMP)[0], (CM_BLOCK|CM_OBSOLETE), TY_(ParsePre), NULL },
{ TidyTag_NEXTID, "nextid", VERS_ELEM_NEXTID, &TY_(W3CAttrsFor_NEXTID)[0], (CM_HEAD|CM_EMPTY), TY_(ParseEmpty), NULL },
/* proprietary elements */
{ TidyTag_ALIGN, "align", VERS_NETSCAPE, NULL, (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_BGSOUND, "bgsound", VERS_MICROSOFT, NULL, (CM_HEAD|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_BLINK, "blink", VERS_PROPRIETARY, NULL, (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_COMMENT, "comment", VERS_MICROSOFT, NULL, (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_ILAYER, "ilayer", VERS_NETSCAPE, NULL, (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_LAYER, "layer", VERS_NETSCAPE, NULL, (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_MARQUEE, "marquee", VERS_MICROSOFT, NULL, (CM_INLINE|CM_OPT), TY_(ParseInline), NULL },
{ TidyTag_MULTICOL, "multicol", VERS_NETSCAPE, NULL, (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_NOBR, "nobr", VERS_PROPRIETARY, NULL, (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_NOEMBED, "noembed", VERS_NETSCAPE, NULL, (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_NOLAYER, "nolayer", VERS_NETSCAPE, NULL, (CM_BLOCK|CM_INLINE|CM_MIXED), TY_(ParseBlock), NULL },
{ TidyTag_NOSAVE, "nosave", VERS_NETSCAPE, NULL, (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_SERVER, "server", VERS_NETSCAPE, NULL, (CM_HEAD|CM_MIXED|CM_BLOCK|CM_INLINE), TY_(ParseScript), NULL },
{ TidyTag_SERVLET, "servlet", VERS_SUN, NULL, (CM_OBJECT|CM_IMG|CM_INLINE|CM_PARAM), TY_(ParseBlock), NULL },
{ TidyTag_SPACER, "spacer", VERS_NETSCAPE, NULL, (CM_INLINE|CM_EMPTY), TY_(ParseEmpty), NULL },
/* HTML5 */
{ TidyTag_ARTICLE, "article", VERS_ELEM_ARTICLE, &TY_(W3CAttrsFor_ARTICLE)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_ASIDE, "aside", VERS_ELEM_ASIDE, &TY_(W3CAttrsFor_ASIDE)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_AUDIO, "audio", VERS_ELEM_AUDIO, &TY_(W3CAttrsFor_AUDIO)[0], (CM_BLOCK|CM_INLINE), TY_(ParseBlock), NULL },
{ TidyTag_BDI, "bdi", VERS_ELEM_BDI, &TY_(W3CAttrsFor_BDI)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_CANVAS, "canvas", VERS_ELEM_CANVAS, &TY_(W3CAttrsFor_CANVAS)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_COMMAND, "command", VERS_ELEM_COMMAND, &TY_(W3CAttrsFor_COMMAND)[0], (CM_HEAD|CM_INLINE|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_DATALIST, "datalist", VERS_ELEM_DATALIST, &TY_(W3CAttrsFor_DATALIST)[0], (CM_INLINE|CM_FIELD), TY_(ParseDatalist), NULL },
/* { TidyTag_DATALIST, "datalist", VERS_ELEM_DATALIST, &TY_(W3CAttrsFor_DATALIST)[0], (CM_FIELD), TY_(ParseInline), NULL },*/
{ TidyTag_DATA, "data", VERS_ELEM_DATA, &TY_(W3CAttrsFor_DATA)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_DETAILS, "details", VERS_ELEM_DETAILS, &TY_(W3CAttrsFor_DETAILS)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_DIALOG, "dialog", VERS_ELEM_DIALOG, &TY_(W3CAttrsFor_DIALOG)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_EMBED, "embed", VERS_ELEM_EMBED, &TY_(W3CAttrsFor_EMBED)[0], (CM_INLINE|CM_IMG|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_FIGCAPTION, "figcaption", VERS_ELEM_FIGCAPTION, &TY_(W3CAttrsFor_FIGCAPTION)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_FIGURE, "figure", VERS_ELEM_FIGURE, &TY_(W3CAttrsFor_FIGURE)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_FOOTER, "footer", VERS_ELEM_FOOTER, &TY_(W3CAttrsFor_FOOTER)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_HEADER, "header", VERS_ELEM_HEADER, &TY_(W3CAttrsFor_HEADER)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_HGROUP, "hgroup", VERS_ELEM_HGROUP, &TY_(W3CAttrsFor_HGROUP)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_KEYGEN, "keygen", VERS_ELEM_KEYGEN, &TY_(W3CAttrsFor_KEYGEN)[0], (CM_INLINE|CM_EMPTY), TY_(ParseEmpty), NULL },
{ TidyTag_MAIN, "main", VERS_ELEM_MAIN, &TY_(W3CAttrsFor_MAIN)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_MARK, "mark", VERS_ELEM_MARK, &TY_(W3CAttrsFor_MARK)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_MENU, "menu", VERS_ELEM_MENU, &TY_(W3CAttrsFor_MENU)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_MENUITEM, "menuitem", VERS_ELEM_MENUITEM, &TY_(W3CAttrsFor_MENUITEM)[0], (CM_INLINE|CM_BLOCK|CM_MIXED), TY_(ParseInline), NULL },
{ TidyTag_METER, "meter", VERS_ELEM_METER, &TY_(W3CAttrsFor_METER)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_NAV, "nav", VERS_ELEM_NAV, &TY_(W3CAttrsFor_NAV)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_OUTPUT, "output", VERS_ELEM_OUTPUT, &TY_(W3CAttrsFor_OUTPUT)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_PROGRESS, "progress", VERS_ELEM_PROGRESS, &TY_(W3CAttrsFor_PROGRESS)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_SECTION, "section", VERS_ELEM_SECTION, &TY_(W3CAttrsFor_SECTION)[0], (CM_BLOCK), TY_(ParseBlock), NULL },
{ TidyTag_SLOT, "slot", VERS_ELEM_SLOT, &TY_(W3CAttrsFor_SLOT)[0], (CM_BLOCK|CM_INLINE|CM_MIXED), TY_(ParseBlock), NULL },
{ TidyTag_SOURCE, "source", VERS_ELEM_SOURCE, &TY_(W3CAttrsFor_SOURCE)[0], (CM_BLOCK|CM_INLINE|CM_EMPTY), TY_(ParseBlock), NULL },
{ TidyTag_SUMMARY, "summary", VERS_ELEM_SUMMARY, &TY_(W3CAttrsFor_SUMMARY)[0], (CM_BLOCK), TY_(ParseBlock), NULL }, /* Is. #895 */
{ TidyTag_TEMPLATE, "template", VERS_ELEM_TEMPLATE, &TY_(W3CAttrsFor_TEMPLATE)[0], (CM_BLOCK|CM_HEAD), TY_(ParseBlock), NULL },
{ TidyTag_TIME, "time", VERS_ELEM_TIME, &TY_(W3CAttrsFor_TIME)[0], (CM_INLINE), TY_(ParseInline), NULL },
{ TidyTag_TRACK, "track", VERS_ELEM_TRACK, &TY_(W3CAttrsFor_TRACK)[0], (CM_BLOCK|CM_EMPTY), TY_(ParseBlock), NULL },
{ TidyTag_VIDEO, "video", VERS_ELEM_VIDEO, &TY_(W3CAttrsFor_VIDEO)[0], (CM_BLOCK|CM_INLINE), TY_(ParseBlock), NULL },
{ TidyTag_WBR, "wbr", VERS_ELEM_WBR, &TY_(W3CAttrsFor_WBR)[0], (CM_INLINE|CM_EMPTY), TY_(ParseEmpty), NULL },
/* this must be the final entry */
{ (TidyTagId)0, NULL, 0, NULL, (0), NULL, NULL }
};
static unsigned int tagsHash(ctmbstr s)
{
unsigned int hashval;
for (hashval = 0; *s != '\0'; s++)
hashval = *s + 31*hashval;
return hashval % ELEMENT_HASH_SIZE;
}
static const Dict *tagsInstall(TidyDocImpl* doc, TidyTagImpl* tags, const Dict* old)
{
DictHash *np;
unsigned int hashval;
if (old)
{
np = (DictHash *)TidyDocAlloc(doc, sizeof(*np));
np->tag = old;
hashval = tagsHash(old->name);
np->next = tags->hashtab[hashval];
tags->hashtab[hashval] = np;
}
return old;
}
static void tagsRemoveFromHash( TidyDocImpl* doc, TidyTagImpl* tags, ctmbstr s )
{
unsigned int h = tagsHash(s);
DictHash *p, *prev = NULL;