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). Бред я там написал
8 — 16.01.13 — 21:32
(6) м.б. какие-то символы есть в этих строках, которые раньше узел закрывают ?
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) ничего. просто прочитать узел за узлом
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
может есть какой-нить форум фанатов ХМЛ?
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) При этом сам файл, если открыть в браузере, выглядит без структуры (во вложении файл «Проблемный XML»). Кусок кода 1С:
Миниатюры
0 |
1 / 1 / 1 Регистрация: 30.07.2015 Сообщений: 121 |
|
30.11.2018, 12:02 [ТС] |
2 |
Проблема оказалась в немецком умлауте. Только как мне их исправить перед чтением XML? Или это пользователю нужно менять кодировку вручную? Миниатюры
0 |
1879 / 1284 / 460 Регистрация: 16.01.2015 Сообщений: 5,629 |
|
30.11.2018, 14:26 |
3 |
Решениеbarracuda1991, Не спец. Но вообще странно. Тег Description — описание. По идеи xml должно быть по барабану что там внутри. Что касается самой проблемы. Пусть либо в описании используют диграфы вместо умляут (дойч язык позволяет такую замену) Либо колдуйте заменой строки или рег выражениями над файлом заменяя такие буквы
1 |
barracuda1991 1 / 1 / 1 Регистрация: 30.07.2015 Сообщений: 121 |
||||
30.11.2018, 18:56 [ТС] |
4 |
|||
Спасибо, заменил этот умлаут путем СтрЗаменить, но при последующем чтении файла 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->json" facet="protected" type="null"></property><property name="convertedFiles" fullname="$request->convertedFiles" facet="protected" type="null"></property><property name="userResolver" fullname="$request->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->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->attributes" facet="public" type="object" classname="SymfonyComponentHttpFoundationParameterBag" children="1" numchildren="1"></property><property name="request" fullname="$request->request" facet="public" type="object" classname="SymfonyComponentHttpFoundationParameterBag" children="1" numchildren="1"></property><property name="query" fullname="$request->query" facet="public" type="object" classname="SymfonyComponentHttpFoundationInputBag" children="1" numchildren="1"></property><property name="server" fullname="$request->server" facet="public" type="object" classname="SymfonyComponentHttpFoundationServerBag" children="1" numchildren="1"></property><property name="files" fullname="$request->files" facet="public" type="object" classname="SymfonyComponentHttpFoundationFileBag" children="1" numchildren="1"></property><property name="cookies" fullname="$request->cookies" facet="public" type="object" classname="SymfonyComponentHttpFoundationInputBag" children="1" numchildren="1"></property><property name="headers" fullname="$request->headers" facet="public" type="object" classname="SymfonyComponentHttpFoundationHeaderBag" children="1" numchildren="2"></property><property name="content" fullname="$request->content" facet="protected" type="null"></property><property name="languages" fullname="$request->languages" facet="protected" type="null"></property><property name="charsets" fullname="$request->charsets" facet="protected" type="null"></property><property name="encodings" fullname="$request->encodings" facet="protected" type="null"></property><property name="acceptableContentTypes" fullname="$request->acceptableContentTypes" facet="protected" type="null"></property><property name="pathInfo" fullname="$request->pathInfo" facet="protected" type="string" size="29" encoding="base64"><![CDATA[L3F1YW4tbHktdGluLWNoYXAvc2VhcmNoLXBhd24=]]></property><property name="requestUri" fullname="$request->requestUri" facet="protected" type="string" size="55" encoding="base64"><![CDATA[L2JsLWxvYW4tYXBwL3B1YmxpYy9xdWFuLWx5LXRpbi1jaGFwL3NlYXJjaC1wYXduP3BhZ2U9MQ==]]></property><property name="baseUrl" fullname="$request->baseUrl" facet="protected" type="string" size="19" encoding="base64"><![CDATA[L2JsLWxvYW4tYXBwL3B1YmxpYw==]]></property><property name="basePath" fullname="$request->basePath" facet="protected" type="null"></property><property name="method" fullname="$request->method" facet="protected" type="string" size="4" encoding="base64"><![CDATA[UE9TVA==]]></property><property name="format" fullname="$request->format" facet="protected" type="null"></property><property name="session" fullname="$request->session" facet="protected" type="object" classname="IlluminateSessionStore" children="1" numchildren="5"></property><property name="locale" fullname="$request->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->middleware" facet="protected" type="array" children="0" numchildren="0"></property><property name="pawnService" fullname="$this->pawnService" facet="public" type="object" classname="AppServicesPawnService" children="1" numchildren="5"></property><property name="historyService" fullname="$this->historyService" facet="public" type="object" classname="AppServicesHistoryService" children="0" numchildren="0"></property><property name="customerService" fullname="$this->customerService" facet="public" type="object" classname="AppServicesCustomerService" children="0" numchildren="0"></property><property name="dateTimeService" fullname="$this->dateTimeService" facet="public" type="object" classname="AppServicesDateTimeService" children="0" numchildren="0"></property><property name="storeService" fullname="$this->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->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.