<p>Hi,</p>
<p>yes, versioning via an XML namespace would also be a possible approach. </p>
<p>Independent from the chosen approach, my question more was when we should create a new distinguishable schema version:</p>
<p>a) with the next schema change we make (so this would be BV 1.1)<br>
b) with the next incompatible schema change we make (there is none so far in BV 1.1, so this might be a future revision)</p>
<p>I&#39;m leaning towards b), as I don&#39;t think there is a real advantage of creating a new schema version (by means of a version attribute or a namespace) in case of compatible changes and it spares BV implementors from having to handle several schema versions at the same time.</p>

<p>In any case I think we have to provide the new schema (also if the change is backwards-compatible) under a new name (“ validation-configuration-1.1.xsd“), so users have the old and new version available, e.g. for content assist in their IDE.</p>

<p>--Gunnar</p>
<p>2012/6/10 Sebastian Thomschke &lt;<a href="mailto:sebastian.thomschke@web.de">sebastian.thomschke@web.de</a>&gt;:<br>
&gt; How about using a versioned namespace, e.g. like in maven?<br>
&gt;<br>
&gt; &lt;project xmlns=&quot;<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a>&quot; xmlns:xsi=&quot;<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>&quot; xsi:schemaLocation=&quot;<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a> <a href="http://maven.apache.org/xsd/maven-4.0.0.xsd">http://maven.apache.org/xsd/maven-4.0.0.xsd</a>&quot;&gt;<br>

&gt;<br>
&gt;<br>
&gt; Interesting readings:<br>
&gt; <a href="http://www.xfront.com/Versioning.pdf">http://www.xfront.com/Versioning.pdf</a><br>
&gt; <a href="http://www.ibm.com/developerworks/xml/library/x-tipnamsp/index.html">http://www.ibm.com/developerworks/xml/library/x-tipnamsp/index.html</a><br>
&gt; <a href="http://stackoverflow.com/questions/2014237/what-are-the-best-practices-for-versioning-xml-schemas">http://stackoverflow.com/questions/2014237/what-are-the-best-practices-for-versioning-xml-schemas</a><br>
&gt;<br>
&gt; Seb<br>
&gt;<br>
&gt; On 10.06.2012 18:16, Gunnar Morling wrote:<br>
&gt;&gt; Hi all,<br>
&gt;&gt;<br>
&gt;&gt; I&#39;d be interested in your opinion on BVAL-295 [1].<br>
&gt;&gt;<br>
&gt;&gt; The background is that for BV 1.1 there will be some additions to the<br>
&gt;&gt; BV XML descriptors and thus the corresponding XSD files (e.g. new<br>
&gt;&gt; element &quot;parameter-name-provider&quot; in validation.xml).<br>
&gt;&gt;<br>
&gt;&gt; While implementing method validation within the RI, Hardy and I asked<br>
&gt;&gt; ourselves whether there should be an explicit version attribute in the<br>
&gt;&gt; descriptor root element (similar e.g. to JPA&#39;s persistence.xml):<br>
&gt;&gt;<br>
&gt;&gt; &lt;validation-config<br>
&gt;&gt;      xmlns=&quot;<a href="http://jboss.org/xml/ns/javax/validation/configuration">http://jboss.org/xml/ns/javax/validation/configuration</a>&quot;<br>
&gt;&gt;      xmlns:xsi=&quot;...&quot;<br>
&gt;&gt;      xsi:schemaLocation=&quot;...&quot;<br>
&gt;&gt;      version=&quot;1.1&quot;&gt;<br>
&gt;&gt;      ...<br>
&gt;&gt; &lt;/validation-config&gt;<br>
&gt;&gt;<br>
&gt;&gt; This attribute would have a fixed value defined in the schema, which<br>
&gt;&gt; would allow to unambiguously identify the BV version for which an XML<br>
&gt;&gt; descriptor was written.<br>
&gt;&gt;<br>
&gt;&gt; As long as all schema changes are backwards compatible (meaning any<br>
&gt;&gt; files written against the 1.0 schemas are also valid against the new<br>
&gt;&gt; schemas), there is not really the need for such a version attribute,<br>
&gt;&gt; as always the new schema files could be used for validation. Things<br>
&gt;&gt; look different, though, in case of incompatible changes. Then the<br>
&gt;&gt; schema to validate against could be determined using the version<br>
&gt;&gt; attribute.<br>
&gt;&gt;<br>
&gt;&gt; Personally I feel we should add such an attribute once we really have<br>
&gt;&gt; an incompatible change (maybe in a future BV revision), but maybe<br>
&gt;&gt; there are other opinions?<br>
&gt;&gt;<br>
&gt;&gt; --Gunnar<br>
&gt;&gt;<br>
&gt;&gt; [1] <a href="https://hibernate.onjira.com/browse/BVAL-295">https://hibernate.onjira.com/browse/BVAL-295</a><br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; beanvalidation-dev mailing list<br>
&gt;&gt; <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; beanvalidation-dev mailing list<br>
&gt; <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a></p>