Ошибка xml в стиль причина слишком много тегов

I have created a PL/SQL procedure to generate excel spreadsheets (in XML format) those are downloadable from an Oracle Application Express (Apex).

However,

When one generate a second file when the first one is still open in Excel then it gets the following error message:

XML ERROR in Workbook Setting
REASON: Too many tags
FILE:   C:...
GROUP:  Workbook
TAG:    Worksheet
ATTRIB: Name
VALUE:  Sheet1

XML ERROR in Workbook Setting
REASON: Too many tags
FILE:   C:...
TAG:    Worksheet
ATTRIB: Name
VALUE:  Sheet2

XML ERROR in Workbook Setting
REASON: Too many tags
FILE:   C:....
GROUP:  Workbook
TAG:    Worksheet
ATTRIB: Name
VALUE:  Sheet3

I think it is related to the «Worksheet» tag. However, the issue cannot always be replicated.

Thanks in advance.

asked Feb 25, 2013 at 17:12

LSdev's user avatar

Make sure you’re not trying to name more than one worksheet with the same name.

Open the xml document in a text editor and do a search for (e.g.) «Sheet1» if you find the line

 <Worksheet ss:Name='Sheet1'>

in more than one place then your procedure is generating duplicate worksheet names.

answered May 15, 2013 at 11:00

Khorne's user avatar

KhorneKhorne

1661 silver badge6 bronze badges

1

Цитата:

Сообщение от Gennady Antropov
Посмотреть сообщение

Вот, воспользовавшись идеей Storkichа, сделал функции экспорта в Excel.

Замечательная весчь получилось, спасибо вам
Единственный вопрос, у меня почему то вылетает ошибка
Вызов функции _Open неудачен MS Office Excel вернул следующее сообщение: Метод _Open из класса Workbooks завершен не верно
Эта ошибка вылетает если в триггере

Sheet2 — OnAfterGetRecord()
InsData(Number, 1, ‘Хай №’ + FORMAT(Number),

TRUE, 20, 4);
InsData(Number, 3, FORMAT(Number), FALSE, 10, 0);

TRUE, 20, 4 не равны стандартным значениям т.е. FALSE, 10, 0

И при разборе xml в логах пишется вот это;

Ошибка XML в «Настройка книги»
Причина: Слишком много тегов
Файл: C:DOCUME~1kas_leoLOCALS~1Tempreport.xml
Группа: Workbook
Тег: Styles

Ошибка XML в «Таблица»
Причина: Ошибочное значение
Файл: C:DOCUME~1kas_leoLOCALS~1Tempreport.xml
Группа: Row
Тег: Cell
Атрибут: StyleID
Значение: s3_1

Ошибка XML в «Таблица»
Причина: Ошибочное значение
Файл: C:DOCUME~1kas_leoLOCALS~1Tempreport.xml
Группа: Row
Тег: Cell
Атрибут: StyleID
Значение: s3_1

Ошибка XML в «Таблица»
Причина: Ошибочное значение
Файл: C:DOCUME~1kas_leoLOCALS~1Tempreport.xml
Группа: Row
Тег: Cell
Атрибут: StyleID
Значение: s3_1
В чем проблема даже не могу представить, может поможете разобраться?
С уважением LOGic

Я создал процедуру PL/SQL для создания электронных таблиц Excel (в формате XML), которые можно загрузить из Oracle Application Express (Apex).

Тем не мение,

Когда один генерирует второй файл, когда первый еще открыт в Excel, он получает следующее сообщение об ошибке:

XML ERROR in Workbook Setting
REASON: Too many tags
FILE:   C:...
GROUP:  Workbook
TAG:    Worksheet
ATTRIB: Name
VALUE:  Sheet1

XML ERROR in Workbook Setting
REASON: Too many tags
FILE:   C:...
TAG:    Worksheet
ATTRIB: Name
VALUE:  Sheet2

XML ERROR in Workbook Setting
REASON: Too many tags
FILE:   C:....
GROUP:  Workbook
TAG:    Worksheet
ATTRIB: Name
VALUE:  Sheet3

Я думаю, что это связано с тегом «Рабочий лист». Однако проблема не всегда может быть воспроизведена.

Заранее спасибо.

URL недоступны

Google не удалось просканировать адреса из файла Sitemap. Проверьте, доступны ли URL в нем нашему роботу, с помощью этого инструмента.

