警告

警告 – Structures_BibTex での警告の使用法

概要

Structures_BibTex クラスには、 パース中に発生した警告を収集する仕組みがあります。 「警告」とは、BibTex ソース中にある、 間違ってはいるが処理を中断させるほどでもないもののことです、 例えば、cite エントリが重複している場合などがあてはまります。 これらの警告を参考にすると、BibTex コードの品質を より向上させることができます。警告を発生させるかどうかは、 validate オプションで制御します。デフォルトでは警告を発生させます。 警告を発生させたくない場合は、setOption() メソッドをこのように使用します。

警告を発生させないようにする

<?php
require_once 'Structures/BibTex.php';
$bibtex = new Structures_BibTex();
$bibtex->setOption('validate'false);
?>

使用法

警告の内容は warnings という名前の配列に保存されます。 この配列は外部からもアクセス可能です。警告が存在するかどうかを調べるには hasWarning() メソッドを使用します。 このメソッドは、警告が存在する場合に true、 存在しない場合に false を返します。

警告を調べる

<?php
require_once 'Structures/BibTex.php';
$bibtex = new Structures_BibTex();
$ret    $bibtex->loadFile('foo.bib');
if (
PEAR::isError($ret)) {
    die(
$ret->getMessage());
}
$bibtex->parse();
if (
$bibtex->hasWarning()) {
    print 
'警告があります!<br />';
}
?>

個々の警告自体はハッシュテーブルで、次のようなキーが存在します。

  • warning - 警告の型。

  • entry - 警告が発生した行。

  • wholeentry - 警告が発生したエントリ全体。

すべての警告の型、そして発生した行を表示するには、 このようにします。

警告を調べる

<?php
require_once 'Structures/BibTex.php';
$bibtex = new Structures_BibTex();
$ret    $bibtex->loadFile('foo.bib');
if (
PEAR::isError($ret)) {
    die(
$ret->getMessage());
}
$bibtex->parse();
if (
$bibtex->hasWarning()) {
    foreach (
$bibtex->warnings as $warning) {
        echo 
'警告: '.$warning['warning'].'<br />';
        echo 
'行: '.$warning['entry'].'<hr />';
    }
}
?>

また、すべての警告を消去するには clearWarnings() メソッドを使用します。

警告の型

以下のような型の警告があります。

  • WARNING_MISSING_END_BRACE - この警告は、エントリ内で波括弧が閉じられていない場合に発生します。 この警告は重要です!

  • WARNING_AT_IN_BRACES - 波括弧で囲まれた内部では、@ を使用することができません。

  • WARNING_ESCAPED_DOUBLE_QUOTE_INSIDE_DOUBLE_QUOTES - ダブルクォートで囲まれた内部では、 エスケープされたダブルクォートを使用することができません。

  • WARNING_UNBALANCED_AMOUNT_OF_BRACES - 値の中での波括弧の数 (開始括弧と終了括弧) が対応していません。 エントリ全体でこの数が間違っている場合、パースに失敗します。 しかし、ある特定のエントリだけで間違っている場合は単に警告を発生するだけです。 結果としてはパースは失敗しませんが、 波括弧の開始・終了が対応していないためにこの警告が発生します。

  • WARNING_MULTIPLE_ENTRIES - 各エントリは、それぞれ一意の文字列で識別されます。 この警告が発生するのは、同じ識別子のエントリが 2 つ以上存在するときです。

  • WARNING_LINE_WAS_NOT_CONVERTED - この警告が発生するのは、エクスポート中に (例えば RTF や HTML などで)、マッチするデータがないために エントリが無視されたときです。変換を行うためには、 title、journal、year あるいは authors のうち、 最低ひとつのエントリが存在する必要があります。

  • STRING_ENTRY_NOT_YET_SUPPORTED - BibTex では、特別なエントリ型がいくつか定義されています。 String もそのひとつで、略称を定義するために用いられます。 これは、まだ Structres_BibTex ではサポートされていません。

  • PREAMBLE_ENTRY_NOT_YET_SUPPORTED - BibTex では、特別なエントリ型がいくつか定義されています。 Preamble もそのひとつで、フォーマットされたコードを定義するために用いられます。 これは、まだ Structres_BibTex ではサポートされていません。

  • WARNING_NOT_ALLOWED_ENTRY_TYPE - BibTex では独自の型を定義することができます。 この警告は、標準の型の一部ではない型が検出された場合に発生します。 使用できる、あるいは標準の型の一覧は、クラス変数 allowedTypes に配列で定義されています。

Structures_BibTex について (Previous) Structures_BibTex を使用したデータのエクスポート (Next)
Last updated: Wed, 23 Apr 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.