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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> <![CDATA ]]> и Валидность документа 
:(
    Опции темы
Nastya
Дата 18.5.2005, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 2
Всего: 44



В DTD тэг описан так
Код

<!ELEMENT STAGE (STAGE*|CDATA?|EXECUTE*)>

Проверяю валибность документа при помощи http://www.validome.org/validate
Выдает ошибку в тэге
Код

<STAGE >
    <![CDATA[ ]>
 </STAGE>  

Ошибка звучит так: "character data is not allowed here"Судя по всему что -то не так именно в описании документа.
Помогите, плиз



--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
batigoal
Дата 18.5.2005, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



А вот тут
Код
<![CDATA[ ]>

точно должны быть угловые скобки?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Nastya
Дата 18.5.2005, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 2
Всего: 44



Без угловых скобок дает ту же ошибку, кроме того именно так, вставляет данные dom парсер, когда вызываешь createCDATASection.
Тут скорее всего ошибка в DTD, но как сделать правильно?


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
3,14
Дата 18.5.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 10
Всего: 24



Ошибка в том что в теге содержиться пробел
Цитата(Nastya @ 18.5.2005, 09:42)
<STAGE >




--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
Nastya
Дата 18.5.2005, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 2
Всего: 44



Цитата
Ошибка в том что в теге содержиться пробел

Это я для примера привела, на самом деле там дальше идет перечисление аттрибутов


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Ignat
Дата 18.5.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 2
Всего: 73



Цитата

<![CDATA[ ]]>


А скобка не пропущена?


--------------------
Теперь при чем :P
PM   Вверх
batigoal
Дата 18.5.2005, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



Сейчас подумал - а нет ли здесь каких-нибудь зарезервированных слов или символов (CDATA или !] ) ?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Ignat
Дата 18.5.2005, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 2
Всего: 73



Цитата(Lamer @ 18.5.2005, 21:51)
а нет ли здесь каких-нибудь зарезервированных слов или символов


Есть, две квадратных скобки ]], больше не знаю.
Добавлено @ 21:07
Соврал: только две квадратные в комплекте с одной угловой ]]>

Здесь про CDATA.


--------------------
Теперь при чем :P
PM   Вверх
Nastya
Дата 19.5.2005, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 2
Всего: 44



Измвените, эт я в форуме опечаталась у меня стоить две закрывающиеся скобки
Код

<![CDATA[ ]]>

Кроме того, повторюсь,ч то на те строки, которые вставляет DOM-парсер реагирует так же. Я уверена, что не правльно описала DTD, но как это сделать, Игнат, в том документе я не нашла smile



--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Ignat
Дата 19.5.2005, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 2
Всего: 73



Nastya, код в студию.

Если большой - прицепи к теме файлом.


--------------------
Теперь при чем :P
PM   Вверх
batigoal
Дата 19.5.2005, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



Я в XML почти не разбираюсь, но не должно ли здесь быть #PCDATA вместо CDATA?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Ignat
Дата 19.5.2005, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 2
Всего: 73



Цитата(Lamer @ 19.5.2005, 12:47)
но не должно ли здесь быть #PCDATA вместо CDATA?

Нет. CDATA - набор символьных данных, которые не могут быть описаны xml либо их не имеет смысла описывать.


--------------------
Теперь при чем :P
PM   Вверх
Nastya
Дата 19.5.2005, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 2
Всего: 44



Я кусочек, хорошо, и строки текста поменяю
Код

<?xml version="1.0" encoding="Windows-1251" ?>
<!DOCTYPE INSPECTION [
        <!ELEMENT INSPECTION (INIT?,DESTROY?,DISCRIPTION?,CDATA?,STAGE*,MODE*)+>
        <!ELEMENT STAGE (STAGE*,CDATA?,EXECUTE*)+>
        <!ELEMENT MODE  (STAGE*,MODE*)+>
        <!ELEMENT INIT (CDATA?,EXECUTE*)+>
        <!ELEMENT DESTROY (CDATA?,EXECUTE*)+>
        <!ELEMENT DESCRIPTION (CDATA?)+>
        
        <!ATTLIST INSPECTION ProjectName CDATA "">
        <!ATTLIST INSPECTION DiviceModel CDATA "">
        <!ATTLIST INSPECTION DeviceNumber CDATA "">
        <!ATTLIST INSPECTION Creator CDATA "">  
        <!ATTLIST INSPECTION id CDATA #REQUIRED>  

        <!ATTLIST STAGE id CDATA #REQUIRED>
        <!ATTLIST STAGE description CDATA "">   
        <!ATTLIST STAGE state (0|1) "0">
        <!ATTLIST STAGE language CDATA #IMPLIED>
        <!ATTLIST STAGE LevelAccess CDATA "7">  

        <!ATTLIST MODE id CDATA #REQUIRED>
        <!ATTLIST MODE description CDATA "">
        
        <!ATTLIST EXECUTE code CDATA #REQUIRED>
        <!ATTLIST EXECUTE startdate CDATA #IMPLIED>     
        <!ATTLIST EXECUTE enddate CDATA #IMPLIED>
        <!ATTLIST EXECUTE username CDATA #IMPLIED>      
]>
<INSPECTION id="????????????????">

    <MODE id="a"">
         <MODE id="b">
             <STAGE id="c" description="" language="Python">
                <![CDATA[ ]]>
            </STAGE>    
              <STAGE id="d" description="" language="Python">
                <![CDATA[ ]]>
            </STAGE>
             <STAGE id="f" description="" language="Python">
                <![CDATA[ ]]>
            </STAGE>  
         </MODE>
         <MODE id="g">
            <STAGE id="h"" language="Python">
                <![CDATA[ ]]>
            </STAGE>
             <STAGE id="g"" language="Python">
                <![CDATA[ ]]>
            </STAGE>    
              <STAGE id="k"" language="Python">
                <![CDATA[ ]]>
            </STAGE>
             <STAGE id="l"" language="Python">
                <![CDATA[ ]]>
            </STAGE>  
         </MODE>
     </MODE>   <! -- и т.д.-->

