-
Notifications
You must be signed in to change notification settings - Fork 39
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
Proposal for an extension of ClassInFrameRef #650
base: next
Are you sure you want to change the base?
Conversation
Co-authored-by: Stefan de Konink <stefan@konink.de>
xsd/netex_framework/netex_responsibility/netex_entity_support.xsd
Outdated
Show resolved
Hide resolved
Co-authored-by: Stefan de Konink <stefan@konink.de>
xsd/netex_framework/netex_responsibility/netex_entity_support.xsd
Outdated
Show resolved
Hide resolved
</xsd:extension> | ||
</xsd:simpleContent> | ||
<xsd:sequence> | ||
<xsd:element name="MemberRef" type="ClassRefStructure" minOccurs="0" maxOccurs="unbounded"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Aurige Can't a member have member again? I think recursive is correc.t Or what would be your proposal?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
input from Christophe needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a ClassRefStructure inside a ClassRefStructure referred as Member ... but I'm not sure about what we wan't to say here, and waht is a member classs of a class ? Do you mean nested (for example a Quay inside a StopPlace) ? and if so, how would you make the difference between a ref (i.e a QuayRef) and the full object inclusion (Quay) ?
This recursion only allow to do things like this:
<netex:ClassRef nameOfClass="TOTO" use="required">
<netex:MemberRef nameOfClass="TITI"/>
</netex:ClassRef>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The original task is from Stefan. So I ask hiim:
In order to make a profile definition TypeOfFrame/ClassInFrameRef is an embedded way to describe a profile. What is currently lacking is the ability to describe the elements required in the profile.
If from this minimal definition a derived XML Schema (or Schematron) can be generated, every profile can be validated against an always up to date NeTEx upstream, without manual the manual labor of maintaining an extra XML Schema by hand (such as EPIP, Dutch, etc.)
@skinkie how deep do we want to go and Ref and objects?
xsd/netex_framework/netex_responsibility/netex_entity_support.xsd
Outdated
Show resolved
Hide resolved
xsd/netex_framework/netex_responsibility/netex_entity_support.xsd
Outdated
Show resolved
Hide resolved
@Aurige epip used mixed=true in their profile. I know undo it... Was bad practice anyhow. |
At this moment the following is part of the EPIP example by @Aurige. The part that I don't understand is now the ClassInFrame nameOfClass is introduced. That entire nameOfClass does not exists. <TypeOfFrame version="epip:1.0" id="epip:EU_PI_LINE_OFFER">
<Name>Network and schedule data for a single line.</Name>
<FrameClassRef nameOfClass="CompositeFrame"/>
<classes>
<ClassInFrameRef nameOfClass="DataManagedObject">Use Common definitions</ClassInFrameRef>
<ClassInFrameRef nameOfClass="VersionFrame">Use Common definitions</ClassInFrameRef>
<ClassInFrameRef nameOfClass="ResourceFrame">Use Common definitions</ClassInFrameRef>
<!-- Specific -->
<ClassInFrame nameOfClass="EU_PI_LINE_OFFER.SiteFrame-EU_PI_STOP">
<ClassRefType>all</ClassRefType>
<Mandatory>required</Mandatory>
</ClassInFrame> I think the question is if nameOfClass here should be something like: <ClassInFrame nameOfClass="SiteFrame" typeOfFrameRef="epip:EU_PI_STOP" version="epip:1.0"> |
I don't really remember that example (it must be pretty old, over 10 years, since NEPTUNE is not used any-more for quite long.. it was the equivalent of the UK TransXChange... so not NeTEx, but we did a mapping to NeTEx in 2013/14). |
@skinkie do we need more levels? Or can you do with one? |
@skinkie does this fit you primary needs (when we don't implement full schematron). |
Addesses: #649