Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Parser extends Object implements DTDConstants
К сожалению, там есть много ужасно реализованных синтаксических анализаторов HTML, и в результате есть много ужасно отформатированных файлов HTML. Этот синтаксический анализатор пытается проанализировать большинство файлов HTML. Это означает, что реализация иногда отклоняется от спецификации SGML в пользу HTML.
Синтаксический анализатор обрабатывает \r и \r\n как \n. Новые строки после starttags и перед конечными тэгами игнорируются так же, как определено в спецификации SGML/HTML.
Спецификация html не определяет, как пробелы должны быть объединены очень хорошо. Определенно, следующие сценарии не обсуждаются (отметьте, что пространство должно быть использовано здесь, но я использую  , чтобы вынудить пространство быть выведенным на экран):
'<b> вздор <i> <забастовка> foo', который может быть обработан как: '<b> вздор <i> <забастовка> foo'
так же как: '<p> <href = "xx"> <em> Используя </em> </a> </p>', который, кажется, обрабатывается как: '<p> <href = "xx"> <em> Используя </em> </a> </p>'
Если strict
ложь, когда тег, который повреждает поток, (TagElement.breaksFlows
) или с запаздывающим пробелом встречаются, весь пробел будет проигнорирован, пока с не пробельным символом не встречаются. Это, кажется, дает поведение ближе популярным браузерам.
DTD
, TagElement
, SimpleAttributeSet
Модификатор и Тип | Поле и Описание |
---|---|
protected DTD |
дата |
protected boolean |
строгий
Этот флаг определяет, будет ли Синтаксический анализатор строг в осуществлении совместимости SGML.
|
ANY, CDATA, CONREF, CURRENT, DEFAULT, EMPTY, ENDTAG, ENTITIES, ENTITY, FIXED, GENERAL, ID, IDREF, IDREFS, IMPLIED, MD, MODEL, MS, NAME, NAMES, NMTOKEN, NMTOKENS, NOTATION, NUMBER, NUMBERS, NUTOKEN, NUTOKENS, PARAMETER, PI, PUBLIC, RCDATA, REQUIRED, SDATA, STARTTAG, SYSTEM
Модификатор и Тип | Метод и Описание |
---|---|
protected void |
endTag(boolean omitted)
Обработайте конечный тэг.
|
protected void |
error(String err) |
protected void |
error(String err, String arg1) |
protected void |
error(String err, String arg1, String arg2) |
protected void |
error(String err, String arg1, String arg2, String arg3)
Вызовите обработчик ошибок.
|
protected void |
flushAttributes() |
protected SimpleAttributeSet |
getAttributes() |
protected int |
getCurrentLine() |
protected int |
getCurrentPos() |
protected void |
handleComment(char[] text)
Вызванный, когда с комментарием HTML встречаются.
|
protected void |
handleEmptyTag(TagElement tag)
Вызванный, когда с пустым тегом встречаются.
|
protected void |
handleEndTag(TagElement tag)
Вызванный, когда с конечным тэгом встречаются.
|
protected void |
handleEOFInComment() |
protected void |
handleError(int ln, String msg)
Ошибка произошла.
|
protected void |
handleStartTag(TagElement tag)
Вызванный, когда с тегом запуска встречаются.
|
protected void |
handleText(char[] text)
Вызванный, когда с PCDATA встречаются.
|
protected void |
handleTitle(char[] text)
Вызванный, когда HTML с тегом title встречаются.
|
protected TagElement |
makeTag(Element elem) |
protected TagElement |
makeTag(Element elem, boolean fictional)
Делает TagElement.
|
protected void |
markFirstTime(Element elem)
Отмечает в первый раз, когда тег был замечен в документе
|
void |
parse(Reader in)
Проанализируйте поток HTML учитывая DTD.
|
Строка |
parseDTDMarkup()
Синтаксические анализы th описание разметки Типа Объявления Документа.
|
protected boolean |
parseMarkupDeclarations(StringBuffer strBuff)
Проанализируйте описания разметки.
|
protected void |
startTag(TagElement tag)
Обработайте тег запуска.
|
protected DTD dtd
protected boolean strict
public Parser(DTD dtd)
protected int getCurrentLine()
protected TagElement makeTag(Element elem, boolean fictional)
protected TagElement makeTag(Element elem)
protected SimpleAttributeSet getAttributes()
protected void flushAttributes()
protected void handleText(char[] text)
protected void handleTitle(char[] text)
protected void handleComment(char[] text)
protected void handleEOFInComment()
protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException
ChangedCharSetException
protected void handleStartTag(TagElement tag)
protected void handleEndTag(TagElement tag)
protected void handleError(int ln, String msg)
protected void error(String err, String arg1, String arg2, String arg3)
protected void error(String err)
protected void startTag(TagElement tag) throws ChangedCharSetException
ChangedCharSetException
protected void endTag(boolean omitted)
protected void markFirstTime(Element elem)
public String parseDTDMarkup() throws IOException
IOException
protected boolean parseMarkupDeclarations(StringBuffer strBuff) throws IOException
IOException
public void parse(Reader in) throws IOException
IOException
protected int getCurrentPos()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92