Журналов:     Статей:        

Вопросы радиоэлектроники. 2016; : 51-54

РЕАЛИЗАЦИЯ ФОРМАТНОЛОГИЧЕСКОГО КОНТРОЛЯ ДАННЫХ В ФОРМАТЕ XML С ПОМОЩЬЮ МЕТАКЛАССОВ НА ЯЗЫКЕ PYTHON

Родионов А. В., Чухраев И. В., Драч В. Е.

Аннотация

Рассмотрена роль схемы XML-документа и ее отображения на структуры данных программы в приложениях с повышенными требованиями к достоверности данных. Актуальность темы обусловлена широким применением XML как формата представления данных в задачах обмена электронными документами и распространенностью XML Schema в задачах обеспечения форматно-логического контроля. Представлен оригинальный пакет для языка программирования Python, использующий метаклассы, предназначенный для отображения схем документов XML на иерархию классов в приложении. Применение пакета в разработке программного обеспечения позволит существенно сократить повторяющийся код, связанный с сериализацией и десериализацией данных в XML-контейнерах и тем самым повысить надежность и поддерживаемость кода в приложениях электронного документооборота. Результаты работы нашли практическое применение в разработках специализированного программного обеспечения для юридически значимого документооборота.
Список литературы

1. Extensible Markup Language (XML). [Электронный ресурс]. Адрес доступа: http://www.w3.org/XML/

2. Справочник налоговой и бухгалтерской отчетности. ФНС России. [Электронный ресурс]. Адрес доступа: http://format.nalog.ru/

3. Document Object Model (DOM). [Электронный ресурс]. Адрес доступа: http://www.w3.org/DOM/

4. Python software foundation. [Электронный ресурс]. Адрес доступа: https://www.python.org/

5. Django. The web framework for perfectionists with deadlines. [Электронный ресурс]. Адрес доступа: https://www.djangoproject.com/

6. xml_orm: Python Package Index. [Электронный ресурс]. Адрес доступа: https://pypi.python.org/pypi/xml_orm

7. Django. The web framework for perfectionists with deadlines. Models. [Электронный ресурс]. Адрес доступа: https://docs.djangoproject.com/en/dev/topics/db/models/

8. xml.etree.ElementTree – The ElementTree XML API. [Электронный ресурс]. Адрес доступа: https://docs.python.org/2/library/xml.etree.elementtree.html

Issues of radio electronics. 2016; : 51-54

THE IMPLEMENTATION OF FORMAT-LOGICAL CONTROL OF XML DATA USING PYTHON METACLASSES

Rodionov A. , Chukhraev I. , Drach V.

Abstract

The role of XML document Schema and its mapping to program data structures is discussed, in relation to applications with high data reliability requirements. The actuality of work is defined by the wide application of XML as a data representation format in the tasks of electronic document exchange and popularity of XML Schema as a document integrity control tool. Original package utilizing metaclasses of Python programming language is introduced, suitable for defining XML document Schemas as class hierarchies, which will allow to use the package in software development will allow to substantially reduce the code repetition in serialization and deserialization of XML containers. The results of work are applied to development of specialized software for document exchange.
References

1. Extensible Markup Language (XML). [Elektronnyi resurs]. Adres dostupa: http://www.w3.org/XML/

2. Spravochnik nalogovoi i bukhgalterskoi otchetnosti. FNS Rossii. [Elektronnyi resurs]. Adres dostupa: http://format.nalog.ru/

3. Document Object Model (DOM). [Elektronnyi resurs]. Adres dostupa: http://www.w3.org/DOM/

4. Python software foundation. [Elektronnyi resurs]. Adres dostupa: https://www.python.org/

5. Django. The web framework for perfectionists with deadlines. [Elektronnyi resurs]. Adres dostupa: https://www.djangoproject.com/

6. xml_orm: Python Package Index. [Elektronnyi resurs]. Adres dostupa: https://pypi.python.org/pypi/xml_orm

7. Django. The web framework for perfectionists with deadlines. Models. [Elektronnyi resurs]. Adres dostupa: https://docs.djangoproject.com/en/dev/topics/db/models/

8. xml.etree.ElementTree – The ElementTree XML API. [Elektronnyi resurs]. Adres dostupa: https://docs.python.org/2/library/xml.etree.elementtree.html