And XSD Defines PositionType as abstract type as below
<complexType name="PositionType" abstract="true">
Now when we are running the wizard, pega is creating below
Position XML stream rule in VDF-Int-COM-PositionType class for element Position with root tag as OrderPosition
Position XML stream rule in VDF-Int-COM-Creationclass for element Creation with root tag as Creation
Position XML stream rule in VDF-Int-COM-Changeclass for element Change with root tag as Change
with Position PageList Type Property created with Page “VDF-Int-COM-PositionType”.
Now when the above XML stream rule is getting referred from Main root XML stream rule as the Position property is of type class VDF-Int-COM-PositionType its referring to the abstract type XML stream rule it means the tag name will be Position but external System is expecting Change as tag name in this case.
Now I have one solution to update the Position property to class VDF-Int-COM-Change and it will start referring the correct XML stream rule. But this will lead to problem when we will import next version of the XSD, pega will again create the property which will start referring again to VDF-Int-COM-PositionType and we need to update it manually again.
Is the above is Pega recommended way if not how should we configure it?
***Updated by moderator: Lochan to add Categories; add SR details***
Changing the Position property's page class to VDF-Int-COM-Change will lead to incorrect mapping for other substitutable candidates like VDF-Int-COM-Creation.
To achieve polymorphic behaviour with substituable elements, you will have to have Position pagelist entries as required. For example Position(1) page can be of type VDF-Int-COM-Change and Position(2) page can be of type VDF-Int-COM-Creation. Stream XML generates the XML document by polymorphically resolving to the appropriate Stream XML rules at runtime based on the context page composition.
Please refer this article for more details on this :