Каковы все допустимые закрывающиеся автоматически элементы в XHTML (как реализовано главными браузерами)?

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
183
задан Nathan Koop 7 September 2012 в 08:12
поделиться

10 ответов

Каждый браузер, который поддерживает XHTML (Firefox, Opera, Safari, IE9) поддерживает закрывающийся автоматически синтаксис на [1 139] каждый элемент .

<div/>, <script/>, <br></br> все должны работать просто великолепно. Если они не делают, то Вы имеете HTML с неуместно добавленным XHTML DOCTYPE.

DOCTYPE не изменяется, как документ интерпретируется. Только тип MIME делает .

решение W3C об игнорировании DOCTYPE:

HTML WG обсудила этот вопрос: намерение состояло в том, чтобы позволить старым браузерам (только для HTML) принимать документы XHTML 1.0 следующим инструкции и обслуживание их как текст/HTML. Поэтому документы служили текстом/HTML, должен рассматриваться как HTML и не как XHTML.

Это - очень распространенная ошибка, потому что Блок проверки допустимости W3C в основном игнорирует то правило, но браузеры следуют за ним неукоснительно. Читайте HTML Понимания, XML и XHTML из блога WebKit:

На самом деле, подавляющее большинство, предположительно, документов XHTML в Интернете подается в качестве text/html. Что означает, что они не XHTML вообще, но на самом деле недопустимый HTML that’s продвигающийся на обработке ошибок синтаксических анализаторов HTML. Все те “Valid XHTML 1.0! В ссылках ” на сеть действительно говорится HTML 4.01 “Invalid! ”.

<час>

, Чтобы протестировать, есть ли у Вас реальный XHTML или недопустимый HTML с DOCTYPE XHTML, поместите это в свой документ:

<span style="color:green"><span style="color:red"/> 
 If it's red, it's HTML. Green is XHTML.
</span>

Это проверяет, и в реальном XHTML это работает отлично (см.: 1 по сравнению с [1 115] 2 ). Если Вы не можете верить глазам (или не знайте, как установить типы MIME), откройте свою страницу через [1 116] прокси XHTML .

Другим способом проверить является источник представления в Firefox. Это выделит наклонные черты красного цвета, когда они будут недопустимы.

В HTML5/XHTML5 это не изменилось, и различие еще более ясно, потому что Вы даже не имеете дополнительными DOCTYPE. Content-Type король.

<час>

Для записи, спецификация XHTML позволяет любому элементу быть закрывающимся автоматически путем создания XHTML приложение XML: [шахта акцента]

Пустые теги элементов могут использоваться для [1 141] любой элемент, который не имеет никакого содержания , объявляется ли это с помощью ПУСТОГО ключевого слова.

Это также явно показывают в спецификация XHTML:

Пустые элементы должны или , имеют конечный тэг или тег запуска, должен закончиться />. Например, <br/> или <hr></hr>

180
ответ дан Kornel 23 November 2019 в 06:01
поделиться

< час/> другой

-2
ответ дан Darren Kopp 23 November 2019 в 06:01
поделиться

Другой сам проблема закрывающего тэга для IE является элементом заголовка. Когда IE (просто попробовал его в IE7) видит это, это представляет пользователя пустая страница. Однако Вы "просматриваете источник", и все там.

<title/>

я первоначально видел это когда мой XSLT, сгенерированный сам закрывающий тэг.

2
ответ дан Kevin Hakanson 23 November 2019 в 06:01
поделиться

В прошлый раз, когда я проверил, следующее были пустые/пустые элементы, перечисленные в HTML5.

Допустимый для авторов: область, основа, br, седло, команда, встраивает, eventsource, час, img, ввела, связывается, meta, параметрический усилитель, источник

Недопустимый для авторов: basefont, bgsound, кадр, распорная деталь, wbr

Помимо некоторых, которые являются новыми в HTML5, который должен дать Вам общее представление о, которые могли бы поддерживаться при обслуживании XHTML в качестве текста/HTML. (Просто протестируйте их путем исследования произведенного DOM.)

Что касается XHTML служил application/xhtml+xml (который делает его XML), правила XML применяются, и любой элемент может быть пустым (даже при том, что DTD XHTML не может выразить этого).

4
ответ дан Shadow2531 23 November 2019 в 06:01
поделиться

Необходимо взглянуть xHTML ДАТЫ , они все перечислены. Вот является быстрый обзор всеми основными:

<br />
<hr />
<img />
<input />
4
ответ дан Kevin 23 November 2019 в 06:01
поделиться

От справочный сайт Школ W3 :

<area />
<base />
<basefont />
<br />
<hr />
<input />
<img />
<link />
<meta />
34
ответ дан Sheridan 23 November 2019 в 06:01
поделиться

Закрывающийся автоматически синтаксис работает над всеми элементами в application/xhtml+xml. Это, который isn’t поддерживал на любом элементе в тексте/HTML, но элементы, которые являются “empty” в HTML4 или “void” в HTML5 don’t, берут конечный тэг так или иначе, поэтому при помещении наклонной черты на тех, которые появляется, как будто закрывающийся автоматически синтаксис поддерживался.

35
ответ дан hsivonen 23 November 2019 в 06:01
поделиться

Один элемент, чтобы быть очень осторожным с по этой теме <script> элемент. Если у Вас будет внешний исходный файл, он вызовет проблемы сам при закрытии его. Попробуйте его:

<!-- this will not consistently work in all browsers! -->
<script type="text/javascript" src="external.js" />

Это будет работать в Firefox, но перерывах в IE6, по крайней мере. Я знаю, потому что я столкнулся с этим, когда фанатично сам закрытие каждого элемента я видел;-)

40
ответ дан maček 23 November 2019 в 06:01
поделиться

Что относительно <meta> и <link>? Почему они не находятся в том списке?

Быстрое эмпирическое правило, не самозакрывайте элемент, который предназначается для имения содержания, потому что это определенно вызовет проблемы браузера рано или поздно.

Те, которые являются естественно закрывающимися автоматически, как <br> и <img>, должны быть очевидными. Те, которые не являются... просто, не самозакрывают их!

5
ответ дан AmbroseChapel 23 November 2019 в 06:01
поделиться

Надеюсь, это кому-то поможет:

<base />
<basefont />
<frame />
<link />
<meta />

<area />
<br />
<col />
<hr />
<img />
<input />
<param />
10
ответ дан 23 November 2019 в 06:01
поделиться