-
Notifications
You must be signed in to change notification settings - Fork 22
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
Common, Measures and other cross-package features Readiness #256
Comments
Are you proposing these changes for all codelists and enumerations? |
Yes. I have added this intention back to my previous post. In case you have any concern just voice out. You are our expert in extensions. |
Hello, may be I've missed something, but do we allow only one extension entry in the block? |
It is by design to have only one extension block per element. It applies not only to the new code list extension but existing extensions too. Our intention is not to overwhelm the original element by extensions:
As the extension has a type "Any" (implemented in XML with "gml:AssociationRoleType"), you can use existing or create your own schema to put more complicated instance fragment there. |
Actually, @blchoy and @moryakovdv, all of the complex types listed in the extension tutorial table allow for an unlimited number of extension elements to appear within them. However, I do agree with Choy that we should not allow IWXXM documents to be overwhelmed with numerous extension blocks and that is why there is a 5K character limit on extension block content to prevent such "abuse." Occasionally there are instances when US METARs have to have two extension blocks within a single complex type, so I am grateful that the current schemas allow this. |
I should add that I agree with @blchoy that a single instance should suffice for both code list and enumeration extensions as you've proposed above. It's hard for me to see why anyone would need multiple instances in these cases. Also, may I kindly and respectfully suggest a different regular expression for extending enumerations? Perhaps something like |
@mgoberfield was right, the existing schema allows unlimited number of extensions! I cannot recall why I have "only a single extension is allowed" in my memory. The form of extension was determined by Aaron and may be what I have in my mind is my believe which had not been accepted? :) In any case we have a design decision to make:
Let's confirm this on Monday. |
I do not have a strong view on this, but I think what @mgoberfield proposed makes sense. In contrast to other extensions which only let people to introduce their own representation, the extension for enumeration allows one to add entries to an existing list of IWXXM selections. So it is natural for the added entries to follow IWXXM format, which is what Mark's regular expression is trying to constrain. In fact, if one would like to have enumeration entries in their own language, they may as well do this in an extension of other classes. Now we have another design decision to make on Monday:
|
While an unlimited number of extension elements is allowed by the schemas, in reality, the Schematron rule, Common.Report-2, limits its use significantly in IWXXM documents as it was designed to do. The unbounded number of extension elements has been in place since IWXXM v2.0. If option 2 is chosen, that will require a breaking change to the US schemas, i.e., a new major release which I want to avoid while we are introducing IWXXM to data consumers and the FAA. |
Do you think we also need to revise the the total number of characters across all extension blocks? As we are adding new extensions it is perhaps time to also raise this number. Is 10000 (2 times existing) good enough or you think more is better. |
I've been running TAC->IWXXM software on US METAR/SPECI observations in near real-time for the past year or so. Only once did the validation tool flagged a METAR message for exceeding the 5K limit. Let me check with the NCAR folks, they do the AIRMETs and SIGMETs TAC->IWXXM work. Unfortunately, we won't get a response from them before Monday's meeting. |
Seems to me this is yet to become an issue. Let's see if we can get a consensus in today's meeting first; the exact number can be finalized before I package RC1 for distribution. |
I think that the limit on the number of extensions should be related only to code lists and enumeration types, but not to the already presented extensions. I also like the @mgoberfield restriction '[A-Z0-9_]{,30}', maybe the length should be bigger, e.g. |
The template will only be used in enumeration. 30 characters is quite long already: |
I am not aware of another prolific user of extension elements comparable to the US. The situations which are likely to exceed the 5K limit are those which are of great significance and therefore the information should not be rejected. The one case I mentioned? It was a lengthy and complex METAR that occurred during a severe ice storm. For that reason, I am in favor of increasing the limit, but only a bit more, say, 6000 characters. I think NCAR will agree also. |
not ready. still under discussion |
Referencing #245.
We (Jan and Choy) propose the following implementation of extension for code list and enumeration classes:
Code list class:
[Post proposal note: Multiplicity of extension has changed from [0..1] to [0..*] to align with existing extensions in accordance to comments by @moryakovdv and @mgoberfield in the following posts]
The following is a possible instance fragment:
Enumeration class:
and the instance fragement looks like:
I would like to propose added extensions as above to all IWXXM code lists and enumerations. These changes are both forward and backward compatible. If we have a concurrence we shall be able to include this in FT2021-2. Your views please?
The text was updated successfully, but these errors were encountered: