Фатальная ошибка attribute xmlns redefined

I’m using XSLT to update some old XML metadata and I realized that the target output has the following namespace:

xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0"

the old metadata has the following namespace:

xmlns:gco="http://www.isotc211.org/2005/gco

If I put both in the header of the XSLT I got the error
Attribute xmlns:gco redefined

I tried to delete one of them but the XSLT is not able to extract the correct value and I got empty string:

xsltApplySequenceConstructor: copy node identificationInfo
xsltApplySequenceConstructor: copy node MD_DataIdentification
xsltApplySequenceConstructor: copy node citation
xsltApplySequenceConstructor: copy node CI_Citation
xsltApplySequenceConstructor: copy node title
xsltApplySequenceConstructor: copy node CharacterString
xsltValueOf: select //gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString
xsltValueOf: result ''

This is a part of the XML input file

<?xml version="1.0" encoding="UTF-8"?>
<gmi:MI_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:safe="http://www.esa.int/safe/sentinel-1.0" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:s1="http://www.esa.int/safe/sentinel-1.0/sentinel-1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s1sar="http://www.esa.int/safe/sentinel-1.0/sentinel-1/sar" xmlns:gmi="http://sdi.eurac.edu/metadata/iso19139-2/schema/gmi" xmlns:s1sarl1="http://www.esa.int/safe/sentinel-1.0/sentinel-1/sar/level-1" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" xmlns:s1sarl2="http://www.esa.int/safe/sentinel-1.0/sentinel-1/sar/level-2" xmlns:gx="http://www.google.com/kml/ext/2.2" gco:isoType="gmd:MD_Metadata" xsi:schemaLocation="http://sdi.eurac.edu/metadata/iso19139-2/schema/gmi http://sdi.eurac.edu/metadata/iso19139-2/schema/gmi/gmi.xsd">
<gmd:identificationInfo>
        <gmd:MD_DataIdentification>
            <gmd:citation>
                <gmd:CI_Citation>
                    <gmd:title xsi:type="gmd:PT_FreeText_PropertyType">
                        <gco:CharacterString>TITLE_1</gco:CharacterString>
                    </gmd:title>
                    <gmd:alternateTitle>
                        <gco:CharacterString>TITLE_2</gco:CharacterString>
                    </gmd:alternateTitle>   
                </gmd:CI_Citation>      
            </gmd:citation>         
        </gmd:MD_DataIdentification>            
</gmd:identificationInfo>
</gmi:MI_Metadata>

and the following is the XSL file I’m using:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" indent="yes"/>
        <xsl:template match="/">
<mdb:MD_Metadata xmlns:mri="http://standards.iso.org/iso/19115/-3/mri/1.0"
                 xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/2.0"
                 xmlns:mas="http://standards.iso.org/iso/19115/-3/mas/1.0"
                 xmlns:mrs="http://standards.iso.org/iso/19115/-3/mrs/1.0"
                 xmlns:mda="http://standards.iso.org/iso/19115/-3/mda/1.0"
                 xmlns:mrd="http://standards.iso.org/iso/19115/-3/mrd/1.0"
                 xmlns:mdt="http://standards.iso.org/iso/19115/-3/mdt/2.0"
                 xmlns:mco="http://standards.iso.org/iso/19115/-3/mco/1.0"
                 xmlns:mex="http://standards.iso.org/iso/19115/-3/mex/1.0"
                 xmlns:msr="http://standards.iso.org/iso/19115/-3/msr/2.0"
                 xmlns:mds="http://standards.iso.org/iso/19115/-3/mds/2.0"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xmlns:gfc="http://standards.iso.org/iso/19110/gfc/1.1"
                 xmlns:mmi="http://standards.iso.org/iso/19115/-3/mmi/1.0"
                 xmlns:srv="http://standards.iso.org/iso/19115/-3/srv/2.1"
                 xmlns:lan="http://standards.iso.org/iso/19115/-3/lan/1.0"
                 xmlns:mac="http://standards.iso.org/iso/19115/-3/mac/2.0"
                 xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0"
                 xmlns:xlink="http://www.w3.org/1999/xlink"
                 xmlns:mrc="http://standards.iso.org/iso/19115/-3/mrc/2.0"
                 xmlns:gex="http://standards.iso.org/iso/19115/-3/gex/1.0"
                 xmlns:gml="http://www.opengis.net/gml/3.2"
                 xmlns:mdb="http://standards.iso.org/iso/19115/-3/mdb/2.0"
                 xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/2.0"
                 xmlns:cat="http://standards.iso.org/iso/19115/-3/cat/1.0"
                 xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0"
                 xmlns:mdq="http://standards.iso.org/iso/19157/-2/mdq/1.0"
                 xmlns:mpc="http://standards.iso.org/iso/19115/-3/mpc/1.0"
                 xmlns:gmd="http://www.isotc211.org/2005/gmd"
                 xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0"
                 xmlns:gco="http://www.isotc211.org/2005/gco"
                 >
    <mdb:identificationInfo>
      <mri:MD_DataIdentification>
         <mri:citation>
            <cit:CI_Citation>
               <cit:title>
                  <gco:CharacterString>
                        <xsl:value-of select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString"/>
                  </gco:CharacterString>
               </cit:title>
               <cit:alternateTitle>
                  <gco:CharacterString>
                    <xsl:value-of select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:alternatetitle/gco:CharacterString"/>
                  </gco:CharacterString>
               </cit:alternateTitle>
            </cit:CI_Citation>
        </mri:citation>
        </mri:MD_DataIdentification>
    </mdb:identificationInfo>
