PSCML

PSCML は XML のサブセットで、演劇等の台本データを記述する目的に特化したデータ形式です。拡張子は .pscml(または .xml)を使います。文字エンコーディングは UTF-8 を推奨します。

→ PSCML 形式の台本のサンプル

ソフトウェア

  • PlaySCriptViewer
    スマートフォンで演劇の台本を読むためのアプリです。
  • PlayScriptConv
    テキストを PSCML に変換する Windows アプリです。

コンセプト

PSCML は「台本が本来持っている構造」をモデル化したツリー構造を持ち、EPUB 形式に見られるような「体裁に関する情報」を持ちません。文書構造(document structure)と体裁(presentation)を分けて扱うプログラムに向いています。

psc_flow

スキーマ

PSCML のスキーマは RELAX NG により以下のように表せます。
現在のバージョンは 0.14 です。

element playscript
{
  element pscmlversion { text },
  element header
  {
    element title { attribute id { text }?, text },
    element author { attribute id { text }?, text }?,
    element comment
    {
      attribute id { text }?,
      text, (element br { empty }, text)*
    }*
  },
  element characters
  {
    element charsheadline { attribute id { text }?, text }?,
    ( element character
      {
        attribute id { text }?,
        element name { text },
        element description { text }?
      }
    | element comment
      {
        attribute id { text }?,
        text, (element br { empty }, text)*
      }
    )+
  }?,
  element body
  {
    ( element h1 { attribute id { text }?, text }
    | element h2 { attribute id { text }?, text }
    | element h3 { attribute id { text }?, text }
    | element direction
      {
        attribute id { text }?,
        text, (element br { empty }, text)*
      }
    | element dialogue
      {
        attribute id { text }?,
        element name { text },
        element line { text, (element br { empty }, text)* }
      }
    )+
  },
  element footer
  {
    element endmark { attribute id { text }?, text }?,
    element comment
    {
      attribute id { text }?,
      text, (element br { empty }, text)*
    }*
  }?
}

2 thoughts on “PSCML

Leave a Reply

メールアドレスが公開されることはありません。