Ambrosia

 view release on metacpan or  search on metacpan

share/XSD/AmbrosiaDL.xsd  view on Meta::CPAN

<!-- ROOT ELEMENT -->
  <xs:element name="Application">
    <xs:annotation>
      <xs:documentation>
        The root element for application definition.
      </xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Config">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CommonGatewayInterface">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Params" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>
                              Have any attributes that are needed for CommonGatewayInterface such as Cache_control, Pragma etc.
                          </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:anyAttribute processContents="skip"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="Engine" type="atns:CommonGatewayInterface"/>
                </xs:complexType>
              </xs:element>
              <!-- end of CommonGatewayInterface -->
              <xs:element name="Host" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="Name" type="xs:NCName" use="required"/>
                  <xs:attribute name="ProjectPath" type="xs:string" use="required"/>
                  <xs:attribute name="PerlLibPath" type="xs:string" use="optional"/>
                  <xs:attribute name="ServerName" type="xs:NCName" use="required"/>
                  <xs:attribute name="ServerPort" type="xs:short" use="optional" default="80"/>
                  <xs:attribute name="Debug" type="atns:Boolean" use="optional" default="NO"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <!-- end of Config -->

        <xs:element name="DataSource">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Type" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Source">
                      <xs:complexType>
                        <xs:attribute name="Name" type="xs:NCName" use="required"/>
                        <xs:attribute name="Engine" type="atns:EngineSource" use="required"/>
                        <xs:attribute name="Catalog" type="xs:NCName" use="optional"/>
                        <xs:attribute name="Schema" type="xs:NCName" use="required"/>
                        <xs:attribute name="User" type="xs:NCName" use="required"/>
                        <xs:attribute name="Password" type="xs:string" use="optional"/>
                        <xs:attribute name="Params" type="xs:string" use="optional"/>
                        <xs:attribute name="Charset" type="xs:string" use="optional" default="utf8"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="Name" type="atns:DataSource"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <!-- end of DataSource -->

        <xs:element ref="atns:Entitys"/>
        <xs:element ref="atns:Relations"/>

        <xs:element name="MenuGroups">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Group" type="atns:Group" minOccurs="1" maxOccurs="unbounded"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="Name" use="required" type="xs:NCName"/>
      <xs:attribute name="Label" use="optional" type="xs:string"/>
      <xs:attribute name="Charset" use="optional" type="xs:NCName" default="utf-8"/>
      <xs:attribute name="Language" use="optional" type="xs:string" default="en"/>
      <xs:attribute name="Authorization" use="optional" type="atns:Boolean" default="YES"/>
    </xs:complexType>
  </xs:element>
  <!-- End Application element -->

  <xs:element name="Entitys">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="atns:Entity" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>

    <xs:key name="PKEntity">
      <xs:selector xpath="atns:Entity"/>
      <xs:field xpath="@Id"/>
    </xs:key>

    <xs:keyref name="fk_RelationEntity" refer="atns:PKEntity">
      <xs:selector xpath="atns:Relations/atns:Relation"/>
      <xs:field xpath="@RefId"/>
    </xs:keyref>

    <xs:keyref name="fk_RelationEntityRef" refer="atns:PKEntity">
      <xs:selector xpath="atns:Relations/atns:Relation/atns:EntityRef"/>
      <xs:field xpath="@RefId"/>
    </xs:keyref>

    <xs:keyref name="fk_GroupEntity" refer="atns:PKEntity">
      <xs:selector xpath="atns:MenuGroups/atns:Group"/>
      <xs:field xpath="@RefId"/>
    </xs:keyref>
  </xs:element>

  <xs:element name="Relations">



( run in 0.722 second using v1.01-cache-2.11-cpan-9789f410c06 )