</mdb:MD_Metadata>
</xsl:template>
</xsl:stylesheet>

It has the two namespaces defined.

The desired output should be:

<?xml version="1.0"?>
<mdb:MD_Metadata xmlns:mri="http://standards.iso.org/iso/19115/-3/mri/1.0"
                 xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/2.0"
                 xmlns:mas="http://standards.iso.org/iso/19115/-3/mas/1.0"
                 xmlns:mrs="http://standards.iso.org/iso/19115/-3/mrs/1.0"
                 xmlns:mda="http://standards.iso.org/iso/19115/-3/mda/1.0"
                 xmlns:mrd="http://standards.iso.org/iso/19115/-3/mrd/1.0"
                 xmlns:mdt="http://standards.iso.org/iso/19115/-3/mdt/2.0"
                 xmlns:mco="http://standards.iso.org/iso/19115/-3/mco/1.0"
                 xmlns:mex="http://standards.iso.org/iso/19115/-3/mex/1.0"
                 xmlns:msr="http://standards.iso.org/iso/19115/-3/msr/2.0"
                 xmlns:mds="http://standards.iso.org/iso/19115/-3/mds/2.0"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xmlns:gfc="http://standards.iso.org/iso/19110/gfc/1.1"
                 xmlns:mmi="http://standards.iso.org/iso/19115/-3/mmi/1.0"
                 xmlns:srv="http://standards.iso.org/iso/19115/-3/srv/2.1"
                 xmlns:lan="http://standards.iso.org/iso/19115/-3/lan/1.0"
                 xmlns:mac="http://standards.iso.org/iso/19115/-3/mac/2.0"
                 xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0"
                 xmlns:xlink="http://www.w3.org/1999/xlink"
                 xmlns:mrc="http://standards.iso.org/iso/19115/-3/mrc/2.0"
                 xmlns:gex="http://standards.iso.org/iso/19115/-3/gex/1.0"
                 xmlns:gml="http://www.opengis.net/gml/3.2"
                 xmlns:mdb="http://standards.iso.org/iso/19115/-3/mdb/2.0"
                 xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/2.0"
                 xmlns:cat="http://standards.iso.org/iso/19115/-3/cat/1.0"
                 xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0"
                 xmlns:mdq="http://standards.iso.org/iso/19157/-2/mdq/1.0"
                 xmlns:mpc="http://standards.iso.org/iso/19115/-3/mpc/1.0"
                 xmlns:gmd="http://www.isotc211.org/2005/gmd"
                 xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0">                 
    <mdb:identificationInfo>
        <mri:MD_DataIdentification>
            <mri:citation>
                <cit:CI_Citation>
                <cit:title>
                  <gco:CharacterString>TITLE_1</gco:CharacterString>
                </cit:title>
               <cit:alternateTitle>
                  <gco:CharacterString>TITLE_2</gco:CharacterString>
               </cit:alternateTitle>
                </cit:CI_Citation>
            </mri:citation>
        </mri:MD_DataIdentification>
    </mdb:identificationInfo>