Переход по URL не выполнен

Google не удалось просканировать все URL, указанные в файле Sitemap. Возможные причины:

  • При переходе по URL слишком много раз выполняется переадресация, и поисковые роботы Google останавливаются, не достигая цели. Рекомендуем заменить все URL переадресации на адреса непосредственно тех страниц, которые нужно просканировать.
    • Если вы все время применяете переадресацию с одной страницы на другую, используйте постоянную переадресацию.
    • Рекомендуем отказаться от переадресации с помощью JavaScript или метатега refresh.
  • Роботам Google не удается просканировать относительные URL в вашем файле Sitemap. По возможности используйте абсолютные ссылки вместо относительных. Например, для перехода на другую страницу своего сайта указывайте URL https://www.example.com/mypage.html, а не просто mypage.html.

Нельзя использовать URL

Некоторые из перечисленных вами URL находятся в другом домене или на более высоком уровне по сравнению с файлом Sitemap.

Более высокий уровень. Если файл расположен по адресу http://www.example.com/mysite/sitemap.xml, то недействительны следующие URL:

  • http://www.example.com/ – находится на более высоком уровне, чем файл Sitemap;
  • http://www.example.com/yoursite/ – находится в соседнем каталоге (необходимо перейти на более высокий уровень, а затем на более низкий).

Другой домен. Убедитесь, что все URL начинаются с того же домена, в котором хранится ваш файл Sitemap. Например, если файл расположен по адресу http://www.example.com/sitemap.xml, то недействительны следующие URL:

  • http://example.com/ – отсутствует www в начале.
  • www.example.com/ – нет префикса протокола (http).
  • https://www.example.com/ – указан префикс протокола https вместо http.

Ошибка сжатия

Произошла ошибка при попытке восстановить сжатый файл Sitemap. Выполните повторное сжатие файла (например, с помощью gzip), после чего загрузите его на сайт и повторно отправьте в Google.

Пустой Sitemap

В файле Sitemap отсутствуют URL. Исправьте это.

Превышен максимальный размер файла Sitemap

Размер файла Sitemap в несжатом виде превышает 50 МБ. Разбейте его на несколько файлов и укажите их в индексе Sitemap, а затем отправьте нам этот индекс.

Неверное значение атрибута

У атрибута в теге XML недопустимое значение. Проверьте файлы Sitemap и убедитесь, что в них есть все необходимые атрибуты с действительными значениями (согласно техническим требованиям к таким файлам), а также что отсутствуют опечатки.

Неправильно введена дата

Как минимум одна дата в файле Sitemap имеет неверный формат или значение. Даты должны быть в формате кодировки даты и времени W3C. Время можно не указывать. Введите все даты в одном из допустимых форматов W3C:

2005-02-21 
2005-02-21T18:00:15+00:00

Время задавать не требуется (по умолчанию устанавливается значение 00:00:00Z), однако если вы все же делаете это, не забудьте указать часовой пояс.

Недопустимое значение тега

В файле Sitemap содержится один или несколько тегов с недопустимым значением. Проверьте спецификации для соответствующего типа файла Sitemap (индекс, стандартный, видео и т. п.).

Недопустимый URL

В файле Sitemap указан недействительный URL. Возможно, он содержит недопустимые символы (пробелы, кавычки и т. д.) или ошибки, например имеет префикс htp:// вместо http://.

Убедитесь, что URL в файле Sitemap указаны в правильной кодировке и должным образом экранированы. Проверьте, нет ли недопустимых символов, таких как пробелы и кавычки. Кроме того, можно вставить URL в браузер и посмотреть, будет ли загружена страница.

Неполные URL в файле индекса Sitemap

Для некоторых файлов Sitemap, перечисленных в файле индекса Sitemap, не указаны полные URL. Google выполняет поиск файлов Sitemap в том же каталоге, в котором находится индекс. Например, если индекс расположен по адресу http://www.example.com/folder1/sitemap_index.xml и указывает на файл sitemap.xml (без символа / впереди), то Google ищет этот файл Sitemap по адресу http://www.example.com/folder1/sitemap.xml. Если найти его не удается, показывается сообщение об ошибке.

Добавьте в индекс Sitemap полные URL всех нужных файлов Sitemap и отправьте его ещё раз.

