Un pacchetto del flusso di documenti PIP contiene i file dello schema XML che definiscono i formati del messaggio e i valori accettabili per gli elementi. La seguente procedura descrive in che modo creare questi file in base ai contenuti del file delle specifiche PIP.
Si crea almeno un file XSD per ogni file DTD nel file delle specifiche PIP. Per l'esempio di aggiornamento in PIP 5C4 V01.03.00, dato che il formato del messaggio è cambiato, la procedura descrive in che modo creare il file BCG_5C4RegistrationStatusNotification_V01.03.xsd come esempio. Per informazioni sui file XSD, vedere Convalida.
Per creare i file XSD per il pacchetto del flusso di documenti PIP, procedere come segue:
In generale, gli elementi nelle indicazioni corrispondono alle definizioni degli elementi nel file DTD. Tuttavia, le indicazioni potrebbero contenere alcuni elementi che presentano gli stessi nomi, ma diverse cardinalità. Dato che il DTD non può fornire la cardinalità in questo caso, è necessario modificare l'XSD. Ad esempio, il file delle indicazioni 5C4_MG_V01_03_00_RegistrationStatusNotification.htm presenta una definizione per ContactInformation online 15 che presenta cinque elementi secondari con le seguenti cardinalità:
La definizione di ContactInformation sulla riga 150 presenta quattro elementi secondari con le seguenti cardinalità:
Nel file XSD, tuttavia, ogni elemento secondario di ContactInformation presenta una cardinalità che è conforme ad entrambe le definizioni:
<xsd:element name="ContactInformation"> <xsd:complexType> <xsd:sequence> <xsd:element ref="contactName"/> <xsd:element maxOccurs="1" minOccurs="0" ref="EmailAddress"/> <xsd:element maxOccurs="1" minOccurs="0" ref="facsimileNumber"/> <xsd:element maxOccurs="1" minOccurs="0" ref="PhysicalLocation"/> <xsd:element maxOccurs="1" minOccurs="0" ref="telephoneNumber"/> </xsd:sequence> </xsd:complexType> </xsd:element>
Se si aggiorna il pacchetto del flusso di documenti PIP di un'altra versione del pacchetto e si desidera riutilizzare una definizione dall'altra versione, procedere come segue per ciascuna di queste definizioni:
<xsd:complexType name="ContactInformation_type7"> <xsd:sequence> <xsd:element name="contactName" type="common_FreeFormText_R"/> <xsd:element name="EmailAddress" type="common_EmailAddres_R" minOccurs="0"/> <xsd:element name="facsimileNumber" type="common_CommunicationsNumber_R" minOccurs="0"/> <xsd:element name="PhysicalLocation" type="PhysicalLocation_type1" minOccurs="0" /> <xsd:element name="telephoneNumber" type="common_CommunicationsNumber_R minOccurs="0" /> </xsd:sequence> </xsd:complexType>
<xsd:include schemaLocation="BCG_ContactInformation_Types.xsd"/>
nome="ContactInformation" tipo="ContactInformation_type7"
Se si crea un pacchetto del flusso di documenti PIP o si aggiorna un pacchetto del flusso di documenti PIP, ma la definizione necessaria non è presente nell'altra versione, procedere come segue per ogni istanza dell'elemento trovato nelle istruzioni:
<xsd:complexType name="ContactInformation_localType1"> <xsd:sequence> <xsd:element ref="contactName"/> <xsd:element maxOccurs="1" minOccurs="0" ref="EmailAddress"/> <xsd:element maxOccurs="1" minOccurs="0" ref="facsimileNumber"/> <xsd:element maxOccurs="1" minOccurs="0" ref="PhysicalLocation"/> <xsd:element maxOccurs="1" minOccurs="0" ref="telephoneNumber"/> </xsd:sequence> </xsd:complexType>
name="ContactInformation"
type="ContactInformation_localType1"
In Figura 35 viene mostrato l'elemento productProviderFieldApplicationEngineer prima che venga modificato.
<xsd:element name="productProviderFieldApplicationEngineer">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ContactInformation"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
In Figura 36 viene mostrato l'elemento productProviderFieldApplicationEngineer ù dopo che viene modificato.
<xsd:element name="productProviderFieldApplicationEngineer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ContactInformation"
type="ContactInformation_localType1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Ad esempio, in un messaggio PIP 5C4 V01.03.00, GlobalRegistrationComplexityLevelCode può avere solo i seguenti valori: Superiore alla media, Medio, Massimo, Minimo, Nessuno e Alcuni.
Se si aggiorna il pacchetto del flusso di documenti PIP in base ad un'altra versione del pacchetto e si desidera utilizzare un insieme di valori di enumerazione dell'altra versione, procedere come segue per ciascun insieme:
<xsd:simpleType name="_GlobalRegistrationComplexityLevelCode"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Above average"/> <xsd:enumeration value="Average"/> <xsd:enumeration value="Maximum"/> <xsd:enumeration value="Minimum"/> <xsd:enumeration value="None"/> <xsd:enumeration value="Some"/> </xsd:restriction> </xsd:simpleType>
<xsd:include schemaLocation= "BCG_GlobalRegistrationComplexityLevelCode_Types.xsd" />
name="GlobalRegistrationComplexityLevelCode"
type="_GlobalRegistrationComplexityLevelCode"
Se si crea un pacchetto del flusso di documenti PIP o si aggiorna un pacchetto del flusso di documenti PIP, ma le definizioni del valore di enumerazione necessarie non sono presenti nell'altra versione, eseguire questi passaggi per ogni elemento con i valori enumerati nelle istruzioni:
<xsd:simpleType name="GlobalRegistrationComplexityLevelCode_localType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Above average"/> <xsd:enumeration value="Average"/> <xsd:enumeration value="Maximum"/> <xsd:enumeration value="Minimum"/> <xsd:enumeration value="None"/> <xsd:enumeration value="Some"/> </xsd:restriction> </xsd:simpleType>
name="GlobalRegistrationComplexityLevelCode" type="GlobalRegistrationComplexityLevelCode_localType"
In Figura 37 viene mostrato l'elemento Element prima che venga modificato.
<xsd:element name="DesignAssemblyInformation">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0"
ref="assemblyComments"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="demandCreatorTrackingIdentifier"/>
<xsd:element maxOccurs="unbounded" minOccurs="0"
ref="DesignPartInformation"/>
<xsd:element ref="DesignRegistrationIdentification"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GeographicRegion"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GlobalRegistrationComplexityLevelCode"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GlobalRegistrationInvolvementLevelCode"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="RegistrationStatus"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
In Figura 38 viene mostrato l'elemento Element dopo che viene modificato.
<xsd:element name="DesignAssemblyInformation">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0"
ref="assemblyComments"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="demandCreatorTrackingIdentifier"/>
<xsd:element maxOccurs="unbounded" minOccurs="0"
ref="DesignPartInformation"/>
<xsd:element ref="DesignRegistrationIdentification"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GeographicRegion"/>
<xsd:element maxOccurs="1" minOccurs="0"
name="GlobalRegistrationComplexityLevelCode"
type="GlobalRegistrationComplexityLevelCode_localType"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GlobalRegistrationInvolvementLevelCode"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="RegistrationStatus"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Se si aggiorna il pacchetto del flusso di documenti PIP su un'altra versione del pacchetto e si desidera utilizzare una definizione dell'entità dei dati dall'altra versione, procedere come segue per ciascun insieme:
<xsd:simpleType name="_common_DateStamp_R"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{8}Z" /> </xsd:restriction> </xsd:simpleType>
<xsd:include schemaLocation="BCG_common.xsd" />
name="DateStamp" type="_common_DateStamp_R"
Se si crea un pacchetto del flusso di documenti PIP o si aggiorna un pacchetto del flusso di documenti PIP, ma la definizione dell'entità dei dati necessaria non è presente nell'altra versione, procedere come segue per ogni elemento di entità dei dati:
<xsd:simpleType name="DateStamp_localType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{8}Z" /> </xsd:restriction> </xsd:simpleType>
name="DateStamp" type="DateStamp_localType"
In Figura 39 viene mostrato l'elemento Element beginDate prima che venga modificato.
<xsd:element name="beginDate">
<xsd:complexType">
<xsd:sequence>
<xsd:element ref="DateStamp"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
In Figura 40 viene mostrato l'elemento Element beginDate dopo che viene modificato.
<xsd:element name="beginDate">
<xsd:complexType">
<xsd:sequence>
<xsd:element name="DateStamp" type="DateStamp_localType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>