</mdb:MD_Metadata>


Is there a way to solve this conflict and use both of them? Or do you have any other suggestion?

   Нуф-Нуф

16.01.13 — 21:00

Вот таким кодом пробую прочитать ХМЛ

   ЧтениеXML = Новый ЧтениеXML;

   ЧтениеXML.ОткрытьФайл(адрес);

   Пока ЧтениеXML.Прочитать() Цикл

       
   КонеЦЦикла;

Валится при первой же попытке прочитать на

{Форма.Форма.Форма(162)}: Ошибка при вызове метода контекста (Прочитать)

   Пока ЧтениеXML.Прочитать() Цикл

по причине:

Ошибка разбора XML:  — [3,37]

Фатальная ошибка:

Specification mandate value for attribute addDa琀愀

SystemId: file://»адрес»

Вот сам ХМЛ

<?xml version=»1.0″ encoding=»unicode»?>

<form:Documents xmlns:form=»http://www.abbyy.com/FlexiCapture/Schemas/Export/FormData.xsd» xmlns:addData=»http://www.abbyy.com/FlexiCapture/Schemas/Export/AdditionalFormData.xsd»>

   <_Счет-фактура:_Счет-фактура addData:ImagePath=»Счет-фактура_29.11.2012_16.pdf» xmlns:_Счет-фактура=»http://www.abbyy.com/FlexiCapture/Schemas/Export/Счет-фактура.xsd»>

       <_Счет-Фактура>

           <_DocNum>034</_DocNum>

           <_DocDate>2012-11-29</_DocDate>

           <_IssCompany>Общество с ограниченной ответственностью</_IssCompany>

           <_IssINN>0000</_IssINN>

           <_IssKPP>0000</_IssKPP>

           <_DesCompany>Общество с ограниченной ответственностью</_DesCompany>

           <_DestINN>0000</_DestINN>

           <_DestKPP>0000</_DestKPP>

           <_Barcode/>

           <_FilePathName>0000</_FilePathName>

       </_Счет-Фактура>

   </_Счет-фактура:_Счет-фактура>

</form:Documents>

   Нуф-Нуф

1 — 16.01.13 — 21:01

сам хмл в ИЕ открывается отлично

   Нуф-Нуф

2 — 16.01.13 — 21:03

валится на второй попытке прочитать

   Нуф-Нуф

3 — 16.01.13 — 21:07

удалил «addData:ImagePath=»Счет-фактура_29.11.2012_16.pdf»»

стал валится на следующем атрибуте «xmlns:_Счет-фактура=»http://www.abbyy.com/FlexiCapture/Schemas/Export/Счет-фактура.xsd»»

{Форма.Форма.Форма(162)}: Ошибка при вызове метода контекста (Прочитать)

   Пока ЧтениеXML.Прочитать() Цикл

по причине:

Ошибка разбора XML:  — [3,35]

Фатальная ошибка:

Specification mandate value for attribute xmlns

SystemId: file:////test1/IGabdrakhmanov/Счет-фактура_29.11.2012_16.xml

   Нуф-Нуф

4 — 16.01.13 — 21:07

что это? косяк подготовки в хмл в стороннем ПО?

   Займись делом

5 — 16.01.13 — 21:19

А каково содержание файла «Счет-фактура.xsd»? Ощущение, что какого-то параметра не хватает.

   Нуф-Нуф

6 — 16.01.13 — 21:23

(5) хм. а как узнать содержание этого файла?

   Займись делом

7 — 16.01.13 — 21:31

