Программасты зарплатного проекта Сбера не пойти ли вам .... учиться? (или RTFM)
s
svv©
Зарплатный проект Сбера
Якобы xml-формат.
Требование от сбера по заполнение атрибута "НаименованиеОрганизации".
Значение атрибута заключается в двойные кавычки.
Если в самом наименовании организации есть двойные кавычки, то они такими остаться и должны (без всяких замен на &quоt; или одинарные кавычки.)
Причем они это требуют как от файлов посылаемых организацией, так и сами генерят такие же кривые файлы.
Пример (как они хотят):
НаименованиеОрганизации="ООО "Ромашка""
вместо правильных:
НаименованиеОрганизации="ООО 'Ромашка'"
НаименованиеОрганизации='ООО "Ромашка"'
НаименованиеОрганизации="ООО &quоt;Ромашка&quоt;"
После такого уже как-то по-доброму вспоминается их же dbf-формат с полями A B C D E F G H ... (появившимися как следствие сохранения листа Excel в dbf)
Вопросы:
1) Им на столько не фиг делать, что они пишут собственные xml-парсеры вместо использования стандартных? (я не могу другим объяснить формирование "кривого" xml?)
2) Откуда их таких "умных" берут?
Якобы xml-формат.
Требование от сбера по заполнение атрибута "НаименованиеОрганизации".
Значение атрибута заключается в двойные кавычки.
Если в самом наименовании организации есть двойные кавычки, то они такими остаться и должны (без всяких замен на &quоt; или одинарные кавычки.)
Причем они это требуют как от файлов посылаемых организацией, так и сами генерят такие же кривые файлы.
Пример (как они хотят):
НаименованиеОрганизации="ООО "Ромашка""
вместо правильных:
НаименованиеОрганизации="ООО 'Ромашка'"
НаименованиеОрганизации='ООО "Ромашка"'
НаименованиеОрганизации="ООО &quоt;Ромашка&quоt;"
После такого уже как-то по-доброму вспоминается их же dbf-формат с полями A B C D E F G H ... (появившимися как следствие сохранения листа Excel в dbf)
Вопросы:
1) Им на столько не фиг делать, что они пишут собственные xml-парсеры вместо использования стандартных? (я не могу другим объяснить формирование "кривого" xml?)
2) Откуда их таких "умных" берут?
s
svv©
чем крив то?
Странные вы ссылки приводите. Не понял что они подтверждают?
Правильная ссылка вот:
http://www.w3.org/TR/REC-xml/
искать по контексту AttValue.
Даю перевод на русский того что там найдете:
если значение атрибута заключено в двойные кавычки, то в самом значении двойных кавычек быть не должно. Если значение атрибута заключено в одинарные кавычки (апостроф), то в самом значении одинарных кавычек быть не должно.
Таким образом, если у вас значение содержит двойные кавычки, то при записи его в атрибут, который оформляется двойными кавычками, будьте добры заменить двойные кавычки на одинарные, либо оформляйте атрибут одинарными кавычками.
Ну или хотя бы вот:
http://www.w3schools.com/xml/xml_attributes.asp
XML Attributes Must be Quoted
Attribute values must always be quoted. Either single or double quotes can be used. For a person's sex, the person element can be written like this:
<person sex="female">
or like this:
<person sex='female'>
[b]If the attribute value itself contains double quotes you can use single quotes[/b], like in this example:
<gangster name='George "Shotgun" Ziegler'>
[b]or you can use character entities[/b]:
<gangster name="George &quоt;Shotgun&quоt; Ziegler">
Attribute values must always be quoted. Either single or double quotes can be used. For a person's sex, the person element can be written like this:
<person sex="female">
or like this:
<person sex='female'>
[b]If the attribute value itself contains double quotes you can use single quotes[/b], like in this example:
<gangster name='George "Shotgun" Ziegler'>
[b]or you can use character entities[/b]:
<gangster name="George &quоt;Shotgun&quоt; Ziegler">
"ООО "Ромашка""
Вы считаете как пишется название организации "в миру" без учета требований стандарта XML.
Будь это обычный текстовый файл темы бы не возникло. Они же утверждают что это xml-формат.
Те стандартные парсеры, которые я опробовал на их кривом файле "сдохли" на этом файле (MSXML, Xerces).
С учетом того, что их xml файл не отображается ни одним браузером (IE, FireFox, Safari, Chrome) список парсеров, скорее всего, можно продолжить
Авторизуйтесь, чтобы принять участие в дискуссии.