說明 > 編寫 > 使用標示 > 處理指示 > 處理指示概述
  
處理指示概述
處理指示 (PI) 與具有屬性的元素不同,因為它們不會被視為文件內容的一部份。處理指示可以位於文件中的任意位置,其中包括文件 (外層) 元素之前和之後。但處理指示不可以位於內容模型宣告為 CDATA 或 RCDATA 的元素內或 CDATA 及 RCDATA 標記部份內。
一般而言,PI 為產品所專屬。Arbortext Editor 具有其可辨識的處理指示,其他產品也有其自己可辨識的處理指示。雖然 Arbortext Editor 不會處理其他產品的專屬 PI,但會將它們保留下來。
Arbortext Editor 使用類似標籤的結構來代表文件中某些類型的 PI。對於這些 PI,oid_name 函數會傳回作為 Arbortext Editor 辨識 PI 依據的名稱。通常,接受標籤名稱或 OID 名稱的 ACL 指令和函數將會使用這些名稱。您可以使用尋找 > 處理指示在您的文件中查找這些處理指示。
其他 PI (如那些記錄游標位置的 PI 或元素詳細資訊呈縮疊狀的 PI) 不以標籤表示,因此無法藉由尋找 > 處理指示來查找。相關主題中為這些 PI 增加了標誌。
以下是關於在 Arbortext Editor 中處理處理指示的部份資訊:
PI 標籤始終以下底線 (“_”) 開頭,如此通常可避免與元素產生名稱衝突。
某些 PI 的屬性可使用與屬性有關的 ACL 函數和指令來設定。
某些 PI 是成對的,因為它們具有必須一起放置的起始與結尾標籤。Arbortext Editor 要求這些標籤的嵌套方式必須正確 (即彷彿它們是包含內容的元素一般)。其他 PI 是單一的 (與空白元素相似)。
您可以透過這種方式來檢視 PI 來源:反白包含 PI 的區域並選擇編輯 > 將選取項作為 SGML 來源編輯編輯 > 將選取項作為 XML 來源編輯。您也可以選取該區域,然後在 Arbortext Editor 指令行中鍵入 eval $selection
在 SGML 中,PI 的語法為 <? ... >。在 XML 中,其語法則是 <?...?>
您使用 write -nopi 指令幾乎可以移除文件中的所有 PI。此選項不會移除泛用 PI 或方程式 PI。
將處理指示寫入文件時
要將哪個處理指示寫入文件由 set writepi 進階偏好設定的設定決定。
無論 writepi 設定為何 (即使是 writepi = off),都會寫入下列 Arbortext Editor 處理指示:
<?Pub Tag atict:xxx?> - SGML 文件的 PTC Arbortext 變更追蹤標籤
<?Pub Doctype?> - 將 SGML 文件儲存為 XML 時的文件類型提示
<?Pub Eqn?> - 指示方程式的開頭 (在 6.0 發行版中已不再需要,但是出於向後相容的目的,還是保留下來)
<?Pub PI UdtName contents?> - 非 Arbortext Editor 處理指示的使用者定義標籤
writepi = structural 時,會寫入下列處理指示:
<?Pub Schema?> - 為沒有以根標籤開頭之文件片段的關聯架構提供提示
<?Pub UDT?> - 使用者定義標籤宣告
<?Pub Sty?>
<?Pub EntList?> - 宣告的字元實體
<?Pub CX?> - 前後關聯字串
<?APT?> - 換行處理指示,用來為較長行的實體參照換行
<?Pub (UdtName)?> - 使用者定義處理指示
<?PubTbl?> - 表格內容
<?PubTbl table xxx?> - 表格邊界格式
<?PubTbl row xxx?> - 表格列格式
<?PubTbl cell xxx?> - 表格字元格格式
<?Pub Tag atipl:xxx?> - SGML 的 PTC Arbortext 頁面配置標籤
<?Pub Tag atidm:xxx?> - SGML 的 PTC Arbortext 資料合併標籤
<?Pub _xxx?> - 各種 PTC Arbortext 標籤,例如 _font_cellfont_bookmark_kern_newline
<?Pub Lcl?> - 指示虛擬屬性
<?Pub Asis?> - 指示 asis 區段
<?Pub ListProp?><?Pub StrProp?><?Pub NumProp?> - 文件內容
writepi = touchup 時,會寫入下列處理指示:
<?Pub _font?> - 指示 PTC Arbortext 字型修改
<?Pub _newcolumn?> - 指示 PTC Arbortext 新欄修改
<?Pub _newline?> - 指示 PTC Arbortext 新行修改
<?Pub _newpage?> - 指示 PTC Arbortext 新頁面修改
<?Pub _nolinebreak?> - 指示 PTC Arbortext 無換行修改
writepi = default 時,會寫入下列處理指示:
<?Pub Caret?> - 指示工作階段間游標的位置
<?Pub Dtl?> - 指示元素是否在工作階段之間縮疊
<?Pub Inc?> - 指示在最後一次完整度檢查時文件是否不完整
writepi = on 時,會寫入下列處理指示:
<?Pub _display?>