(6) Не обращай внимание на (5). Бред я там написал :(

   ChMikle

8 — 16.01.13 — 21:32

(6) м.б. какие-то символы есть в этих строках, которые раньше узел закрывают ?

   lefthander

9 — 16.01.13 — 21:35

(0) А что внутри цикла? Как вы узлы считываете?

   Нуф-Нуф

10 — 16.01.13 — 21:36

оставил файл таким

<?xml version=»1.0″ encoding=»unicode»?>

<form>

   <_Счет-фактура>

       <_Счет-Фактура>

           <_DocNum>034</_DocNum>

           <_DocDate>2012-11-29</_DocDate>

           <_IssCompany>Общество с ограниченной ответственностью</_IssCompany>

           <_IssINN>0000</_IssINN>

           <_IssKPP>0000</_IssKPP>

           <_DesCompany>Общество с ограниченной ответственностью</_DesCompany>

           <_DestINN>0000</_DestINN>

           <_DestKPP>0000</_DestKPP>

           <_Barcode/>

           <_FilePathName>0000</_FilePathName>

       </_Счет-Фактура>

   </_Счет-фактура>

</form>

теперь валится на

{Форма.Форма.Форма(176)}: Ошибка при вызове метода контекста (Прочитать)

   Пока ЧтениеXML.Прочитать() Цикл

по причине:

Ошибка разбора XML:  — [10,9]

Фатальная ошибка:

error parsing attribute name

SystemId: file://»адрес»

   Нуф-Нуф

11 — 16.01.13 — 21:36

(9) ничего. просто прочитать узел за узлом

   lefthander

12 — 16.01.13 — 21:41

(11) попробуйте посмотреть, хоть в коде типовой, как это происходит.

У объекта ЧтениеXML много разных методов и свойств, одно из них значение, это как раз то куда выводятся значения узлов.

А у вас они куда выводятся? :)

В том виде как у вас ничего и не будет, кроме ошибок.

   Нуф-Нуф

13 — 16.01.13 — 21:43

(12) для с чего это.  у меня просто читаются узлы. самый простой код

   Нуф-Нуф

14 — 16.01.13 — 21:43

валидатор на http://www.w3schools.com/xml/xml_validator.asp говорит

This page contains the following errors:

error on line 3 at column 181: xmlns:_?????°????????????_???????µ??: ‘http://www.abbyy.com/FlexiCapture/Schemas/Export/?????°????????????_???????µ??.xsd’ is not a valid URI

   Нуф-Нуф

15 — 16.01.13 — 21:47

фак. придется завтра поставщика файлов мучить. а до завтра курить бамбук

   Нуф-Нуф

16 — 16.01.13 — 21:50

может есть какой-нить форум фанатов ХМЛ?

   alexei366

17 — 16.01.13 — 21:51

Мож кодировку у ЧтенияXML поставить, хотя наврятли поможет

   Займись делом

18 — 16.01.13 — 21:52

Вопрос: браузером xml открывает?

   Займись делом

19 — 16.01.13 — 21:53

Посмотрел в Юникоде 琀愀 — символы китайского алфавита… или японского кто их разберёт. Если браузер тоже не открывает, попробуй удалить <?xml version=»1.0″ encoding=»unicode»?>

   Займись делом

20 — 16.01.13 — 21:55

Вроде прочитал у меня (что он там начитал уже другой вопрос)

   Нуф-Нуф

21 — 16.01.13 — 22:00

в браузере ИЕ открывается

   Займись делом

22 — 16.01.13 — 22:05

В итоге помогло следующее:

Взять xml представленный в первом сообщении, кроме строки «<?xml version=»1.0″ encoding=»unicode»?>», сохранить с помощью блокнота в кодировке UTF-8.

   Нуф-Нуф

23 — 16.01.13 — 22:13

(22) спасибо!!!

заменил строчку на <?xml version=»1.0″ encoding=»UTF-8″?> и пересохранил в формате UTF-8

  

Нуф-Нуф

24 — 16.01.13 — 22:24

Всем большое спасибо за помощь!

Сейчас меня спас код

   Текст = Новый ТекстовыйДокумент;

   Текст.Прочитать(адрес);

   СтрокаТекста = Текст.ПолучитьТекст();

   СтрокаТекста = СтрЗаменить(СтрокаТекста,»unicode», «UTF-8»);

   Текст.УстановитьТекст(СтрокаТекста);

   Текст.Записать(адрес, КодировкаТекста.UTF8);

barracuda1991

1 / 1 / 1

Регистрация: 30.07.2015

Сообщений: 121

1

1C 8.x

30.11.2018, 10:14. Показов 14886. Ответов 4

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Добрый день. Помогите пожалуйста: при попытке прочитать XML выпадает ошибка

