Created
September 23, 2015 18:28
-
-
Save ggazzo/ca26b23e1a5548156c39 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
<xs:element name="rede-loja"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="holdings"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="holding"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="empresas"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="empresa" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType mixed="true"> | |
<xs:sequence> | |
<xs:element name="lojas" minOccurs="0"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="loja" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="lojaDepartamentos"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="lojaDepartamento" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoDepartamento" use="required"/> | |
<xs:attribute type="xs:string" name="nome" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute type="xs:integer" name="codigoLoja" use="required"/> | |
<xs:attribute type="xs:string" name="nome" use="required"/> | |
<xs:attribute type="xs:string" name="dataAbertura" use="required"/> | |
<xs:attribute type="xs:integer" name="nroFuncionario" use="required"/> | |
</xs:complexType> | |
<xs:unique name="codigoLoja"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoLoja"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute type="xs:integer" name="codigoEmpresa" use="required"/> | |
<xs:attribute type="xs:string" name="razaoSocial" use="required"/> | |
<xs:attribute type="xs:string" name="fantasia" use="required"/> | |
<xs:attribute type="xs:string" name="logradouro" use="required"/> | |
<xs:attribute type="xs:integer" name="codigoHolding" use="required"/> | |
</xs:complexType> | |
<xs:unique name="codigoEmpresa"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoEmpresa"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute type="xs:integer" name="codigoHolding"/> | |
<xs:attribute type="xs:string" name="nome"/> | |
</xs:complexType> | |
<xs:unique name="codigoHolding"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoHolding"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="secoes"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="secao" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoSecao" use="required"/> | |
<xs:attribute type="xs:string" name="nome" use="required"/> | |
<xs:attribute type="xs:integer" name="codigoDepartamento" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:unique name="codigoSecao"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoSecao"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="departamentos"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="departamento" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoDepartamento" use="required"/> | |
<xs:attribute type="xs:string" name="nome" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:unique name="codigoDepartamento"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoDepartamento"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="produtos"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="produto"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoProduto"/> | |
<xs:attribute type="xs:string" name="nome"/> | |
<xs:attribute type="xs:integer" name="codigoCategoria"/> | |
<xs:attribute type="xs:integer" name="codigoGrade"/> | |
<xs:attribute type="xs:integer" name="estoqueAtual"/> | |
<xs:attribute type="xs:integer" name="estoqueMinimo"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:unique name="codigoProduto"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoProduto"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="categorias"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="categoria" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoCategoria" use="required"/> | |
<xs:attribute type="xs:string" name="nome" use="required"/> | |
<xs:attribute type="xs:integer" name="codigoSecao" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:unique name="codigoCategoria"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoCategoria"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="gradeItems"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="gradeItem" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoGradeItem" use="required"/> | |
<xs:attribute type="xs:string" name="nome" use="required"/> | |
<xs:attribute type="xs:integer" name="codigoGrade" use="required"/> | |
<xs:attribute type="xs:integer" name="codigoCor" use="required"/> | |
<xs:attribute type="xs:integer" name="codigoTamanho" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:unique name="codigoGradeItem"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoGradeItem"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="grades"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="grade" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoGrade" use="required"/> | |
<xs:attribute type="xs:string" name="nome" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:unique name="codigoGrade"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoGrade"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="estoques"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="estoqueGradeItem" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoProduto" use="required"/> | |
<xs:attribute type="xs:integer" name="codigoGradeItem" use="required"/> | |
<xs:attribute type="xs:integer" name="estoqueAtual" use="required"/> | |
<xs:attribute type="xs:integer" name="estoqueMinimo" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="tamanhos"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="tamanho" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoTamanho" use="required"/> | |
<xs:attribute type="xs:integer" name="value" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:unique name="codigoTamanho"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoTamanho"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="cores"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="cor" maxOccurs="unbounded" minOccurs="0"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute type="xs:integer" name="codigoCor" use="required"/> | |
<xs:attribute type="xs:string" name="value" use="required"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:unique name="codigoCor"> | |
<xs:selector xpath="."/> | |
<xs:field xpath="@codigoCor"/> | |
</xs:unique> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:key name="corkey"> | |
<xs:selector xpath="cores/cor"/> | |
<xs:field xpath="@codigoCor"/> | |
</xs:key> | |
<xs:keyref name="gradeItemKeyRefCor" refer="corkey"> | |
<xs:selector xpath="gradeItems/gradeItem"/> | |
<xs:field xpath="@codigoCor"/> | |
</xs:keyref> | |
<xs:key name="tamanhokey"> | |
<xs:selector xpath="tamanhos/tamanho"/> | |
<xs:field xpath="@codigoTamanho"/> | |
</xs:key> | |
<xs:keyref name="gradeItemKeyRefTamanho" refer="tamanhokey"> | |
<xs:selector xpath="gradeItems/gradeItem"/> | |
<xs:field xpath="@codigoTamanho"/> | |
</xs:keyref> | |
<xs:key name="codigoGradeItemkey"> | |
<xs:selector xpath="gradeItems/gradeItem"/> | |
<xs:field xpath="@codigoGradeItem"/> | |
</xs:key> | |
<xs:keyref name="estoqueGradeItemKeyRefgradeItem" refer="codigoGradeItemkey"> | |
<xs:selector xpath="estoques/estoqueGradeItem"/> | |
<xs:field xpath="@codigoGradeItem"/> | |
</xs:keyref> | |
<xs:key name="codigoGradekey"> | |
<xs:selector xpath="grades/grade"/> | |
<xs:field xpath="@codigoGrade"/> | |
</xs:key> | |
<xs:keyref name="codigoGradeKeyRefgradeItem" refer="codigoGradekey"> | |
<xs:selector xpath="gradeItems/gradeItem"/> | |
<xs:field xpath="@codigoGrade"/> | |
</xs:keyref> | |
<xs:keyref name="codigoGradeKeyProdutos" refer="codigoGradekey"> | |
<xs:selector xpath="produtos/produto"/> | |
<xs:field xpath="@codigoGrade"/> | |
</xs:keyref> | |
<xs:key name="categoria"> | |
<xs:selector xpath="categorias/categoria"/> | |
<xs:field xpath="@codigoCategoria"/> | |
</xs:key> | |
<xs:keyref name="codigoCategoriaRefProduto" refer="categoria"> | |
<xs:selector xpath="produtos/produto"/> | |
<xs:field xpath="@codigoCategoria"/> | |
</xs:keyref> | |
<xs:key name="produto"> | |
<xs:selector xpath="produtos/produto"/> | |
<xs:field xpath="@codigoProduto"/> | |
</xs:key> | |
<xs:keyref name="codigoCategoriaRefestoqueGradeItem" refer="produto"> | |
<xs:selector xpath="estoques/estoqueGradeItem"/> | |
<xs:field xpath="@codigoProduto"/> | |
</xs:keyref> | |
<xs:key name="departamento"> | |
<xs:selector xpath="departamentos/departamento"/> | |
<xs:field xpath="@codigoDepartamento"/> | |
</xs:key> | |
<xs:keyref name="departamentoRefSecao" refer="departamento"> | |
<xs:selector xpath="secoes/secao"/> | |
<xs:field xpath="@codigoDepartamento"/> | |
</xs:keyref> | |
<xs:keyref name="departamentoReflojaDepartamento" refer="departamento"> | |
<xs:selector xpath="holdings/holding/empresas/empresa/lojas/loja/lojaDepartamentos/lojaDepartamento"/> | |
<xs:field xpath="@codigoDepartamento"/> | |
</xs:keyref> | |
<xs:key name="secao"> | |
<xs:selector xpath="secoes/secao"/> | |
<xs:field xpath="@codigoSecao"/> | |
</xs:key> | |
<xs:keyref name="departamentoRefcategoria" refer="secao"> | |
<xs:selector xpath="categorias/categoria"/> | |
<xs:field xpath="@codigoSecao"/> | |
</xs:keyref> | |
</xs:element> | |
</xs:schema> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment