1 (edited by SweetTooth 2017-04-13 06:54:17)

Topic: Would be great to be able to remove System.XML references...

Hello

In case of mobile apps System.XML library adds about 500K-1M to the apk / ipa size and this can be an issue when the task is to minimize the distributed app size... So it would be great to be able to prevent its usage (it can be used in editor mode) and to use TinyXML (http://wiki.unity3d.com/index.php?title=TinyXmlReader) or something like that for XML parsing purposes, please consider this idea.

Best regards

Re: Would be great to be able to remove System.XML references...

Hello.

Yes, System.XML adds some extra size to the application.
But 1M is nothing, in the modern size of applications.
It's just 1-2 textures in good quality.

TinyXML is not a replacement for System.XML.
It's just a linear parser that does not work correctly.
Just try what happens if XML contains CDATA.
TinyXML does not generate DOM, does not support attributes, namespaces, CDATA, XPath, etc.
So I do not see any good reason to use TinyXML.

Let's suppose you found another really good XML framework, and say - use it.
But there are at least two problems:
1. In accordance with the rules of Unity Asset Store, assets can not contain third-party code distributed under other licenses (for example GNU, BSD, etc.).
Real World Terrain was first rejected, because it used SharpZipLib.
We had to write our own zip archiver.
You can reasonably argue that you saw such open source libraries in other assets.
I saw it too. One asset reviewer will accept this, the other will reject.
2. Another asset can use System.XML (because it's really a very popular library), and you'll have both libraries in your project.

Kind Regards,
Infinity Code Team

Re: Would be great to be able to remove System.XML references...

Alex Vertax wrote:

Hello.

Yes, System.XML adds some extra size to the application.
But 1M is nothing, in the modern size of applications.
It's just 1-2 textures in good quality.

TinyXML is not a replacement for System.XML.
It's just a linear parser that does not work correctly.
Just try what happens if XML contains CDATA.
TinyXML does not generate DOM, does not support attributes, namespaces, CDATA, XPath, etc.
So I do not see any good reason to use TinyXML.

Let's suppose you found another really good XML framework, and say - use it.
But there are at least two problems:
1. In accordance with the rules of Unity Asset Store, assets can not contain third-party code distributed under other licenses (for example GNU, BSD, etc.).
Real World Terrain was first rejected, because it used SharpZipLib.
We had to write our own zip archiver.
You can reasonably argue that you saw such open source libraries in other assets.
I saw it too. One asset reviewer will accept this, the other will reject.
2. Another asset can use System.XML (because it's really a very popular library), and you'll have both libraries in your project.

Can't argue with your reasoning, Alex sad