Недопустимый XML: слишком много тегов

В файле Sitemap имеются повторяющиеся теги. Например, следующая запись станет причиной ошибки, поскольку тег <loc> повторяется в ней дважды:

<url>
  <loc>http://www.example.com/</loc>
  <loc>http://www.example.com/page1.html</loc>
  <lastmod>2005-01-01</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.8</priority>
</url>

В сообщении об ошибке указываются тег и номер строки, в которой он находится. Удалите повторяющийся тег и отправьте файл Sitemap ещё раз.

Отсутствует атрибут XML

В одном из тегов в файле Sitemap отсутствует обязательный атрибут. Просмотрите файлы Sitemap и убедитесь, что все обязательные атрибуты на месте. Исправьте найденные ошибки в значениях атрибутов и ещё раз отправьте файл Sitemap.

Отсутствует тег XML

В одной или нескольких записях в файле Sitemap отсутствует обязательный тег. В сообщении об ошибке указывается номер строки, с которой связана проблема. Сведения об обязательных тегах можно найти в этой статье.

Отсутствует URL значка видео

В некоторых записях о видео нет ссылки на значок. Убедитесь, что в тегах <video:thumbnail_loc> указаны URL всех значков видео.

Отсутствует название видео

В некоторых записях о видео отсутствует название. Убедитесь, что в тегах <video:title> указаны названия всех видео.

Вложенные файлы индекса Sitemap

В одной или нескольких записях файла индекса Sitemap указан его собственный URL или URL другого файла индекса Sitemap. Файл индекса Sitemap может содержать ссылки только на обычные файлы Sitemap, а не на индексы.

Удалите записи, указывающие на индексы Sitemap, и повторно отправьте файл.

Ошибка синтаксического анализа

Google не удалось выполнить синтаксический анализ XML-контента вашего файла Sitemap.

Зачастую это происходит из-за неэкранированных символов в URL. Во всех файлах XML в любых значениях данных (включая URL) необходимо экранировать символы &, ‘, «, <, > и некоторые другие. Проверьте, правильно ли выполнено экранирование в URL.

Временная ошибка

Файл Sitemap не удалось обработать из-за временной ошибки системы. Как правило, при этой ошибке отправлять файл заново нет необходимости. Робот Google попробует получить его позже. Если это сообщение об ошибке будет отображаться даже через несколько часов, отправьте файл Sitemap ещё раз.

Слишком много файлов Sitemap

В файле индекса упомянуто более 50 000 файлов Sitemap. Разделите его на несколько, в каждом из которых должно быть указано не более 50 000 файлов Sitemap.

Слишком много URL

В файле Sitemap упомянуто более 50 000 URL. Разделите его на несколько, в каждом из которых должно быть указано до 50 000 адресов. Для удобства можно создать файл индекса Sitemap.

Неподдерживаемый формат файла

Вы создали некорректный файл.

Чтобы избежать самых частых ошибок XML, проверьте следующее:

  • В файлах Sitemap должны быть правильные заголовки. Например, если файл содержит информацию о видео, заголовок должен быть следующим:
    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
            xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  • Пространство имен в заголовке должно иметь вид http://www.sitemaps.org/schemas/sitemap/0.9 (не .9).
  • Все атрибуты XML нужно заключать в одинарные (‘) или двойные («) кавычки, которые должны быть только прямыми. Обратите внимание, что текстовые редакторы, например Microsoft Word, могут автоматически менять кавычки на фигурные.

Несоответствующий путь: отсутствует префикс www

