24 марта, воскресенье 14:02
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

4077-У, XSD к ней на русском и её соответствие тексту самого документа

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • 4077-У, XSD к ней на русском и её соответствие тексту самого документа

    Коллеги!

    Disclaimer. Первый раз на этом форуме. Если не туда задаю вопрос, сильно не пинайте, а подскажите куда правильнее обратиться с проблемой.

    Итак, собственно проблема.

    Нужно из CRM на PHP экспортировать данные по 4077-У. Решил воспользоваться генератором классов из XSDшки. Конкретно, xsd2php. Так как XSDшка на русском, то генератор честно создал файлы на русском, с русскими названиями классов, пропертей и методов. Код рабочий, но вроде как-то некомильфо… Честно говоря, первый раз встречаюсь с не-латинскими XSD. Хотя говорят, что у нас это распространено. Соответственно, подозреваю, что должны быть какие-то стандартные best practice по решению этой проблемы – генерация классов из русскоязычной XSD и последующая корректная сериализация объекта в XML. Может кто-нибудь подскажет в каком направлении нужно копать?

    Далее… Если почитать текст приложения к 4077-У, то в описании «Служебной части» ОЭС мы не обнаружим такого элемента как «БИК кредитной организации (филиала кредитной организации)». В то время как в самой XSD-схеме этот элемент присутствует. Другими словами, если вот прямо подготовить XML, руководствуясь бумажным документом, то XML получится невалидным. А если поковырять XSD и таки добавить элемент <БИККОНапрв>, то всё ОК. Это вообще «законно»?


  • #2
    erop
    Касательно best practice по экспорту из CRM на PHP XML файла не смогу подсказать.

    Сообщение от erop Посмотреть сообщение
    Если почитать текст приложения к 4077-У, то в описании «Служебной части» ОЭС мы не обнаружим такого элемента как «БИК кредитной организации (филиала кредитной организации)». В то время как в самой XSD-схеме этот элемент присутствует. Другими словами, если вот прямо подготовить XML, руководствуясь бумажным документом, то XML получится невалидным. А если поковырять XSD и таки добавить элемент <БИККОНапрв>, то всё ОК. Это вообще «законно»?
    Посмотрел сообщения которые мы формируем - данный тэг должен пристствовать. Бывает иногда что у нас XSD с текстом расходиться


    Комментарий


    • #3
      Кстати, еще по поводу PHP и XSD схемы к 4077-У... Еще более технический момент, но может кому будет полезен...

      XML-валидаторы от свежих версий PHP не проглатывают вот такие фокусы в XSD:
      Код:
      <xs:pattern value="[0-9]{9}|"/>
      Тут все дело в "пустой строке" после символа "|" (pipe). И в свежих версиях PHP нужно ручками заменить "пустую строку" на что-то примерно такое:
      Код:
      <xs:pattern value="[0-9]{9}|^$"/>
      чтобы таки DOMDocument::schemaValidate() отработала.

      Зато древний PHP 5.4 спокойно отработал и с оригинальной версией XSD.

      Комментарий

      Пользователи, просматривающие эту тему

      Свернуть

      Присутствует 1. Участников: 0, гостей: 1.

      Обработка...
      X