從 CSV 檔案匯入分類結構
欲匯入分類結構,必須在 XML 檔案中概要顯示分類結構。您可以在匯入之前修改 XML 檔案,但如果您的結構較為複雜,這不容易輕鬆完成。
相反地,管理 CSV 檔案則輕鬆得多。當您準備好匯入結構時,可以使用 CSVToXMLGenerator 公用程式來將 CSV 檔案轉換為可匯入的 XML 檔案。
|
|
PTC 建議您在建立初始分類結構時使用此公用程式。您不應使用此公用程式來更新現有結構。未在 CSV 檔案中表示之現有結構中的任何資料會遭到覆寫,並最終遭到移除。
|
欲將 CSV 檔案轉換為 XML 檔案,請完成下列步驟:
1. 建立一個包含命名空間、節點與屬性值的 CSV 檔案。
2. 從 Windchill shell 執行下列指令:
Windchill com.ptc.windchill.csm.csvtoxml.CSVToXMLGenerator <CSV 檔案的路徑> -verbose
其中︰
◦ <CSV 檔案的路徑> 是您本機電腦上 CSV 檔案的路徑。
◦ verbose 參數為選用,且應用於偵錯目的。
XML 檔案會以與 CSV 檔案相同的名稱,在其相同位置產生。
3. 將該 XML 檔案新增至 ZIP 檔案。
4. 從
「分類管理」
前後關聯匯入 ZIP 檔案。
事前準備
• 不需要執行 Windchill 伺服器便可使用 CSVToXMLGenerator 公用程式。
• 匯入的 CSV 檔案必須為具唯一性的格式。此格式與使用「分類樹」表中提供之「匯出至 CSV」動作產生的 CSV 檔案格式不同。
• 載入產生的 XML 檔案之前,下列項目應已存在於 Windchill 中。(匯入已匯出的 ZIP 或 JAR 檔案時不屬於此情況。)
◦ 全域列舉
◦ 可重新使用屬性
◦ 量測數
• 欲匯入產生的 XML 檔案,請將其壓縮成 ZIP 檔。從「分類樹」中,選取 > 。
匯入錯誤與支援值
當您將檔案匯入至 Windchill 時,會發生資料驗證。如果 XML 檔案中包括無效資料或值,您會在匯入操作期間收到錯誤。
雖然使用 CSV 檔案更簡單,但 CSVToXMLGenerator 公用程式所接受的格式包括數個限制。例如,您無法匯入示意圖或圖像。您也無法指定自動命名規則。
如果屬性或條件約束未列在下列表格中,則表示它不受支援,且會在匯入期間導致發生錯誤。
CSV 格式化規則
• 包含逗號的單一值必須括在雙引號之內。例如:
Hong Kong, Berlin, "New York, NY", London
• 用雙引號逸出雙引號。例如:
Parts available in the ""Drive System"" catalog
節點與屬性共用欄
有 7 個欄包含節點或屬性資訊。這些欄使用下列格式:
Node/Attribute
斜線之前的標題是指分類節點;斜線之後的標題是指分類屬性。
欄名稱 | 節點值 | 屬性值 |
|---|
Node/Attribute | 此欄可識別包含分類節點或分類屬性的列。 輸入下列其中一個值: • 節點 • 屬性 |
ParentIntName/NodeIntName | 父節點的內部名稱。 | 為其定義屬性之節點的內部名稱。 |
NodeIntName/AttributeIntName | 節點的內部名稱。 | 屬性的內部名稱。 |
DisplayName/DisplayName | 節點的顯示名稱。 | 屬性的顯示名稱。 |
Description/IBAName | 要在「描述」欄位中針對節點輸入的值。 | 可重新使用屬性名稱。 |
Keywords/DataType | 要在「關鍵字」欄位中針對節點輸入的值。 | 屬性的資料類型。 可接受的值如下: wt.units.FloatingPointWithUnits java.lang.Boolean java.sql.Timestamp java.lang.Long java.lang.String com.ptc.core.meta.common.Hyperlink com.ptc.core.meta.common.FloatingPoint |
命名空間 | 為命名空間設定的名稱 | |
IsInstantiable/Description | 要在「可實例化」欄位中針對節點輸入的值。 可接受的值如下: TRUE FALSE | 要在「描述」欄位中針對屬性輸入的值。 |
例如,您可在 "Node" 列中使用下列值建立 CSV 檔案:
Node/Attribute,ParentIntName/NodeIntName,NodeIntName/AttributeIntName,DisplayName/DisplayName,Description/IBAName,Keywords/DataType,Namespace,IsInstantiable/Description,DefaultValue,IsSingleValued,IsRequired,StringLength,Lowercase,Uppercase,LegalValueList,EnumeratedList
Node,NULL,Part,Part,Root Node,Part,WTPart.clfNamespace,FALSE,,,,,,,,
Node,Part,MechanicalParts,MechanicalParts,Mechanical parts for reuse,Mechanical hardware,WTPart.clfNamespace,FALSE,,,,,,,,
Node,MechanicalParts,ThreadedInsert,ThreadedInsert,A helical coil that can be threaded into an existing hole to increase strength or reduce diameter.,threaded insert coil,WTPart.clfNamespace,TRUE,,,,,,,,
Node,Part,MechanicalParts_new,MechanicalParts_new,Mechanical parts for reuse MechanicalParts_new,Mechanical hardwareMechanicalParts_new,WTPart.clfNamespace,TRUE,,,,,,,,
| CSV 檔案中的欄排列必須與上面螢幕快照中所示的相同。 |
將 CSV 轉換為 XML 並匯入之後,產生的結構如下:
"Threaded Insert" 節點已定義下列值:
屬性欄
下列欄僅適用於 "Attribute" 列:
欄名稱 | 接受的值 |
|---|
DefaultValue | 屬性的預設值。 對於多個預設值,使用以逗號分隔清單。例如: 0.0 m, 1.5 m http://google.com(Google), http://ptc.com(PTC) |
IsSingleValued | 指定屬性是否具有單一值。 接受的值: 真 假 |
IsRequired | 指定屬性是否為必填。 接受的值: 真 假 |
StringLength | 為字串值指定長度條件約束。 使用下列格式:[下限, 上限] 例如: [2,5] - 字串必須介於 2 到 5 個字元之間 [NULL,50] - 字串不得超過 50 個字元 [10,NULL] - 字串至少必須有 10 個字元 |
小寫 | 將大寫字元轉換為小寫。 接受的值: 真 假 |
大寫 | 將小寫字元轉換為大寫。 接受的值: 真 假 |
LegalValueList | 接受值的清單。 使用縱線字元 ("|") 分隔值。例如: 1.0 m|1.5 m|2.0 m Copper|Aluminum|Steel |
EnumeratedList | 列舉值清單。您可以提供本機或全域列舉值清單。 本機列舉條件約束使用下列格式: LOCAL##<sort type>##<internal name>##<display_name>~~<internal_name>##<display_name> 其中︰ • <sort_type> - 排序類型值為 Automatic_Sort 或 Manual_Sort。 • <internal name>##<display name> - 識別列舉項目的內部名稱與顯示名稱。 • ~~ - 使用兩個波浪符號來分隔多個項目。 例如: LOCAL##Manual_Sort##red1##Light Red~~red2##Dark Red~~green1##Light Green 全域列舉條件約束使用下列格式: GLOBAL##<列舉>##<父列舉>##<組織>##<組合管理名稱>##/<網域> 其中︰ • <列舉> - 列舉的內部名稱。 • <父列舉> - 如果列舉是子列舉,則指定其父列舉的內部名稱。如果列舉沒有父列舉,請將此欄位保留空白。 • <組織> - 列舉的「所屬組織」值。 • <組合管理名稱> - 含有列舉之組合管理的內部名稱。 • /<網域> - 列舉的「網域」值。 例如: GLOBAL##Countries##LocaleCodes##Site##Org_Locales##/System GLOBAL##LocaleCodes####Site##Org_Locales##/System |
例如,您可在 "Attribute" 列中使用下列值建立 CSV 檔案:
Node/Attribute,ParentIntName/NodeIntName,NodeIntName/AttributeIntName,DisplayName/DisplayName,Description/IBAName,Keywords/DataType,Namespace,IsInstantiable/Description,DefaultValue,IsSingleValued,IsRequired,StringLength,Lowercase,Uppercase,LegalValueList,EnumeratedList
Node,NULL,Part,Part,Root Node,Part,WTPart.clfNamespace,FALSE,,,,,,,,
Node,Part,MechanicalParts,MechanicalParts,Mechanical parts for reuse,Mechanical hardware,WTPart.clfNamespace,FALSE,,,,,,,,
Node,MechanicalParts,ThreadedInsert,ThreadedInsert,A helical coil that can be threaded into an existing hole to increase strength or reduce diameter.,threaded insert coil,WTPart.clfNamespace,TRUE,,,,,,,,
Node,Part,MechanicalParts_new,MechanicalParts_new,Mechanical parts for reuse MechanicalParts_new,Mechanical hardwareMechanicalParts_new,WTPart.clfNamespace,TRUE,,,,,,,,
,,,,,,,,,,,,,,,
Attribute,ThreadedInsert,directionCoil,Coil Direction,directionCoil,java.lang.String,,Direction coil wraps.,Right,TRUE,TRUE,,,,Right/Left/Unknown,
Attribute,ThreadedInsert,sizeWire,Wire Gauge,sizeWire,wt.units.FloatingPointWithUnits,,Wire size,,TRUE,TRUE,,,,2.588 mm | 1.291 mm | 0.511 mm,
Attribute,ThreadedInsert,assembly,Requires Assembly,assembly,java.lang.Boolean,,,No,TRUE,TRUE,,,,Yes|No,
Attribute,MechanicalParts_new,directionCoil,Coil Direction,directionCoil,java.lang.String,,Direction coil wraps.,Right,TRUE,TRUE,,,,Right/Left/Unknown,
Attribute,MechanicalParts_new,sizeWire,Wire Gauge,sizeWire,wt.units.FloatingPointWithUnits,,Wire size,,TRUE,TRUE,,,,2.588 mm | 1.291 mm | 0.511 mm,
Attribute,MechanicalParts_new,assembly,Requires Assembly,assembly,java.lang.Boolean,,,No,TRUE,TRUE,,,,Yes|No,
| CSV 檔案中的欄排列必須與上面螢幕快照中所示的相同。 |
"Threaded Insert" 節點已定義下列屬性: