<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:mule="http://www.mulesoft.org/schema/mule/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://www.mulesoft.org/schema/mule/blogger">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"></xs:import>
  <xs:import schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" namespace="http://www.springframework.org/schema/beans"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/core/current/mule.xsd" namespace="http://www.mulesoft.org/schema/mule/core"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/devkit/current/mule-devkit.xsd" namespace="http://www.mulesoft.org/schema/mule/devkit"></xs:import>
  <xs:simpleType name="integerType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:integer"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="decimalType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:decimal"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="floatType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:float"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="doubleType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:double"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="dateTimeType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="longType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:long"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="byteType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:byte"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="booleanType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:boolean"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="anyUriType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:anyURI"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="charType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:minLength value="1"></xs:minLength>
          <xs:maxLength value="1"></xs:maxLength>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="(\#\[[^\]]+\]|\$\{[^\}]+\})"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:complexType name="XmlType">
    <xs:sequence>
      <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
    </xs:sequence>
    <xs:attribute name="ref" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation>The reference object for this parameter</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:element xmlns:devkit="http://www.mulesoft.org/schema/mule/devkit" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="config" substitutionGroup="mule:abstract-extension" devkit:javaClass="org.mule.modules.blogger.config.BloggerConnectorConnectionManager">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="mule:abstractExtensionType">
          <xs:annotation>
            <xs:documentation>Cloud Connector</xs:documentation>
          </xs:annotation>
          <xs:sequence>
            <xs:element name="connection-pooling-profile" minOccurs="0" type="mule:poolingProfileType">
              <xs:annotation>
                <xs:documentation>Characteristics of the connection pool.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="name" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Give a name to this configuration so it can be later referenced by config-ref.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="blogId" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>Configurable</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="username" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>A username</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="password" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>A password</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/blogger" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="retrieve-posts" substitutionGroup="mule:abstract-message-processor" type="RetrievePostsType">
    <xs:annotation>
      <xs:documentation>Retrieve all the posts for the blog.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="RetrievePostsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A username</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A password</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/blogger" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="filter-posts" substitutionGroup="mule:abstract-message-processor" type="FilterPostsType">
    <xs:annotation>
      <xs:documentation>Retrieve posts with the given criteria.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="FilterPostsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/blogger" name="minDate" use="optional" type="dateTimeType">
          <xs:annotation>
            <xs:documentation>- The min date for the filter</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/blogger" name="maxDate" use="optional" type="dateTimeType">
          <xs:annotation>
            <xs:documentation>- The max date for the filter</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/blogger" name="maxResults" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>- The max number of results returned</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A username</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A password</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/blogger" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-post" substitutionGroup="mule:abstract-message-processor" type="CreatePostType">
    <xs:annotation>
      <xs:documentation>Create a post in the blog.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreatePostType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="title" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>- The title of the post</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="content" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>- The content of the post</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A username</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A password</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/blogger" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-post" substitutionGroup="mule:abstract-message-processor" type="DeletePostType">
    <xs:annotation>
      <xs:documentation>Delete the post.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeletePostType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="editLinkHref" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>- The post's edit URL</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A username</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A password</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/blogger" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-comment" substitutionGroup="mule:abstract-message-processor" type="AddCommentType">
    <xs:annotation>
      <xs:documentation>Add a comment to a post.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddCommentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="postId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>- The id of the post to add the comment to</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="text" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>- The text of the comment</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A username</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A password</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/blogger" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="retrieve-comments" substitutionGroup="mule:abstract-message-processor" type="RetrieveCommentsType">
    <xs:annotation>
      <xs:documentation>Retrieve the comments for the given post</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="RetrieveCommentsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="postId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>- The id of the post to retrieve the comments for</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A username</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A password</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/blogger" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-comment" substitutionGroup="mule:abstract-message-processor" type="DeleteCommentType">
    <xs:annotation>
      <xs:documentation>Delete the comment from the post.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteCommentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="editLinkHref" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>- The comment's edit URL</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A username</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A password</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/blogger" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-comment-regex" substitutionGroup="mule:abstract-message-processor" type="DeleteCommentRegexType">
    <xs:annotation>
      <xs:documentation>Delete comments matching the regular expression.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteCommentRegexType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="postId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>- The id of the post to delete comments from</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="regex" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>- The regular expression to select comments for deletion</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="retryMax" default="1" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify how many times this operation can be retried automatically.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="username" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A username</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="password" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>A password</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>