Путь к файлу Sitemap не содержит префикс www (пример: http://example.com/sitemap.xml), однако этот префикс есть в URL, которые перечислены в файле (пример: http://www.example.com/myfile.html).

Удалите префикс www из всех URL внутри файла.

Несоответствующий путь: имеется префикс www

Путь к файлу Sitemap содержит префикс www (пример: http://www.example.com/sitemap.xml), однако этого префикса нет в URL, которые перечислены в файле (пример: http://example.com/myfile.xml).

Добавьте префикс www во все URL внутри файла.

Неправильно указано пространство имен

В корневом элементе файла Sitemap неверно задано или отсутствует пространство имен, содержится орфографическая ошибка или неправильный URL.

Убедитесь, что пространство имен задано правильно с учетом типа файла. Ниже приведены примеры.

  • Файл Sitemap: xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  • Файл Sitemap для видео: xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"
  • Файл индекса Sitemap: <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  • Другие типы файлов Sitemap

Файл Sitemap начинается с пробела

Ваш файл Sitemap начинается с пробела, а не с объявления пространства имен. Файлы XML должны начинаться с декларации XML, в которой указана используемая версия XML.

Указанная проблема не помешает Google обработать ваш файл Sitemap, однако лучше удалить пробел, чтобы файл соответствовал стандарту XML и сообщение об этой ошибке больше не появлялось.

Ошибка HTTP [код ошибки]

При попытке скачать файл Sitemap произошла ошибка HTTP уровня 400. В сообщении о ней будет указан код статуса (например, 404). Убедитесь, что URL файла Sitemap записан верно и файл находится в указанном месте. Затем повторно отправьте его в Google.

Общая ошибка HTTP

Произошла ошибка HTTP, которую невозможно отнести ни к одной из приведенных в этом списке. Вы можете воспользоваться инструментом проверки URL, чтобы воспроизвести ошибку, однако она может быть временной. Подождите немного и посмотрите, будет ли она повторяться при дополнительных попытках сканирования.

Слишком большой значок видео

Значок видео, указанный в файле Sitemap, слишком велик. Измените его размер до 160 x 120 пикселей. При необходимости обновите файл Sitemap и повторно отправьте его в Google. Подробнее о том, как добавить в файл Sitemap информацию о видео…

Слишком маленький значок видео

Значок видео, указанный в файле Sitemap, слишком мал. Измените его размер до 160 x 120 пикселей. При необходимости обновите файл Sitemap. Подробнее о том, как добавить в файл Sitemap информацию о видео…

Адреса видео и страницы воспроизведения совпадают

URL видео и страницы проигрывателя, указанные в файле Sitemap для видео, не должны совпадать. Если используются одновременно тег <video:player_loc> и тег <video:content_loc>, то URL в них должны различаться. Подробнее о том, как добавить в файл Sitemap информацию о видео…

URL видео указывает на страницу воспроизведения

URL в теге <video:content_loc> в файле Sitemap для видео указывает на страницу, где размещен проигрыватель. Подробнее о том, как добавить в файл Sitemap информацию о видео…

Файл Sitemap содержит URL, доступ к которым заблокирован в файле robots.txt

Роботу Google не удалось обработать файл Sitemap, поскольку доступ к нему или его содержанию запрещен в файле robots.txt. Воспользуйтесь инструментом проверки URL, чтобы выяснить, на какой именно файл влияет блокировка доступа, и внесите в директивы robots.txt необходимые изменения.

Вопрос:

Я создал процедуру PL/SQL для генерации таблиц Excel (в формате XML), которые можно загрузить из Oracle Application Express (Apex).

Однако

Когда вы создаете второй файл, когда первый из них все еще открыт в Excel, он получает следующее сообщение об ошибке:

XML ERROR in Workbook Setting
REASON: Too many tags
FILE:   C:...
GROUP:  Workbook
TAG:    Worksheet
ATTRIB: Name
VALUE:  Sheet1

XML ERROR in Workbook Setting
REASON: Too many tags
FILE:   C:...
TAG:    Worksheet
ATTRIB: Name
VALUE:  Sheet2

XML ERROR in Workbook Setting
REASON: Too many tags
FILE:   C:....
GROUP:  Workbook
TAG:    Worksheet
ATTRIB: Name
VALUE:  Sheet3

Я думаю, что это связано с тегом “Worksheet”. Однако проблема не всегда может быть реплицирована.

Спасибо заранее.

Ответ №1

Убедитесь, что вы не пытаетесь назвать более одного листа с тем же именем.

Откройте XML-документ в текстовом редакторе и выполните поиск (например,) “Sheet1”, если вы найдете строку

 <Worksheet ss:Name='Sheet1'>

в нескольких местах, тогда ваша процедура создает повторяющиеся имена рабочих листов.

Понравилась статья? Поделить с друзьями:
  • Ошибка xml в настройка книги причина ошибочное значение
  • Ошибка xml version 1 0 encoding windows 1251
  • Ошибка xml parsing error not well formed
  • Ошибка xml mismatched end tag
  • Ошибка xls0501 свойство content установлено больше одного раза