none
CREATE XML SCHEMA COLLECTION RRS feed

  • Pergunta

  • Pessoal, preciso criar um schema collection para o código XML abaixo.

    Ja encontrei um exemplo de como criar esse schema em um artigo do Gustavo Aguiar http://www.plugmasters.com.br/sys/materias/747/3/SQL-Server-2005-New-Features%3A-XML-Schema-Collection.

     

    Gostaria de saber se existe alguma ferramenta gráfica que me ajudaria a montar esse schema?

    Ou se eu tenho que escrever tudo na mão mesmo... Obrigado 

     

     

    <envio_produtos>

                    <cabecalho>

                                   <loja></loja>

                                   <quantidade_produtos>1</quantidade_produtos>

                                   <codigo>02004</codigo>

                    </cabecalho>

                    <produtos>

                                   <produto>

                                                   <nome></nome>

                                                   <departamento></departamento>

                                                   <secao></secao>

                                                   <complemento></complemento>

                                                   <desc_resumida></desc_resumida>

                                                   <desc_detalhada></desc_detalhada>

                                                   <marca></marca>

                                                   <dados_variaveis>

                                                                   <variacao>

                                                                                  <codigo></codigo>

                                                                                  <peso></peso>

                                                                                  <preco></preco>

                                                                                  <preco_promocional></preco_promocional>

                                                                                  <nome_var1></nome_var1>

                                                                                  <valor_var1></valor_var1>

                                                                                  <img_var1></img_var1>

                                                                                  <nome_var2></nome_var2>

                                                                                  <valor_var2></valor_var2>

                                                                                  <img_var2></img_var2>

                                                                   </variacao>

                                                   </dados_variaveis>

                                   </produto>

                    </produtos>

    </envio_produtos>


    Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciodba.spaces.live.com/
    quinta-feira, 13 de maio de 2010 18:44

Respostas

Todas as Respostas

  • Olá Fabrício,

    Existem algumas como o XML Style Studio ou até o próprio Visual Studio. Eles gerão um esquema um pouco genérico, pois, não podem arbitrar algumas coisas como multiplicidade, tipos, etc. Entretanto só de montar a estrutura do esquema já ajuda muito. No caso do SQL Server é possível utilizar o FOR XML com alguns parâmetros para gerar esquemas (XDR ou XSD). No seu caso teríamos o seguinte:

    <?xml version="1.0" encoding="Windows-1252"?>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <xs:element name="envio_produtos">
     <xs:complexType>
      <xs:sequence>
      <xs:element name="cabecalho">
       <xs:complexType>
       <xs:sequence>
        <xs:element name="loja" />
        <xs:element name="quantidade_produtos" type="xs:unsignedByte" />
        <xs:element name="codigo" type="xs:unsignedShort" />
       </xs:sequence>
       </xs:complexType>
      </xs:element>
      <xs:element name="produtos">
       <xs:complexType>
       <xs:sequence>
        <xs:element name="produto">
        <xs:complexType>
         <xs:sequence>
         <xs:element name="nome" />
         <xs:element name="departamento" />
         <xs:element name="secao" />
         <xs:element name="complemento" />
         <xs:element name="desc_resumida" />
         <xs:element name="desc_detalhada" />
         <xs:element name="marca" />
         <xs:element name="dados_variaveis">
          <xs:complexType>
          <xs:sequence>
           <xs:element name="variacao">
           <xs:complexType>
            <xs:sequence>
            <xs:element name="codigo" />
            <xs:element name="peso" />
            <xs:element name="preco" />
            <xs:element name="preco_promocional" />
            <xs:element name="nome_var1" />
            <xs:element name="valor_var1" />
            <xs:element name="img_var1" />
            <xs:element name="nome_var2" />
            <xs:element name="valor_var2" />
            <xs:element name="img_var2" />
            </xs:sequence>
           </xs:complexType>
           </xs:element>
          </xs:sequence>
          </xs:complexType>
         </xs:element>
         </xs:sequence>
        </xs:complexType>
        </xs:element>
       </xs:sequence>
       </xs:complexType>
      </xs:element>
      </xs:sequence>
     </xs:complexType>
     </xs:element>
    </xs:schema>

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Por que utilizar uma ferramenta de ETL ?
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!1026.entry


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 13 de maio de 2010 19:01
  • Veleu gustavo pela rápida resposta. Tem algum exemplo simples da geração do FOR XML com os parametros que você sitou?

    Como vc gerou esse schema para o meu caso? Utilizou qual das opções que você passou?

     

     


    Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciodba.spaces.live.com/
    quinta-feira, 13 de maio de 2010 19:25
  • Oi Fabrício,

    Desculpe a demora, mas é que realmente está difícil. Você pode utilizar o parâmetro SCHEMA. Ex:

    SELECT QualquerCoisa FROM QualquerLugar FOR XML AUTO, XMLSCHEMA

    Outra opção é abrir o XML com o Visual Studio e gerar o Schema

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Simulado para o Exame 70-433 - MCTS: Microsoft SQL Server 2008 - Database Development – Parte 03
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!1077.entry


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 17 de junho de 2010 20:50
  • Obrigado pelo retorno.
    Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciodba.spaces.live.com/ - Novo Post: Passo a passo para encontrar as querys mais demoradas do Banco de Dados
    terça-feira, 22 de junho de 2010 01:49