2020年7月1日水曜日

defineのピナクルチェックのerrorですげーてこずった話

気づけば簡単なんですが,errorの原因に気づかずに時間かかったのでここで供養します.なむなむ

defineをピナクルでチェックすると以下のerrorが出ました.ほうほう参考資料が無いのねと思って確認すると,確かにdefineにリンク貼り忘れたものがあったので追加しても以下のerrorは消えなかったのです.

Pinnacle 21 ID:DD0015
Message       :Referenced Document is missing
Severity      :Error
Found         :1

何で消えないのかわからなかったのでreportのdetailを見に行くと以下の通り.
最初から見に行けと言う話は横に置いて,error箇所はdefineの最終行,valuesはnullと何のことかさっぱりです.足りない参考資料は入れたので参考資料が無いよ!のnullではないのは明らかです.

Variables:Line Number: defineのソースコードの最終行
Values   :null

正解はdefineの参考資料をリンクする際に記載するIDに誤記があったことでした.誤記していたためそんなID無いよ!ってerrorを出していたようです.
defineに参考資料をリンクする際には,最初の<def:SupplementalDoc>タグで参考資料のIDを定義して,本文中でそのIDを参照します.

正しい状態だと以下になります.leafIDが1回目と2回目でhogehogeと一致しています.
<def:SupplementalDoc>
    <def:DocumentRef leafID="hogehoge"/>
</def:SupplementalDoc>

<def:DocumentRef leafID="hogehoge">
</def:DocumentRef>

今回のerrorの原因は以下の状態になっていました.
後半で指定したpiypiyoはSupplementalDocタグで指定していないです.
<def:SupplementalDoc>
    <def:DocumentRef leafID="hogehoge"/>
</def:SupplementalDoc>

<def:DocumentRef leafID="piyopiyo">
</def:DocumentRef>

誤記をするなと言う話なのですが,末尾に1つだけerrorを返すのではなくせめて一致しないIDの数くらい教えてほしいです…今回は誤記があったのが3つだったので,最低でも3つはあったはずです…1つしかerrorはないって言われていたので,defineの中で1つしかなさそうなものからerrorの原因を探していました…

0 件のコメント:

コメントを投稿