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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Full support for that would require a full-blown XML parser integration.
It is not implemented at the moment.
Best,
Rumen
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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>
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
View and moderate all "Get Help" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
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
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
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
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
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
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?
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
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>
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
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.