PDXpert IPC-2570 technical notes

Including an IPC-2570 map to PDXpert attributes.

Last update 2023-05-12

This describes a PDX package exported using the current PDXpert release. Earlier releases may be different.

Contents

How IPC-2570 affects PDXpert configuration & use

Content topic numbers refer to the corresponding section in each IPC standard.

Text styles: IPC element name, IPC attribute name, supplied attribute value.

General specifications (link)

IPC-2571 Generic Requirements§

  1. ProductDataeXchangePackage
  2. History / HistoryItem
  3. Attachments / Attachment
  4. Contacts / Contact / ContactRoles / ContactRole / GroupRole / PublicDigitalCertificate
  5. AdditionalAttributes / AdditionalAttribute
  6. AlternateIdentifiers / AlternateIdentifier

IPC-2576 As Built Data§

As-built data is created by a downstream manufacturing process. These elements are not included in a PDXpert PDX package.

  1. AsBuiltProduct
  2. ProductInstance
  3. Configuration
  4. Lot
  5. WorkOrder
  6. Packaging
  7. Process

IPC-2578 Bill of Material and Product Design Configuration Data§

  1. Items / Item
  2. SerialNumbers / SerialNumberRange / SerialNumberIdentification
  3. BillOfMaterial / BillOfMaterialItem
  4. ReferenceDesignators / ReferenceDesignator
  5. AlternateItems / AlternateItem
  6. ApprovedManufacturerList / ApprovedManufacturerListItem
  7. ApprovedSupplierList / ApprovedSupplierListItem
  8. ChangeHistory / ChangeHistoryItem
  9. Changes / Change
  10. Approvers / Approver
  11. AffectedItems / AffectedItem
  12. ApprovedManufacturerListMarkups / ApprovedManufacturerListMarkup / ApprovedManufacturerListMarkupRowOld / ApprovedManufacturerListMarkupRowNew
  13. AttachmentMarkups / AttachmentMarkup / AttachmentMarkupRowOld / AttachmentMarkupRowNew
  14. BillOfMaterialMarkups / BillOfMaterialMarkup / BillOfMaterialMarkupRowOld / BillOfMaterialMarkupRowNew
  15. ManufacturerParts / ManufacturerPart
  16. SupplierParts / SupplierPart
  17. Characteristics / MeasuredCharacteristic / RangedCharacteristic / EnumeratedCharacteristic / TextualCharacteristic

See also Alphabetical index

How IPC-2570 affects PDXpert configuration§

Technical design and constraints

The IPC-2570 standards focus on physical manufacturing: parts, BOMs, sources. Document records are treated as parts, and reference relationships (e.g., instructions, specifications, tooling, etc.) rely on the BOM relationship (even if the parent isn't an assembly).

Home organization parts (IPC element Item) allow more relationships than partner organization source parts (ManufacturerPart). The standards require an assembly and all parts on its bill of materials (BillOfMaterialItem) to be home parts; there's no standard attribute that identifies the owning organization. The IPC-2570 standard doesn't expect a partner bill of material or a partner part directly on the BOM.

PDXpert uses the AdditionalAttributes element to add each referenced part or document. The related Item element includes attributes; attachments for revision and item files; materials; and change history. It doesn't include BOM, Sources or References.

The IPC specification's AdditionalAttribute and ManufacturerPart elements are terminal nodes: they don't allow BOMs, sources or references, or support recursions. A PDX package excludes the referenced item's own references, sources and BOM items. A ManufacturerPart that's a source for an Item includes only its revision (isFileIn:Yes) and item (isFileIn:No) file attachments, but not its References list.

To improve compatibility with PDX package viewers and importers, the PDXpert pdx.xml file has these characteristics:

  • IPC-2571 Section 3 processing directives <?pdx_version = "1.0"?> and <?generated_by ... ?> are always included.

  • IPC-2571 Section 6 specifies that ProductDataeXchangePackage elements, attributes packageType and thisDocumentCopyright are #IMPLIED values. However, these attributes are always included, even if the value is empty.

  • IPC-2571 Section 9.1 specifies that Contact element, attribute isTopLevel is #IMPLIED but it's always included to identify the package originator at ProductDataeXchangePackage originatedByContactUniqueIdentifier.

  • IPC-2578 Section 4.1 specifies that Item element, attribute isTopLevel is #REQUIRED and it's always included per IPC-2571 Section 5.7.

  • IPC-2578 Section 18.1 specifies that ManufacturerPart element, attribute isTopLevel is #IMPLIED but it's always included per IPC-2571 Section 5.7.

Construction recursion rules§

The PDX package's starting node is an Item, ManufacturerPart or Change that contains its allowed relationships. On each Item element, the immediate Sources, References and Files lists are included, but only its BOM item is examined for lower-level relationships.

  1. A part [PDXpert home part as IPC Item] can have a BOM, sources, references, files.

    1. Bill of material row [PDXpert home part as IPC BillOfMaterialItem] with designed, purchased or assembly part included? Yes

      1. Bill of material parts [as IPC Item] included? Yes

        • Recursion continues to lower-level parts. If the BOM item has a BOM, sources, references or file attachments, they're included.

      2. Manufacturer sources [PDXpert partner part as IPC ManufacturerPart] included? Yes

        • Recursion stops here. If the source part has file attachments, they're included.

      3. Reference documents and parts [as IPC Item] included? Yes

        • Recursion stops here. If the reference item has file attachments, they're included.

      4. Revision file (isFileIn:Yes), item file & external link (isFileIn:No) [as IPC Attachment] included? Yes

        • File attachments relate only to the item, and never relate to lower-level items

    2. Source part included? Yes

      • Recursion stops here. If the source part has file attachments, they're included.

    3. Reference document / part included? Yes

      • Recursion stops here. If the reference item has file attachments, they're included.

    4. Files attachments included? Yes

      • File attachments relate only to the item, and never relate to lower-level items

If your supply chain partner needs the excluded details of a referenced Item or ManufacturerPart, it must be exported separately in its own PDX package.

Partner parts as assemblies or BOM components§

In product manufacturing, good practice says that your company assigns its own part number to every part it designs or specifies. For purchased parts, a home part record identifies your company's requirements; the part's sources list (manufacturer part records) describe how those requirements are met. The home part is revised when new manufacturer sources are added, and when existing sources must be removed as obsolete or disqualified. Assemblies show only your company's part numbers. Manufacturers' parts appear only as sources for your parts, never directly on the BOM. (More information)

IPC-2578 requires this practice: only a (home) Item can have a BillOfMaterial, and a BillOfMaterialItem refers to a (home) Item. A (partner) ManufacturerPart cannot have a BOM or appear directly on a BOM.

Shared manufacturer datasheets§

When the manufacturer's datasheet is directly attached to the PDXpert partner source part (IPC ManufacturerPart) as a revision file or external link, this works as you'd expect: the attachment is exported into the PDX package, and shown in PDXplorer.

However, it's common for a datasheet to describe many similar parts: a resistor series that varies only in resistance; O-rings that vary only in diameter; screws that vary in length. In these cases, the ideal solution would have one document record with the shared datasheet as an attachment, and then each ManufacturerPart would include this document on its References list. Unfortunately, this document reference isn't exported in the PDX package.

There are four options for using shared datasheets with PDX packages:

  1. Attach the partner's shared datasheet directly to each source part's Revision Files list. If you have 20 parts that use the same datasheet, you'll have 20 identical file attachments. This appears to be the process intended by IPC-2570.
  2. Attach a shared datasheet on a separate document, list the document on the manufacturer parts, and export the document separately. This works best when your supply chain partners retain these shared datasheets. You'll send updates only when the manufacturer issues a new datasheet.
  3. Attach shared datasheet documents as a reference on the home purchased part. This has the benefit of including the datasheet with the PDX package, but separates the datasheet from its actual manufacturer. It requires some care in coordinating the home part's Sources list with its References list.
  4. Use an external link on the manufacturer part to link to the supplier's on-line datasheet. The external link is included in the package. This is often the best solution when the part is widely-used, the datasheet is available on-line, and manufacturer's datasheet changes don't affect interchangeability.

Attachments: Revision files, item files, external links§

PDXpert exports a PDX package that may include files and web links (IPC Attachments):

  • All related document and part revision files, as well as change form files, are included in a PDX package. (isFileIn:Yes).

  • Item files that are attached to documents and parts are identified, but not included, in the PDX package. (isFileIn:No).

  • Although an external link is exported into a PDX package, it's a pointer to the actual file or web resource that is not included (isFileIn:No). The content of the link target (web page or downloadable file) may change between the time the package is exported and when the link is clicked.

If you have a file that cannot be shared (for example, computer source code or a secret formula), attach it as an item file. Or, you can structure your product BOM so that secret revision files are attached at a higher level that's not exported to supply chain partners. You can also exploit the "reference on reference" exclusion described earlier by listing the documents as references on a "proprietary documents" record.

Finally, supply chain partners or other PDX package users are blocked from an external linked resource if, for example, the link points to a private server on your local network.

Manufacture and ChangeNotification package types§

PDXpert exports distinct PDX package types from a part or document, and from a change form. The ProductDataeXchangePackage element has a packageType attribute that shows the Manufacture or ChangeNotification value.

Manufacture

A Manufacture package contains a selected part or document.

The package starts at the selected item, and drills down into its related lists: BOM, sources, references, materials and file attachments. The rules for what is included (and what is not) are described in the Technical background section of this application note.

ChangeNotification

The ChangeNotification package provides information about the selected change, its file attachments, and its affected items. This package includes the revised items, as well as their immediate BOM, sources, references and file attachments. It doesn't include the full BOM recursion to lower-level items if the items are not affected by the change. The package also includes lists of the differences ("markup") for an affected item's BOM, sources, and file attachments.

XML names§

The IPC-2750 standards use the W3C XML technology standard. While PDXpert handles most of the details, your custom attribute names must conform to the XML standard, particularly regarding letter case and whitespace.

Your custom attribute's name is exported into PDX packages as an XML AdditionalAttribute element's name attribute value. Differences in letter case or whitespace may prevent an export, or create inconsistent PDX export packages, or cause import errors in other software.

  • Characters in an attribute value are case-sensitive. No case conversion ("folding") is performed before strings are matched, thus A and a are not the same.

    Rule: When a custom attribute name is used on more than one item type, use the same letter case for every type's name. For example, a Purchase part's custom attribute name="RoHS" and a Design part's name="ROHS" may cause processing errors.

    Download this Show Custom Attribute Names transform (for PDXpert 13.0 or later) to review and compare all custom attributes' names. It's shown only in the administrator's Tools ➔ Report/Export menu. The Excel EXACT() function can be used to find mismatched uppercase/lowercase characters.

    Custom attribute case compare in Excel
  • A validating XML importer may normalize attribute values by replacing whitespace (0x09, 0x0A, 0x0D, 0xA0) with a space (0x20) character; discarding leading and trailing whitespace; and compacting multiple whitespace characters to a single space.

    Rule: Use only normal space characters. Do not use new line or tab characters, leading or trailing space characters, or sequences of space characters.

Proprietary extensions§

The IPC-2750 standards have remained exactly as they were published in November 2001. We've added a few optional features that the IPC committee didn't include: SHA-256 cryptographic signature, and AES-256 password encryption.

General specifications§

  • IPC-2571 sections 2.4 and 3 refer to data compression using RFC 1952 V4.3 ("GZip").

    • The byte count of all items in a standard compressed PDX package must be less than 4GB (232 bytes). Newer PDXpert releases have a setting to override this limit, but downstream systems and package readers may not open non-standard packages.

    • Section 2.3.1 specifies that an attachment's file name contains only ISO 8859-1 (LATIN-1) characters. This is not the Unicode character set. PDXpert release 16.0 (and later) normalizes Unicode filename characters to the ASCII character set before including the file in the package. For details, see Attachment universalResourceIdentifier note 1.

  • A package-unique identifier (PUID) identifies an element within the package that may be referenced by other elements. The PUID is an arbitrary string that's unique only within a specific PDX package, and may conflict with PUIDs contained in other PDX packages. The format and length may change from one package to another, and in different PDXpert releases. See IPC-2571, section 5.1.
  • If the data source used to generate a PDX package does not have a value for a required attribute, the value of the attribute should be set to "" so that the package won't be rejected by an application using a validating XML parser. See IPC-2571, section 5.3.

  • A DateTime data type is formatted as an ISO 8601 string, YYYY-MM-DDThh:mm:ssZ (without fractional seconds). See IPC-2571, section 5.6.

  • IPC-2571 doesn't define its enumerated data types. PDXpert's internal Microsoft .NET and SQL Server database numeric data types are mapped as:

    Microsoft .NET data type SQL Server data type IPC-2571 enumeration
    byte (8b), short (16b), integer (32b),
    long (64b), decimal (128b fixed point)
    tiny (8b), small (16b), int (32b),
    big (64b), decimal (varies)
    Decimal
    single, double float, real Double
    Boolean bit Boolean
  • For determining whether a PDXpert collection name or internal enumeration matches an IPC-2571 enumeration value, all whitespace is removed from both elements and the resulting values are compared (case-insensitive). If the computed values match, then the IPC-2571 enumeration is applied; otherwise Other is applied to the attribute value, and the original PDXpert value is applied to the attributeOther value.

    For example, after processing, PDXpert's BOM Type Codes collection member Direct material matches the PDX globalBillOfMaterialTypeCode enumeration DirectMaterial, so the latter is added to the package. However, Direct-Material does not match, so Other/Direct-Material is used.

  • IPC-2578 separates parts into two categories: Items and ManufacturerParts. PDXpert follows this definition by exporting all items owned by the PDXpert home organization as Items; parts and documents are separated using the Item itemClassification attribute. All partner items are exported as ManufacturerParts; parts and documents are separated using the AdditionalAttribute itemClassification attribute.

    The IPC specification permits a BillOfMaterial list on an Item, but not on a ManufacturerPart. Therefore, if a partner part has a BOM, its PDX package includes the child components, but not the BOM structure (Find, Quantity, RefDes, etc.).

  • The home organization is always included as the first Contact (Organization) element in the Contacts group, even if it is otherwise not referenced within the PDX package.

  • Except as noted, the order in which elements are added is undefined. The order in which attributes are added is also undefined, but the tables present their preferred order for readability in a PDX reader.

  • For packages larger than 4GB (IPC-2570 non-standard feature), some files attachments have special compression rules.§

    File type Compressed
    .7z, .7zip No
    .apk No
    .avi Yes: >1MB optimized for compression speed, otherwise for size
    .bin No
    .cab No
    .dll No
    .dmg No
    .docx Yes: >1MB optimized for compression speed, otherwise for size
    .exe No
    .gif Yes: >1MB optimized for compression speed, otherwise for size
    .gz No
    .gzip No
    .iso No
    .jar No
    .jpeg, .jpg Yes: >1MB optimized for compression speed, otherwise for size
    .mov Yes: >1MB optimized for compression speed, otherwise for size
    .mp3, .mp4 Yes: >1MB optimized for compression speed, otherwise for size
    .msi No
    .pdf Yes: >1MB optimized for compression speed, otherwise for size
    .pkz No
    .rar No
    .tar, .tar.xz No
    .vdi, .vhd No
    .xlsx Yes: >1MB optimized for compression speed, otherwise for size
    .zip No

Element attribute maps§

The element topics are ordered alphabetically.

AdditionalAttribute (2571:10.1)§

An AdditionalAttribute describes one property's name and value within an AdditionalAttributes parent group.

Parent elements

AdditionalAttributes

Element detail & attributes

An AdditionalAttribute element is always optional, and is not written to the PDX package if the value isn't useful.

  • Omit if a trimmed string is zero-length (for example, include Item element's globalTradeIdentificationNumber or notes only if the trimmed length is greater than zero.
  • Omit if a numeric value is NULL. Numeric 0 values are useful and are always included.
  • Omit if an item type has an optional attribute, such as an item's Auxiliary Person, and that option is disabled.

Where there are separate PDXpert fields for an attribute value and its related unit of measure, these are combined into a single value/dimension pair.

The content of each AdditionalAttribute element varies based on the containing element. Refer to the parent element of each AdditionalAttributes group for more information.

Attribute name Required Data type PDXpert attribute
name required String  
value required String  
dimension optional String  
dataType optional Enumeration  
dataTypeOther optional String  
description optional String  

Child elements

(none)

AdditionalAttributes (2571:10)

AdditionalAttributes represent a named group used to describe optional element properties that are not defined within the IPC-2571 specification. Any number of groups can be created and labeled, and each group contains one or more AdditionalAttribute elements.

Parent elements

Element detail & attributes

Attribute name Required Data type PDXpert attribute
groupLabel required String PDXpert.name where name is the group name, such as PDXpert.Custom

Child elements

AdditionalAttribute (1, unbounded)

AffectedItem (2578:14.1)§

This element identifies one item that's affected by a change, and contained within the AffectedItems list.

Parent elements

AffectedItems

Element detail & attributes§

Each element is added to the PDX package sorted by row number (rowNumber).

Attribute name Required Data type PDXpert attribute
itemIdentifier required String Item Number value
itemUniqueIdentifier optional IDREF PUID that refers to the affected Item element.
description optional String Part name / document title
newRevision required String Released revision
globalLifeCyclePhaseCode optional Enumeration Lifecycle of new item
globalLifeCyclePhaseCodeOther optional String  
effectiveDate required DateTime Release date of new revision
oldRevision optional String Canceled revision
obsoleteDate required DateTime Cancel date of old revision
disposition optional String Concatenate all disposition rows for affected item:
oldRev: activity quantity UoM @ location; ...
newRev: activity quantity UoM @ location; ...
For oldRev and newRev in PDXpert release 16.1 and later:
[Cancel | ;Release] revision (lifecycle)
  Example: ;Release: Rework 27 each @ Vendor;
For oldRev and newRev in PDXpert releases before 16.1:
revision value:
  Example: B: Rework 27 each @ Vendor;
manufacturingSite optional String  

Child elements§

AdditionalAttributes (0, unbounded)

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
rowNumber Row value on Affected list   Decimal    
oldRevisionDescription Old revision's Release description value   String    
newRevisionDescription New revision's Release description value   String    

The following set of elements represents one complete disposition task. Each affected item on a change form may have one released iteration, one canceled iteration, or both. Each item iteration may have any number of disposition tasks (or no tasks).

groupLabel: PDXpert.DispositionTasks
name1 value dimension dataType dataTypeOther description
state.number.Activity The disposition action or category   String    
state.number.Location The location of the items to be dispositioned   String    
state.number.IsRecurring Recurring activity checkbox value, where Yes signals an on-going expense for all future items   Boolean    
state.number.Quantity The number of items (and their units) affected by the disposition task Physical UOM Double    
state.number.AssignedTo Name of person who dispositions the items   String    
state.number.TargetDate The planned date when the disposition task should be completed   String    
state.number.ActualDate Actual date when the disposition task was completed   String    
state.number.Notes Instructions for performing the disposition task   String    

Notes:

  1. The item iteration's state is Cancel or Release, and the number is the disposition task row number for a specific iteration.

AffectedItems (2578:14)

This element contains the complete list of items affected by a Change.

Parent elements

Change

Element detail & attributes

(none)

Child elements

AffectedItem (1, unbounded)

AlternateIdentifier (2571:11.1)

This element identifies an alias contained within an item's AlternateIdentifiers collection.

Not implemented in a current PDXpert release.

Parent elements

AlternateIdentifiers

Element detail & attributes

Attribute name Required Data type PDXpert attribute
alternateIdentifierNumber optional String unrealized
description optional String unrealized

Child elements

(none)

AlternateIdentifiers (2571:11)

This element contains all alternate identifiers associated with a particular item or part.

Not implemented in a current PDXpert release.

Parent elements

Element detail & attributes

(none)

Child elements

AlternateIdentifier (1, unbounded)

AlternateItem (2578:8.1)

A single item that's functionally equivalent to a BillOfMaterialItem.

Not implemented in a current PDXpert release.

Parent elements

AlternateItems

Element detail & attributes

Attribute name Required Data type PDXpert attribute
itemIdentifier optional String unrealized
itemUniqueIdentifier required IDREF PUID that refers to the alternate Item element.
globalPreferredStatusCode optional String unrealized

Child elements

AdditionalAttributes (0, unbounded)

AlternateItems (2578:8)

This is the element that collects the set of functionally equivalent items for a specific BillOfMaterialItem.

Not implemented in a current PDXpert release.

Parent elements

BillOfMaterialItem

Item

Element detail & attributes

(none)

Child elements

AlternateItem (1, unbounded)

ApprovedManufacturerList (2578:9)

This element is the approved sources list for a specified part.

Parent elements

Item

Element detail & attributes

(none)

Child elements

ApprovedManufacturerListItem (1, unbounded)

ApprovedManufacturerListItem (2578:9.1)§

This element describes a single approved source (manufacturer + part number) within the ApprovedManufacturerList.

In PDXpert 10.0 and later, the user's organization and assigned role determines which manufacturer sources are included in the package.

Parent elements

Element detail & attributes

These elements are added to the PDX package sorted by Rank number (globalPreferredStatusCode).

Attribute name Required Data type PDXpert attribute
manufacturerPartIdentifier required String Part Number value
manufacturerPartUniqueIdentifier optional IDREF PUID that refers to the approved ManufacturerPart element.
manufacturedBy optional String Part Owner value (organization name)
manufacturerContactUniqueIdentifier optional IDREF PUID that refers to the manufacturer's Contact (Organization) element.
globalPreferredStatusCode optional String Source part Rank value
globalManufacturerPartStatusCode optional Enumeration Part Lifecycle value
globalManufacturerPartStatusCodeOther optional String  
description optional String Part Name value

Child elements

AdditionalAttributes (0, unbounded)

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
notes Source row Notes value   String    

AlternateIdentifiers (0, 1)

ApprovedManufacturerListMarkup (2578:15.1)

This element describes a single manufacturer part markup from a collection of ApprovedManufacturerListMarkups.

Parent elements

ApprovedManufacturerListMarkups

Element detail & attributes

Attribute name Required Data type PDXpert attribute
globalMarkupTypeCode required Enumeration

Convert internal code for

  • add to Add

  • remove to Delete

  • keep to NoChange

Child elements

ApprovedManufacturerListMarkupRowNew (2578:15.2)

This element points to a manufacturer part that will be, or has been, approved for use.

Parent elements

ApprovedManufacturerListMarkup

Element detail & attributes

(none)

Child elements

ApprovedManufacturerListItem (1,1)

ApprovedManufacturerListMarkupRowOld (2578:15.2)

This element points to a manufacturer part that will be, or has been, disapproved for use.

Parent elements

ApprovedManufacturerListMarkup

Element detail & attributes

(none)

Child elements

ApprovedManufacturerListItem (1,1)

ApprovedManufacturerListMarkups (2578:15)

This element collects the set of approved source markups for a specific AffectedItem.

Parent elements

AffectedItem

Element detail & attributes

(none)

Child elements

ApprovedManufacturerListMarkup (1, unbounded)

ApprovedSupplierList (2578:10)

This element contains the list of all distributors, and their part numbers, for a manufacturer part.

Not implemented in a current PDXpert release.

Parent elements

ManufacturerPart

Element detail & attributes

(none)

Child elements

ApprovedSupplierListItem (1, unbounded)

ApprovedSupplierListItem (2578:10.1)

This element contains a single instance of a distributor and its part number for a manufacturer part.

Not implemented in a current PDXpert release.

Parent elements

ApprovedSupplierList

Element detail & attributes

Attribute name Required Data type PDXpert attribute
supplierPartIdentifier required String Supplier part number
supplierPartUniqueIdentifier optional IDREF1 PUID that refers to the approved SupplierPart element.
suppliedBy optional String Supplier organization name
supplierPartContactUniqueIdentifier optional IDREF PUID that refers to the supplier's Contact (Organization) element.
globalSupplierPartStatusCode optional String  
comments optional String Supplier part notes

Notes:

  1. IPC-2578 calls for ID but the intent appears to be consistent with ApprovedManufacturerListItem / ManufacturerPart. If this is retained as an ID, then neither this attribute nor the SupplierPart element's supplierPartUniqueIdentifier has any defined use.

Child elements

Approver (2578:13.1)§

This element identifies a change reviewer within a Change's list of Approvers.

Parent elements

Approvers

Element detail & attributes

Each element is added to the PDX package sorted by approval sequence number (approvalSequence).

Attribute name Required Data type PDXpert attribute
approverName required String Reviewer name (if available), otherwise Group name
approverContactUniqueIdentifier optional IDREF PUID that refers to the reviewer's Contact (Person) element.
globalApproverTypeCode required Enumeration Must act converts to Required | Can act converts to Optional
globalApproverTypeCodeOther optional String  
globalEngineeringChangeResponseCode optional Enumeration Approve | Reject | Other
globalEngineeringChangeResponseCodeOther optional String If response code is Other, this value is Pending or Hold
approvedDate optional DateTime Reviewed on value
comments optional String Comments value
alternateApproverName optional String  
alternateApproverContactUniqueIdentifier optional IDREF  
workflow optional String  
approverWorkflowStatus optional String  

Child elements

AdditionalAttributes (0, unbounded)

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
approvalGroup Department name   String    
approvalSequence Sequence value   Decimal    

Approvers (2578:13)

This element contains the set of all approvers for a single Change.

Parent elements

Element detail & attributes

(none)

Child elements

Approver (1, unbounded)

AsBuiltProduct (2576:5)

This element describes a product produced in a specified quantity.

Not implemented in a current PDXpert release.

Parent elements

ProductDataeXchangePackage

Element detail & attributes

Attribute name Required Data type PDXpert attribute
globalProductIdentifier required String unrealized
asBuiltProductQuantity required String unrealized
manufacturerUnitOfMeasure optional String unrealized
customerIdentifier optional String unrealized
customerProductNumber optional String unrealized
primaryIdentifier optional String unrealized
secondaryIdentifier optional String unrealized
isTopLevel optional Enumeration unrealized

Child elements

AdditionalAttributes (0, unbounded)

ProductInstance (0, unbounded)

Attachment (2571:8.1)§

This element describes one file contained within, or external to, the PDX package.

Revision files and change form files are included (isFileIn:Yes) in the PDX package. Document and part item files are identified but not included (isFileIn:No). Web links (URIs) are included but the URI objects are not.

Item files are background or historical records such as proposals/sketches, budget spreadsheets, vendor quotes, customer emails, etc. These are rarely useful to the supply chain, and can substantially increase the PDX file size or compromise private information. Item-level attachments are identified in case the supply chain partner decides to inquire about a file that might be useful.

Parent elements

Element detail & attributes

Attribute definitions for isFileIn:Yes
Attribute name Required Data type PDXpert attribute
isFileIn required Enumeration Yes
universalResourceIdentifier required UriReference PUID prefixed to filename; for example ID56.abc.txt or id00321-abc.txt1
fileIdentifier optional String  
referenceName optional String Original source filename of the file, usually assigned when file was first created by the authoring application; for example, abc.txt
globalMimeTypeQualifierCode optional String File extension without . separator; for example txt
fileSize optional String Integer byte count without formatting or units; for example, 1675713
attachmentModificationDate optional DateTime Original source file date/time; for example 2021-05-27T15:18:21Z
versionIdentifer optional String (Incorrect DTD spelling retained)
checkSum optional String Not used. See additional attributes Digests group, below.
description optional String [Revision] or [Item] followed by file's Notes

Notes:§

  1. In releases before PDXpert 16.0, the universalResourceIdentifier contains the original Windows filename. Newer packages normalize the original filename by replacing extended Unicode characters with characters in the ASCII character set. Normalization (a) converts diacritics ( á ) to Latin-1 alphabetic ( a ), whitespace (TAB, NBSP) to space, and hyphen-like to hyphen; (b) removes control characters; (c) compresses multiple whitespace to a single space; (d) replaces all quote styles ( " “ « ) with single quote ( ' ); and (e) replaces remaining non-ASCII chars (0x80 and higher) with  ~ . The original Unicode filename is used when the file is saved directly from the PDX package; the normalized ASCII is the temporary filename when viewed directly from the package, and when saved using the viewing application.

Child elements

AdditionalAttributes (0, unbounded)

With PDXpert 15.0 (and later), every file attachment that is in the package (isFileIn:Yes) includes a message digest. An attachment's AdditionalAttributes with groupLabel:Digests contains one or more message digests; for example, a single file can have distinct AdditionalAttribute entries for SHA-1 and SHA-256. PDXpert uses SHA-1 for file integrity; performance is good and collision probability is negligible. The complete set of file attachment digests is protected using SHA-256 to sign the pdx.xml file.

groupLabel: Digests1
name value dimension dataType dataTypeOther description
SHA12 SHA-1 file hash3   String   [SHA1 | SHA256] message digest algorithm (hexadecimal)

Notes:

  1. The Digests value is case-sensitive.

  2. Hash algorithm, one of: SHA1, SHA256. May include or exclude hyphen/minus ( 0x2d - ) delimiters, and be uppercase or lowercase.

    Examples for SHA-1: SHA1, sha-1

  3. Digest string consists of ANSI Basic hexadecimal characters. May include or exclude hyphen/minus ( 0x2d - ) delimiters, and be uppercase or lowercase.

    Examples for SHA-1: 33cc5a4aee5d0e01f24c1d59414e0ef9bbf29aba, 33CC-5A4A-EE5D-0E01-F24C-1D59-414E-0EF9-BBF2-9ABA


Attribute definitions for isFileIn:No
Attribute name Required Data type PDXpert attribute
isFileIn required Enumeration No
universalResourceIdentifier required UriReference URL scheme and name; for example ftp://any.com/abc.txt or https://www.any.com/abc.htm
fileIdentifier optional String  
referenceName optional String  
globalMimeTypeQualifierCode optional String  
fileSize optional String  
attachmentModificationDate optional DateTime  
versionIdentifer optional String (Incorrect DTD spelling retained)
checkSum optional String  
description optional String [Item] or [External] followed by file's or link's Notes

Child elements

AdditionalAttributes (0, unbounded)

AttachmentMarkup (2578:16.1)

This element describes a single file attachment markup within a collection of AttachmentMarkups.

Parent elements

AttachmentMarkups

Element detail & attributes

Attribute name Required Data type PDXpert attribute
globalMarkupTypeCode required Enumeration

Convert internal code for

  • added to Add
  • modified to Modify
  • removed to Delete
  • keep to NoChange

Child elements

AttachmentMarkupRowNew (2578:16.2)

This element points to an added file attachment within a AttachmentMarkup.

Parent elements

AttachmentMarkup

Element detail & attributes

(none)

Child elements

Attachment (1,1)

AttachmentMarkupRowOld (2578:16.2)

This element points to a removed file attachment within a AttachmentMarkup.

Parent elements

AttachmentMarkup

Element detail & attributes

(none)

Child elements

Attachment (1,1)

AttachmentMarkups (2578:16)

This element collects the set of file attachments being changed on one AffectedItem.

Parent elements

AffectedItem

Element detail & attributes

(none)

Child elements

AttachmentMarkup (1, unbounded)

Attachments (2571:8)

This element is a collection of one or more files attached to another object in the PDX package.

Parent elements

Element detail & attributes

(none)

Child elements

Attachment (1, unbounded)

BillOfMaterial (2578:6)

This element contains the set of lower-level "child" component items within a higher-level "parent" assembly Item.

Parent elements

Item

Element detail & attributes

(none)

Child elements

BillOfMaterialItem (1, unbounded)

BillOfMaterialItem (2578:6.1)

Within an item's BillOfMaterial list, this element identifies the row that contains a unique child component item, with the quantity needed to make the parent item.

Parent elements

Element detail & attributes

Each element is added to the PDX package sorted by Find number (proprietarySequenceIdentifier).

Attribute name Required Data type PDXpert attribute
proprietarySequenceIdentifier optional String Find value
billOfMaterialItemIdentifier optional String Item Number value
billOfMaterialItemUniqueIdentifier optional IDREF PUID that refers to the BOM row's Item element.
revisionIdentifier optional String Item Revision value
description optional String Item Name value
itemQuantity optional String Part Quantity numeric value (always 1 for document)
globalProductQuantityTypeCode optional Enumeration PerAssembly | PerSetup | AsNeeded
globalProductQuantityTypeCodeOther optional String  
globalBillOfMaterialTypeCode optional Enumeration Bill of material parent part's BOM type code value
globalBillOfMaterialTypeCodeOther optional String  
notes optional String Row Notes value
isSerializationRequired optional Enumeration  

Child elements

AdditionalAttributes (0, unbounded): Include this AdditionalAttribute if item is a part

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
globalProductUnitOfMeasureCode1 Unit of measure   String    

Notes:

  1. Included when the component part's default unit of measure is permitted to be overridden with a compatible unit of measure on the BOM.

BillOfMaterialMarkup (2578:17.1)

This element describes a proposed child item change as part of a BillOfMaterialMarkups collection.

Parent elements

BillOfMaterialMarkups

Element detail & attributes

Attribute name Required Data type PDXpert attribute
globalMarkupTypeCode required Enumeration

Convert internal code for

  • add to Add
  • modified (that is, two rows with same Find) to Modify
  • remove to Delete
  • keep to NoChange

Child elements

BillOfMaterialMarkupRowNew (2578:17.2)

This element points to a new "child" component item within a "parent" assembly BillOfMaterialMarkup.

Parent elements

BillOfMaterialMarkup

Element detail & attributes

(none)

Child elements

BillOfMaterialItem (1,1)

BillOfMaterialMarkupRowOld (2578:17.2)

This element points to an old "child" component item within a "parent" assembly BillOfMaterialMarkup.

Parent elements

BillOfMaterialMarkup

Element detail & attributes

(none)

Child elements

BillOfMaterialItem (1,1)

BillOfMaterialMarkups (2578:17)

This element contains each BoM markup within one AffectedItem.

Parent elements

AffectedItem

Element detail & attributes

(none)

Child elements

BillOfMaterialMarkup (1, unbounded)

Change (2578:12.1)

This is the element that describes a single change within the Changes collection.

Parent elements

Changes

Element detail & attributes

Attribute name Required Data type PDXpert attribute
changeNumber required String Number value
changeType optional Enumeration Notice for PDXpert executing (implementing) change, and Request for PDXpert advisory (non-implementing) change
changeSubType optional String Change form Type value
revisionIdentifier optional String  
changeOwnerName optional String Analyst name
changeOwnerContactUniqueIdentifier optional IDREF PUID that refers the analyst's Contact (Person) element.
globalEngineeringChangeStatusCode optional Enumeration Change lifecycle state name
globalEngineeringChangeStatusCodeOther optional String  
changeStatusDate optional DateTime Release date value
changeOriginatedByName optional String Originator name
changeOriginatedByContactUniqueIdentifier optional IDREF PUID that refers the originator's Contact (Person) element.
changeOriginationDate optional DateTime Origination date value
requestReason optional String Problem source value
changeReason optional String Change reason value
description optional String Primary discussion, such as change notice description or change request proposal
changeRequestDescription optional String  
workflow optional String  

Child elements

AdditionalAttributes (0, unbounded)

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
personOne Person #1 value   String   Item type's Person #1 label
personTwo Person #2 value   String   Item type's Person #2 label
changeClassification Change classification value   String    
changePriority Priority value   String    
beginLabel Change type Label for starting boundary fields   String    
beginSerialNumber Beginning serial number value   String    
beginEffectiveDate Beginning date   DateTime    
endLabel Change type Label for ending boundary fields   String    
endSerialNumber Ending serial number value   String    
endEffectiveDate Ending date   DateTime    
maximumQuantity Maximum permitted items affected Unit of measure Double    
maximumDuration Maximum permitted duration Time UoM Double    
changeOwnerContactName Organization value   String    
changeOwnerContactUniqueIdentifier IDREF that refers to the Organization record   Other PUID  
groupLabel: PDXpert.Custom
name value dimension dataType dataTypeOther description
Attribute label1 Custom attribute value2,3 Unit of measure2,4 Data type5   Description value1

Notes:

  1. As defined by the Custom property descriptor on the item type collection member. This value is case-sensitive and space-sensitive; all uses must match exactly.
  2. As entered on the item's Custom list.
  3. If custom attribute's Scheme is Collection, then apply the collection member's name; otherwise, apply the attribute value.
  4. If custom attribute's Scheme is UOM, then this is the unit of measure; if Scheme is Money, then this is the ISO currency code; otherwise empty.
  5. The PDXpert custom attribute's Scheme determines the IPC-2571 data type: UOM=Double; Boolean=Boolean; Date=DateTime; Float=Double; Integer=Decimal; Money=Decimal; String=String; URI=UriReference; Collection=String.

AffectedItems (0, 1)

Approvers (0, 1)

Attachments (0, 1)

History (0, 1)

ChangeHistory (2578:11)

This element contains a set of history records about one Item.

Parent elements

Item

Element detail & attributes

(none)

Child elements

ChangeHistoryItem (1, unbounded)

ChangeHistoryItem (2578:11.1)

This element identifies a specific change contained within the ChangeHistory set of all changes that have affected an item.

Parent elements

ChangeHistory

Element detail & attributes

Attribute name Required Data type PDXpert attribute
changeNumber required String Change form Number value
changeType optional Enumeration Notice for PDXpert executing (implementing) change, and Request for PDXpert advisory (non-implementing) change
globalEngineeringChangeStatusCode optional Enumeration Change lifecycle state name
globalEngineeringChangeStatusCodeOther optional String  
description optional String Primary discussion, such as change notice description or change request proposal
proposedRevision optional String  
revisionIdentifier optional String Item revision at change release
globalLifeCyclePhaseCode optional Enumeration Item lifecycle state at change release
globalLifeCyclePhaseCodeOther optional String  
releasedDate optional DateTime Revision Release date value
incorporatedDate optional DateTime  
effectiveDate optional DateTime Effective date of new revision
obsoleteDate optional DateTime  

Child elements

AdditionalAttributes (0, unbounded)

Changes (2578:12)

This element lists each change within the PDX package.

Parent elements

ProductDataeXchangePackage

Element detail & attributes

(none)

Child elements

Change (1, unbounded)

Characteristics (2578:20)

The Characteristics element is the set of all Item properties that are not otherwise defined within the IPC-2578 specification.

Not implemented in a current PDXpert release.

Parent elements

Item

Element detail & attributes

Attribute name Required Data type PDXpert attribute
category required String unrealized

Child elements

EnumeratedCharacteristic (0, unbounded)

MeasuredCharacteristic (0, unbounded)

RangedCharacteristic (0, unbounded)

TextualCharacteristic (0, unbounded)

Configuration (2576:7)

This element identifies the configuration of a particular ProductInstance.

Not implemented in a current PDXpert release.

Parent elements

ProductInstance

Element detail & attributes

Attribute name Required Data type PDXpert attribute
configurationType required String unrealized
configurationData required String unrealized

Child elements

(none)

Contact (2571:9.1)

This element describes one contact within a collection of Contacts. Contact elements have a dual role in IPC-2571: as a human (PDXpert Persons) and as a legal entity (PDXpert Organizations). To support these separate roles, PDXpert (and many other PDX generators) broadly define Contact attributes like contactName.

Parent elements

Contacts

Element detail & attributes (Person)

Contact record for Person
Attribute name Required Data type PDXpert attribute
contactName required String Person Name value
contactUniqueIdentifier required ID Assigned contact PUID
contactIdentifier required String Duplicate of contactUniqueIdentifier1
contactStatus optional Enumeration Active checkbox as Active or Inactive
emailAddress optional String Primary email address value
telephoneNumber optional String Voice phone value
facsimileNumber optional String Facsimile value
businessName optional String Organization value
universalResourceIdentifier optional UriReference  
department optional String  
globalBusinessIdentifier optional String  
globalLocationIdentifier optional String  
postOfficeBoxIdentifier optional String Mail PO box value
addressLine1 optional String First line of Street address (split on newline)
addressLine2 optional String Second line of Street address (split on newline)
addressLine3 optional String Remaining Street address
cityName optional String City value
regionName optional String State (region) value
nationalPostalCode optional String Postal (ZIP) code value
globalCountryCode optional String Country ISO code
isTopLevel optional Enumeration Is Yes when element refers to PDX package originator
globalPartnerClassificationCode optional Enumeration  
globalPartnerClassificationCodeOther optional String  
globalPartnerSubClassificationCode optional String  

Notes:

  1. Do not use this value. Future versions may use it for the organization's Display name (abbreviation).

Child elements (Person)

AdditionalAttributes (0, unbounded)

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
contactClassificationCode Person   Enumeration    

Attachments (0, 1)

ContactRoles (0, unbounded)

History (0, 1)

PublicDigitalCertificate (0, unbounded)

Element detail & attributes (Organization)

Contact record for Organization
Attribute name Required Data type PDXpert attribute
contactName required String Organization Name value
contactUniqueIdentifier required ID Assigned contact PUID
contactIdentifier required IDREF Duplicate of contactUniqueIdentifier1
contactStatus optional Enumeration Active checkbox as Active or Inactive
emailAddress optional String Primary email address value
telephoneNumber optional String Voice phone value
facsimileNumber optional String Facsimile value
businessName optional String Organization Name value (duplicate of contactName)
universalResourceIdentifier optional UriReference URL/website value
department optional String  
globalBusinessIdentifier optional String D-U-N-S number value
globalLocationIdentifier optional String D-U-N-S+4 value
postOfficeBoxIdentifier optional String Mail PO box value
addressLine1 optional String First line of Street address parsed on newline
addressLine2 optional String Second line of Street address parsed on newline
addressLine3 optional String Remaining Street address
cityName optional String City value
regionName optional String State (region) value
nationalPostalCode optional String Postal (ZIP) code value
globalCountryCode optional String Country ISO code
isTopLevel optional Enumeration Always No
globalPartnerClassificationCode optional Enumeration Partner classification value
globalPartnerClassificationCodeOther optional String  
globalPartnerSubClassificationCode optional String  
  1. Do not use this value. Future versions may use it for the organization's Display name (abbreviation).

Child elements (Organization)

AdditionalAttributes (0, unbounded)

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
contactClassificationCode Organization   Enumeration    
isHomeOrganization Home organization is Yes; all partner organizations are No   Boolean    

Attachments (0, 1)

ContactRoles (0, unbounded)

History (0, 1)

PublicDigitalCertificate (0, unbounded)

ContactRole (2571:9.2.1)

This element identifies a set of roles within a larger collection of ContactRoles.

Not implemented in a current PDXpert release.

Parent elements

ContactRoles

Element detail & attributes

Attribute name Required Data type PDXpert attribute
groupRoleDescription optional String unrealized

Child elements

GroupRole (0, unbounded)

ContactRoles (2571:9.2)

This element identifies a set of roles for a particular Contact.

Not implemented in a current PDXpert release.

Parent elements

Contact

Element detail & attributes

Attribute name Required Data type PDXpert attribute
groupLabel required String unrealized

Child elements

ContactRole (0, unbounded)

Contacts (2571:9)

This element is the list of all person & organization contacts within the PDX package.

Parent elements

ProductDataeXchangePackage

Element detail & attributes

(none)

Child elements

Contact (1, unbounded)

EnumeratedCharacteristic (2578:20.3)

This element describes an enumerated characteristic (with source of the permitted enumerations) of an item's Characteristics collection.

Not implemented in a current PDXpert release.

Parent elements

Characteristics

Element detail & attributes

Attribute name Required Data type PDXpert attribute
enumeratedCharacteristicName optional String unrealized
enumeratedCharacteristicValue optional String unrealized
definitionSource optional String unrealized

Child elements

(none)

GroupRole (2571:9.2.2)

This element identifies one role from a set defined by a ContactRole collection.

Not implemented in a current PDXpert release.

Parent elements

ContactRole

Element detail & attributes

Attribute name Required Data type PDXpert attribute
role required String unrealized
isAlternate required Enumeration unrealized
description optional String unrealized

Child elements

(none)

History (2571:7)

This element is a collection of one or more history items that trace user actions affecting PLM objects.

Not implemented in a current PDXpert release.

Parent elements

Element detail & attributes

(none)

Child elements

HistoryItem (1, unbounded)

HistoryItem (2571:7.1)

This element describes one history item (an action taken by a user at a point in time) within a collection of HistoryItems.

Not implemented in a current PDXpert release.

Parent elements

History

Element detail & attributes

Attribute name Required Data type PDXpert attribute
modificationDate required DateTime unrealized
action required String unrealized
userName required String unrealized
userContactUniqueIdentifier optional IDREF PUID that refers the user's Contact (Person) element.
revisionIdentifier optional String unrealized
historyItemStatus optional String unrealized
details optional String unrealized
comments optional String unrealized

Child elements

AdditionalAttributes (0, unbounded)

Item (2578:4.1)§

This element identifies a unique home organization part or document within the PDX package's Items collection.

Parent elements

Items

Element detail & attributes

Attribute name Required Data type PDXpert attribute
itemIdentifier required String Number value
itemUniqueIdentifier required ID Assigned item PUID
itemClassification optional Enumeration Document | Part
globalProductTypeCode optional String Type value (not abbreviation)
revisionIdentifier optional String Revision value
globalLifeCyclePhaseCode optional Enumeration Lifecycle value
globalLifeCyclePhaseCodeOther optional String  
versionIdentifer optional String Version value (Incorrect DTD spelling retained)
revisionReleasedDate optional DateTime Release date value
revisionIncorporatedDate optional DateTime Effective date
description optional String Document title or part name
ownerName optional String Item Trustee value
ownerContactUniqueIdentifier optional IDREF PUID that refers to the trustee's Contact (Person) element.
proprietaryProductFamily optional String  
category optional String  
globalProductUnitOfMeasureCode optional String Part Default unit of measure value
makeBuy optional Enumeration Part Make/buy value
makeBuyOther optional String  
isSerializationRequired optional Enumeration Part Serialization checkbox as Yes | No value
isCertificationRequired optional Enumeration Part Certification checkbox as Yes | No value
isTopLevel optional Enumeration Yes when item is top-level, otherwise No
minimumShippableRevision optional String  

Child elements

AdditionalAttributes (0, unbounded)

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
organization Owner value   String    
organizationContactUniqueIdentifier IDREF that refers to the Organization record   Other PUID  
revisionZone Revision area value   String    
revisionDescription Release description value   String    
isReleased Released checkbox as Yes | No value   Boolean    
releasingChangeNotice Change type & number   String    
language Language value   String    
personOne Person #1 value   String   Item type's Person #1 label
personTwo Person #2 value   String   Item type's Person #2 label
location Document Media/location value or part Location value   String    
globalTradeIdentificationNumber Part Global number value   String    
bomTypeCode Part BOM type code value   String    
leadTime Part Lead time value Unit of measure Double    
processTime Part Process time value Unit of measure Double    
minimumOrderQuantity Part Minimum order quantity value Unit of measure Double    
standardPackagingQuantity Part Standard packaging quantity value Unit of measure Double    
budgetedCost Part Cost: Unit cost value Currency unit Decimal    
budgetedCostDateTime Part Cost: As on value   DateTime    
budgetedCostQuantity
Part Cost: Quoted value Unit of measure Double    
partHandlingStorageCategory Part Handling/storage advisory value   String    
partRecoveryMethod Part End of Life (EOL) value   String    
totalWeight Part mass (weight) value Unit of measure Double    
notes Notes value   String    
groupLabel: PDXpert.Custom
name value dimension dataType dataTypeOther description
Attribute label1 Custom attribute value2,3 Unit of measure2,4 Data type5   Description value1

Notes:

  1. As defined by the Custom property descriptor on the item type collection member. This value is case-sensitive and space-sensitive; all uses must match exactly.
  2. As entered on the item's Custom list.
  3. If custom attribute's Scheme is Collection, then apply the collection member's name; otherwise, apply the attribute value.
  4. If custom attribute's Scheme is UOM, then this is the unit of measure; if Scheme is Money, then this is the ISO currency code; otherwise empty.
  5. The PDXpert custom attribute's Scheme determines the IPC-2571 data type: UOM=Double; Boolean=Boolean; Date=DateTime; Float=Double; Integer=Decimal; Money=Decimal; String=String; URI=UriReference; Collection=String.
groupLabel: PDXpert.Materials
name value dimension dataType dataTypeOther description
name.row where row distinguishes duplicate instances of the name material Quantity value Mass UoM Double   Location value
groupLabel: PDXpert.References
name value dimension dataType dataTypeOther description
class1: type2 number3 Rev revision4 @ lifecycle5 Package unique IDREF6 Other PUID Reference Notes

Notes:

  1. Either Part or Document.
  2. The item's Part Types or Document Types member name.
  3. Part or document Number value.
  4. Item Revision value.
  5. Item Lifecycle value.
  6. The IPC-2570 standards do not define References. PDXpert uses the AdditionalAttributes element to include a referenced item, which is added to the Items list. That item includes the referenced item's attributes; attachments for revision (isFileIn:Yes) and item (isFileIn:No) files; materials; and change history. The PDX specification's AdditionalAttributes element doesn't support a recursive structure, and therefore a PDX package excludes the referenced item's own references, sources and BOM items. If your supply chain partner needs these details, the referenced item must be exported in its own PDX package. See How IPC-2570 affects PDXpert configuration

In PDXpert 10.0 and later, the user's organization and assigned role determines which references are included in the package.

A part with Reference document (as shown in PDXplorer 4.2):

  1. Part 100004 Rev 1 has a reference within the PDXpert.References list.
  2. The PDXpert.References attributes list contains a Specification 10102.
  3. The Specification 10102 Rev B is listed with other items.
PDXplorer 4.x PDX package with Reference document

PDXplorer 5.0 follows the PDXpert client layout, and shows a References tab similar to BOM and Sources tabs. The PDX package content hasn't changed.

PDXplorer 5.x PDX package with Reference document

Items (2578:4)

This element contains the list of all "home" physical part and document elements within the PDX package. It excludes partner items.

Parent elements

ProductDataeXchangePackage

Element detail & attributes

(none)

Child elements

Item (1, unbounded)

Lot (2576:8)

This element identifies the manufactured lot (batch) for a particular ProductInstance.

Not implemented in a current PDXpert release.

Parent elements

ProductInstance

Element detail & attributes

Attribute name Required Data type PDXpert attribute
globalProductIdentifier optional String unrealized
globalBusinessIdentifier optional String unrealized
lotType required String unrealized
lotNumber required String unrealized
lotQuantity optional String unrealized
manufacturerUnitOfMeasure optional String unrealized
globalCountryCode optional String unrealized
referenceDesignator optional String unrealized

Child elements

(none)

ManufacturerPart (2578:18.1)§

This element identifies one partner organization part or document within the PDX package's ManufacturerParts list.

Parent elements

ManufacturerParts

Element detail & attributes

Attribute name Required Data type PDXpert attribute
manufacturerPartIdentifier required String Number value
manufacturerPartUniqueIdentifier optional ID Assigned manufacturer part PUID
manufacturerName required String Owner value
manufacturerContactUniqueIdentifier optional IDREF PUID that refers the manufacturer's Contact (Organization) element.
manufacturerPartType optional String Type value
globalManufacturerPartStatusCode optional Enumeration Lifecycle value
globalManufacturerPartStatusCodeOther optional String  
description optional String Name value
owner optional String Trustee value
ownerContactUniqueIdentifier optional IDREF PUID that refers the trustee's Contact (Person) element.
referenceNotes optional String Notes value
isTopLevel optional Enumeration Yes if part is the only item in PDX package, otherwise No

Child elements

AdditionalAttributes (0, unbounded)

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
itemClassification Item class Document | Part value   String    
globalProductUnitOfMeasureCode Default unit of measure value   String    
revisionIdentifier Revision value   String    
revisionZone Revision area value   String    
revisionDescription Release description value   String    
isReleased Released checkbox as Yes | No value   Boolean    
releasingChangeNotice Change type & number   String    
language Language value   String    
personOne Person #1 value   String   Item type's Person #1 label
personTwo Person #2 value   String   Item type's Person #2 label
location Part Location value   String    
globalTradeIdentificationNumber Part Global number value   String    
bomTypeCode Part BOM type code value   String    
leadTime Part Lead time value Unit of measure Double    
processTime Part Process time value Unit of measure Double    
minimumOrderQuantity Part Minimum order quantity value Unit of measure Double    
standardPackagingQuantity Part Standard packaging quantity value Unit of measure Double    
budgetedCost Part Cost: Unit cost value Currency unit Decimal    
budgetedCostDateTime Part Cost: As on value   DateTime    
budgetedCostQuantity
Part Cost: Quoted value Unit of measure Double    
partHandlingStorageCategory Part Handling/storage advisory value   String    
partRecoveryMethod Part End of Life (EOL) value   String    
totalWeight Part Part mass (weight) value Unit of measure Double    
notes Notes value   String    
groupLabel: PDXpert.Custom
name value dimension dataType dataTypeOther description
Attribute label1 Custom attribute value2,3 Unit of measure2,4 Data type5   Description value1

Notes:

  1. As defined by the Custom property descriptor on the item type collection member. This value is case-sensitive and space-sensitive; all uses must match exactly.
  2. As entered on the item's Custom list.
  3. If custom attribute's Scheme is Collection, then apply the collection member's name; otherwise, apply the attribute value.
  4. If custom attribute's Scheme is UOM, then this is the unit of measure; if Scheme is Money, then this is the ISO currency code; otherwise empty.
  5. The PDXpert custom attribute's Scheme determines the IPC-2571 data type: UOM=Double; Boolean=Boolean; Date=DateTime; Float=Double; Integer=Decimal; Money=Decimal; String=String; URI=UriReference; Collection=String.
groupLabel: PDXpert.Materials
name value dimension dataType dataTypeOther description
name.row where row distinguishes duplicate instances of the same material Row's Quantity value Mass UoM Double Material Location
groupLabel: PDXpert.References
name value dimension dataType dataTypeOther description
class1: type2 number3 Rev revision4 @ lifecycle5 Package unique IDREF6 Other PUID Reference Notes

Notes:

  1. Either Part or Document.
  2. The item's Part Types or Document Types member name.
  3. Part or document Number value.
  4. Item Revision value.
  5. Item Lifecycle value.
  6. If the package contains the ManufacturerPart, the IDREF identifies the referenced Item.

    The IPC-2570 standards do not define References, and a PDX package has limited support for referenced items. A ManufacturerPart's references are included only when the PDX package is exported directly from the PDXpert source record. See How IPC-2570 affects PDXpert configuration

In PDXpert 10.0 and later, the user's organization and assigned role determines which references are included in the package.

ManufacturerParts (2578:18)

This element contains the list of all manufacturer ("partner") parts contained in the PDX package.

Parent elements

ProductDataeXchangePackage

Element detail & attributes

(none)

Child elements

ManufacturerPart (1, unbounded)

MeasuredCharacteristic (2578:20.1)

This element describes a measurable or measured characteristic (with tolerance) of an item's Characteristics collection.

Not implemented in a current PDXpert release.

Parent elements

Characteristics

Element detail & attributes

Attribute name Required Data type PDXpert attribute
measuredCharacteristicName optional String unrealized
measuredCharacteristicValue optional String unrealized
engineeringUnitOfMeasure optional String unrealized
engineeringNegativeTolerance optional String unrealized
engineeringPositiveTolerance optional String unrealized
definitionSource optional String unrealized

Child elements

(none)

Packaging (2576:10)

This element identifies the packaging container (carton and/or pallet) for a particular ProductInstance.

Not implemented in a current PDXpert release.

Parent elements

ProductInstance

Element detail & attributes

Attribute name Required Data type PDXpert attribute
packagingUniqueIdentifier required String unrealized
cartonIdentifier optional String unrealized
palletIdentifier optional String unrealized

Child elements

(none)

Process (2576:11)

This element identifies one process step for producing a particular ProductInstance.

Not implemented in a current PDXpert release.

Parent elements

ProductInstance

Element detail & attributes

Attribute name Required Data type PDXpert attribute
stepIdentifier required String unrealized
processDateTime optional DateTime unrealized
operation optional String unrealized
resource optional String unrealized
router optional String unrealized

Child elements

(none)

ProductDataeXchangePackage (2571:6)§

This element is the root XML node for all other PDX package elements and attributes.

Parent elements

(none)

Element detail & attributes

Attribute name Required Data type PDXpert attribute
thisDocumentIdentifier required String Assigned GUID (not PUID)
thisDocumentGenerationDateTime required DateTime UTC date and time of creation
thisDocumentModificationDateTime required DateTime UTC date and time of creation
originatedByContactName optional String The Name value of the creating person
originatedByContactUniqueIdentifier optional IDREF PUID that refers to PDX package originator's Contact (Person) element. This is the only contact in the PDX package with its isTopLevel attribute set as Yes
packageType optional String

When generated from a

  • part or document record: Manufacture
  • change record: ChangeNotification
dataSource optional String HX3 Solutions Inc/PDXpert/version/build
thisDocumentCopyright optional String Copyright name where name identifies the home organization
description optional String  

Child elements

AdditionalAttributes (0, unbounded)

groupLabel: PDXpert.Attributes
name value dimension dataType dataTypeOther description
packageOwnerContactName Organization value   String    
packageOwnerContactUniqueIdentifier IDREF that refers to the Organization record   Other PUID  

AsBuiltProduct (0, unbounded)

Attachments (0, 1)

Changes (0, 1)

Contacts (0, 1)

History (0, 1)

Items (0, 1)

ManufacturerParts (0, 1)

SupplierParts (0, 1)

ProductInstance (2576:6)

This element describes a single production unit within an AsBuiltProduct collection.

Not implemented in a current PDXpert release.

Parent elements

AsBuiltProduct

Element detail & attributes

Attribute name Required Data type PDXpert attribute
itemIdentifier required String unrealized
itemUniqueIdentifier optional IDREF PUID that refers to the product instance's Item element.
manufacturerName optional String unrealized
proprietaryProductFamily optional String unrealized
globalProductIdentifier optional String unrealized
forecastProductIdentifer optional String unrealized
productRevision optional String unrealized
productVersion optional String unrealized
description optional String unrealized
globalBusinessIdentifier optional String unrealized
globalLocationIdentifier optional String unrealized
globalCountryCode optional String unrealized
purchaseOrder optional String unrealized
purchaseOrderLineItem optional String unrealized
authorizationLineItem optional String unrealized
customerPart optional String unrealized
customerRevision optional String unrealized
customerVersion optional String unrealized
customerSerial optional String unrealized
materialIdentifier required String unrealized
sequenceNumber optional String unrealized
manufacturingPartStatus optional String unrealized
buildDate required DateTime unrealized
traceabilityType optional String unrealized
proprietarySerialIdentifier optional String unrealized

Child elements

AdditionalAttributes (0, unbounded)

Configuration (0, unbounded)

Lot (0, unbounded)

Packaging (0, unbounded)

Process (0, unbounded)

WorkOrder (0, unbounded)

PublicDigitalCertificate (2571:9.3)

This element specifies the digital security certificate for a particular Contact.

Not implemented in a current PDXpert release.

Parent elements

Contact

Element detail & attributes

Attribute name Required Data type PDXpert attribute
publicDigitalCertificate required String unrealized
trustedRoot optional String unrealized
trustedRootURI optional UriReference unrealized

Child elements

(none)

RangedCharacteristic (2578:20.2)

This element describes a ranged characteristic (with upper and lower values, as well as tolerance) of an item's Characteristics collection.

Not implemented in a current PDXpert release.

Parent elements

Characteristics

Element detail & attributes

Attribute name Required Data type PDXpert attribute
rangedCharacteristicName optional String unrealized
rangedCharacteristicLowerValue optional String unrealized
rangedCharacteristicUpperValue optional String unrealized
engineeringUnitOfMeasure optional String unrealized
engineeringNegativeTolerance optional String unrealized
engineeringPositiveTolerance optional String unrealized
definitionSource optional String unrealized

Child elements

(none)

ReferenceDesignator (2578:7.1)

This element identifies a single reference to a BillOfMaterialItem component within the ReferenceDesignators collection.

Parent elements

ReferenceDesignators

Element detail & attributes

Attribute name Required Data type PDXpert attribute
referenceDesignatorName required String One extracted value1 from a comma-delimited series or a range of RefDes values

Notes:

  1. The rules for identifying quantity and format errors in PDXpert's BOM Markup RefDes field are used to create these elements. If the BOM row has an incorrect number of RefDes or contains format errors, the number of ReferenceDesignator elements may not match the BillOfMaterialItem row's itemQuantity value.

Child elements

(none)

ReferenceDesignators (2578:7)

This element contains the set of reference designators for a specific BillOfMaterialItem. Typically the number of ReferenceDesignator elements in the set is equal to the BillOfMaterialItem's quantity value.

Parent elements

BillOfMaterialItem

Element detail & attributes

(none)

Child elements

ReferenceDesignator (1, unbounded)

SerialNumberIdentification (2578:5.2)

This element identifies a single serial number within the SerialNumbers collection.

Not implemented in a current PDXpert release.

Parent elements

SerialNumbers

Element detail & attributes

Attribute name Required Data type PDXpert attribute
sequenceNumber optional String unrealized
proprietarySerialIdentifier optional String unrealized

Child elements

(none)

SerialNumberRange (2578:5.1)

This element identifies a set of sequentially-serialized items within the SerialNumbers collection.

Not implemented in a current PDXpert release.

Parent elements

SerialNumbers

Element detail & attributes

Attribute name Required Data type PDXpert attribute
sequenceNumber optional String unrealized
firstSerialNumber required String unrealized
lastSerialNumber optional String unrealized
increment optional String unrealized

Child elements

(none)

SerialNumbers (2578:5)

This element contains the set of serial numbers for instances of an Item or a BillOfMaterialItem.

Not implemented in a current PDXpert release.

Parent elements

Element detail & attributes

(none)

Child elements

SerialNumberIdentification (0, unbounded)

SerialNumberRange (0, unbounded)

SupplierPart (2578:19.2)

This element describes one distributor/supplier part within the SupplierParts collection.

Not implemented in a current PDXpert release.

Parent elements

SupplierParts

Element detail & attributes

Attribute name Required Data type PDXpert attribute
supplierPartIdentifier required String Supplier part number
supplierPartUniqueIdentifier optional ID Assigned supplier part PUID
supplierName required String Supplier organization name
supplierContactUniqueIdentifier optional IDREF PUID that refers the supplier's Contact (Organization) element.
supplierPartType optional String  
globalSupplierPartStatusCode optional String  
description optional String ManufacturerPart part name.
ownerName optional String ManufacturerPart trustee name.
ownerContactUniqueIdentifier optional IDREF PUID that refers to the ManufacturerPart trustee's Contact (Person) element.
globalReturnProductInstructionCode optional String  
isTopLevel optional Enumeration Always No
referenceNotes optional String  

Child elements

AdditionalAttributes (0, unbounded)

Attachments (0, 1)

History (0, 1)

SupplierParts (2578:19)

This element contains the list of all supplier parts.

Not implemented in a current PDXpert release.

Parent elements

ProductDataeXchangePackage

Element detail & attributes

(none)

Child elements

SupplierPart (1, unbounded)

TextualCharacteristic (2578:20.4)

This element describes a text characteristic (with source of the allowed textual values) of an item's Characteristics collection.

Not implemented in a current PDXpert release.

Parent elements

Characteristics

Element detail & attributes

Attribute name Required Data type PDXpert attribute
textualCharacteristicName optional String unrealized
textualCharacteristicValue optional String unrealized
definitionSource optional String unrealized

Child elements

(none)

WorkOrder (2576:9)

This element identifies the work order authorizing a particular ProductInstance.

Not implemented in a current PDXpert release.

Parent elements

ProductInstance

Element detail & attributes

Attribute name Required Data type PDXpert attribute
manufacturingWorkOrderType required String unrealized
manufacturingWorkOrderNumber required String unrealized

Child elements

(none)


Element alphabetical index

1077

This application note was relevant to the PDXpert software release that was current at time of publication. Product changes since that time may affect its utility. We'd be happy to assist you in assessing the applicability of this note to your situation.

Application Notes
Working within PDXpert
Working with other software applications