diff --git a/schemas/csl-choose.rnc b/schemas/csl-choose.rnc
new file mode 100644
index 0000000..f9310b2
--- /dev/null
+++ b/schemas/csl-choose.rnc
@@ -0,0 +1,76 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace cs = "http://purl.org/net/xbiblio/csl"
+
+
+## cs:choose - Conditional Statements"
+div {
+  rendering-element.choose =
+    
+    ## Use to conditionally render rendering elements.
+    element cs:choose { choose.if, choose.else-if*, choose.else? }
+  choose.if = element cs:if { condition+, match, rendering-element* }
+  choose.else-if =
+    element cs:else-if { condition+, match, rendering-element* }
+  choose.else = element cs:else { rendering-element+ }
+  condition =
+    
+    ## If used, the element content is only rendered if it disambiguates two
+    ## otherwise identical citations. This attempt at disambiguation is only
+    ## made after all other disambiguation methods have failed.
+    [ a:defaultValue = "true" ] attribute disambiguate { "true" }
+    | 
+      ## Tests whether the given variables contain numeric text.
+      attribute is-numeric {
+        list { variables+ }
+      }
+    | 
+      ## Tests whether the given date variables contain approximate dates.
+      attribute is-uncertain-date {
+        list { variables.dates+ }
+      }
+    | 
+      ## Tests whether the locator matches the given locator types.
+      attribute locator {
+        list { terms.locator+ }
+      }
+    | 
+      ## Tests whether the cite position matches the given positions.
+      attribute position {
+        list {
+          ("first"
+           | "subsequent"
+           | "ibid"
+           | "ibid-with-locator"
+           | "near-note")+
+        }
+      }
+    | 
+      ## Tests whether the item matches the given types.
+      attribute type {
+        list { item-types+ }
+      }
+    | 
+      ## Tests whether the default ("long") forms of the given variables
+      ## contain non-empty values.
+      attribute variable {
+        list { variables+ }
+      }
+  match =
+    
+    ## Set the testing logic.
+    [ a:defaultValue = "all" ]
+    attribute match {
+      
+      ## Element only tests "true" when all conditions test "true" for all
+      ## given test values.
+      "all"
+      | 
+        ## Element tests "true" when any condition tests "true" for any given
+        ## test value.
+        "any"
+      | 
+        ## Element only tests "true" when none of the conditions test "true"
+        ## for any given test value.
+        "none"
+    }?
+}
