サービスアプリケーション
サービスアプリケーションの概要
Arbortext PE サーバー のサービスアプリケーションは、WVS SIS Worker から送信された入力 XML コンテンツおよびマークアップの初期変換を管理し、パブリッシング用に準備を行います。
Arbortext PE サーバーにはサービスアプリケーションがインストールされ、使用可能である必要があります。デフォルトでは、以下のディレクトリに格納されています。
Arbortext パス\application\com.ptc.arbortext.service
サービスドキュメントタイプの説明
サービスアプリケーションの doctypes ディレクトリには、pubstruct および partslist スキーマが含まれます。これによって、SIS Worker が Arbortext PE サーバーへ送信する、部品リストドキュメントとパブリッシング構造のジェネリックフォームを管理します。
サービスアプリケーションの doctypes ディレクトリには pubspec というスキーマも含まれます。これは、パブリッシングプロセスに適用させるため、SIS Worker からパブリッシングパラメータに送信される入力パブリッシング仕様の変換に使用されます。デフォルト値を含む pubspec.xml は、次の場所にあります。
application\com.ptc.arbortext.service\lib\pubspec.xml
マークアップの変換
サービスアプリケーションにはスタイルシートが含まれ、受信コンテンツおよびマークアップは技術情報サンプルアプリケーションを使用したパブリッシングに適切な XML に変換されます。これは変換からパブリッシングまでの作業サンプルです。変換後のドキュメントは技術情報 DITA ドキュメントタイプスキーマに準拠しています。スタイルシートの作成に精通している上級ユーザーは、ガイドラインのコメント付きのサービスアプリケーション XSL 変換スタイルシートを出発点として進めることが可能です。
サンプルの XSLT スタイルシートは次の場所にあります。
Arbortext パス\application\com.ptc.arbortext.service\doctypes
• pubstruct サブディレクトリでは、techinfomap.xsl (ditamap-common.xsl を参照する) がパブリッシング構造を技術情報マップおよびそのトピックに変換します。
• また、pubstruct サブディレクトリでは、DMPmap.xsl (DMPmap-base.xsl および DMPmap-pvz.xsl を参照する) が情報構造をバンドルパブリッシングに適したフォーマットに変換します。
• partslist サブディレクトリでは、techinfo.xsl が部品リストをイラスト付き部品説明 (IPD) に変換します。
これらの XSL 変換スタイルシートでは、コメント付きガイドラインを提供しています。お使いのドキュメントタイプに対して実行する必要があるカスタマイズのサンプルとして、このガイドラインを使用できます。これらのアプリケーションは、Arbortext Publishing Engine サーバーの application ディレクトリに展開されます。
pubstruct XML マークアップについて
pubstruct スキーマによって、SIS Worker が Arbortext PE サーバーへ送信する、一般化された XML ドキュメントマークアップのジェネリックフォームの構造が提供されます。メッセージボディファイルで送信される Identifier.xml ドキュメントは、Windchill で作成された情報構造またはパブリッシング構造の階層ツリー構造の XML 表現です。この XML マークアップは、pubstruct.xsd スキーマに準拠しています。
Identifier.xml ドキュメントは、
Windchill から
Arbortext PE サーバーへ送信されるすべてのメッセージボディに含まれます (メッセージボディファイルとそのコンテンツの詳細については、
メッセージボディおよびマニフェストを参照してください。)
Identifier の名前は自動生成されます (例:
00000015.xml)。
Identifier.xml ドキュメントを、Arbortext Publishing Engine によるパブリッシングまたは InService バンドルの作成に適切なドキュメントタイプに準拠した形式に変換する必要があります。たとえば Identifier.xml ドキュメントを techinfomap スキーマに準拠した DITA ドキュメントに変換し、その後このドキュメントを XML の読み取りが可能なサーバー上のプリントエンジンを使用して PDF にパブリッシングできます。
要素はすべてスキーマの中で記述されています。Arbortext PE サーバー にある次のスキーマを参照してください。
Arbortext パス\application\com.ptc.arbortext.service
\doctypes\pubstruct\pubstruct.xsd
パブリッシング構造の変換
以下に示すテーブルは、パブリッシング構造情報がどのように techinfomap DITA マップ構造に変換されるかを示しています。
• 1 列目は、XPath 式を使用したソースパブリッシング構造のマークアップを示しています。
• 2 列目は、XPath 式を使用して変換された techinfomap マークアップを示しています。
• 3 列目には注記が記載されています。
XPath 式の改行は無視してください。
パブリッシング構造のソース XPath
|
XPath による techinfomap
|
注記
|
/PublicationStructure
|
/techinfomap
|
|
なし
|
/techinfomap /@xml:lang
|
xml:lang パラメータは、この要素の値をオーバーライドします。デフォルトは en です。
|
なし
|
/techinfomap /@outputclass
|
outputclass パラメータは、この要素の値をオーバーライドします。デフォルト値はありません。
|
/PublicationStructure /Title
|
/techinfomap /title
|
|
/PublicationStructure //Content[not(@path) and not(@uri)]
|
/techinfomap //division
|
divison/@format は xml に設定されます。
|
/PublicationStructure //Content[@path and (count(Content)>0 or count(SpecialContent) >0)] /Metadata[contains(@source, 'DynamicDocument')] /Property[@token= 'x-raomContentStructure'] /Value[text()='1']
|
/techinfomap //division /@href=@path
|
division/@format="dita"、division/@scope="local"。Content 要素には、最低 1 つの Content または SpecialContent の子要素が含まれます。
|
/PublicationStructure //Content[@path and (count(Content)=0 or count(SpecialContent) =0)] /Metadata[contains(@source, 'DynamicDocument')] /Property[@token= 'x-raomContentStructure'] /Value[text()='1']
|
/techinfomap //contentref /@href=@path
|
contentref/@format="dita"、contentref/@scope="local"。Content 要素には、Content または SpecialContent の子要素は含まれません。
|
/PublicationStructure //Content[not(@path) and @uri and (count(Content)>0 or count(SpecialContent) >0)] /Metadata[contains(@source, 'DynamicDocument')] /Property[@token= 'x-raomContentStructure'] /Value[text()='1']
|
/techinfomap //division /@href=@uri
|
division/@format="dita"、division/@scope="local"。Content 要素には、最低 1 つの Content または SpecialContent の子要素が含まれます。
|
/PublicationStructure //Content[not(@path) and @uri and (count(Content)=0 or count(SpecialContent) =0)] /Metadata[contains(@source, 'DynamicDocument')] /Property[@token= 'x-raomContentStructure'] /Value[text()='1']
|
/techinfomap //contentref /@href=@uri
|
contentref/@format="dita"、contentref/@scope="local"。Content 要素には、Content または SpecialContent の子要素は含まれません。
|
/PublicationStructure //Content[@path and (count(Content)>0 or count(SpecialContent) >0)] /Metadata[contains(@source, 'DynamicDocument')] /Property[@token= 'x-raomContentStructure'] /Value[text()='2']
|
/techinfomap //division /@href=@path
|
division/@format="ditamap"、division/@scope="local"。Content 要素には、最低 1 つの Content または SpecialContent の子要素が含まれます。
|
/PublicationStructure //Content[@path and (count(Content)=0 or count(SpecialContent) =0)] /Metadata[contains(@source, 'DynamicDocument')] /Property[@token= 'x-raomContentStructure'] /Value[text()='2']
|
/techinfomap //contentref /@href=@path
|
contentref/@format="ditamap"、contentref/@scope="local"。Content 要素には、Content または SpecialContent の子要素は含まれません。
|
/PublicationStructure //Content[not(@path) and @uri and (count(Content)>0 or count(SpecialContent) >0)] /Metadata[contains(@source, 'DynamicDocument')] /Property[@token= 'x-raomContentStructure'] /Value[text()='2']
|
/techinfomap //division /@href=@uri
|
division/@format="ditamap"、division/@scope="local"。Content 要素には、最低 1 つの Content または SpecialContent の子要素が含まれます。
|
/PublicationStructure //Content[not(@path) and @uri and (count(Content)=0 or count(SpecialContent) =0)] /Metadata[contains(@source, 'DynamicDocument')] /Property[@token= 'x-raomContentStructure'] /Value[text()='2']
|
/techinfomap //contentref /@href=@uri
|
contentref/@format="ditamap"、contentref/@scope="local"。Content 要素には、Content または SpecialContent の子要素は含まれません。
|
/PublicationStructure //Content/Title
|
/techinfomap //*[name()= 'division' or name()=' contentref'] /@navtitle
|
|
/PublicationStructure //Content /Metadata/Property [matches(@token, '\.TitleFromContent$')] /Value[text()="yes"]
|
/techinfomap //*[name()= 'division' or name()= 'contentref'] /@locktitle="no"
|
|
/PublicationStructure //Content /Metadata/Property [matches(@token, '\.TitleFromContent$')] /Value[text()!="yes"]
|
/techinfomap //*[name()= 'division' or name()= 'contentref'] /@locktitle="yes"
|
Property[matches(@token, '\.TitleFromContent$')]/Value[text()!="yes"] が指定されていない場合のみ設定します。それ以外の場合、コンテンツからタイトルを取得します。
|
/PublicationStructure //Content /Metadata/Property [@token="sis.base. ExcludeContent"] /Value[text()="true"]
|
/techinfomap //*[name()= 'division' or name()= 'contentref'] /@processing-role= "resource-only"
|
|
/PublicationStructure //Content /Metadata/Property [@token="sis.base. ExcludeTitle"] /Value[text()="true"]
|
/techinfomap //*[name()= 'division' or name()= 'contentref'] /@toc="no"
|
Property[@token="sis.base.ExcludeContent"]/Value[text()!="true"] の場合のみ設定します。
|
/PublicationStructure //Content /@targetType
それ以外の場合:
/PublicationStructure //Content /Metadata/Property [@token= 'x-raomFirstTagName'] /Value
|
/techinfomap //*[name()= 'division' or name()= 'contentref'] /@type
|
SIS Worker パラメータ com.ptc.arbortext.pe.service.partlistStylesheet.targetType の値が設定されている場合、この値がオーバーライドされます。
|
/PublicationStructure //Content /Metadata/Property [@token= 'x-raomFirstTagName'] /Value
|
/techinfomap //*[name()= 'division' or name()= 'contentref'] /@type
|
SIS Worker パラメータ com.ptc.arbortext.pe.service.partlistStylesheet.targetType の値が設定されている場合、この値がオーバーライドされます。
|
/PublicationStructure //SpecialContent [@type= "com.ptc.sis.PsToc"]
|
/techinfomap//toc
|
|
/PublicationStructure //SpecialContent [@type= "com.ptc.sis.PsIndex"]
|
/techinfomap //index
|
|
パブリッシング構造 Identifier.xml のサンプル
パブリッシング構造用に一般化された XML マークアップのサンプルに続いて、変換後の techinfomap が続きます。
<PublicationStructure
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.PsSection|com.ptc.sis.PsRoot">
<Title>test1</Title>
<Description>0000000012</Description>
<Metadata
source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.PsSection|com.ptc.sis.PsRoot">
<Property token="objNumber"> <Value>0000000012</Value></Property>
<Property token="objName"> <Value>test1</Value></Property>
<Property token="orgid"> <Value>Demo Organization</Value></Property>
</Metadata>
<SpecialContent
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.PsSpecial|com.ptc.sis.PsToc">
<Title>Table of Contents</Title>
<Description>0000000013</Description>
<Metadata
source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.PsSpecial|com.ptc.sis.PsToc">
<Property token="objNumber"><Value>0000000013</Value></Property>
<Property token="objName"><Value>Table of Contents</Value>
</Property>
</Metadata>
</SpecialContent>
<Content
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.PsSection">
<Title>publication section 1</Title>
<Description>0000000030</Description>
<Metadata
source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.PsSection">
<Property token="sis.base.ExcludeContent"><Value>false</Value>
</Property>
<Property token="objNumber"><Value>0000000030</Value></Property>
<Property token="sis.base.ExcludeTitle"><Value>false</Value>
</Property>
<Property token="insertLocationPubsection"></Property>
<Property token="objName"><Value>publication section 1</Value>
</Property>
</Metadata>
<Content
path="com.acme.DynamicDocument\111704.xml"
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.ContentRef|com.ptc.sis.TextualContentRef"
uri="x-wc://file=0000000016.xml">
<Title>Procedure with an image (procedure)</Title>
<Description>0000000017</Description>
<Metadata
source="wt.epm.EPMDocument|com.acme.DynamicDocument">
<Property token="objNumber"><Value>0000000016</Value></Property>
<Property token="x-raomDocTypeName"><Value>techinfo</Value>
</Property>
<Property token="x-raomFirstTagName"><Value>procedure</Value>
</Property>
<Property token="objName"><Value>Procedure with an image
(procedure)</Value></Property>
<Property token="CADName"><Value>0000000016.xml</Value>
</Property>
<Property token="filename"><Value>0000000016.xml</Value>
</Property>
</Metadata>
<Metadata
source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.ContentRef|com.ptc.sis.TextualContentRef">
<Property token="sis.base.ExcludeContent"><Value>false</Value>
</Property>
<Property token="objNumber"><Value>0000000017</Value></Property>
<Property token="sis.base.ExcludeTitle"><Value>false</Value>
</Property>
<Property token="objName"><Value>Procedure with an image (procedure)
</Value></Property>
<Property token="sis.contentholder.TitleFromContent"><Value >false
</Value></Property>
</Metadata>
</Content>
</Content>
<Content
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv|com.ptc.sis.
PsSection">
<Title>Part List Section</Title>
<Description>0000000027</Description>
<Metadata
source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.PsSection">
<Property token="sis.base.ExcludeContent"><Value>false</Value>
</Property>
<Property token="objNumber"><Value>0000000027</Value></Property>
<Property token="sis.base.ExcludeTitle"><Value>false</Value>
</Property>
<Property token="objName"><Value>Part List Section</Value>
</Property>
<Property token="sis.pssection.TitleFromContent"><Value >false
</Value></Property>
</Metadata>
<Content
path="com.ptc.arbortext.windchill.partlist.PartList\0000000004.xml"
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.ContentRef|com.ptc.sis.PartsListRef"
uri="x-wc://com.ptc.arbortext.windchill.partlist.PartList/
0000000004.xml">
<Title>Part List 1</Title>
<Description>0000000028</Description>
<Metadata
source="com.ptc.arbortext.windchill.partlist.PartList">
<Property token="type"><Value>Parts List</Value></Property>
</Metadata>
<Metadata
source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.ContentRef|com.ptc.sis.PartsListRef">
<Property token="sis.base.ExcludeContent"><Value>false</Value>
</Property>
<Property token="objNumber"><Value>0000000028</Value></Property>
<Property token="sis.base.ExcludeTitle"><Value>false</Value>
</Property>
<Property token="objName"><Value>Part List 1</Value></Property>
</Metadata>
</Content>
</Content>
<SpecialContent
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.PsSpecial|com.ptc.sis.PsIndex">
<Title>Index</Title>
<Description>0000000014</Description>
<Metadata
source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.PsSpecial|com.ptc.sis.PsIndex">
<Property token="objNumber"><Value>0000000014</Value></Property>
<Property token="objName"><Value>Index</Value></Property>
</Metadata>
</SpecialContent>
</PublicationStructure>
以下は、変換後の techinfomap DITA マップです。
<techinfomap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/"
xsi:noNamespaceSchemaLocation="urn:ptc:names:arbortext:dita:xsd:
techinfomap.xsd"
xml:lang="en">
<title>test1</title>
<toc/>
<division format="xml" navtitle="publication section 1" locktitle="yes">
<contentref href="com.acme.DynamicDocument\111704.xml" format="dita"
scope="local"
navtitle="Procedure with an image (procedure)"
locktitle="yes"
type="procedure"/>
</division>
<division format="xml" navtitle="Part List Section" locktitle="yes">
<contentref href="com.ptc.arbortext.windchill.partlist.PartList\
0000000004.xml"
format="dita"
scope="local"
navtitle="Part List 1"
locktitle="yes"
type="topic"/>
</division>
<index/>
</techinfomap>
情報構造 Identifier.xml のサンプル
グラフィックナビゲーションを使用する情報構造用に一般化された XML マークアップの引用に続いて、変換後の DMPmap が続きます。読みやすくするために、作業版数、バージョン、改訂、組織、ライフサイクル状態などの一般的なプロパティのほか、一部は除外されています。情報構造グループのいくつかの Content および Metadata のエントリとそのコンテンツは除去されました。
<PublicationStructure
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.IsRoot">
<Title>GraphicalNav</Title>
<Description>0000000017</Description>
<ResourceMap/>
<Metadata
source="com.ptc.arbortext.windchill.asps.services.ASPSMappingAPI">
<Property token="navigation">
<Value>
<MapDefList>
<MapDef repname="graphNav" viewname="view">
<PubNode idref="wt.part.WTPartMaster130414-
wt.viewmarkup.DerivedImage141614">
<g>/2</g>
</PubNode>
<PubNode idref="wt.part.WTPartMaster130427-
wt.viewmarkup.DerivedImage141614">
<g>/160/41</g>
</PubNode>
<PubNode idref="wt.part.WTPartMaster130444-
wt.viewmarkup.DerivedImage141614">
<g>/215/20</g>
</PubNode>
<PubNode idref="wt.part.WTPartMaster141716-
wt.viewmarkup.DerivedImage141614">
<g>/224</g>
</PubNode>
</MapDef>
</MapDefList>
</Value>
</Property>
</Metadata>
<Metadata source="wt.pdmlink.PDMLinkProduct">
<Property token="name"> <Value>graphNavTest</Value></Property>
<Property token="preference.com.ptc.arbortext.windchill.
siscore.translation.SourceLanguage">
<Value>en</Value></Property>
</Metadata>
<Metadata source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.IsRoot">
<Property token="asic.BundleVendor"> <Value>PTC</Value></Property>
<Property token="objNumber"> <Value>0000000017</Value></Property>
<Property token="objName"> <Value>GraphicalNav</Value></Property>
<Property token="sis.group.contentLocation">
<Value>/graphNavTest</Value></Property>
<Property token="isPrimaryASPSRoot"> <Value>true</Value></Property>
<Property token="asic.BundleVolumeId"> <Value>qwerty</Value></Property>
<Property token="sis.group.vizmapping">
<Value>
{wt.part.WTPartMaster:130414-wt.viewmarkup.DerivedImage:141614|/2|}
{wt.part.WTPartMaster:130427-wt.viewmarkup.DerivedImage:141614|/160/41|}
{wt.part.WTPartMaster:130444-wt.viewmarkup.DerivedImage:141614|/215/20|}
{wt.part.WTPartMaster:141716-wt.viewmarkup.DerivedImage:141614|/224|}
</Value>
</Property>
<Property token="asic.BundleName"> <Value>graphNavTest</Value></Property>
</Metadata>
<Content type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.IsGroup">
<Title>ConnectingRod</Title>
<Description>0000000019</Description>
<ResourceMap>
<Resource token="repForConnectingRod">
<Metadata>
<Property token="default"> <Value>true</Value></Property>
</Metadata>
<Content path="reps\185408\Connecting_Rod_sBOM_Part.pvm"
type="Unknown"/>
<Content path="reps\185408\Connecting_Rod_sBOM_Part.pvs"
type="Unknown"/>
<Content path="reps\185408\crankshaft_asm_11.ol" type="OL"/>
<Content path="reps\185408\crankshaft_asm_12.ol" type="OL"/>
<Content path="reps\185408\crankshaft_asm_13.ol" type="OL"/>
<Content path="reps\185408\crankshaft_asm_14.ol" type="OL"/>
<Content path="reps\185408\crankshaft_asm_15.ol" type="OL"/>
<Content path="reps\185408\crankshaft_asm_16.ol" type="OL"/>
<Content path="reps\185408\wvspvp.pvp" type="Unknown"/>
</Resource>
</ResourceMap>
<Metadata source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.IsGroup">
<Property token="sis.base.ExcludeContent">
<Value>false</Value></Property>
<Property token="objNumber">
<Value>0000000019</Value></Property>
<Property token="sis.group.vizmapping">
<Value>
{wt.part.WTPartMaster:152543-wt.viewmarkup.DerivedImage:152555
|/@@PV-AUTO-ID@@002|}
{wt.part.WTPartMaster:152599-wt.viewmarkup.DerivedImage:152555
|/@@PV-AUTO-ID@@003|}
</Value>
</Property>
<Property token="sis.base.ExcludeTitle"> <Value>false</Value></Property>
<Property token="objName"> <Value>ConnectingRod</Value></Property>
<Property token="sis.group.contentLocation">
<Value>/graphNavTest</Value></Property>
</Metadata>
<Content path="com.acme.DADynamicDocument\133110.xml"
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.ContentRef|com.ptc.sis.TextualContentRef"
uri="x-wc://file=0000000531.xml">
<Title>PistonRodMap</Title>
<Description>0000010134</Description>
<Metadata source="wt.epm.EPMDocument|com.acme.DynamicDocument
|com.acme.DADynamicDocument">
<Property token="docType"> <Value>PUB_COMPOUNDTEXT</Value></Property>
<Property token="objNumber"> <Value>0000000531</Value></Property>
<Property token="x-raomContentStructure"> <Value>2</Value></Property>
<Property token="x-raomDocTypeName"> <Value>map</Value></Property>
<Property token="x-raomFirstTagName"> <Value>map</Value></Property>
<Property token="type"> <Value>DADynamicDocument</Value></Property>
<Property token="objName"> <Value>PistonRodMap</Value></Property>
<Property token="derived"> <Value>false</Value></Property>
<Property token="CADName"> <Value>0000000531.xml</Value></Property>
<Property token="missingDependents"> <Value>false</Value></Property>
<Property token="placeHolder"> <Value>false</Value></Property>
<Property token="authoringApplication"> <Value>ARBORTEXT</Value>
</Property>
<Property token="filename"> <Value>0000000531.xml</Value></Property>
<Property token="typeDisplayName"> <Value>DADynamicDocument</Value>
</Property>
</Metadata>
</Content>
<Content path="com.acme.DynamicDocument\128404.jpg"
type="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.ContentRef|com.ptc.sis.IllustrationRef"
uri="x-wc://file=0000000035.jpg">
<Title>excavator3.jpg</Title>
<Description>0000010191</Description>
<Metadata source="wt.epm.EPMDocument|com.acme.DynamicDocument">
<Property token="docType"> <Value>PUB_GRAPHIC</Value></Property>
<Property token="objNumber"> <Value>0000000035</Value></Property>
<Property token="type"> <Value>Dynamic Document</Value></Property>
<Property token="objName"> <Value>excavator3.jpg</Value></Property>
<Property token="derived"> <Value>false</Value></Property>
<Property token="CADName"> <Value>0000000035.jpg</Value></Property>
<Property token="missingDependents"> <Value>false</Value></Property>
<Property token="placeHolder"> <Value>false</Value></Property>
<Property token="authoringApplication"> <Value>GRAPHICSEDITOR</Value>
</Property>
<Property token="filename"> <Value>0000000035.jpg</Value></Property>
<Property token="typeDisplayName"> <Value>Dynamic Document</Value>
</Property>
</Metadata>
<Metadata source="wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.ContentRef|com.ptc.sis.IllustrationRef">
<Property token="sis.base.ExcludeContent"> <Value>false</Value></Property>
<Property token="objNumber"> <Value>0000010191</Value></Property>
<Property token="sis.base.ExcludeTitle"> <Value>false</Value></Property>
<Property token="objName"> <Value>excavator3.jpg</Value></Property>
</Metadata>
</Content>
</PublicationStructure>
暫定的な変換ステップの一環として、メッセージボディの XML ファイルから HTML ファイルが作成され (元のファイル名全体に対して .html を付加)、参照用グラフィックが表示用に変換されます (.pvz フォーマット)。
以下は、変換後の DMPmap DITA マップです。
<DMPmap xml:lang="en">
<title>GraphicalNav</title>
<DMPmeta>
<DMPprojectinfo encryption="no" projectname="graphNavTest"/>
<data name="contenttype">is</data>
<data name="bundletype">full</data>
<data name="volumename">graphNavTest</data>
<data name="volumeid">qwerty</data>
<data name="vendor">PTC</data>
</DMPmeta>
<languageset locale="en_US">
<topicref id="d8e1" format="xml" navtitle="GraphicalNav" locktitle="yes">
<topicmeta>
<metadata>
<category>com.ptc.arbortext.windchill.asps.services.ASPSMappingAPI
</category>
<data-about type="navigation">
<data name="view">view</data>
<data href="#wt.part.WTPartMaster130414-wt.viewmarkup.
DerivedImage141614">/2</data>
<data href="#wt.part.WTPartMaster130427-wt.viewmarkup.
DerivedImage141614">/160/41</data>
<data href="#wt.part.WTPartMaster130444-wt.viewmarkup.
DerivedImage141614">/215/20</data>
<data href="#wt.part.WTPartMaster141716-wt.viewmarkup.
DerivedImage141614">/224</data>
</data-about>
</metadata>
<metadata>
<category>wt.pdmlink.PDMLinkProduct</category>
<data name="name">graphNavTest</data>
<data name="preference.com.ptc.arbortext.windchill.siscore.
translation.SourceLanguage">en</data>
</metadata>
<metadata>
<category>wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.IsRoot</category>
<data name="asic.BundleVendor">PTC</data>
<data name="objNumber">0000000017</data>
<data name="objName">GraphicalNav</data>
<data name="sis.group.contentLocation">/graphNavTest</data>
<data name="isPrimaryASPSRoot">true</data>
<data name="asic.BundleVolumeId">qwerty</data>
<data name="sis.group.vizmapping">
{wt.part.WTPartMaster:130414-wt.viewmarkup.DerivedImage:
141614|/2|}
{wt.part.WTPartMaster:130427-wt.viewmarkup.DerivedImage:
141614|/160/41|}
{wt.part.WTPartMaster:130444-wt.viewmarkup.DerivedImage:
141614|/215/20|}
{wt.part.WTPartMaster:141716-wt.viewmarkup.DerivedImage:
141614|/224|}
</data>
<data name="asic.BundleName">graphNavTest</data>
</metadata>
</topicmeta>
<topicref id="d8e200" format="xml" navtitle="ConnectingRod" locktitle="yes">
<topicmeta>
<metadata>
<category>com.ptc.arbortext.windchill.asps.services.ASPSMappingAPI
</category>
<data-about type="navigation" href="reps\185408\
Connecting_Rod_sBOM_Part.pvz"
format="pvz">
<data name="view">view</data>
<data href="#wt.part.WTPartMaster152543-wt.viewmarkup.
DerivedImage152555">
/@@PV-AUTO-ID@@002</data>
<data href="#wt.part.WTPartMaster152599-wt.viewmarkup.
DerivedImage152555">
/@@PV-AUTO-ID@@003</data>
</data-about>
</metadata>
<metadata>
<category>wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.BaseDiv
|com.ptc.sis.IsGroup</category>
<data name="sis.base.ExcludeContent">false</data>
<data name="objNumber">0000000019</data>
<data name="sis.group.vizmapping">
{wt.part.WTPartMaster:152543-wt.viewmarkup.
DerivedImage:152555|
/@@PV-AUTO-ID@@002|}
{wt.part.WTPartMaster:152599-wt.viewmarkup.
DerivedImage:152555|
/@@PV-AUTO-ID@@003|}
</data>
<data name="sis.base.ExcludeTitle">false</data>
<data name="objName">ConnectingRod</data>
<data name="sis.group.contentLocation">/graphNavTest</data>
</metadata>
</topicmeta>
</topicref>
<topicref id="d8e341" href="x-wc://file=0000000531.xml"
copy-to="com.acme.DADynamicDocument\133110.xml.html"
scope="local"
format="ditamap"
type="map"
navtitle="PistonRodMap"
locktitle="yes">
<topicmeta>
<metadata>
<category>wt.epm.EPMDocument|com.acme.DynamicDocument|com.acme.
DADynamicDocument</category>
<data name="docType">PUB_COMPOUNDTEXT</data>
<data name="objNumber">0000000531</data>
<data name="x-raomContentStructure">2</data>
<data name="x-raomDocTypeName">map</data>
<data name="x-raomFirstTagName">map</data>
<data name="type">DADynamicDocument</data>
<data name="objName">PistonRodMap</data>
<data name="derived">false</data>
<data name="CADName">0000000531.xml</data>
<data name="missingDependents">false</data>
<data name="placeHolder">false</data>
<data name="authoringApplication">ARBORTEXT</data>
<data name="filename">0000000531.xml</data>
<data name="typeDisplayName">DADynamicDocument</data>
</metadata>
<metadata>
<category>wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.ContentRef|com.ptc.sis.TextualContentRef
</category>
<data name="sis.base.ExcludeContent">false</data>
<data name="objNumber">0000010134</data>
<data name="sis.base.ExcludeTitle">false</data>
<data name="objName">PistonRodMap</data>
<data name="sis.contentholder.TitleFromContent">false</data>
</metadata>
</topicmeta>
</topicref>
<topicref id="d8e2533" href="x-wc://file=0000000035.jpg"
copy-to="com.acme.DynamicDocument\128404.jpg"
scope="local"
format="jpg"
navtitle="excavator3.jpg"
locktitle="yes">
<topicmeta>
<metadata>
<category>wt.epm.EPMDocument|com.acme.DynamicDocument</category>
<data name="docType">PUB_GRAPHIC</data>
<data name="objNumber">0000000035</data>
<data name="type">Dynamic Document</data>
<data name="objName">excavator3.jpg</data>
<data name="derived">false</data>
<data name="CADName">0000000035.jpg</data>
<data name="missingDependents">false</data>
<data name="placeHolder">false</data>
<data name="authoringApplication">GRAPHICSEDITOR</data>
<data name="filename">0000000035.jpg</data>
<data name="typeDisplayName">Dynamic Document</data>
</metadata>
<metadata>
<category>wt.part.WTPart|com.ptc.sis.Base|com.ptc.sis.Content
|com.ptc.sis.ContentRef|com.ptc.sis.IllustrationRef
</category>
<data name="sis.base.ExcludeContent">false</data>
<data name="objNumber">0000010191</data>
<data name="sis.base.ExcludeTitle">false</data>
<data name="objName">excavator3.jpg</data>
</metadata>
</topicmeta>
</topicref>
</languageset>
</DMPmap>
partslist XML マークアップについて
partslist スキーマによって、SIS Worker が Arbortext PE サーバーへ送信する部品リストに適用される、一般化された XML ドキュメントマークアップのジェネリックフォームの構造が提供されます。部品リスト Identifier.xml ドキュメントは、Windchill で作成された部品リスト構造の XML 形式ドキュメントです。これは、メッセージボディの manifest.xml では、com.ptc.arbortext.windchill.partlist.PartList ディレクトリ下のファイルとして記載されています。部品リスト Identifier の名前は自動生成されます (例: 00000005.xml)。
部品リスト Identifier.xml ドキュメントを、Arbortext Publishing Engine によるパブリッシングに適切なドキュメントに変換する必要があります。たとえば、部品リスト Identifier.xml ドキュメントを techinfo スキーマに準拠した DITA ドキュメントに変換した後で、アセンブリ、イメージ、脚注、リンクなどの部品リストを含む Illustrated Part Definition (IPD) にこのドキュメントをパブリッシングできます。
Windchill によって部品リスト Identifier.xml が IPD XML 形式で生成されます。通常、部品リストの各プロパティ値用に partattribute が生成されます。name 属性にはプロパティ名が入ります。要素のコンテンツにはプロパティの値が入ります。プロパティが複数の値を持つ場合、各値が partattributevalue タグで囲まれます。
要素は Arbortext Publishing Engine にある次のスキーマの中で記述されています。
Arbortext パス\application\com.ptc.arbortext.service\doctypes
\partslist\partslist.xsd
部品リストの変換
以下に示すテーブルは、部品リスト情報がどのように IPD マークアップに変換されるかを示しています。
• テーブルの 1 列目は、techinfo マークアップへ割り当てられる情報の種類の略称です。
この略称は techinfo IPD のマークアップにはさまれるサンプル文字列として使用されます。
• 2 列目は、XPath 式を使用したソース部品リストのマークアップを示しています。
• 3 列目は、XPath 式を使用して変換された techinfo IPD マークアップを示しています。
• 4 列目は注記です。
XPath 式の改行は無視してください。
略称
|
部品リストのソース XPath
|
XPath による techinfo
|
注記
|
IPD-Id
|
なし
|
/ipd/@id
|
パラメータは、この要素のコンテンツをオーバーライドします。
そうでない場合は、generate-id() によって値が生成されます。
|
IPD-Title
|
/PartsList /Metadata /Property [@token="name"] /Value
|
/ipd/title
|
パラメータは、この要素のコンテンツをオーバーライドします。
そうでない場合は、ソース XPath によって返される値が使用されます。
|
IPD-Metadata-Source
|
/PartsList /Metadata /@source
|
/ipd/prolog /metadata /category
|
複数の /PartsList/Metadata 要素が存在する可能性があります。
|
IPD-Metadata-Property-Name
|
/PartsList /Metadata /Property /@token
|
/ipd/prolog /metadata /data/@name
|
複数の /PartsList/Metadata/Property 要素が存在する可能性があります。
|
IPD-Metadata-Property-Value
|
/PartsList /Metadata /Property/Value
|
/ipd/prolog /metadata/data
|
複数の /PartsList/Metadata/Property 要素が存在する可能性があります。
|
IPD-Fig-Title
|
/PartsList /Images /Image[1] /Metadata /Property [@token='name'] /Value
|
/ipd/ipdbody /fig/title
|
パラメータは、この要素のコンテンツをオーバーライドします。
そうでない場合は、最初のイメージの name 属性がタイトルとして使用されます。
|
IPD-Fig-Path
|
/PartsList /Images /Image[@type != 'c3di'] /Metadata /Property [@token= 'CADName'] /Value
|
/ipd/ipdbody /fig/image /@href
|
複数の /PartsList/Images/Image 要素が存在する可能性があります。
|
IPD-Fig-View
|
/PartsList /Images /Image /Metadata /Property[@token ='printView'] /Value
|
/ipd/ipdbody /fig/image /@rev
|
複数の /PartsList/Images/Image 要素が存在する可能性があります。
|
IPD-Fig-View
|
/PartsList /Images /Image[@type = 'c3di'] /ResourceMap /Resource[@token ='default'] /Content/@path
|
/ipd/ipdbody /fig/image /@rev
|
複数の /PartsList/Images/Image 要素が存在する可能性があります。
|
IPD-Part-Item-Attribute-Name
|
/PartsList/Items /Item/Metadata /Property /@token
|
/ipd/ipdbody /partlist /partitem /partattribute /@name
|
複数の /PartsList/Items/Item/Metadata/Property 要素が存在する可能性があります。
|
IPD-Part-Item-Attribute-Value
|
/PartsList/Items /Item/Metadata /Property/Value
|
/ipd/ipdbody /partlist /partitem /partattribute
|
複数の /PartsList/Items/Item/Metadata/Property 要素が存在する可能性があります。
|
以下に、実際の ipd DITA ファイルの中で略称が使用されている例を示します (XML の宣言文は省略してあります)。部品リストのプロパティ値がテンプレートに挿入されると、中括弧 { } で囲まれたテキストが実際のプロパティ値に置き換わります。
<ipd
id="{IPD-Id}"
xml:lang="en"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"urn:ptc:names:arbortext:dita:xsd:techinfo.xsd">
<title>{IPD-Title}</title>
<prolog>
<metadata>
<category>{IPD-Metadata-Source}</category>
<data name="{IPD-Metadata-Property-Name}">{IPD-Metadata-Property-Value}
</data>
</metadata>
</prolog>
<ipdbody>
<fig>
<title>{IPD-Fig-Title}</title>
<image href="{IPD-Fig-Path}"/>
</fig>
<partlist>
<partitem>
<partattribute name="{IPD-Part-Item-Attribute-Name}">
{IPD-Part-Item-Attribute-Value}</partattribute>
<partattribute name="{IPD-Part-Item-Attribute-Name}">
<partattributevalue>{IPD-Part-Item-Attribute-Value}
</partattributevalue>
<partattributevalue>{IPD-Part-Item-Attribute-Value}
</partattributevalue>
</partattribute>
</partitem>
</partlist>
</ipdbody>
</ipd>
部品リスト Identifier.xml のサンプル
以下のサンプルは、部品リスト用に一般化された XML マークアップの引用です。
最初の引用は、部品リストメタデータプロパティの一般化された XML マークアップです。
<?xml version="1.0" encoding="UTF-8"?>
<PartsList Version="1.0">
<Metadata source="com.ptc.arbortext.windchill.partlist.PartList">
<Property token="iterationInfo.identifier.iterationId" type=
"java.lang.String"><Value>4</Value>
</Property>
<Property token="ownership.owner.name"><Value/></Property>
<Property token="organizationName" type="java.lang.String">
<Value>Demo Organization</Value></Property>
<Property token="versionIdentifer.versionId" type=
"java.lang.String"><Value>A</Value>
</Property>
<Property token="number" type="java.lang.String">
<Value>0000000005</Value></Property>
<Property token="thePersistInfo.modifyStamp" type="wt.util.
WrappedTimestamp"><Value>2011-09-21 18:37:59.0</Value>
</Property>
<Property token="type" type="java.lang.String">
<Value>Parts List</Value></Property>
<Property token="orgName" type="java.lang.String">
<Value>Demo Organization</Value></Property>
<Property token="version" type="java.lang.String">
<Value>A</Value></Property>
<Property token="iteration" type="java.lang.String">
<Value>4</Value></Property>
<Property token="revision" type="java.lang.String">
<Value>A</Value></Property>
<Property token="creator.name" type="java.lang.String">
<Value>demo</Value></Property>
<Property token="modifiedBy.name"><Value/></Property>
<Property token="versionInfo.identifier.versionId" type=
"java.lang.String"><Value>A</Value></Property>
<Property token="name" type="java.lang.String">
<Value>TRANSISTORS</Value></Property>
<Property token="last_updated" type="wt.util.WrappedTimestamp">
<Value>2011-09-21 18:37:59.0</Value></Property>
<Property token="thePersistInfo.createStamp" type="wt.util.WrappedTimestamp">
<Value>2011-09-21 16:21:10.0</Value></Property>
</Metadata>
以下は、prolog へ変換された部品リストメタデータを表示する、IPD 形式に変換された techinfo DITA ドキュメントの引用です。
<ipd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/"
xml:lang="en"
xsi:noNamespaceSchemaLocation="urn:ptc:names:arbortext:dita:xsd:techinfo.xsd"
id="d1">
<title>TRANSISTORS</title>
<prolog>
<metadata>
<category>com.ptc.arbortext.windchill.partlist.PartList</category>
<data name="iterationInfo.identifier.iterationId">4</data>
<data name="ownership.owner.name"/>
<data name="organizationName">Demo Organization</data>
<data name="versionIdentifer.versionId">A</data>
<data name="number">0000000005</data>
<data name="thePersistInfo.modifyStamp">2011-09-21 18:37:59.0
</data>
<data name="type">Parts List</data>
<data name="orgName">Demo Organization</data>
<data name="version">A</data>
<data name="iteration">4</data>
<data name="revision">A</data>
<data name="creator.name">demo</data>
<data name="modifiedBy.name"/>
<data name="versionInfo.identifier.versionId">A</data>
<data name="name">TRANSISTORS</data>
<data name="last_updated">2011-09-21 18:37:59.0</data>
<data name="thePersistInfo.createStamp">2011-09-21 16:21:10.0
</data>
</metadata>
</prolog>
以下の引用は、部品リストアイテムのメタデータプロパティの一般化された XML マークアップです。
<Item>
<Metadata source="com.ptc.arbortext.windchill.partlist.PartListItem">
<Property token="instanceIds"><Value/></Property>
<Property token="serviceable" type="java.lang.Boolean">
<Value>true</Value></Property>
<Property token="itemQuantity" type="java.lang.String">
<Value>1</Value></Property>
<Property token="illustrated" type="java.lang.Boolean">
<Value>true</Value></Property>
<Property token="indenture" type="java.lang.Long">
<Value>0</Value></Property>
<Property token="itemSequenceNumber.value"><Value/>
</Property>
<Property token="remarks" type="java.lang.String">
<Value>Transistor</Value></Property>
<Property token="thePersistInfo.modifyStamp" type="wt.util.
WrappedTimestamp"><Value>2011-09-21 18:01:52.0</Value>
</Property>
<Property token="itemNumber" type="java.lang.String">
<Value>3</Value></Property>
<Property token="type" type="java.lang.String">
<Value>Parts List Item</Value></Property>
<Property token="thePersistInfo.createStamp" type="wt.util.
WrappedTimestamp"><Value>2011-09-21 18:01:52.0</Value>
</Property>
</Metadata>
<Metadata source="wt.part.WTPart">
<Property token="objName" type="java.lang.String">
<Value>2SC1846-R</Value></Property>
<Property token="orgid" type="java.lang.String">
<Value>Demo Organization</Value></Property>
<Property token="objNumber" type="java.lang.String">
<Value>0000000026</Value></Property>
<Property token="name" type="java.lang.String">
<Value>2SC1846-R</Value></Property>
<Property token="last_updated" type="wt.util.WrappedTimestamp">
<Value>2011-09-21 16:28:16.0</Value></Property>
<Property token="number" type="java.lang.String">
<Value>0000000026</Value></Property>
<Property token="state.state" type="java.lang.String">
<Value>INWORK</Value></Property>
<Property token="thePersistInfo.modifyStamp" type="wt.util.
WrappedTimestamp"><Value>2011-09-21 16:28:16.0</Value>
</Property>
<Property token="lifeCycleState" type="java.lang.String">
<Value>INWORK</Value></Property>
<Property token="organizationIdentifier" type="java.lang.String">
<Value>Demo Organization</Value></Property>
</Metadata>
</Item>
以下は、partitem の partattribute エントリへ変換された部品リストメタデータを表示する、IPD 形式に変換された techinfo DITA ドキュメントの引用です。
<ipdbody>
<partlist>
<partitem>
<partattribute name="instanceIds"/>
<partattribute name="serviceable">true</partattribute>
<partattribute name="itemQuantity">1</partattribute>
<partattribute name="illustrated">true</partattribute>
<partattribute name="indenture">0</partattribute>
<partattribute name="itemSequenceNumber.value"/>
<partattribute name="remarks">Transistor</partattribute>
<partattribute name="thePersistInfo.modifyStamp">
2011-09-21 18:01:52.0</partattribute>
<partattribute name="itemNumber">3</partattribute>
<partattribute name="type">Parts List Item</partattribute>
<partattribute name="thePersistInfo.createStamp">
2011-09-21 18:01:52.0</partattribute>
<partattribute name="objName">2SC1846-R</partattribute>
<partattribute name="orgid">Demo Organization</partattribute>
<partattribute name="objNumber">0000000026</partattribute>
<partattribute name="name">2SC1846-R</partattribute>
<partattribute name="last_updated">2011-09-21 16:28:16.0
</partattribute>
<partattribute name="number">0000000026</partattribute>
<partattribute name="state.state">INWORK</partattribute>
<partattribute name="thePersistInfo.modifyStamp">
2011-09-21 16:28:16.0</partattribute>
<partattribute name="lifeCycleState">INWORK</partattribute>
<partattribute name="organizationIdentifier">
Demo Organization</partattribute>
</partitem>
</partlist>
</ipdbody>