その他の機能 > サービス情報管理 > Customizing Windchill Service Information Manager and Windchill Service Parts > パブリッシングのカスタマイズ > サービスアプリケーション
  
サービスアプリケーション
サービスアプリケーションの概要
Arbortext Publishing Engine サーバーのサービスアプリケーションは、WVS SIS Worker から送信された入力 XML コンテンツおよびマークアップの初期変換を管理し、パブリッシング用に準備を行います。
Arbortext Publishing Engine サーバーにはサービスアプリケーションがインストールされ、使用可能である必要があります。デフォルトでは、以下のディレクトリに格納されています。
Arbortext パス\application\com.ptc.arbortext.service
サービスドキュメントタイプの説明
サービスアプリケーションの doctypes ディレクトリには、pubstruct および partslist スキーマが含まれます。これによって、SIS Worker が Arbortext Publishing Engine サーバーへ送信する、部品リストドキュメントとパブリッシング構造のジェネリックフォームを管理します。
サービスアプリケーションの 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 Publishing Engine サーバーへ送信する、一般化された XML ドキュメントマークアップのジェネリックフォームの構造が提供されます。メッセージボディファイルで送信される Identifier.xml ドキュメントは、Windchill で作成された情報構造またはパブリッシング構造の階層ツリー構造の XML 表現です。この XML マークアップは、pubstruct.xsd スキーマに準拠しています。
Identifier.xml ドキュメントは、Windchill から Arbortext Publishing Engine サーバーへ送信されるすべてのメッセージボディに含まれます (メッセージボディファイルとそのコンテンツの詳細については、メッセージボディおよびマニフェストを参照してください。)Identifier の名前は自動生成されます (例: 00000015.xml)。
Identifier.xml ドキュメントを、Arbortext Publishing Engine によるパブリッシングまたは Arbortext Content Delivery バンドルの作成に適切なドキュメントタイプに準拠した形式に変換する必要があります。たとえば Identifier.xml ドキュメントを techinfomap スキーマに準拠した DITA ドキュメントに変換し、その後このドキュメントを XML の読み取りが可能なサーバー上のプリントエンジンを使用して PDF にパブリッシングできます。
要素はすべてスキーマの中で記述されています。Arbortext Publishing Engine サーバーにある次のスキーマを参照してください。
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/@formatxml に設定されます。
/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 Publishing Engine サーバーへ送信する部品リストに適用される、一般化された 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>
以下は、partitempartattribute エントリへ変換された部品リストメタデータを表示する、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>