http://www.validome.org/validate
дает ошибки
Цитата

Строка Колонка: 26
35 Ошибка: Знаки здесь не допускаются
  Место ошибки: <![CDATA[ ]]>


Строка Колонка: 26
38 Ошибка: Знаки здесь не допускаются
  Место ошибки: <![CDATA[ ]]>



и т.д.


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Ignat
Дата 19.5.2005, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 2
Всего: 73



Я бы описал так:
Цитата
<!ELEMENT STAGE (#PCDATA|(STAGE*,EXECUTE*))+>

В описании элемента нужно использовать #PCDATA/


--------------------
Теперь при чем :P
PM   Вверх
Nastya
Дата 19.5.2005, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 2
Всего: 44



Цитата

бы описал так:

Цитата 
<!ELEMENT STAGE (#PCDATA|(STAGE*,EXECUTE*))+>

В описании элемента нужно использовать #PCDATA/

Если я правильно поняла, то | означает или, т.е. или у меня содеражтся данные иил другие элементы, но мне надо именно "и", т.е. запятая.
Написала так
Код

<?xml version="1.0" encoding="Windows-1251" ?>
<!DOCTYPE INSPECTION [
        <!ELEMENT INSPECTION (#PCDATA,INIT?,DESTROY?,DISCRIPTION?,STAGE*,MODE*)+>
        <!ELEMENT STAGE ( #PCDATA,STAGE*,EXECUTE*)+>
        <!ELEMENT MODE  (STAGE*,MODE*)+>
        <!ELEMENT INIT (#PCDATA,EXECUTE*)+>
        <!ELEMENT DESTROY (#PCDATA,EXECUTE*)+>
        <!ELEMENT DESCRIPTION (#PCDATA)+>
        
        <!ATTLIST INSPECTION ProjectName CDATA "">
        <!ATTLIST INSPECTION DiviceModel CDATA "">
        <!ATTLIST INSPECTION DeviceNumber CDATA "">
        <!ATTLIST INSPECTION Creator CDATA "">  
        <!ATTLIST INSPECTION id CDATA #REQUIRED>  

        <!ATTLIST STAGE id CDATA #REQUIRED>
        <!ATTLIST STAGE description CDATA "">   
        <!ATTLIST STAGE state (0|1) "0">
        <!ATTLIST STAGE language CDATA #IMPLIED>
        <!ATTLIST STAGE LevelAccess CDATA "7">  

        <!ATTLIST MODE id CDATA #REQUIRED>
        <!ATTLIST MODE description CDATA "">
        
        <!ATTLIST EXECUTE code CDATA #REQUIRED>
        <!ATTLIST EXECUTE startdate CDATA #IMPLIED>     
        <!ATTLIST EXECUTE enddate CDATA #IMPLIED>
        <!ATTLIST EXECUTE username CDATA #IMPLIED>      
]>

При проверки получила результат:
Цитата

Предупреждение
Найденная кодировка "windows-1251" не поддерживается, или не существует.
Взамен взята "utf-8", которая и была применена для проверки.
Список всех кодировок вы найдете здесь.


Строка 3, колонка 37: #PCDATA в группе SEQ


Строка 4, колонка 33: #PCDATA в группе SEQ


Строка 6, колонка 31: #PCDATA в группе SEQ


Строка 7, колонка 34: #PCDATA в группе SEQ


Строка 8, колонка 39: #PCDATA в группе моделей без индикатора повторяемости REP




Документ соответствует спецификациям
Документ "48-ДКК[1][1].00-00.000_1.xml" успешно проверен в соответствии с DTD .

Если Вы применяете CSS, то Вам необходимо его также проверить на соответствие стандарту. Для этого Вы можете воспользоваться CSS Validations Service от W3C.



Т.е., как я поняла все нормально, но вот только XMLSPY (это судя по всему очень хороший редактор), по прежнему пишет "This is not wel-formed % exspected" ине хочет его в браузере показывать smile



--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

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

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

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


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

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


 




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


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

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