<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="jelly:stapler">
    <xsd:annotation>
<xsd:documentation>Optional Jelly support, to write views in Jelly.</xsd:documentation>
</xsd:annotation>
    <xsd:element name="structuredMessageFormat">
<xsd:annotation>
<xsd:documentation>Format message from a resource, but by using a nested children as arguments, instead of just using expressions.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="key" use="required">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="lineNumber">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="columnNumber">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="fileName">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="elementName">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="structuredMessageArgument">
<xsd:annotation>
<xsd:documentation>Body is evaluated and is used as an argument for the surrounding &lt;structuredMessageFormat&gt; element.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="statusCode">
<xsd:annotation>
<xsd:documentation>Sets HTTP status code.

 
        <p>
 This is generally useful for programatically creating the error page.</p>
      </xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="value" use="required">
<xsd:annotation>
<xsd:documentation>HTTP status code to send back.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="setHeader">
<xsd:annotation>
<xsd:documentation>Sets an HTTP header to the response.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="name" use="required">
<xsd:annotation>
<xsd:documentation>Header name.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="value" use="required">
<xsd:annotation>
<xsd:documentation>Header value.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="redirect">
<xsd:annotation>
<xsd:documentation>Sends HTTP redirect.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="url" use="required">
<xsd:annotation>
<xsd:documentation>Sets the target URL to redirect to. This just gets passed
 to org.kohsuke.stapler.StaplerResponse.sendRedirect2(String).</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="parentScope">
<xsd:annotation>
<xsd:documentation>Executes the body in the parent scope.
 This is useful for creating a 'local' scope.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="out">
<xsd:annotation>
<xsd:documentation>Tag that outputs the specified value but with escaping,
 so that you can escape a portion even if the
 org.apache.commons.jelly.XMLOutput is not escaping.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="value" use="required">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="nbsp">
<xsd:annotation>
<xsd:documentation>Writes out '&amp;nbsp;'.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="isUserInRole">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="role" use="required">
<xsd:annotation>
<xsd:documentation>The name of the role against which the user is checked.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="include">
<xsd:annotation>
<xsd:documentation>Tag that includes views of the object.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="page" use="required">
<xsd:annotation>
<xsd:documentation>Specifies the name of the JSP to be included.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="it">
<xsd:annotation>
<xsd:documentation>Specifies the object for which JSP will be included.
 Defaults to the "it" object in the current context.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="from">
<xsd:annotation>
<xsd:documentation>When loading the script, use the classloader from this object
 to locate the script. Otherwise defaults to "it" object.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="class">
<xsd:annotation>
<xsd:documentation>When loading script, load from this class.

 By default this is "from.getClass()". This takes
 precedence over the org.kohsuke.stapler.jelly.IncludeTag.setFrom(Object) method.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="optional">
<xsd:annotation>
<xsd:documentation>If true, not finding the page is not an error.
 (And in such a case, the body of the include tag is evaluated instead.)</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="header">
<xsd:annotation>
<xsd:documentation>Adds an HTTP header to the response.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="name" use="required">
<xsd:annotation>
<xsd:documentation>Header name.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="value" use="required">
<xsd:annotation>
<xsd:documentation>Header value.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="findAncestor">
<xsd:annotation>
<xsd:documentation>Finds the nearest tag (in the call stack) that has the given tag name,
 and sets that as a variable.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="var">
<xsd:annotation>
<xsd:documentation>Variable name to set the discovered org.apache.commons.jelly.Tag object.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="tag">
<xsd:annotation>
<xsd:documentation>QName of the tag to look for.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="namespaceContext">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="doctype">
<xsd:annotation>
<xsd:documentation>Writes out DOCTYPE declaration.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="publicId" use="required">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="systemId" use="required">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="copyStream">
<xsd:annotation>
<xsd:documentation>Copies a stream as text.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="reader">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="inputStream">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="file">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="url">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="contentType">
<xsd:annotation>
<xsd:documentation>Set the HTTP Content-Type header of the page.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="value" use="required">
<xsd:annotation>
<xsd:documentation>The content-type value, such as "text/html".</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="compress">
<xsd:annotation>
<xsd:documentation>Outer-most wrapper tag to indicate that the gzip compression is desirable
 for this output.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="bind">
<xsd:annotation>
<xsd:documentation>Binds a server-side object to client side so that JavaScript can call into server.
 This tag evaluates to a &lt;script&gt; tag.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="var">
<xsd:annotation>
<xsd:documentation>JavaScript variable name to set the proxy to.
 
          <p>
 This name can be arbitrary left hand side expression,
 such as "a[0]" or "a.b.c".

 If this value is unspecified, the tag generates a JavaScript expression to create a proxy.</p>
        </xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="value" use="required">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="attribute">
<xsd:annotation>
<xsd:documentation>Documentation for an attribute of a Jelly tag file.

 
        <p>
 This tag should be placed right inside </p>DocumentationTag
 to describe attributes of a tag. The body would describe
 the meaning of an attribute in a natural language.
 The description text can also use
 
        <a>Textile markup</a>
      </xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="name" use="required">
<xsd:annotation>
<xsd:documentation>Name of the attribute.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="use">
<xsd:annotation>
<xsd:documentation>If the attribute is required, specify use="required".
 (This is modeled after XML Schema attribute declaration.)

 
          <p>
 By default, use="optional" is assumed.</p>
        </xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="type">
<xsd:annotation>
<xsd:documentation>If it makes sense, describe the Java type that the attribute
 expects as values.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="deprecated">
<xsd:annotation>
<xsd:documentation>If the attribute is deprecated, set to true.
 Use of the deprecated attribute will cause a warning.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="attributeConstraints">
<xsd:annotation>
<xsd:documentation>DTD-like expression that specifies the consraints on attribute appearances.

 
        <p>
 This tag should be placed right inside </p>DocumentationTag
 to describe attributes of a tag.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any maxOccurs="unbounded" minOccurs="0" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="expr" use="required">
<xsd:annotation>
<xsd:documentation>Constraint expression.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
    <xsd:element name="adjunct">
<xsd:annotation>
<xsd:documentation>Writes out links to adjunct CSS and JavaScript, if not done so already.</xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:attribute name="includes">
<xsd:annotation>
<xsd:documentation>Comma-separated adjunct names.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="assumes">
<xsd:annotation>
<xsd:documentation>Comma-separated adjunct names that are externally included in the page
 and should be suppressed.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="trim">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="escapeText">
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
  </xsd:schema>
