Well, the way I handle this in *Spring Data for Apache Geode* is, and to *Kirk's* point, the schema (XSD) version matches the SDG version. I.e. in SDG 2.0.0 [1] there is a spring-geode-2.0.0.xsd, and in SDG 2.1.0 [2] there now exists a spring-geode-2.1.0.xsd.
So, you could have a cache-1.1.xsd, or a cache-1.6.xsd to match the next Apache Geode version. I suggest the later. If you parser is smart enough (which *Spring's* is), then you can also have something like this [3], which "defaults the version", when the user does not explicitly call out the version in an XML document instance based on the XSD. Food for thought, John [1] https://github.com/spring-projects/spring-data-geode/tree/2.0.6.RELEASE/src/main/resources/org/springframework/data/gemfire/config [2] https://github.com/spring-projects/spring-data-geode/tree/2.1.0.M2/src/main/resources/org/springframework/data/gemfire/config [3] https://github.com/spring-projects/spring-data-geode/blob/2.1.0.M2/src/main/resources/META-INF/spring.schemas On Tue, Apr 17, 2018 at 8:32 AM, Jinmei Liao <jil...@pivotal.io> wrote: > but our xsd is versioned. If user wants to use a more "correct" xsd when > they are creating a cache.xml file, should we allow them to reference a > cache-2.0.xsd instead of cache-1.0.xsd? (provided that 2.0 is only a washed > down version of 1.0, nothing new added). > > On Tue, Apr 17, 2018 at 8:28 AM, Michael Stolz <mst...@pivotal.io> wrote: > > > Correct. We can "deprecate" any time we like as long as we have provided > an > > alternative, but we should only "remove" on a major release. > > > > -- > > Mike Stolz > > Principal Engineer, GemFire Product Lead > > Mobile: +1-631-835-4771 > > Download the new GemFire book here. > > <https://content.pivotal.io/ebooks/scaling-data-services- > > with-pivotal-gemfire> > > > > On Tue, Apr 17, 2018 at 10:51 AM, Anthony Baker <aba...@pivotal.io> > wrote: > > > > > Deprecation is a signal that a user should begin migrating to an > > > alternative because that thing may be removed in a future release. > > > Following the SemVer practice gives our users confidence that we won’t > > > break stuff in a minor release. > > > > > > Anthony > > > > > > > > > > On Apr 16, 2018, at 3:11 PM, Kirk Lund <kl...@apache.org> wrote: > > > > > > > > We should probably target removal of the "deprecated" cache xsd > > > > types/elements in Geode 2.0. I'm not sure if we can introduce > > > cache-2.0.xsd > > > > before Geode 2.0 or not (anyone know?). > > > > > > > > On Mon, Apr 16, 2018 at 2:59 PM, Jinmei Liao <jil...@pivotal.io> > > wrote: > > > > > > > >> Simply searching "deprecated" in cache-1.0.xsd, we have 15 hits. > Would > > > it > > > >> make sense to start creating a cache-2.0.xsd? or better yet, a > > > >> server-cache-2.0.xsd and a client-cache-2.0.xsd? > > > >> > > > >> > > > >> On Mon, Apr 16, 2018 at 2:55 PM, Patrick Rhomberg < > > prhomb...@pivotal.io > > > > > > > >> wrote: > > > >> > > > >>> Some types / fields have their deprecation noted in their > > > documentation, > > > >>> within the <xsd:documentation> block. Alternatively / in addition, > > > some > > > >>> xsd:element have the block > > > >>> > > > >>> <xsd:annotation> > > > >>> <xsd:appinfo>deprecated</xsd:appinfo> > > > >>> </xsd:annotation> > > > >>> > > > >>> > > > >>> Although I don't know if these annotations count as "visible," but > > they > > > >> are > > > >>> there. > > > >>> > > > >>> On Mon, Apr 16, 2018 at 1:49 PM, Jinmei Liao <jil...@pivotal.io> > > > wrote: > > > >>> > > > >>>> I don't think we have a process for deprecating elements in > > cache.xml > > > >>>> yet.... All the changes we've had so far are additions, not > removal. > > > >>>> > > > >>>> The reason I am asking is that we are creating POJO's (started by > > JAXB > > > >>> tool > > > >>>> from xsd file) that would generate the cluster configuration xml > > > >>>> automatically. As long as we know there are "new" ways to do > things, > > > we > > > >>>> should have these POJO's only generate XML that's in the new > style. > > > >>>> > > > >>>> Thanks! > > > >>>> > > > >>>> On Mon, Apr 16, 2018 at 12:01 PM, Jason Huynh <jhu...@pivotal.io> > > > >> wrote: > > > >>>> > > > >>>>> Hi Jinmei, > > > >>>>> > > > >>>>> I am not sure whether these elements were deprecated or not. I > > know > > > >>> that > > > >>>>> they were at one time valid and a user could specify the > following > > in > > > >>>> their > > > >>>>> app at one point: > > > >>>>> > > > >>>>> <index name="pk1"> > > > >>>>> <primary-key field="ID"/> > > > >>>>> </index> > > > >>>>> > > > >>>>> I believe the "new" way to do this would be: > > > >>>>> > > > >>>>> <index name="pk1" type="key" from-clause="/region r" > > > >> expression="ID"/> > > > >>>>> > > > >>>>> How would deprecation for this work? Would your roll a new > version > > of > > > >>>>> the new definition/scheme? > > > >>>>> > > > >>>>> > > > >>>>> On Mon, Apr 16, 2018 at 10:28 AM Jinmei Liao <jil...@pivotal.io> > > > >>> wrote: > > > >>>>> > > > >>>>>> From the cache-1.0.xsd, we noticed that an index can have > element > > > >>> like > > > >>>>>> "functional" and "primary-key", but the docs did not mention > > > >> anything > > > >>>>> about > > > >>>>>> it ( > > > >>>>>> > > > >>>>>> https://geode.apache.org/docs/guide/13/reference/topics/ > > > >>>>> cache_xml.html#region > > > >>>>>> ). > > > >>>>>> I am wondering if these are deprecated? Would it be better for > the > > > >>> the > > > >>>>> xml > > > >>>>>> created by the cluster configuration not consist any of these? > > > >>>>>> > > > >>>>>> <xsd:choice minOccurs="0"> > > > >>>>>> <xsd:element name="functional"> > > > >>>>>> <xsd:annotation> > > > >>>>>> <xsd:documentation> > > > >>>>>> A functional type of index needs a from-clause, > expression > > > >>>>>> which are mandatory. > > > >>>>>> The import string is used for specifying the type of > Object > > > >>> in > > > >>>>>> the region or > > > >>>>>> the type of Object which the indexed expression evaluates > > > >> to. > > > >>>>>> </xsd:documentation> > > > >>>>>> </xsd:annotation> > > > >>>>>> <xsd:complexType> > > > >>>>>> <xsd:attribute name="expression" type="xsd:string" > > > >>> use="required" > > > >>>>> /> > > > >>>>>> <xsd:attribute name="from-clause" type="xsd:string" > > > >>>> use="required" > > > >>>>> /> > > > >>>>>> <xsd:attribute name="imports" type="xsd:string" > > > >> use="optional" > > > >>> /> > > > >>>>>> </xsd:complexType> > > > >>>>>> </xsd:element> > > > >>>>>> > > > >>>>>> <xsd:element name="primary-key"> > > > >>>>>> <xsd:annotation> > > > >>>>>> <xsd:documentation> > > > >>>>>> A primary-key type of index needs a field attribute which > > > >> is > > > >>>>>> mandatory. > > > >>>>>> There should be only one or zero primary-index defined > for > > > >> a > > > >>>>> region > > > >>>>>> </xsd:documentation> > > > >>>>>> </xsd:annotation> > > > >>>>>> <xsd:complexType> > > > >>>>>> <xsd:attribute name="field" type="xsd:string" > use="required" > > > >> /> > > > >>>>>> </xsd:complexType> > > > >>>>>> </xsd:element> > > > >>>>>> </xsd:choice> > > > >>>>>> > > > >>>>>> > > > >>>>>> > > > >>>>>> -- > > > >>>>>> Cheers > > > >>>>>> > > > >>>>>> Jinmei > > > >>>>>> > > > >>>>> > > > >>>> > > > >>>> > > > >>>> > > > >>>> -- > > > >>>> Cheers > > > >>>> > > > >>>> Jinmei > > > >>>> > > > >>> > > > >> > > > >> > > > >> > > > >> -- > > > >> Cheers > > > >> > > > >> Jinmei > > > >> > > > > > > > > > > > > -- > Cheers > > Jinmei > -- -John john.blum10101 (skype)