{Обработка.ЗагрузкаXML.Форма.Форма.Форма(12)}: Ошибка при вызове метода контекста (ПрочитатьXML)
ОбXDTO=Фабрика.ПрочитатьXML(Чтение);
по причине:
Ошибка разбора XML: — [1,1797]
Фатальная ошибка:
PCDATA invalid Char value 26

При этом сам файл, если открыть в браузере, выглядит без структуры (во вложении файл «Проблемный XML»).
При этом другие файлы XML открываются в браузере с соответствующей структурой (во вложении файл «Нормальный XML»)
Это проблема в файле XML? Там какая-то неправильная кодировка?

Кусок кода 1С:

1C
1
2
3
4
5
6
7
8
9
        Чтение=Новый ЧтениеXML;
        Если ЗначениеЗаполнено(ВыберФайла) Тогда
            Чтение.ОткрытьФайл(Строка(ВыберФайла));
        Иначе
            Сообщить("Выберите файл!", СтатусСообщения.Важное);
            Возврат;
        КонецЕсли;
        Фабрика=Новый ФабрикаXDTO;
        ОбXDTO=Фабрика.ПрочитатьXML(Чтение);

Миниатюры

Ошибка разбора XML
 

Ошибка разбора XML
 



0



1 / 1 / 1

Регистрация: 30.07.2015

Сообщений: 121

30.11.2018, 12:02

 [ТС]

2

Проблема оказалась в немецком умлауте. Только как мне их исправить перед чтением XML? Или это пользователю нужно менять кодировку вручную?

Миниатюры

Ошибка разбора XML
 



0



1879 / 1284 / 460

Регистрация: 16.01.2015

Сообщений: 5,629

30.11.2018, 14:26

3

Лучший ответ Сообщение было отмечено barracuda1991 как решение

Решение

barracuda1991, Не спец. Но вообще странно. Тег Description — описание. По идеи xml должно быть по барабану что там внутри. Что касается самой проблемы. Пусть либо в описании используют диграфы вместо умляут (дойч язык позволяет такую замену) Либо колдуйте заменой строки или рег выражениями над файлом заменяя такие буквы



1



barracuda1991

1 / 1 / 1

Регистрация: 30.07.2015

Сообщений: 121

30.11.2018, 18:56

 [ТС]

4

Спасибо, заменил этот умлаут путем СтрЗаменить, но при последующем чтении файла XML все русские буквы превратились в кракозябры, может не ту кодировку ставлю?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        ТекстДокумент    = Новый ТекстовыйДокумент;
        ТекстДокумент.Прочитать(ВыберФайла);
        ТекстФайла    = ТекстДокумент.ПолучитьТекст();
        ТекстФайла = СтрЗаменить(ТекстФайла, Символ(26), "");
        ТекстДокумент.УстановитьТекст(ТекстФайла);
        ТекстДокумент.Записать(ВыберФайла,КодировкаТекста.UTF8);      
        Чтение=Новый ЧтениеXML;
        Если ЗначениеЗаполнено(ВыберФайла) Тогда
            Чтение.ОткрытьФайл(Строка(ВыберФайла),,, "UTF-8");
        Иначе
            Сообщить("Выберите файл!", СтатусСообщения.Важное);
            Возврат;
        КонецЕсли;
        Фабрика=Новый ФабрикаXDTO;
        ОбXDTO=Фабрика.ПрочитатьXML(Чтение);

Миниатюры

Ошибка разбора XML
 



0



1879 / 1284 / 460

Регистрация: 16.01.2015

Сообщений: 5,629

30.11.2018, 19:07

5

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



0



Содержание:

1.       XML – расширяемый язык разметки

2.       Устранение Ошибки разбора XML в 1С

3.       «Обход» Ошибки разбора XML в 1С   

1.    XML – расширяемый язык разметки

В данной статье речь пойдёт о причинах возникновения фатальной ошибки «Ошибка разбора XML» и способах устранения данной неполадки. Также будет дана инструкция не по устранению, но «обходу» ошибки, то есть действиям на опережение.

