2012-04-12 1 views
1

Я просто читал this XML Syntax tutorial и нашел определения «директив обработки» (<? ... ?>) и «декларативные заявления» (<! ... >) немного туманно. Суть, которую я получаю от чтения этой страницы, заключается в том, что оба они - способы документирования, указывающие процессору документа, как это сделать.В чем разница между «Директивой по обработке» и «Декларативным заявлением» в XML?

Например, вот общий кусок кода, который я думаю, что многие будут знакомы с:

<?xml version="1.0"?> 
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

Насколько я понимаю, это оба инструкции по обработке документа. Так в чем разница?

ответ

3

Некоторые люди, когда они пишут учебники, стараются быть полезными и придумывают свою собственную терминологию в надежде, что людям будет легче понять, чем язык самой спецификации. Автор этого конкретного учебника, похоже, вышел за борт в этом отношении. Ни один из этих терминов не является официальным термином XML.

Первое, что в вашем примере - это объявление XML. Он сообщает парсеру XML, какую версию XML вы используете, и какова кодировка символов вашего документа.

Вторая вещь в вашем примере - это объявление DOCTYPE. Он сообщает парсеру XML, какой XML-словарь вы используете (в данном случае, словарь XHTML), который дает парсеру возможность проверить, правильно ли вы используете словарь (т. Е. Что ваш документ действителен в отношении DTD с ссылкой).

+0

Спасибо, имейте в виду, что это не официальные термины. Мне было интересно, почему я не мог найти что-нибудь еще на них :) – CptSupermrkt

Смежные вопросы