Vai al contenuto principale

BIN RFksv Documentation

  • Author:

  • Version: 4

  • Description: Imposes a version constraint of a dependency for all references / [depends[on]]

  • Created: 2023-07-08

  • Modified: 2023-07-08

  • Source:

     Modifica Bin W3C Schema Json-Schema Java Bean Code Default Value as XML

    Printers Embed Responsive

    <complexType name="WebDepNamed" extra:bean.generate='abstract-readonly' 
    			description='A [WebDepNamed] has a required name.'>
        <field name='name' node='attribute' type='Name'
    				description="Required name of this [WebDepNamed]"></field>
    </complexType>
    <complexType name="OptionallyVersioned"
    			extra:bean.generate='abstract-readonly' description="A OptionallyVersioned has optional Version">
        <field name='version' node='attribute' minOccurs="0" type='Version'
    				description="In a OptionallyVersioned the Version is optional"></field>
    </complexType>
    <complexType name="Versioned" extra:bean.generate='abstract-readonly'
    			description="A Versioned has required Version">
        <implements type="OptionallyVersioned" />
        <field name='version' minOccurs="1"
    				description="In a Versioned the Version is required."></field>
    </complexType>
    <complexType name="VersionConstraint" extra:bean.generate='abstract-readonly'>
        <implements type="OptionallyVersioned" />
        <field name='version' description="The optional Version of this VersionConstraint" />
        <field name='versionKind' localName='vc' node='attribute'
    				minOccurs="0" type='VersionConstraintKindEnum'></field>
    </complexType>
    <complexType name="WebDepVersion" extra:form='true' extra:bean.generate='default'
    			description="Imposes a version constraint of a dependency for all references / [depends[on]]">
        <!-- 20230708 was: -->
        <!-- <implements type="WebDepNamed"/><field name='value' node='attribute' 
    				type='Version' ></field> -->
        <!-- "problems" are: [value] is [version] in NamedVersionConstraint, so: 
    				1) in all XML is [value] attribute (use localName) 
    				2) all beans is [value] 
    				property (THOUGHT extra:bean.field='value') but cannot, breaks Java 
    				interface, could generate wrappers to satisfy both, old code and interface 
    				! -->
        <implements type="NamedVersionConstraint" />
        <!-- when update war  localName='value'  -->
        <field name='version' extra:bean.field='value'
    				description="The requirea version of this [WebDepVersion]" />
    </complexType>
    <complexType name="NamedVersionConstraint"
    			extra:bean.generate='abstract-readonly'>
        <implements type="WebDepNamed" />
        <implements type="VersionConstraint" />
    </complexType>
    <simpleType name="Version" type='ShortNotEmptyString' />
    <simpleType name="Name" type='ShortNotEmptyString' />
    <simpleType name="Value" type='ShortString' />
    <simpleType name="ShortNotEmptyString" type='ShortString'>
        <facet name="minLength" value="1"></facet>
    </simpleType>
    <simpleType name="ShortString" type='xs:string'>
        <facet name="maxLength" value="256"></facet>
    </simpleType>
    <simpleType name="VersionConstraintKindEnum" type='xs:string'>
        <facet name="enumeration" value="min"></facet>
        <facet name="enumeration" value="more"></facet>
        <facet name="enumeration" value="exact"></facet>
        <facet name="enumeration" value="same"></facet>
    </simpleType>