XML (с английского – extensible markup language – расширяемый язык разметки) – это язык разметки, который рекомендует Консорциум Всемирной паутины. Обычно язык разметки XML служит для описания документации, соответствующего типа, а также описывает действия соответствующих процессоров. Расширяемый язык разметки имеет довольно простой синтаксис, поэтому используется по всему миру, чтобы создавать и обрабатывать документацию программным способом. Он создавался именно для использования в Интернете. XML назвали именно расширяемым языком разметки, так как в нём нет фиксации разметки, которая содержится внутри документа, а именно: программист может создавать любую разметку, а ограничения будут встречаться лишь в синтаксисе.

2.    Устранение Ошибки разбора XML в 1С

«Ошибка разбора XML» возникает исключительно в тонком клиенте 1С. Также стоит отметить, что «Ошибка разбора XML» также довольна схожа с ошибкой по формату потока, которая возникает в толстом клиенте. Обычно в 1С «Ошибка разбора XML» возникает по причине наличия кэша метаданных. И если очистить кэш, то ошибка будет устранена. Выглядит окно с ошибкой, а также окно с комментариями от технической поддержки следующим образом:

Рис. 1 Окно Ошибки разбора XML в 1С

XML данные читаются по потокам, так что в каждый из моментов времени объект «сосредоточен» в некотором узле XML. Из-за этого также может возникать фатальная ошибка «Ошибка разбора XML». Для того чтобы её устранить, можно вызвать функцию «ИсключениеЧтенияXml», как показано на скриншоте примера ниже:

Рис. 2 Вызов функции ИсключениеЧтенияXML для устранения Ошибки разбора XML в 1С  

3.    «Обход» Ошибки разбора XML в 1С

Данные два способа (очистка кэша метаданных и функция «ИсключениеЧтенияXml») – не все возможные варианты устранения ошибки разбора XML. Далее рассмотрим нестандартный подход, который позволит избежать ошибки еще до её возникновения.

Для наглядности будем работать в конфигурации 1С:Бухгалтерия предприятия, одной из наиболее распространенных программ фирмы 1С. У многих людей, которые пользуются программой 1С:Отчётность появляются неполадки при попытках открыть данные/файлы от налоговой. Чтобы открыть такой файл повторяем следующие действия:

·        Переходим по пути: «Настройки 1С:Отчётности → Журнал обмена с контролирующими органами», как показано на скриншоте ниже:

Рис. 3 Настройка 1С Отчетности

·        Далее кликаем на «Запросы» и выделяем ту выписку, которую не было возможности открыть из-за ошибки, как продемонстрировано на скриншоте ниже:

Рис. 4 Выбор выписки с Ошибкой разбора XML в 1С

·        Обращаем внимание на стадию отправки, которая располагается внизу этого сообщения, и кликаем два раза на зелёный круг:

Рис. 5 Стадия отправки документа с Ошибкой разбора XML в 1С

·      Появляется транспортное сообщение, в нём кликаем на «Выгрузить» и выбираем папку, куда необходимо провести выгрузку, после чего сохраняем данный файл. Пробуем открыть его, при помощи любого из графических редакторов, который может поддерживать формат PDF, как показано на скриншоте ниже:

Рис. 6 Результат обхода Ошибки разбора XML в 1С

·        Всё успешно открылось, а ошибка даже не успела возникнуть.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

PHP version: 8.0.9 (cli) (built: Aug 2 2021 02:23:11) ( NTS )
Xdebug version: v3.1.0-dev
VS Code extension version: v1.17.0

Your launch.json:

    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 2104,
            "log": true
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 0,
            "runtimeArgs": [
                "-dxdebug.start_with_request=yes"
            ],
            "env": {
                "XDEBUG_MODE": "debug,develop",
                "XDEBUG_CONFIG": "client_port=${port}"
            }
        },
        {
            "name": "Launch Built-in web server",
            "type": "php",
            "request": "launch",
            "runtimeArgs": [
                "-dxdebug.mode=debug",
                "-dxdebug.start_with_request=yes",
                "-S",
                "localhost:0"
            ],
            "program": "",
            "cwd": "${workspaceRoot}",
            "port": 9003,
            "serverReadyAction": {
                "pattern": "Development Server \(http://localhost:([0-9]+)\) started",
                "uriFormat": "http://localhost:%s",
                "action": "openExternally"
            }
        }
    ]
}

Xdebug php.ini config:

