message <span class="message">CssStyleDeclarations</span>
{
  message <span class="message">NodeStyle</span>
  {
    required <span class="number">uint32          </span> objectID    = 1; 
    required <span class="string">string          </span> elementName = 2; 
    repeated <span class="message">StyleDeclaration</span> styleList   = 3; 
  }
  <span class="comment">/** 
   * 
   *  Common to all origins:
   *  - indexList
   *  - valueList
   *  - priorityList
   *  - statusList
   * 
   *  Common to AUTHOR and LOCAL
   *  - selector
   *  - specificity
   * 
   *  For AUTHOR
   *  - stylesheetID
   *  - ruleID
   *  - ruleType
   */</span>
  message <span class="message">StyleDeclaration</span>
  {
    <span class="comment">/** 
     * 
     *  1 = USER-AGENT, 2=LOCAL, 3=AUTHOR, 4=ELEMENT
     */</span>
    required <span class="number">uint32</span> origin       =  1; 
    repeated <span class="number">uint32</span> indexList    =  2; 
    repeated <span class="string">string</span> valueList    =  3; 
    repeated <span class="bool">bool  </span> priorityList =  4; 
    repeated <span class="number">uint32</span> statusList   =  5; 
    optional <span class="string">string</span> selector     =  6; 
    optional <span class="number">uint32</span> specificity  =  7; 
    optional <span class="number">uint32</span> stylesheetID =  8; 
    optional <span class="number">uint32</span> ruleID       =  9; 
    optional <span class="number">uint32</span> ruleType     = 10; 
  }
  repeated <span class="string">string   </span> computedStyleList = 1; 
  repeated <span class="message">NodeStyle</span> nodeStyleList     = 2; 
}
