Could you share some examples? Genuinely interested as I really only know those god awful and huge Maven configs as things one would mostly edit by hand
Maven is an excellent example where the original author forgot that XML attributes exist. Or rather he chose to use a use a terrible parser than didn't support them. And overly verbose names.
With a nice XSD, the below could be typed with full autocomplete and tab-next-placeholder support for element and attribute names in both neovim/vscode/ intellij.
<proj name="My Biz CLI" url="http://github.com/mybiz/mybizctl" modelVersion="4.0.0">
<coord groupId="com.mybiz" artifactId="mybizctl" version="1.0.0" packaging="jar" />
OR
<coord>com.mybiz:mybizctl:jar:1.0.0</coord> <!-- alt form -->
<deps>
<dep groupId="junit" artifactId="junit" version="5.0.1" scope="test" />
<dep>info.picocli:picocli:4.7.1</dep> <!-- alt form -->
</deps>
</proj>
The above declares a project CLI tool with proj metadata and a defined coordinate producing a jar file with 1 compile time dependency and 1 test dependency.
Maven is not a great example of the strengths of XML, as another comment describes.
I use XML a lot in favor of JSON because I can pass around a machine readable schema (yes, I know JSON now has some schema support) and because I can represent things like cycles and comments and numbers that are something other than 64-bit floating point values.
lenkite|2 years ago
With a nice XSD, the below could be typed with full autocomplete and tab-next-placeholder support for element and attribute names in both neovim/vscode/ intellij.
The above declares a project CLI tool with proj metadata and a defined coordinate producing a jar file with 1 compile time dependency and 1 test dependency.eadmund|2 years ago
mcculley|2 years ago
I use XML a lot in favor of JSON because I can pass around a machine readable schema (yes, I know JSON now has some schema support) and because I can represent things like cycles and comments and numbers that are something other than 64-bit floating point values.