Code Monkey home page Code Monkey logo

Comments (12)

thelsing avatar thelsing commented on July 28, 2024 1

Bad news: The used dlls don't exist in current ETS5 any more. And the dlls in the CV directory don't support version 20 of the scheme. :(

from createknxprod.

thelsing avatar thelsing commented on July 28, 2024

The xml is the same as the files in a knxprod-file. I just put everthing in one file. You can get the xsd of the xml from ETS dll Knx.Ets.Xml.ObjectModel.dll:

using (var fileStream = new FileStream("knx.xsd", FileMode.Create))
using (var stream = DocumentSet.GetXmlSchemaDocumentAsStream(KnxXmlSchemaVersion.Version14))
{
while (true)
{
var buffer = new byte[4096];
var count = stream.Read(buffer, 0, 4096);
if (count == 0)
break;

    fileStream.Write(buffer, 0, count);
}

}

from createknxprod.

nanosonde avatar nanosonde commented on July 28, 2024

@thelsing
Would it also be possible to use a more recent schema version with is used in latest ETS5.x?
Only the latest schema contains the required stuff for KNX data secure for example.

from createknxprod.

thelsing avatar thelsing commented on July 28, 2024

Sure. You only need to regenerate the xml class from xsd. I used xsd.exe + search and replace. I want to use the generator forked in my github account for this.

from createknxprod.

thelsing avatar thelsing commented on July 28, 2024

This one:
https://github.com/mganss/XmlSchemaClassGenerator

from createknxprod.

nanosonde avatar nanosonde commented on July 28, 2024

@thelsing
Could you elaborate a bit more what is needed to get a recent XML schema from ETS5.7 like this
<xs:schema xmlns:knx="http://knx.org/xml/project/20" and use it with this tool?

Do I just have to copy the two DLLs Knx.Ets.Xml.ObjectModel.dll and Knx.Ets.Xml.ObjectModel.XmlSerializers.dll from the ETS5.7 dir to the ETS4 folder which contains the converter engine DLL and overwrite the existing DLLs which have the same name?

The two DLLs in the ETS5.7 dir contain schema20. The DLLs in the ETS4 dir (converter) contain only schema11.

from createknxprod.

thelsing avatar thelsing commented on July 28, 2024

I would switch to the dlls from ETS 5.7.

Maybe the signing process needs to be changed a bit, but I can do this when we can create a xml in the new schema.

So the steps are:

  1. get a xsd from ets 5.7 dlls.
  2. create a new Xml.Project.cs with the xmlSchemaClassGenerator (It seems I already did this for schema version 17.)f
  3. change references to dlls from ETS5

Now you should be able so create and save the new xml format.
If we are lucky signing still works with the ETS5 dlls. If not we will have to experiment a bit.

from createknxprod.

nanosonde avatar nanosonde commented on July 28, 2024

We really need to update to the latest schema 20. This is also required for data secure stuff.
@thelsing Could you do that again?

from createknxprod.

thelsing avatar thelsing commented on July 28, 2024

I'll try. The problem is that the ETS4 dlls probably don't support this schema. So I need to use the dlls from ETS5. Let's hope that the methods are still the same for ETS5.

from createknxprod.

thelsing avatar thelsing commented on July 28, 2024

Steps for generation of code from xsd:
XmlSchemaClassGenerator.Console.exe -e -0 knx.xsd
s/Xml.Project/CreateKnxProd.Model/ on Xml.Project.cs
Change type of ReplacesVersion to string

from createknxprod.

nanosonde avatar nanosonde commented on July 28, 2024

So sad.
So the only option to get new ETS features working in the future somehow, is to β€žreuseβ€œ existing signed product databases and try to emulate an existing product.

from createknxprod.

thelsing avatar thelsing commented on July 28, 2024

This is fixed in dev-branch.

from createknxprod.

Related Issues (20)

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.