Code Monkey home page Code Monkey logo

diev / smev-works Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 61 KB

XSL Transformation of an incoming Request.xml into its response XML + printable HTML/TEXT files. Формирование с помощью XSLT подтверждения на получение файла XML из Адаптера СМЭВ для отправки ответного XML обратно + формирование печатного бланка HTML/TEXT.

License: Apache License 2.0

Batchfile 3.88% C# 13.47% XSLT 72.20% HTML 10.45%
csharp html smev transform xml xsl xslt adapter fns text

smev-works's Introduction

SMEV-Works

XSL Transformation of an incoming Request.xml into its response XML + printable HTML/TEXT.

Формирование с помощью XSLT подтверждения на получение файла XML из Адаптера СМЭВ для отправки ответного XML обратно + формирование печатного бланка в формате HTML или TEXT. Образцы можно посмотреть здесь - XslTrans/samples/save

В комплекте прилагаются эталонный образец входящего запроса in\SampleRequest.xml и файлы шаблонов XSLT для вида сведений ФНС 313-19 "Сведения о снятии физического лица с учета...":

  • '313-19.xslt' для формирования ответного response XML с помощью пользовательских скриптов.
  • '313-19a.xslt' для формирования ответного response XML с помощью параметров XSLT без использования скриптов.
  • '313-19p.xslt' для формирования печатного бланка в формате HTML.
  • '313-19t.xslt' для формирования печатного бланка в формате TEXT.

Файлы в кодировке utf8 формируются без BOM (нетипично для XSLT), который не позволен в СМЭВ.

Usage

Выходной файл зависит от значения метода вывода <xsl:output method='*'/> в файле XSLT:

  • 'xml' (по умолчанию):
    XslTrans.exe Request.xml Trans.xslt [Request.response.xml]
  • 'html':
    XslTrans.exe Request.xml Trans.xslt [Request.html]
  • 'text':
    XslTrans.exe Request.xml Trans.xslt [Request.txt]

Если третий параметр не указан, будет создан файл в папке исходного файла с изменением его расширения в зависимости от указанного метода вывода в указанном вторым параметром файле XSLT.

Если третий параметр указан, то:

  • если указано имя файла с путем - будут созданы все папки этого пути;
  • если указано имя существующей папки - в ней будет создан файл с именем исходного файла;
  • если указано имя несуществующей папки с \ на конце - будет создана эта папка и в ней будет создан файл с именем исходного файла;
  • если вместо имени guid или {guid}, то при использовании XSLT с параметрами будет подставлено в имя файла значение client_id.

Коды возврата:

  • 0: Преобразование успешно выполнено.
  • 1: Ошибка в числе параметров - показ Usage.
  • 2: Не найден указанный в параметрах исходный файл (XML или XSLT).

Полезности в шаблонах XSLT:

  • Отладка файлов XML и HTML - переключить в indent="yes". выдавать XML/HTML в одну строку - переключить в indent="no".
  • Отладка таблиц в HTML - добавить border="1" в тэг table;

Examples

  • XslTrans.exe in\SampleRequest.xml XSLT\313-19.xslt
    делает 'in\SampleRequest.response.xml' для передачи обратно (по умолчанию).
  • XslTrans.exe in\SampleRequest.xml XSLT\313-19.xslt out\Response.xml
    делает 'out\Response.xml' для передачи обратно (файл указан).
  • XslTrans.exe in\SampleRequest.xml XSLT\313-19a.xslt out\Guid.xml
    делает 'out\36a96404-df69-...89.xml' для передачи обратно (файл указан
    как guid, будет подставлено значение поля client_id без скобок).
  • XslTrans.exe in\SampleRequest.xml XSLT\313-19a.xslt out\{Guid}.xml
    делает 'out{36a96404-df69-...89}.xml' для передачи обратно (файл указан
    как {guid}, будет подставлено значение поля client_id со скобками).
  • XslTrans.exe in\SampleRequest.xml XSLT\313-19p.xslt
    делает 'in\SampleRequest.html' для печати (по умолчанию).
  • XslTrans.exe in\SampleRequest.xml XSLT\313-19p.xslt Request-print.htm
    делает 'Request-print.htm' для печати (файл указан).
  • XslTrans.exe in\SampleRequest.xml XSLT\313-19t.xslt save\Request.txt
    делает 'save\Request.txt' для сохранения/печати в формате TEXT (файл указан).
  • XslTrans.exe in\SampleRequest.xml XSLT\313-19t.xslt save
    делает 'save\SampleRequest.txt' (файл не указан, но есть такая папка).
  • XslTrans.exe in\SampleRequest.xml XSLT\313-19t.xslt save\2023\
    делает 'save\2023\SampleRequest.txt' (указано создать такую папку).

Requirements

  • .Net Framework 4.8 (другие версии не тестировались - часто можно просто поправить в файле .config, и будет работать на старых версиях).

License

Licensed under the Apache License, Version 2.0.

smev-works's People

Contributors

diev avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.