PSCML

PSCML is a subset of  XML that is suitable for describing play scripts. The file extension is .pscml (or .xml). UTF-8 is recommended as the character encoding.

→ Play script samples in PSCML

Software

Concept

PSCML has a structure that is intrinsic to play scripts. It doesn’t have visual attributes like EPUB data has. PSCML is good for programs that process “document structure” and “presentation” respectively.

psc_flow

Schema

The schema is as follows in RELAX NG. Current PSCML version is 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

Your email address will not be published.