     :                         # Colon terminates identifier
   ///g
   commentText: /^\s*\*[ ]?(.*)/gm
+  content: ///
+    (?:                       # Non-capturing group for first part of OR
+      <prototype>             # Opening prototype tag
+      \s*                     # Optional whitespace
+      <[^>]+>                 # Opening base class instance tag
+      (                       # Group captures content
+        [\s\S]*               # Anything up to...
+      )
+      </prototype>            # Closing prototype tag
+    )
+    |                         # OR
+    (?:                       # Non-capturing group for second part of OR
+      <content>               # Opening content tag
+      (                       # Group captures content
+        [\s\S]*               # Anything up to...
+      )
+      </content>              # Closing content tag
+    )
+  ///
+  referencedClasses: ///
+    <                         # Start tag
+    (                         # Group captures referenced class name
+      [A-Z]                   # Must start with an uppercase letter
+      \w*                     # More letters
+    )
+    .*                        # Optional tag parameters
+    >                         # End tag
+  ///g
+  requiresClasses: ///
+    _requiresClasses          # Expected identifer "_requiresClasses"
+    :                         # Colon
+    \s+                       # Whitespace
+    (                         # Group captures array of required classes
+      \[                      # Opening bracket
+        [^\]]+                # Array contents -- everything but a closing bracket
+      \]                      # Closing bracket
+    )
+  ///
 
 
 extractors =

      )+
    )
  ///
  referencedClasses: ///
    \r?\n                     # Start of a line
    \s+                       # Whitespace


# Extracts docs from QuickUI markup controls
markupDocsExtractor = new DocsExtractor
  baseClassName: ///
    <prototype>               # Opening prototype tag
    \s*                       # Optional whitespace
    <                         # Open tag for base class instance
    (\w+)                     # Group captures base class name
  ///
  className: ///
    <script>                  # Opening script tag
    \s*                       # Whitespace
