Menu

Encoding from xml files

Get Help
Anonymous
2017-11-24
2019-10-15
  • Anonymous

    Anonymous - 2017-11-24

    Hi Rumen,
    I would need to easily modified the xml text I have and that means having it on a text file.
    As I have seen the simpleEncoding has the messages inside the C program. How can I import a file and encode it to an EXI one?

    Thanks!

    Kind regards,

    Francesc

     
  • Rumen Kyusakov

    Rumen Kyusakov - 2017-12-18

    Hi Francesc,

    Sorry for the late response! Exip provides a low level C API which does not work on text files. The ´simpleEncoding´ example gives you one possible way to use the encoding API.
    You would need to implement text input to exip API calls translation yourselves which depending on the text input you choose can be quite some work because as I said exip is very low level.

    I hope this helps!

    Best regards,
    Rumen

     
  • Rumen Kyusakov

    Rumen Kyusakov - 2017-12-18

    I looked at the title now and realize it is text XML you would like to use as text input.
    Please have a look at this feauture request:
    https://sourceforge.net/p/exip/feature-requests/1/

    Full support for that would require a full-blown XML parser integration.
    It is not implemented at the moment.

    Best,
    Rumen

     
  • Anonymous

    Anonymous - 2019-04-12

    Hi Rumen,
    i would need to schema file that No EXI options , no out-of-band options ,and the decodeHeader cannt work ,how the exip can work with no exi options and no out-out-band options

     
  • Rumen Kyusakov

    Rumen Kyusakov - 2019-04-17

    Hi,

    I understand your question as follow: you have an XML Schema File which is EXI encoded and you are trying to decode it using exip. Moreover the EXI encoded schema file has No EXI options in the header and no out-of-band options as far as you know.

    Answer: You cannot decode EXI stream if you do not know what options are used during encoding.
    Tip: Try with some other EXI decoder first. If you succeed with it then you can try with exip.

    Best,
    Rumen

     
  • Anonymous

    Anonymous - 2019-04-18

    Hi Rumen,
    i have 6 six schema files
    2G_CI_MsgDef.xsd import V2G_CI_MsgHeader.xsd ,V2G_CI_MsgBody.xsd
    V2G_CI_MsgBody.xsd import V2G_CI_MsgDataTypes.xsd
    V2G_CI_MsgDataTypes.xsd import xmldsig-core-schema_decode.xml
    when i use decode sample
    exipd -xml -ops=x%-%-%-%- -schema=V2G_CI_MsgDef.exi,V2G_CI_MsgHeader.exi,V2G_CI_MsgBody.exi,V2G_CI_MsgDataTypes.exi,xmldsig-core-schema.exi v2g_2_encode.exi
    the ouput information is not complete,and only one schema infor used and other cannot use(i guess),
    how i modified to decode multi schema files enabled exi stream about simpleDecoding?

     
    • Rumen Kyusakov

      Rumen Kyusakov - 2019-04-18

      Hi,

      Your usage of exipd looks correct - it supports multiple schema files so this should not be a problem.
      It could be related to the out of band options "-ops=x%-%-%-%- " that you pass - try decoding v2g_2_encode.exi using some other EXI processor with the same out of band options.
      If you succeed it is probably some bug or unsupported feature in exip.

      Best,
      Rumen

       
  • Anonymous

    Anonymous - 2019-04-24

    hi
    thank you your reply,and i test in gcc build ,it works with muilti schema files,and now, i have a nother question, how to encode multi namepspaces use encode api?
    <ns6:v2g_message xmlns:ns2="urn:iso:15118:2:2010:AppProtocol" xmlns:ns3="urn:iso:15118:2:2013:MsgHeader" xmlns:ns6="urn:iso:15118:2:2013:MsgDef" xmlns:ns7="urn:iso:15118:2:2013:MsgBody" xmlns:ns4="urn:iso:15118:2:2013:MsgDataTypes" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#">
    when i use api startElement
    qname.uri = &NS_STR; //NS_STR = "urn:iso:15118:2:2013:MsgDef" ;
    qname.localName = &ELEM_MULT_TEST_STR;
    TRY_CATCH_ENCODE(serialize.startElement(&testStrm, qname, &valueType));
    the result is <p0:v2g_message xmlns:p0="urn:iso:15118:2:2013:MsgDef">,i want to six namespaces in <...>
    thanks</p0:v2g_message></ns6:v2g_message>

     
  • Rumen Kyusakov

    Rumen Kyusakov - 2019-05-01

    You would need to preserve namespaces (i.e., include that option in the header) and also encode Namespace (NS) event after SE (start element): EventTypeClass.EVENT_NS_CLASS

    Check the EXI standard on that: https://www.w3.org/TR/2014/REC-exi-20140211/#encodingEvents

    // Rumen

     
  • Anonymous

    Anonymous - 2019-10-12

    The Visual Studio solution file appears to be out-of-date and has not been maintained along with changes to the rest of the project. After updating the directory structure, include directories, etc, (even having to comment out luaL_register(L, "exipLuaLib", exipLuaLib); in EXIParser.c), I was able to successfully compile. However, the exipd command rejects any options or schema arguments. It appears to launch a main() function in luac.c and has a very list of acceptable arguments.

     

Anonymous
Anonymous

Add attachments
Cancel