New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor TXMLComponent to act as a proxy for XML handling in both Delphi and FPC #65

Closed
nunopicado opened this Issue Jul 23, 2017 · 9 comments

Comments

Projects
None yet
2 participants
@nunopicado
Contributor

nunopicado commented Jul 23, 2017

The idea is to reduce conditional compilation when using it

@mdbs99

This comment has been minimized.

Show comment
Hide comment
@mdbs99

mdbs99 Jul 23, 2017

Owner

What do you think about this #10 approach?

Owner

mdbs99 commented Jul 23, 2017

What do you think about this #10 approach?

@nunopicado

This comment has been minimized.

Show comment
Hide comment
@nunopicado

nunopicado Jul 23, 2017

Contributor

Could be done, and would provide an abstraction for XML and other formats.
We would need to address the compatibility issues just the same, but the end result would have a broader spec of usage.
That however is a conceivable longer task, and waiting for it to be done would probably delay the Delphi compatibilization to be on par with the main branch, which will only get larger as new interfaces and classes are developed and added to the James framework.
Shoud we keep waiting or advance issue #50 with what we have now?

Contributor

nunopicado commented Jul 23, 2017

Could be done, and would provide an abstraction for XML and other formats.
We would need to address the compatibility issues just the same, but the end result would have a broader spec of usage.
That however is a conceivable longer task, and waiting for it to be done would probably delay the Delphi compatibilization to be on par with the main branch, which will only get larger as new interfaces and classes are developed and added to the James framework.
Shoud we keep waiting or advance issue #50 with what we have now?

@mdbs99

This comment has been minimized.

Show comment
Hide comment
@mdbs99

mdbs99 Jul 23, 2017

Owner

Could be done, and would provide an abstraction for XML and other formats.

That is a goal too.

We would need to address the compatibility issues just the same, but the end result would have a broader spec of usage.

Yes, but we can start just with XML for now — I use much more XML than other formats like JSON. What about to you?

That however is a conceivable longer task, and waiting for it to be done would probably delay the Delphi compatibilization to be on par with the main branch, which will only get larger as new interfaces and classes are developed and added to the James framework.

But your issue is proposing to make this compatibility happen...
Do you have another simpler approach?

Owner

mdbs99 commented Jul 23, 2017

Could be done, and would provide an abstraction for XML and other formats.

That is a goal too.

We would need to address the compatibility issues just the same, but the end result would have a broader spec of usage.

Yes, but we can start just with XML for now — I use much more XML than other formats like JSON. What about to you?

That however is a conceivable longer task, and waiting for it to be done would probably delay the Delphi compatibilization to be on par with the main branch, which will only get larger as new interfaces and classes are developed and added to the James framework.

But your issue is proposing to make this compatibility happen...
Do you have another simpler approach?

@nunopicado

This comment has been minimized.

Show comment
Hide comment
@nunopicado

nunopicado Jul 23, 2017

Contributor

Yes, but we can start just with XML for now — I use much more XML than other formats like JSON. What about to you?

Me too.

But your issue is proposing to make this compatibility happen...
Do you have another simpler approach?

#10 should definitely go forward, and replace TXMLComponent as soon as ready.
But I wonder if we could have a temporary solution that would allow us to have compatibility sooner.
Even though it might represent an extra work now, and one that will possibly be ditched when #10 is done, it might avoid extra work in the future, because as you know, any object implemented on any one platform is possible due to refactoring to make it compatible on the other. So it makes sense that we try to have new object developing in both platforms simultaneously. But for that to happen, #50 must be done as well.

Contributor

nunopicado commented Jul 23, 2017

Yes, but we can start just with XML for now — I use much more XML than other formats like JSON. What about to you?

Me too.

But your issue is proposing to make this compatibility happen...
Do you have another simpler approach?

#10 should definitely go forward, and replace TXMLComponent as soon as ready.
But I wonder if we could have a temporary solution that would allow us to have compatibility sooner.
Even though it might represent an extra work now, and one that will possibly be ditched when #10 is done, it might avoid extra work in the future, because as you know, any object implemented on any one platform is possible due to refactoring to make it compatible on the other. So it makes sense that we try to have new object developing in both platforms simultaneously. But for that to happen, #50 must be done as well.

@mdbs99

This comment has been minimized.

Show comment
Hide comment
@mdbs99

mdbs99 Jul 23, 2017

Owner

Well, I would like to have compatibility with Delphi as soon as possible. Because that I've pointed the #10 ticket as a possible solution. We wouldn't implement all XML features from these frameworks but, instead, only which is necessary for our tests to work in both plataforms.

For now I can see that we just need:

  • Find Nodes
  • Get Child Nodes as a list
  • Move forward, deeply (child node) and backward.

Creating some decorator or something to solve #5 is a goal too.

However, tell me about your ideas.

Owner

mdbs99 commented Jul 23, 2017

Well, I would like to have compatibility with Delphi as soon as possible. Because that I've pointed the #10 ticket as a possible solution. We wouldn't implement all XML features from these frameworks but, instead, only which is necessary for our tests to work in both plataforms.

For now I can see that we just need:

  • Find Nodes
  • Get Child Nodes as a list
  • Move forward, deeply (child node) and backward.

Creating some decorator or something to solve #5 is a goal too.

However, tell me about your ideas.

@nunopicado

This comment has been minimized.

Show comment
Hide comment
@nunopicado

nunopicado Jul 23, 2017

Contributor

Don't really have any, at this point.
So you propose to make #10 as a XML parser to start with, and then move forward from there.
We certainly could try it.

Contributor

nunopicado commented Jul 23, 2017

Don't really have any, at this point.
So you propose to make #10 as a XML parser to start with, and then move forward from there.
We certainly could try it.

@mdbs99

This comment has been minimized.

Show comment
Hide comment
@mdbs99

mdbs99 Jul 24, 2017

Owner

Ok. I'll code some draft of Interfaces and Classes to FPC first.

Owner

mdbs99 commented Jul 24, 2017

Ok. I'll code some draft of Interfaces and Classes to FPC first.

@nunopicado

This comment has been minimized.

Show comment
Hide comment
@nunopicado

nunopicado Jul 24, 2017

Contributor

OK. As soon as you have it, I'll try them in Delphi and see how it goes.

Contributor

nunopicado commented Jul 24, 2017

OK. As soon as you have it, I'll try them in Delphi and see how it goes.

@mdbs99

This comment has been minimized.

Show comment
Hide comment
@mdbs99

mdbs99 Sep 17, 2017

Owner

Actually, I've created another project to handle this problem.
Please, take a look https://github.com/mdbs99/xavier
I did this code in just a few hours. It is not completed yet, but the basics are already working.

I will do more tests and then replace TXMLComponent and all stuff about XML from James.

Owner

mdbs99 commented Sep 17, 2017

Actually, I've created another project to handle this problem.
Please, take a look https://github.com/mdbs99/xavier
I did this code in just a few hours. It is not completed yet, but the basics are already working.

I will do more tests and then replace TXMLComponent and all stuff about XML from James.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment