-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Basic-Type-List rule in Shapechange (impacts DoubleList classes in CityGML) #54
Comments
The OGC TB17 Model Driven Standards task is developing and demonstrating an automated process flow from UML-based model specifications to standards documents and platform-specific model encodings; the CityGML 3.0 CM document is one use-case being prototyped and the CityGML 3.0 XML Schema-based PSM is one of several target encodings included in that work. After reviewing the 3.0 CM and the ShapeChange-derived XSDs developed by Tatjana Kutzner, including the source code modifications made by Katjana to a non-current ShapeChange baseline, we arrived at the following recommendations which we have made the basis for our ongoing TB17 activities. As part of prototyping and testing these recommendations the current ShapeChange software baseline (v2.10) has been extended with one new XML Schema-related rule: rule-xsd-cls-basictype-list This rule is independent of the CityGML 3.0 CM, addressing the more general topic of the modeling of lists of basic types in Application Schemas for an XML Schema PSM. This new rule will be included in the v2.11.0 release of ShapeChange and is available for immediate use in the developmental branch v2.10.1-SNAPSHOT. The semantics of this new rule are that a basic type that has a single property with maximum multiplicity greater than 1 will be encoded as a list-based XML Schema simple type. The list item type is the XSD type of the UML property value type. If the minimum multiplicity of the UML property is 0 and the maximum multiplicity is unbounded (‘*’), then the length of the resulting list is not restricted. Otherwise, length restrictions are defined according to the multiplicity of the property. The benefits of this rule are that a more natural approach to modeling lists in UML can be adopted, one that leverages the standard mechanisms for specifying UML properties (e.g., multiplicity) and thus avoids the uses of OCL constraints in the CM simply to add restrictions on the allowed list length as well as avoids the employment of mechanisms such as Schematron for validating XML Instance documents based on such OCL-specified constraints in CMs. The revised CM no longer requires the inclusion of “accessory” «BasicType» DoubleBetween0and1List and DoubleList generalization classes; the revised five subclasses are easier to read and understand. The design pattern is simple and clear should developers of ADEs desire to create new list-of-basic-type classes of their own. The generated XSDs using the added rule and the ShapeChange developmental branch v2.10.1-SNAPSHOT are otherwise identical to those currently prepared by Tatjana. In the future CityGML ADE developers can use the (now maintained) ShapeChange capability to generate their community-specific XSD encodings consistent with the CityGML 3.0 CM. |
Paul Birkel has written up the TB17 recommendations regarding the CityGML 3.0 CM and its associated draft XML Schema encoding. they are located in the "documents" folder here.
Please let Paul know what you make of these recommendations and, of course, any questions you may have. His e-mail is [email protected].
The text was updated successfully, but these errors were encountered: