Мислех, че XML е приложение на SGML и че синтаксисът по подразбиране за SGML декларация започва с разделител "<!"
.
Въз основа на това разбиране не ми е ясно как възниква "<?"
.
Моля, някой би ли обяснил? Благодаря ти.
Мислех, че XML е приложение на SGML и че синтаксисът по подразбиране за SGML декларация започва с разделител "<!"
.
Въз основа на това разбиране не ми е ясно как възниква "<?"
.
Моля, някой би ли обяснил? Благодаря ти.
<!
започва декларация DOCTYPE, а <?
започва инструкция за обработка. Инструкцията за обработка <?xml
е специфицирана от стандарта, за да покаже, че това, което следва, е XML, да посочи версията на XML и кодирането на текста. Той няма връзка с действителната структура на документа, което е нещо, което би направила декларацията DOCTYPE. Не съм сигурен защо декларацията на DOCTYPE е посочена по различен начин от инструкцията за обработка, но много (може би повечето) XML документи в наши дни имат структура, дефинирана от XML схема или RelaxNG вместо това, и само DTD може да бъде препратен от DOCTYPE. Има и други начини за използване на инструкции за обработка; най-вече те бяха въведени, за да предоставят на продавачите страничен вход за техните собствени функции. Вероятно втората най-честа употреба е за свързване към XSLT или CSS таблици със стилове.
Първоначално XML е замислен като опростено подмножество на SGML, но оттогава е станал много по-различен. Не би било наистина честно да се каже, че XML „е“ вече SGML в никакъв смисъл, само че те са свързани по история и генеалогия.
DOCTYPE
декларациите и XML декларациите са доста различни неща. Не е странно, че са посочени по различен начин.
- person mzjn; 18.07.2011