Skip to content

Commit fa8155a

Browse files
committed
Minor of updates to NameOfClass
1 parent 3b105b5 commit fa8155a

File tree

2 files changed

+26
-11
lines changed

2 files changed

+26
-11
lines changed

scripts/nameofclass.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ def update_nameofclass_ref_attributes(
160160

161161
# --- Generate or replace NameOfClassXXX simpleType in entity_file ---
162162
simple_type_name = f"NameOfClass{ref_name}Type"
163+
if simple_type_name == "NameOfClassType":
164+
simple_type_name = "NameOfClass"
163165
existing_st = entity_root.find(
164166
f".//xsd:simpleType[@name='{simple_type_name}']", namespaces=ns
165167
)
@@ -204,8 +206,8 @@ def update_nameofclass_ref_attributes(
204206
if parent_ref_name.endswith('_Dummy'):
205207
parent_ref_name = l[2]
206208

207-
if parent_ref_name == '':
208-
print(ref_name, l)
209+
# if parent_ref_name == '':
210+
# print(ref_name, l)
209211

210212
# print(ref_name, parent_ref_name, l)
211213
# if ref_name == 'LinkRefStructure':
@@ -214,10 +216,15 @@ def update_nameofclass_ref_attributes(
214216
# print(analyzer._get_type_chain(natural_class + "Ref"))
215217
# raise
216218

219+
if parent_ref_name == '':
220+
base = "NameOfClass"
221+
else:
222+
base = f"NameOfClass{parent_ref_name}Type"
223+
217224
restriction = etree.SubElement(
218225
new_simple_type,
219226
"{http://www.w3.org/2001/XMLSchema}restriction",
220-
base=f"NameOfClass{parent_ref_name}Type",
227+
base=base,
221228
)
222229
for cls in concrete_classes:
223230
etree.SubElement(
@@ -291,13 +298,6 @@ def update_nameofclass_ref_attributes(
291298
base="xsd:string",
292299
)
293300

294-
# --- Add or replace nameOfRefClass attribute ---
295-
existing_attr = parent_for_attr.find(
296-
"{http://www.w3.org/2001/XMLSchema}attribute[@name='nameOfRefClass']"
297-
)
298-
if existing_attr is not None:
299-
parent_for_attr.remove(existing_attr)
300-
301301
attrib = etree.Element(
302302
"{http://www.w3.org/2001/XMLSchema}attribute",
303303
name="nameOfRefClass",
@@ -317,7 +317,17 @@ def update_nameofclass_ref_attributes(
317317
)
318318
doc.text = f"Automatic reference class for {ref_name}"
319319

320-
parent_for_attr.append(attrib)
320+
# --- Add or replace nameOfRefClass attribute ---
321+
existing_attr = parent_for_attr.find(
322+
"{http://www.w3.org/2001/XMLSchema}attribute[@name='nameOfRefClass']"
323+
)
324+
if existing_attr is not None:
325+
index = parent_for_attr.index(existing_attr)
326+
parent_for_attr.remove(existing_attr)
327+
parent_for_attr.insert(index, attrib)
328+
else:
329+
parent_for_attr.append(attrib)
330+
321331
modified = True
322332
else:
323333
print(f"WARNING: {ref_name} has an unknown {natural_class}. Skipping")

xsd/netex_framework/netex_responsibility/netex_entity_support.xsd

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7048,6 +7048,7 @@ Rail transport, Roads and Road transport
70487048
<xsd:enumeration value="HeadingSign"/>
70497049
<xsd:enumeration value="LiftCallEquipment"/>
70507050
<xsd:enumeration value="LiftEquipment"/>
7051+
<xsd:enumeration value="OtherPlaceEquipment"/>
70517052
<xsd:enumeration value="PlaceLighting"/>
70527053
<xsd:enumeration value="PlaceSign"/>
70537054
<xsd:enumeration value="QueueingEquipment"/>
@@ -7109,6 +7110,7 @@ Rail transport, Roads and Road transport
71097110
<xsd:enumeration value="LiftCallEquipment"/>
71107111
<xsd:enumeration value="LiftEquipment"/>
71117112
<xsd:enumeration value="LuggageSpotEquipment"/>
7113+
<xsd:enumeration value="OtherPlaceEquipment"/>
71127114
<xsd:enumeration value="PassengerBeaconEquipment"/>
71137115
<xsd:enumeration value="PassengerInformationEquipment"/>
71147116
<xsd:enumeration value="PassengerSafetyEquipment"/>
@@ -7175,6 +7177,7 @@ Rail transport, Roads and Road transport
71757177
<xsd:enumeration value="MeetingPointService"/>
71767178
<xsd:enumeration value="MoneyService"/>
71777179
<xsd:enumeration value="OnlineService"/>
7180+
<xsd:enumeration value="OtherPlaceEquipment"/>
71787181
<xsd:enumeration value="PassengerBeaconEquipment"/>
71797182
<xsd:enumeration value="PassengerInformationEquipment"/>
71807183
<xsd:enumeration value="PassengerSafetyEquipment"/>
@@ -8521,6 +8524,7 @@ Rail transport, Roads and Road transport
85218524
<xsd:enumeration value="EquipmentPlace"/>
85228525
<xsd:enumeration value="EquipmentPosition"/>
85238526
<xsd:enumeration value="FareTable"/>
8527+
<xsd:enumeration value="FareTableInContext"/>
85248528
<xsd:enumeration value="FareZone"/>
85258529
<xsd:enumeration value="Fleet"/>
85268530
<xsd:enumeration value="FlexibleArea"/>
@@ -9787,6 +9791,7 @@ Rail transport, Roads and Road transport
97879791
</xsd:annotation>
97889792
<xsd:restriction base="NameOfClassGroupOfEntitiesRefStructureType">
97899793
<xsd:enumeration value="FareTable"/>
9794+
<xsd:enumeration value="FareTableInContext"/>
97909795
<xsd:enumeration value="StandardFareTable"/>
97919796
</xsd:restriction>
97929797
</xsd:simpleType>

0 commit comments

Comments
 (0)