|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Есть файл XML, который заполняет поставщик (в нем находится описание товаров, причем описание может быть в формате HTML). После того, как файл загружен на сервер, его обрабатывает робот, показывает в контейнере HTML разметку - описание товара, взятую из XML. Необходимо каким-то образом проверять (с помощью схемы, если можно, еще на стадии валидации XML файла) содержимое HTML, по сути, проверяем валидный (закрыты ли все открытые теги и т.п.) ли HTML код находится в одном из элементов XML файла или нет. Если такую проверку не делать и поставщик допустит ошибку в форматировании описания HTML, будет испорчена общая верстка страницы, на которой показывается выборка XML. Есть идеи? Может кто-то уже делал подобное? Задача, мне кажется, распространенная. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 18:39 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Если есть незакрытые теги и прочие проблемы синтаксиса, xml-процессор выдаст ошибку при загрузке документа. Ее можно вернуть нерадивому клиенту с просьбой исправить. В чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 19:02 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RND, про TIDY почитайте, одно из свойств делать из обычного HTML валидный XHTML, когда пользоваться ее услугами - решать вам, при закачке клиентом контента, перед загрузкой в дом... решать вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 19:34 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
mage.lan, Нашел в документации два способа, но не знаю каким воспользоваться. Первый способ: Схема Код: xml 1. 2. 3. 4. 5. 6. 7.
Содержимое файла XML Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
Парсер ничего не говорит, т.е. все в порядке, все проходит по схеме, но проходят любые теги, т.к. нет определяющей схемы пространства имен для xHTML. Второй способ: Схема Код: xml 1. 2. 3. 4. 5. 6. 7.
Содержимое файла XML Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
Парсер выдает ошибку для <div>-ва, т.к. в нем не указано явно пространство имен. Как сделать так, чтобы пользователь, когда записывал значения в это поле файла не утруждался и не писал каждому тегу пространство имен? Причем тег <H1> проходит только, если атрибут processContents="skip", а при processContents="strict" ругается, даже не смотря на, явное указание пространства имен. Чутье подсказывает, что нужно использовать второй вариант, но как заставить работать, как надо пока не пойму. Нужно, со вторым вариантом схемы прийти к такому: Содержимое файла XML Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
Помогите! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 19:43 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2012, 22:27 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
_Vasilisk_, Работает, спасибо! Существует ли другой способ (например, где-то в схеме прописать или как-нибудь обертывать автоматически контент)? Сразу вопрос вдогонку. Как составить регулярное выражение, чтобы на этапе валидации содержимое HTML было невелидным, если встречается <a href="любой URI".....> и <img src="любой URI">? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 13:43 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RND(например, где-то в схеме прописать или как-нибудь обертывать автоматически контент)?Схема не создает контента, поэтому все вопросы к тому, кто этот XML создает Santa_RNDКак составить регулярное выражение, чтобы на этапе валидации содержимое HTML было невелидным, если встречаетсяЯвно перечислить все допустимые элементы ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 17:22 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
_Vasilisk_, Ок. А что делать с ссылками и изображениями, как их проверять на этапе валидации? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 17:24 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RNDОк. А что делать с ссылками и изображениями, как их проверять на этапе валидации?А как Вы хотите их проверять? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 17:31 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
_Vasilisk_, У поставщиков-клиентов, которые заполняют описание копирайтеры могут по ошибке вставить HTML, содержащий какой-либо CTRL+C | CTRL+V кусок размести (в том числе ссылки и изображения). Нужно, чтобы схема умела говорить - "Поле такое-то содержит запрещенные теги (<a>, <img>)". То что на стороне сервера будет это уже другой вопрос, хочется клиенту сообщать о том, что он не прав на этапе валидации схемой. Надеюсь, доступно объяснил. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 17:34 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RNDхочется клиенту сообщать о том, что он не прав на этапе валидации схемой._Vasilisk_Явно перечислить все допустимые элементы ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 18:08 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
_Vasilisk_, Благодарю. Надеялся, что можно по-другому, но нет( ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 18:10 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RND, Можете пример привести, как правильно все допустимые теги перечислить в схеме для содержимого Element "ManufacturerDescription"? Я так понимаю, нужно первый вариант будет использовать (без указания пространства имен - http://www.w3.org/1999/xhtml)? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 18:32 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Нужно определить отдельную схему в пространстве имен http://www.w3.org/1999/xhtml)?%5Dhttp://www.w3.org/1999/xhtml(%D0%B8%D0%BB%D0%B8]http://www.w3.org/1999/xhtml)?]http://www.w3.org/1999/xhtml(или скачать ее с w3c) и проимпортировать єту схему в основную RTFM xsd:import ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 23:10 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
_Vasilisk_, можно пример? сроки горят, я третий день, как с XML Schema сзязался, пока еще не в зуб ногой( ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 23:14 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RNDможно пример?Две схемы с различными targetNamespace Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 23:28 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
_Vasilisk_, Кажется, понял. Попробую, обязательно отпишусь о своих успехах. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 23:31 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
_Vasilisk_, пришли, пожалуйста, свою почту в личку, вышлю схему и тестовый файл с данными, что-то никак не получается( Ругается на то, что не может схемы забрать из URI. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 13:51 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Здесь к сообщению можно прикреплять файлы ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 14:33 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
_Vasilisk_, ок. сразу не заметил. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 14:39 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RND, ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 14:39 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RND, sample ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 14:40 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RND, Сравните это Код: xml 1.
и это _Vasilisk_ Код: xml 1.
и найдите отличия ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 15:16 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
_Vasilisk_, w3.xsd - так эту схему нужно скачать и положить в какую-то директорию? где ее взять? schemaLocation="w3.xsd" - говорит о том, что схема лежит в той же папке или я не прав? что-то запутался. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 15:20 |
|
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
|
|||
---|---|---|---|
#18+
Santa_RNDчто-то запутался. _Vasilisk_ Код: javascript 1.
_Vasilisk_ Код: javascript 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 16:05 |
|
|
start [/forum/topic.php?fid=14&msg=37761663&tid=1332733]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
101ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 208ms |
0 / 0 |