Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DOCTYPE ??? 
:(
    Опции темы
moric83
Дата 21.9.2007, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 9.7.2007

Репутация: нет
Всего: 1



Код

<?xml version="1.0"?>
<!DOCTYPE COMMAND PUBLIC "-//xxxx//DTD XML Command 1.0//EN" "xml/command.dtd">


Что означает вот это: "-//xxxx//DTD XML Command 1.0//EN", почитал в интернее но всё равно не понял до конца. 
PM MAIL   Вверх
LSD
Дата 22.9.2007, 13:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 8
Всего: 538



Это что-то типа идентификатора данного DTD. Его например используют программы анализаторы, для того чтобы не грузить DTD по указанному URL, а достать из своего кеша.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
korob2001
Дата 23.9.2007, 23:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Если ответить кратко, то FPI (формальный публичный идентификатор).

Для того, что бы понять эту строку: -//xxxx//DTD XML Command 1.0//EN, разобьём её на части по символам //, в итоге получилось четыре части:
Часть 1: -
Часть 2: xxxx
Часть 3: DTD XML Command 1.0
Часть 4: EN

Теперь о каждой из них подробнее:

Часть 1: Определяет подключение к официальному стандарту. Если DTD определяется самостоятельно, то необходимо этой части присвоить символ -. Если используется символ +, это означает, что официальный стандарт не используется, но одобрен. Если же определение DTD является официальным, то используется ссылка на сам стандарт, например: ISO/IEC 15457:154.

Часть 2: Эта часть должна описывать имя группы или одного человека, которые или который будут ответсвенны за это определение DTD, а так же за его поддержку.

Часть 3: Содержит тип документа, который описывает данный DTD.

Часть 4: Содержит используемый язык в определении DTD.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
moric83
Дата 24.9.2007, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 9.7.2007

Репутация: нет
Всего: 1



 smile 
В интернете столько искал но не нашел.

Ишё вот такой вопрос - есть 5 разных файлов XML можно ли их определить в одном файле DTD,  ну тина 
Структура1 или Структура2 или Структура3 или Структура4 или Структура5, и в случае совпадений сруктуры XML файла с одной из файла DTD то всё ок.

PM MAIL   Вверх
korob2001
Дата 24.9.2007, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Если я правильно понял, то тебе нужно определить внешний DTD для разных XML, но с похожей структурой. Допустим у нас есть 2 XML файла:

autos.xml
Код

<?xml version="1.0" encoding="utf-8"?>
<TRANSPORT>
    <AUTO MARK="Mercedes" MODEL="220" />
    <AUTO MARK="BMW" MODEL="850" />
    <AUTO MARK="Ford" MODEL="Mondeo" />
</TRANSPORT>


motos.xml
Код

<?xml version="1.0" encoding="utf-8"?>
<TRANSPORT>
    <MOTO MARK="Suzuki" MODEL="Z-3000" />
    <MOTO MARK="Kawasaki" MODEL="XR-3600" />
    <MOTO MARK="Honda" MODEL="H-8000" />
</TRANSPORT>


Их стуктура похожа, но тег <TRANSPORT></TRANSPORT> содержит разные  дочерние теги, в нашем случае это <AUTO /> и <MOTO /> соответсвенно. Определим внешний DTD для этих двух файлов XML и сохраним его в файл transport.dtd в тот же каталог, где расположены XML файлы:

transport.dtd
Код

<!ELEMENT TRANSPORT (AUTO|MOTO)+>
<!ELEMENT AUTO (#PCDATA)>
<!ELEMENT MOTO (#PCDATA)>
<!ATTLIST AUTO
    MODEL CDATA #REQUIRED
    MARK CDATA #REQUIRED>
<!ATTLIST MOTO
    MODEL CDATA #REQUIRED
    MARK CDATA #REQUIRED>

Теперь нам осталось только подключить к каждому XML файлу, созданный DTD. Так будут выглядеть наши файлы XML:

autos.xml
Код

<?xml version="1.0" encoding="utf-8"?>
<!--// Подключаем внешнее определение DTD, а так же определяем //-->
<!--// новый, не обязательный атрибут CLASS, так как некоторые //-->
<!--// марки автомобилей так же разделяются на классы.         //-->
<!--// Например Mercedes может имеет классы C, E и т.п.        //-->
<!DOCTYPE TRANSPORT SYSTEM "./transport.dtd" [  
    <!ATTLIST AUTO
        CLASS CDATA #IMPLIED>
]>
<TRANSPORT>
    <AUTO MARK="Mercedes" MODEL="220" CLASS="C" />
    <AUTO MARK="BMW" MODEL="850" />
    <AUTO MARK="Ford" MODEL="Mondeo" />
</TRANSPORT>

Читай коментарии выше, здесь мы не просто подключили внешнее определение, но ещё и добавили не обязательный атрибут CLASS, свойственный только некоторым маркам автомобилей.

Для мотоциклов не нужно добавлять никаких дополнительных атрибутов, потому просто подключаем внешнее определение DTD, в файле motos.xml
Код

<?xml version="1.0" encoding="utf-8"?>
<!--// Просто подключаем внешнее определение DTD //-->
<!DOCTYPE TRANSPORT SYSTEM "./transport.dtd">
<TRANSPORT>
    <MOTO MODEL="Suzuki" MARK="Z-3000" />
    <MOTO MODEL="Kawasaki" MARK="XR-3600" />
    <MOTO MODEL="Honda" MARK="H-8000" />
</TRANSPORT>


Ну вот собстенно и всё. Теперь можешь проверить документы на формальную корректность, а так же на действительность.

PS: Если я не верно понял вопрос, то опиши подробнее, что именно нужно?

Это сообщение отредактировал(а) korob2001 - 24.9.2007, 23:12


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.