zend_extension = xdebug
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_port=2104
xdebug.client_host = 127.0.0.1
xdebug.log=/xxx/log.log

Xdebug logfile (from setting xdebug.log in php.ini): nothing

VS Code extension logfile (from setting "log": true in launch.json):

xd(4) -> <?xml version="1.0" encoding="iso-8859-1"?><response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="10" context="0"><property name="$pawnList" fullname="$pawnList" type="uninitialized"></property><property name="$request" fullname="$request" type="object" classname="IlluminateHttpRequest" children="1" numchildren="37" page="0" pagesize="32"><property name="trustedProxies" fullname="$request::trustedProxies" facet="static protected" type="array" children="0" numchildren="0"></property><property name="trustedHostPatterns" fullname="$request::trustedHostPatterns" facet="static protected" type="array" children="0" numchildren="0"></property><property name="trustedHosts" fullname="$request::trustedHosts" facet="static protected" type="array" children="0" numchildren="0"></property><property name="httpMethodParameterOverride" fullname="$request::httpMethodParameterOverride" facet="static protected" type="bool"><![CDATA[1]]></property><property name="formats" fullname="$request::formats" facet="static protected" type="null"></property><property name="requestFactory" fullname="$request::requestFactory" facet="static protected" type="null"></property><property name="*SymfonyComponentHttpFoundationRequest*trustedHeaderSet" fullname="$request::*SymfonyComponentHttpFoundationRequest*trustedHeaderSet" facet="static private" type="int"><![CDATA[94]]></property><property name="macros" fullname="$request::macros" facet="static protected" type="array" children="1" numchildren="4"></property><property name="json" fullname="$request-&gt;json" facet="protected" type="null"></property><property name="convertedFiles" fullname="$request-&gt;convertedFiles" facet="protected" type="null"></property><property name="userResolver" fullname="$request-&gt;userResolver" facet="protected" type="object" facet="closure" classname="Closure" children="1" numchildren="4"><property facet="virtual readonly" name="{closure}" type="array" children="1" page="0" pagesize="2" numchildren="2"><property facet="readonly" name="scope" type="string"><![CDATA[$this]]></property><property facet="readonly" name="function" type="string"><![CDATA[IlluminateAuth{closure}]]></property></property></property><property name="routeResolver" fullname="$request-&gt;routeResolver" facet="protected" type="object" facet="closure" classname="Closure" children="1" numchildren="3"><property facet="virtual readonly" name="{closure}" type="array" children="1" page="0" pagesize="2" numchildren="2"><property facet="readonly" name="scope" type="string"><![CDATA[$this]]></property><property facet="readonly" name="function" type="string"><![CDATA[IlluminateRouting{closure}]]></property></property></property><property name="attributes" fullname="$request-&gt;attributes" facet="public" type="object" classname="SymfonyComponentHttpFoundationParameterBag" children="1" numchildren="1"></property><property name="request" fullname="$request-&gt;request" facet="public" type="object" classname="SymfonyComponentHttpFoundationParameterBag" children="1" numchildren="1"></property><property name="query" fullname="$request-&gt;query" facet="public" type="object" classname="SymfonyComponentHttpFoundationInputBag" children="1" numchildren="1"></property><property name="server" fullname="$request-&gt;server" facet="public" type="object" classname="SymfonyComponentHttpFoundationServerBag" children="1" numchildren="1"></property><property name="files" fullname="$request-&gt;files" facet="public" type="object" classname="SymfonyComponentHttpFoundationFileBag" children="1" numchildren="1"></property><property name="cookies" fullname="$request-&gt;cookies" facet="public" type="object" classname="SymfonyComponentHttpFoundationInputBag" children="1" numchildren="1"></property><property name="headers" fullname="$request-&gt;headers" facet="public" type="object" classname="SymfonyComponentHttpFoundationHeaderBag" children="1" numchildren="2"></property><property name="content" fullname="$request-&gt;content" facet="protected" type="null"></property><property name="languages" fullname="$request-&gt;languages" facet="protected" type="null"></property><property name="charsets" fullname="$request-&gt;charsets" facet="protected" type="null"></property><property name="encodings" fullname="$request-&gt;encodings" facet="protected" type="null"></property><property name="acceptableContentTypes" fullname="$request-&gt;acceptableContentTypes" facet="protected" type="null"></property><property name="pathInfo" fullname="$request-&gt;pathInfo" facet="protected" type="string" size="29" encoding="base64"><![CDATA[L3F1YW4tbHktdGluLWNoYXAvc2VhcmNoLXBhd24=]]></property><property name="requestUri" fullname="$request-&gt;requestUri" facet="protected" type="string" size="55" encoding="base64"><![CDATA[L2JsLWxvYW4tYXBwL3B1YmxpYy9xdWFuLWx5LXRpbi1jaGFwL3NlYXJjaC1wYXduP3BhZ2U9MQ==]]></property><property name="baseUrl" fullname="$request-&gt;baseUrl" facet="protected" type="string" size="19" encoding="base64"><![CDATA[L2JsLWxvYW4tYXBwL3B1YmxpYw==]]></property><property name="basePath" fullname="$request-&gt;basePath" facet="protected" type="null"></property><property name="method" fullname="$request-&gt;method" facet="protected" type="string" size="4" encoding="base64"><![CDATA[UE9TVA==]]></property><property name="format" fullname="$request-&gt;format" facet="protected" type="null"></property><property name="session" fullname="$request-&gt;session" facet="protected" type="object" classname="IlluminateSessionStore" children="1" numchildren="5"></property><property name="locale" fullname="$request-&gt;locale" facet="protected" type="null"></property></property><property name="$this" fullname="$this" type="object" classname="AppHttpControllersPawnController" children="1" numchildren="6" page="0" pagesize="32"><property name="middleware" fullname="$this-&gt;middleware" facet="protected" type="array" children="0" numchildren="0"></property><property name="pawnService" fullname="$this-&gt;pawnService" facet="public" type="object" classname="AppServicesPawnService" children="1" numchildren="5"></property><property name="historyService" fullname="$this-&gt;historyService" facet="public" type="object" classname="AppServicesHistoryService" children="0" numchildren="0"></property><property name="customerService" fullname="$this-&gt;customerService" facet="public" type="object" classname="AppServicesCustomerService" children="0" numchildren="0"></property><property name="dateTimeService" fullname="$this-&gt;dateTimeService" facet="public" type="object" classname="AppServicesDateTimeService" children="0" numchildren="0"></property><property name="storeService" fullname="$this-&gt;storeService" facet="public" type="object" classname="AppServicesStoreService" children="0" numchildren="0"></property></property></response>
<- outputEvent
OutputEvent {
  seq: 0,
  type: 'event',
  event: 'output',
  body: {
    category: 'console',
    output: 'connection 4: [xmldom fatalError]tAttribute facet redefinedn' +
      '@#[line:undefined,col:undefined]n'
  }
}

