Fazendo Upload de Esquemas XML Incluídos

Um Esquema XML ou documento WSDL pode incluir outros Esquemas XML no documento principal, usando Inclusão de Esquema, Inclusão de Esquema com Redefinição ou Importando um Namespace.

Sobre Esta Tarefa

Inclusão de Esquema
É possível incluir outros fragmentos de Esquema XML no Esquema XML principal ou WSDL usando o elemento de inclusão, conforme mostrado no seguinte exemplo: <xsd:include schemaLocation="myTypes.xsd"/>
Inclusão de Esquema com Redefinição
A especificação de Esquema XML suporta a redefinição de definições incluídas por outros fragmentos de Esquema XML no Esquema XML ou WSDL atual. Por exemplo, o fragmento de Esquema XML myTypes.xsd define um tipo complexo chamado PurchaseOrderType. Um outro Esquema XML chamado PurchaseOrder.xsd inclui o fragmento de Esquema XML myTypes.xsd usando o elemento de redefinição e redefine o tipo complexo chamado PurchaseOrderType.
É possível incluir outros fragmentos de Esquema XML no Esquema XML principal ou WSDL usando o elemento redefine, conforme mostrado no seguinte exemplo: <xsd:redefine schemaLocation="myTypes.xsd"/>
Importando um Espaço de Nomes
É possível incluir um namespace no documento atual usando o elemento import, conforme mostrado no exemplo a seguir: <xs:import namespace="http://acme.com/ns/example schemaLocation="mySchema.xsd" /> .

Quando você inclui ou faz upload do Esquema XML ou WSDL principal no projeto usando a caixa de diálogo Incluir Documento, é solicitado que localize qualquer Esquema XML incluído, ou Esquemas XML, no projeto, conforme mostrado no procedimento a seguir. Todos os Esquemas XML incluídos devem ser localizados antes do Esquema XML ou documento WSDL principal ser mostrado na guia Projeto e podem ser usados no projeto.

Procedimento

  1. Faça upload de um Esquema XML ou documento WSDL para o projeto atual. Se o Esquema XML ou documento WSDL incluir outros Esquemas XML, a caixa de diálogo Fazendo Upload dos Esquemas XML Incluídos será exibida listando todos os Esquemas XML incluídos, conforme mostrado em Figura 1.
    Figura 1. Fazendo Upload de Esquemas XML IncluídosFazer Upload de um Esquema XML
    Se o Esquema XML incluído for localizado automaticamente, o ícone de visto ícone de Visto será exibido próximo ao Esquema XML na caixa de diálogo Fazendo Upload dos Esquemas XML Incluídos, conforme mostrado para o Esquema XML commonTypes.xsd na figura precedente. Se o Esquema XML ou WSDL principal foi localizado no sistema de arquivos local, o Studio procurará os Esquemas XML incluídos no mesmo diretório e os localizará automaticamente; por exemplo, se você transferiu por upload mySchema.xsd a partir do diretório C:\temp e mySchema.xsd incluir o Esquema XML commonTypes.xsd, o Studio localizará automaticamente o Esquema XML commonTypes.xsd no diretório C:\temp. Se o Esquema XML incluído não for localizado automaticamente, o ícone de aviso ícone de Aviso será exibido próximo ao Esquema XML na caixa de diálogo Fazendo Upload dos Esquemas XML Incluídos, conforme mostrado para o Esquema XML poTypes.xsd em Figura 1.
  2. Repita as seguintes etapas para localizar todos os Esquemas XML não localizados:
    1. Selecione o Esquema XML na caixa de diálogo Fazendo Upload de Esquemas XML Incluídos. O Esquema XML é destacado na tabela, conforme mostrado em Figura 2.
      Figura 2. Fazer Upload de um Esquema XMLFazer Upload de um Esquema XML
    2. Clique em Localizar. A caixa de diálogo Localizar o Esquema XML Selecionado é exibida.
    3. No campo Local, especifique o local do Esquema XML incluído a partir de um local da Web externo ou do sistema de arquivos.
    4. Clique em OK. Se o Esquema XML for localizado, o ícone de visto Ícone de visto será exibido próximo ao Esquema XML na caixa de diálogo Fazendo Upload de Esquemas XML Incluídos.
  3. Por padrão, a caixa de opção Armazenar todas as inclusões no mesmo nó do projeto que o documento principal está selecionada. Quando essa caixa de opção é selecionada, os Esquemas XML incluídos e o Esquema XML principal ou WSDL são transferidos por upload como um único nó do projeto. Quando essa caixa de opção é desmarcada, todos os Esquemas XML incluídos e o Esquema XML principal ou WSDL são exibidos separadamente na guia Projeto. Um ícone de visto é mostrado próximo a cada Esquema XML listado, indicando que todos os Esquemas XML incluídos foram localizados.
  4. Clique em OK.

Exemplo

Se a caixa de seleção Armazenar todas as inclusões no mesmo nó do projeto que o documento principal estiver selecionada, apenas o Esquema XML ou WSDL principal será exibido na guia Projeto, conforme mostrado em Figura 3.
Figura 3. ExemploExemplo

Com a caixa de opção selecionada, os Esquemas XML incluídos ainda são transferidos por upload para o projeto, mas não são exibidos na guia Projeto, assim, não é possível atualizar individualmente esses Esquemas XML no projeto conforme descrito em Fazendo Upload de Esquemas XML Incluídos.

Se a caixa de seleção Armazenar todas as inclusões no mesmo nó do projeto que o documento principal estiver desmarcada, o Esquema XML ou WSDL principal será exibido e todos os Esquemas XML incluídos serão transferidos por upload no projeto e mostrados na guia Projeto, conforme mostrado em Figura 4.
Figura 4. ExemploExemplo

Com a caixa de seleção desmarcada, todos os Esquemas XML incluídos poderão ser atualizados individualmente, conforme descrito em Fazendo Upload de Esquemas XML Incluídos.

Nota: Se possível, sempre carregue o Esquema XML ou WSDL principal com esta caixa de seleção selecionada (como um nó do projeto) para reduzir os conflitos de dependência em potencial entre Esquemas XML. Por exemplo, se você fizer upload do arquivo myTypes.xsd principal no projeto com a caixa de seleção Armazenar todas as inclusões no mesmo nó do projeto que o documento principal desmarcada, os seguintes arquivos XSD também serão transferidos por upload e mostrados na guia Projeto:
  • commonTypes.xsd
  • poTypes.xsd

Se você criou e transferiu por upload um terceiro arquivo XSD chamado myTypesTwo.xsd que também incluía e usava os tipos definidos no arquivo commonTypes.xsd e, em seguida, alterou os nomes dos tipos definidos no commonTypes.xsd e usados em myTypes.xsd fora do Studio e transferiu por upload novas versões destes arquivos, o arquivo myTypesTwo.xsd no projeto ainda fará referência aos nomes originais dos tipos e agora será inválido.