問題タブ [gedcom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - ruby gedcomパーサーのEOF例外
分析プロジェクトのために gedcom 5.5 ファイルを解析する必要があります。最初に見つけた ruby パーサーは、スタック レベルが深すぎるというエラーを引き起こしたので、別の方法を見つけようとしました。私はこのプロジェクトを見つけました: https://github.com/jslade/gedcom-ruby
いくつかのサンプルが含まれていますが、それらも機能しません。
パーサー自体は次のとおりです: https://github.com/jslade/gedcom-ruby/blob/master/lib/gedcom.rb
次のようにサンプルを試してみると:
次のエラーが表示されます。
理解を深めるために、すべてのメソッドに「取得」を記述しました。これは、例外が発生するまでの出力です。
問題を引き起こす正確な行は
detect_rs メソッドで:
誰かがこれで私を助けてくれることを願っています。
java - GEDCOM ファイルの読み取り: 対応する誕生日、月、年を、入力ファイルから出力ファイルへの整数変数にサブストリングする方法
大量の個人/家族の記録を含む入力 GEDCOM ファイルがあります。目的は、データを次の形式にフォーマットすることです。
名前(p6、「ハリー・ブイス」)。生年月日(p6、日付(1927,11,17))。死(p6、日付(2001,08,21))。famc(p6、f3)。fams(p6、f2)。
個人番号と名前を引き出して出力ファイルに出力することはできましたが、生年月日と死亡日の解析に問題があります。出力ファイルに出力できるように、substring を使用して、birthDay、birthMonth、および BirthYear を整数として割り当てられるようにしたいと考えています。日付でソートできるように、整数でなければなりません。以下は、入力ファイルからの 1 つのクライアントのデータのサンプルです。
そして、ここに私がこれまでに持っているもののソースコードがあります:
}
if ステートメント (「BIRT」を含む) がなく、outFile.write() メソッドに「birthDay」がない場合、出力は次のようになります。
これは良いスタートです。
しかし、そのifステートメントがあると、次のようなエラーが発生し、何も出力されません:
今、部分文字列インデックス値のすべての組み合わせを試しましたが、何もうまくいかないようです。これを修正する方法について何か考えはありますか?
前もって感謝します。
algorithm - Gedcom を解析して SQLite-Database に変換
私はホビーXojoユーザーです。Gedcom ファイルを自分のプログラム、特に SQLite データベースにインポートしたい。
データベースの構造
テーブル
人
関係
子供
人物イベント
RelationshipEvents
動作する Gedcom-Line-Parser を作成しました。彼は単一の Gedcomline を次のように分割します。
TextInputStream を介して Gedcom-File をロードします (正常に動作しています)。いいえ、すべての行を解析する必要があります。
Gedcom-個人-サンプル
ご覧のとおり、レベル番号は「ツリー構造」を示しています。したがって、ノードの子を簡単に取得できるため、ファイルを個別のオブジェクト (PersonObj、RelationshipObj、EventObj など) に解析して JSONItem にするのが最善かつ最も簡単な方法だと思いました。後で、ノード、子ノードを簡単に読み取ってデータベースエントリを作成できます。しかし、そのようなアルゴリズムを作成する方法がわかりません。
誰か助けてくれませんか?
php - Drupal ベースの系図アプリケーションを作成するにはどうすればよいでしょうか?
Genealogy アプリケーションの構築に Drupal を使用したいと考えています。問題は、ユーザーが gedcom ファイルをアップロードし、それを解析して、そのデータからさまざまな Drupal ノードを作成できるようにすることです。Drupal のノードはコンテンツ アイテムです。したがって、コンテンツ タイプとして個人と家族を持ち、それぞれに gedcom ファイルから取得されるフィールドとしてさまざまなイベントを持ちます。
gedcom ファイルは、系図情報の一般的な形式です。さまざまなデスクトップ アプリケーションがデータを取得し、独自の形式に変換します。達成する方法について私が確信していないのは、エンド ユーザーに gedcom ファイルをアップロードするためのフォームを提供し、Drupal を使用してノード (別名コンテンツ アイテム) を作成させることです。Python、Perl、またはその他の言語を使用して、gedcom ファイルを解析するためのオープン ソース コードを見つけることができます。したがって、これらのライブラリのいずれかを使用して、JSON、XML、CSV などの gedcom ファイル出力から作成できます。
Drupal は PHP で書かれており、課題のもう 1 つの詳細は、エンド ユーザーに対して、ステップ 1 で作成されたファイルを見つけるように依頼したくないということです (ステップ 1 は gedcom ファイルの解析と変換です)。それを Drupal にアップロードします。エンドユーザーが見る限り、どうにかしてこれをワンステップで実現したいと思います。JSON、XML、または CSV に変換された後、Drupal がデータをインポートするようにトリガーする方法が必要です。
javascript - GEDCOM ファイルのインポート/エクスポート
プロジェクトの一部として、データベースに挿入/取り出しする GEDCOM ファイルのインポートとエクスポートを含める必要があります。ファイルがどのように機能するかについてのチュートリアルが実際にないため、ファイルの書き方を見つけるのが非常に難しいと感じています。私ができることについて何か提案はありますか?私のプロジェクトは、家系図を描画する Web アプリケーションを作成することなので、javascript と PHP でコーディングします。または、誰かが役立つ追加のソフトウェアを知っている場合は? ありがとうございました。
regex - Flex でさまざまな改行規則に対処する方法
GEDCOM ファイル形式を解析しようとしています。その標準によれば、CR と LF のすべての組み合わせは、改行を表すのに有効です。
これは行ベースの形式であるため、番号とタグが既に一致している場合に、行の残りの部分を一致させたい場合がよくあります。ルールの例は次のとおりです。
改行は
これは、背後で \r\n を \n に変換するため、Windows では正常に機能しますが、Linux では機能しません。そこでは、\r をドットで一致させることができます。Flex は最長一致ルールを使用するため、データに \r を含めるか、既知のタグを UNKNOWNTAG ルールに一致させます。これは、技術的に正しい一致が 1 バイト長くなるためです。
解決策は、すべてのドットを [^\r\n] に置き換えることですが、それはエレガントではないようです。より良い方法はありますか?