connection 4: [xmldom fatalError]	Attribute facet redefined
@#[line:undefined,col:undefined]

Code snippet to reproduce:

// laravel controller
public function searchPawn(Request $request) // the IMPORTANT thing here: $request parameter
{
    // do something
}

I am using macOS with the XAMPP app. The XDebug works fine for vscode and laravel except if there is an input parameter
Request.
Take a look at the VS Code extension log XML : (re-formatted)

<property name="userResolver" fullname="$request-&gt;userResolver" facet="protected" type="object" facet="closure" classname="Closure" children="1" numchildren="4">
            <property facet="virtual readonly" name="{closure}" type="array" children="1" page="0" pagesize="2" numchildren="2">
                <property facet="readonly" name="scope" type="string"><![CDATA[$this]]></property>
                <property facet="readonly" name="function" type="string"><![CDATA[IlluminateAuth{closure}]]></property>
            </property>
        </property>

There are 2 attributes that have the same name facet=»protected» facet=»closure» which make vscode throw an exception: «tAttribute facet redefined», then the debugger stop hang on at break line.

Возможно, вам также будет интересно:

  • Фатальная ошибка 1xbet запрос документов
  • Фатальная ошибка 1cv8 extcompt registry xml
  • Фасад дворца был украшен изящными фигурами колоссов ошибка
  • Фарминг симулятор 2017 ошибка 0xc0000142
  • Фар край примал ошибка при запуске 0xc000007b

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии