linguagem xsd. O que é um arquivo XSD – como usar e converter o formato

lar / Navegadores

Este capítulo mostrará como escrever esquemas XML. Você também aprenderá que o diagrama pode ser escrito de diferentes maneiras.

Documento XML

Vejamos este documento XML chamado "shiporder.xml":

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
João Smith

Ola Nordmann

Langgt 23

4000 Stavanger
Noruega


Império Burlesco
Edição especial
1
10.90


Esconda seu coração
1
9.90

O documento XML acima consiste em um elemento raiz, "shiporder", que contém um atributo obrigatório chamado "orderid". O elemento "shiporder" contém três elementos filhos diferentes: "orderperson" , "shipto" e "item" . O elemento “item” aparece duas vezes e contém um elemento “título”, um elemento opcional “nota”, um elemento “quantidade” e um elemento “preço”.

A linha acima: Xmlns: XSI="http://www.w3.org/2001/XMLSchema-instance" informa ao analisador XML que este documento deve ser validado pelo esquema. Linha: XSI: noNamespaceSchemaLocation = "shiporder.xsd" indica onde os esquemas estão localizados (aqui está na mesma pasta que "shiporder.xml") .

Criando um esquema XML

Agora queremos criar um esquema para o documento XML acima.

Começaremos abrindo um novo arquivo, que chamaremos de "shiporder.xsd". Para criar um esquema poderíamos simplesmente seguir a estrutura do documento XML e definir cada elemento conforme o encontramos. Começaremos com uma declaração XML padrão seguida por um elemento xs:schema que define o esquema:



...

No esquema acima, estamos usando namespaces padrão (xs), e o URI associado a esse namespace é a definição da linguagem do esquema, que possui o valor padrão http://www.w3.org/2001/XMLSchema.

A seguir, precisamos definir um elemento “shiporder”. Este elemento possui um atributo e contém outros elementos, portanto o tratamos como um tipo complexo. Os elementos filhos de um elemento "shiporder" são cercados por um elemento de sequência xs: que define uma sequência ordenada de subelementos:




...


Então devemos definir o elemento “orderperson” como um tipo simples (já que não contém nenhum atributo ou outros elementos). O tipo (xs:string) é prefixado com um prefixo de namespace associado ao esquema XML, que especifica um tipo de dados de esquema predefinido:










Com a ajuda de esquemas podemos determinar o número de ocorrências possíveis para um elemento com atributos MaxOccurs e MinOccurs. MaxOccurs especifica o número máximo de ocorrências para um elemento e MinOccurs especifica o número mínimo de ocorrências para um elemento. O valor padrão para MaxOccurs e MinOccurs é 1!

Agora podemos definir o elemento “item”. Este elemento pode aparecer diversas vezes dentro de um elemento "shiporder". Isso é determinado definindo o atributo maxOccurs do elemento "item" como "unbounded" , o que significa que pode haver quantas ocorrências do elemento "item" o autor desejar. Observe que o elemento "nota" é opcional. Definimos isso definindo o atributo minOccurs como zero:










Agora podemos declarar o atributo “shiporder” do elemento. Como este é um atributo obrigatório, especificamos use="required".

Nota: As declarações de atributos devem sempre vir por último:

Aqui está uma lista completa do arquivo de esquema chamado "shiporder.xsd":





























Circuitos separados

O método de design anterior é muito simples, mas pode ser difícil de ler e manter quando os documentos são complexos.

O próximo método de design é baseado na definição de todos os elementos e atributos e, em seguida, referenciá-los usando o atributo ref.

Aqui está o novo design do arquivo esquemático ("shiporder.xsd"):








































Usando tipos nomeados

O terceiro método de design define classes ou tipos, o que permite a reutilização de definições de elementos. Isso é feito nomeando os elementos simpleTypes e complexTypes e, em seguida, referindo-se a eles por meio do atributo type do elemento.

Aqui está o terceiro design do arquivo de esquema ("shiporder.xsd"):

































O elemento de restrição indica que o tipo de dados foi derivado do namespace de tipo de dados do Esquema XML W3C. Portanto, o trecho a seguir significa que o valor do elemento ou atributo deve ser o valor de uma string:

O elemento de restrição é mais frequentemente usado para aplicar restrições aos elementos. Observe as seguintes linhas do diagrama acima:





Isso especifica que o valor do elemento ou atributo deve ser uma string, deve ter exatamente seis caracteres por linha e esses caracteres devem ser um número entre 0 e 9.

Eu gostaria de falar em um só lugar sobre uma tarefa muito típica quando se trabalha com XML, nomeadamente, sobre a criação XML com base no existente. Esta operação consistirá em várias etapas, durante as quais serão resolvidas tarefas adicionais, tais como:

  • Criação XML baseado XSD, e vice versa.
  • Serialização e desserialização de objetos.
  • Criando uma classe para serialização futura de XML ou XSD.
Antes de começar, pretendo que o leitor esteja familiarizado com as palavras XML E XSD. Relativo XML, acho que não há problemas com isso, mas quanto a XSD Posso ter dúvidas sobre o que é. Resumidamente:
XSDé uma linguagem para descrever XML. E se você olhar o conteúdo do arquivo que contém esta descrição, surgirá a pergunta: por que descrever as tags aparentemente óbvias do seu XML? Mas imagine que você está integrando com algum sistema externo, e deseja utilizar o formato para troca de dados XML. Então, XSD permite descrever para cada elemento seu nome, possíveis atributos, campos obrigatórios ou atributos, e deixar claro que o conteúdo de uma tag pode conter apenas um elemento interno ( ) e nada mais, ou um nó pode ter uma sequência de elementos (< uma> ... ). Quando o sistema externo é seu, pode não haver problema, mas quando é de terceiros, então esta descrição através XSD, será uma ferramenta para solucionar disputas com o formato, e também, por meio de utilitários, você poderá verificar a conformidade de qualquer XML formato original.
Então, o que vamos fazer para aprender a carimbar XML com base no seu padrão? Vou descrever tudo em ordem.

Disponível:
Um tipo de XML (xmlfile.xml), salvo em formato de texto em um arquivo. Abaixo está o texto:

< catalog > < book id = " bk101 " > < author >Gambardella, Mateus < title >Guia do desenvolvedor XML < genre >Computador < price > 44.95 < publish_date > 2000-10-01 < description >Uma análise aprofundada da criação de aplicativos com XML. < book id = " bk102 " > < author >Ralls, Kim < title >Chuva da meia-noite < genre >Fantasia < price > 5.95 < publish_date > 2000-12-16 < description >Uma ex-arquiteta enfrenta zumbis corporativos, uma feiticeira malvada e sua própria infância para se tornar a rainha do mundo.

Etapas para criar um novo:

  1. Primeiro usando o utilitário XSD.exe, ou usando serviços online(procure por "xml to xsd" um deles www.freeformatter.com/xsd-generator.html), criaremos a partir do existente XMLé primitivo XSD descrição. Na saída teremos um arquivo criado de forma totalmente automática saída.xsd um arquivo que já pode ser usado, mas pode não estar completo.
  2. A seguir, com base saída.xsd , as classes serão criadas em C# xmlclass.cs. Depois disso, nós o adicionamos ao nosso projeto. Você pode criar uma classe usando XSD.exe ou código xsd2 utilitário ou qualquer serviço online.
  3. Agora estamos prontos para usar as classes de arquivo xmlclass.cs. Portanto, vamos criar e preencher instâncias com dados classexml, e então, usando o processo de serialização, converteremos objetos em XML linha e salve-o em novo arquivo. Assim obtemos XML com base no que está disponível.
Vamos começar!

Etapa 1: Gere XSD a partir de XML.

Então, aqui estão os métodos que eu mesmo uso:
  1. Utilitário xsd.exe- O Criador Microsoft.
  2. Utilitário xsd2code.exe - aplicativo de terceiros, que pode fazer tudo igual a xsd.exe, mas está disponível para download diretamente (em este momento passou a ser pago a partir de Julgamento período).
  3. Uso de quaisquer serviços online.
Para receber XSD.exe, você terá que colocar qualquer SDKs da Microsoft, que vem com esta aplicação. Infelizmente, no momento nenhum dos estúdios inclui este utilitário em seu kit.

Link para baixar e instalar um dos SDK:
SDK do Windows para Windows 7 e .NET Framework 4.

Vamos usar a busca e encontrar o arquivo xsd.exe, após o que (para facilitar nosso trabalho), copie-o para a pasta criada na raiz do disco C:\xmltoxsd. A seguir, copiamos nosso arquivoxml.xml e tudo está pronto para começar.


Nós arrancamos " Linha de comando"(Iniciar -> "Executar" -> "cmd"), vá ao nosso diretório e chame com os parâmetros padrão xsd.exe, passando nosso xmlfile.xml como parâmetro:


E vemos que um arquivo apareceu próximo a ele arquivoxml.xsd com conteúdo.


Isso é tudo! Essas ações são suficientes para criar um primitivo XSD arquivo para trabalhar. Mas vale a pena entender que xsd.exe, como qualquer outro utilitário, não sabe nada sobre os tipos dos seus campos (portanto, o tipo de campo quase sempre será corda), bem como sobre todas as variações de atributos e parâmetros. Ou seja, se alguma tag não tiver um atributo no seu XML, então não estará na descrição. É por isso XML deve ser o mais completo e se o elemento puder conter vários campos filhos, é melhor adicionar pelo menos dois, para que xsd.exe Percebi que isso é uma coleção.

Sintaxe XSD não é muito complicado, portanto, se você estiver escrevendo uma descrição bastante séria, poderá ter que trabalhar com um arquivo.

Etapa 2: Crie uma classe do XSD.

Para criar uma classe em C#, precisaremos usar novamente xsd.exe mas com um parâmetro diferente /Aulas, passando pelo caminho para o nosso arquivoxml.xsd.


Após a execução, aparecerá o arquivo xmlfile.cs, cujo conteúdo é mostrado a seguir em formato compactado:


Como você pode ver, para o elemento interno Catálogo uma classe foi criada catálogoLivro, cujos campos correspondem aos campos em XML, e o campo EU IA marcado como um atributo. XSD.exe Eu entendi corretamente o que havia dentro Catálogo uma coleção de livros é armazenada, então a propriedade apareceu Unid, para preencher a coleção filha.
Comente: xsd.exe não é possível adicionar comentários às classes e campos resultantes. Na descrição XSD existe um elemento chamado< xs:annotation > , que na maioria das vezes contém< xs:documentation >, dentro do qual está uma descrição do campo. Em teoria, deveria ser colocado na /// descrição, mas no momento xsd.exe se recusa a adicionar texto à descrição, então você terá que recorrer a alternativas como código xsd2 ou serviços on-line.

Etapa 3: serializar objetos em XML.

As classes resultantes estão no arquivo arquivoxml.cs. Em seguida, adicione seu conteúdo ou o próprio arquivo ao projeto Estúdio visual, após o qual você pode trabalhar com ele. Criarei objetos de livro de demonstração e os salvarei em um arquivo no formato XML.

Exemplo de vazio privado() ( //Cria o primeiro livro var book1 = novo catálogoLivro () ( autor = "King" , descrição = "Livro muito interessante" , gênero = "Fantasy" , preço = 22.ToString(), id = "42011" , título = "It" }; !} //Cria um segundo livro var book2 = novo catálogoLivro () ( autor = "O"Brien, Tim" , descrição = "A iniciativa .NET da Microsoft é explorada em detalhes nesta referência profunda para programadores.", gênero = "Computador" , preço = 36.ToString(), id = "30012" , título = "Microsoft .NET: A Bíblia da Programação" }; // Cria um elemento raiz de diretório contendo os dois livros acima var catálogo = novo catálogo() (Itens = novo(livro1, livro2)); // Contém o XML do objeto de catálogo var xmlCatalog = Serialize(catálogo); //Escreve uma string em um arquivo // TODO Feito para fins de demonstração. É aconselhável chamar o método Serialize para transferir o Stream para o arquivo Arquivo .WriteAllText("Output.xml", xmlCatalog); ) string privada Serialize (TType sourceObject) ( if (sourceObject == null ) ( return string .Empty; ) // Use XmlSerializer para convertê-lo em uma string XML var xmlserializer = new XmlSerializer(typeof(TType)); var stringWriter = new StringWriter(); usando (var escritor = XmlWriter .Create(stringWriter, new XmlWriterSettings () ( Indent = true ))) ( xmlserializer.Serialize(writer, sourceObject); return stringWriter.ToString(); ) ) Depois de executar e abrir Saída.xml você pode ver que salvamos do jeito que queríamos (arquivo inferior - " Criado por código").

Ao realizar diversas formas de relatórios (e mesmo durante trabalho regular online), alguns usuários podem encontrar um arquivo com a extensão XSD. Este arquivo geralmente é um esquema para descrever dados XML, mas também há casos em que o arquivo referido é um derivado do programa Pattern Maker. Neste artigo direi como abrir um arquivo XSD, quais programas nos ajudarão com isso e também descreverei a essência do erro “O arquivo não corresponde ao esquema xsd”.

O que é XSD

O termo "XSD" é uma abreviatura das palavras em inglês "Definição do esquema XML". Um arquivo com esta extensão é um esquema de descrição de dados XML que usa sua própria linguagem para descrever a estrutura de documentos XML.

Um arquivo xsd descreve os elementos encontrados em um documento XML. Normalmente, estes são dados fixos, valores padrão, sintaxe de dados, regras que um determinado documento deve obedecer e assim por diante, com alguns elementos frequentemente inter-relacionados e referenciando outros elementos.

O padrão XSD 1.1 recebeu aprovação do Consórcio Rede mundial de computadores em abril de 2012, oferecendo diversas vantagens importantes sobre esquemas XML preexistentes, como DTD (Document Type Definition) ou SOX (Simple Object XML). Por exemplo, é que o XSD é escrito em XML, existe criação automática diagramas e assim por diante.


Como abrir o formato xsd

Para abrir a maioria dos arquivos xsd, bastará usar qualquer editor de texto disponível (Notepad, Notepad++, PSPad Editor, etc.). Além disso, programas como Microsoft XML Notepad, Oxygen XML Editor, Liquid XML Studio e outros análogos podem ser úteis para abrir o formato xsd.

Se este ficheiroé o resultado do programa Pattern Maker for Cross Stitch (geralmente um padrão para bordado), então esse arquivo pode ser visualizado usando o programa especificado ou usando um visualizador especial chamado “Pattern Maker Viewer”.


Formato de bordado.XSD

O arquivo não corresponde ao esquema xsd - o que é?

No entanto, há situações em que a descrição do arquivo XML contida no arquivo XSD não corresponde aos dados reais presentes no arquivo XML. O erro pode estar nos próprios dados ou na forma de inserção desses dados, e o sistema reage da forma padrão, exibindo a mencionada mensagem “O arquivo não corresponde ao esquema xsd”.


Muitas vezes esta situação ocorre no caso de arquivamento de contabilidade e outras formas de relatórios, quando um especialista de uma autoridade reguladora, ao tentar abrir um arquivo xml, descobre o referido erro.

  1. Verifique se os dados no arquivo xml estão corretos, focando na presença de erros de sintaxe (hífenes extras, espaços e assim por diante);
  2. Atualize o programa no qual você trabalhou com o arquivo xml(talvez sua versão atual esteja desatualizada);
  3. Contato suporte técnico envolvido na manutenção deste produto de software (ou suporte técnico da autoridade reguladora).

Conclusão

Como abrir o arquivo XSD? A resposta à pergunta será usar qualquer editor de texto prático (o mesmo Bloco de Notas). Se o arquivo xsd desejado for um produto do programa Pattern Maker, recomendo abri-lo usando este programa ou usando uma ferramenta de visualização complementar, Pattern Maker Viewer.

Um arquivo com extensão XSD é provavelmente um arquivo de esquema XML; formato de texto arquivo que define as regras de validação para o arquivo XML e explica o formulário XML.

Como os arquivos XSD são arquivos de esquema, eles fornecem um modelo para outra coisa, em nesse caso estes são arquivos XML. Por exemplo, um arquivo XSD pode exigir que Arquivo XML tinha certos limites, relacionamentos, ordem, atributos, subcaracterísticas e outros elementos, e estabelecia quaisquer restrições.

Os arquivos XML podem fazer referência a um arquivo XSD com um atributo schemaLocation.

O programa de ponto cruz Pattern Maker da HobbyWare também usa a extensão XSD para seu formato.

Como abrir um arquivo XSD

Arquivos XSD também podem ser abertos usando Microsoft Visual Studio, XML Notepad, EditiX XML e XMLSpy. Oxygen XML Editor é uma das poucas ferramentas XSD que funciona em Linux, Mac e Windows.

Você também pode usar editor de texto como visualizador e editor XSD, visto que o arquivo é apenas um arquivo de texto.

Aqui está um exemplo da aparência de um arquivo XSD quando aberto em um editor de texto:








Se você estiver lidando com um arquivo XSD usado com o Pattern Maker, é claro que você pode abri-lo com este Programas. No entanto, para abertura gratuita e imprimir um arquivo de padrão HobbyWare oferece o programa Pattern Maker Viewer. Basta arrastar e soltar o arquivo XSD no programa ou usar o menu "Arquivo""Abrir...". Este visualizador também suporta o formato PAT semelhante.

O aplicativo Crossty para iOS e Android também pode abrir arquivos XSD para ponto cruz, mas não é gratuito.

Como converter um arquivo XSD

A maneira mais fácil de converter um arquivo XSD para outro formato– use um dos editores XSD descritos acima.

Outra conversão que você pode precisar é XSD para PDF para que você possa abrir o arquivo XSD no Adobe Acrobat Reader ou alguma outra ferramenta. Provavelmente não há nenhum motivo específico para converter um arquivo XSD em PDF, a não ser para garantir que o código esteja visível em qualquer computador que o abra.

A ferramenta de definição de esquema XML pode converter arquivos XDR, XML e XSD em uma classe serializável ou conjunto de dados como # uma classe C.

você pode usar Microsoft Excel se você precisar importar dados de um arquivo XSD e colocá-los em uma planilha do Excel.

É provável que o programa Pattern Maker mencionado acima (não programa gratuito visualizador) pode ser usado para converter um arquivo XSD de ponto cruz em um novo formato de arquivo.

Ainda não consegue abrir o arquivo?

Se o seu arquivo XSD não abrir com os programas e ferramentas listados acima, há Grande chance que você não está lidando com um arquivo XSD, mas com um arquivo com extensão semelhante.

Por exemplo, a extensão XDS é muito semelhante ao XSD, mas é usada para arquivos de projeto DS Game Maker e arquivos LcdStudio Design. Nenhum desses formatos de arquivo está associado a arquivos ou modelos XML.

O mesmo conceito se aplica a muitos outros formatos de arquivo, como arquivos XACT Sound Bank, que usam a extensão de arquivo .XSB. Esse arquivos de som, que não abrem com nenhum abridor XSD ou conversor de arquivo.

Se o seu arquivo não termina com .XSD, verifique a extensão para descobrir quais programas podem abrir ou converter esse tipo de arquivo específico.

No artigo anterior sobre XML, examinamos um método desatualizado de validação de documentos XML como o XML DTD. Este método ainda usado para validar dados XML, mas está sendo substituído cada vez mais a cada dia nova tecnologia chamado Esquema XML. Muitas deficiências do XML DTD foram corrigidas nos esquemas XML, portanto, no momento, todos os principais desenvolvedores usam apenas esquemas XML para validação de documentos.

Para apreciar as vantagens dos esquemas XML sobre os DTDs, vamos examinar mais de perto as principais desvantagens dos DTDs que foram corrigidos com sucesso nos esquemas XML. Já os mencionei no artigo “”, mas para uma melhor compreensão, vamos repetir.

Desvantagens do XML DTD sobre o esquema XML

  1. Sintaxe da linguagem diferente do XML. Ou seja, DTD não é XML. A este respeito, podem surgir vários problemas com a codificação e verificação de documentos XML.
  2. Nenhuma verificação de tipo de dados. Existe apenas um tipo de dados em um DTD XML: string. Nesse sentido, por exemplo, se houver texto em um campo numérico, o documento ainda passará na verificação, pois o XML DTD não consegue verificar o tipo de dados.
  3. Você não pode atribuir mais de uma descrição DTD a um documento XML. Ou seja, um documento pode ser verificado com apenas uma descrição de DTD. Se forem vários, você terá que refazer as descrições e combinar tudo em um arquivo, o que é muito inconveniente.

Estas foram as principais deficiências do XML DTD, que foram corrigidas com sucesso na descrição padrão da indústria Documentos XMLXML Esquema.

XML Schema é um padrão da indústria para descrever documentos XML

Resumindo, o XML Schema faz o seguinte:

  1. Descreve os nomes de elementos e atributos (dicionário).
  2. Descreve a relação entre elementos e atributos, bem como sua estrutura (modelo de conteúdo).
  3. Descreve os tipos de dados.

Também quero observar que no momento quase tudo pode ser descrito por meio de diagramas. Ou seja, o esquema é método universal descrições de gramática de dados, que podem ser usadas não apenas para verificar documentos XML, mas também para descrever bancos de dados, etc. Assim, o âmbito de aplicação dos regimes é atualmente muito vasto.

Exemplo de esquema XML para validar um documento XML

Como mostra a prática, o material é absorvido muito melhor se você começar imediatamente a estudar com exemplos. Direi desde já que não entraremos em todos os detalhes, pois o material é muito complexo, principalmente se você estudá-lo em forma de texto.

Exemplo de um esquema XML simples

Usando esse esquema, você pode validar o documento XML a seguir.

<книга xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "book.xsd"> <название>Noções básicas de XML <цена>300

Então, vamos voltar ao nosso esquema XML. Como você já percebeu, por Criação XML Os esquemas usam XML que já conhecemos. A única diferença aqui é que o XML Schema possui elementos já definidos, ao contrário do XML normal. Nesse sentido, namespaces são usados. Neste caso, o namespace necessário será “http://www.w3.org/2001/XMLSchema”, que será especificado usando os prefixos “xs”.

Gostaria de observar imediatamente que você pode usar os dois prefixos de namespace e definir um namespace para o elemento raiz. Não há diferença como tal. Cada um decide por si o que fazer em uma determinada situação. Deixe-me apenas dizer que os prefixos “xs” ou “xsd” são normalmente usados.

Bem, agora vamos descobrir como decifrar o diagrama acima. Conforme mencionado acima, o esquema XML é uma descrição de um vocabulário e tipos de dados. Com base nisso, decifraremos cada elemento.

  • — declare o elemento “book” com o tipo “Book”.
  • — declare um tipo complexo com o nome “Book” (xs:complexType - pode conter elementos aninhados).
  • — declaração de aninhamento. Ou seja, o tipo conterá elementos aninhados.
  • — declare um elemento com o nome “title” (tipo padrão “string” - xs:string).
  • — declarar um elemento com o nome “preço” (tipo padrão “número” - xs:decimal).

Como você pode ver, não há nada muito complicado aqui. Se você pensar bem, tudo é muito simples.

Elementos básicos do esquema XML

Para ser breve, o esquema XML pode ser descrito da seguinte forma.

Seu esquema

Como você pode ver no exemplo, cada esquema XML consiste em um elemento raiz “schema” e um namespace obrigatório “http://www.w3.org/2001/XMLSchema”. A seguir vem uma descrição do circuito e do próprio circuito. Ao mesmo tempo, muitas vezes, em esquemas de alta qualidade, a descrição é muito maior do que o próprio esquema XML.

Descrição dos elementos no esquema XML

No início do artigo, já vimos um exemplo de esquema XML simples. Nele descrevemos elementos e tipos separadamente. Ao mesmo tempo, gostaria de observar imediatamente que a sequência não desempenha um papel aqui. O esquema funcionará em qualquer caso.

Agora vamos dar uma olhada na segunda maneira de escrever o esquema XML, que se baseia na descrição do tipo imediatamente dentro do elemento. Este método é adequado se você não planeja usar a mesma descrição para elementos diferentes. Para maior clareza, vejamos um exemplo.

Como pode ser visto no exemplo, um elemento é declarado usando um “elemento” de construção especial usando o prefixo apropriado. Neste caso, definimos um elemento denominado “raiz” sem especificar um tipo, pois será descrito dentro do elemento. Ou seja, existem duas maneiras de descrever elementos.

1 maneira

Tipo Descrição

Método 2

Descrição do tipo de elemento

Você pode usar o primeiro método e o segundo. Todos eles funcionam da mesma maneira. A única questão é a conveniência neste caso específico.

Além disso, após declarar o elemento, indicamos que ele é do tipo complexo ( ) e lista ( ) elementos aninhados. Neste caso, são os elementos name e age com os tipos “xs:string” e “xs:integer”. O prefixo xs significa que é um tipo base que já está definido no padrão XML Schema.

Como você pode ver, tudo é bastante simples até agora. Novamente, não entraremos em todos os detalhes, pois este artigo tem como objetivo familiarizá-lo com o XML Schema, e não estudá-lo detalhadamente.

Como o esquema XML e o documento são combinados

A peculiaridade do XML Schema é que ele descreve não o documento em si, mas o namespace. A este respeito, na maioria das vezes não há menção a isso no documento. O próprio manipulador mapeia o esquema necessário sem usar nenhuma instrução no documento XML.

Caso o manipulador não saiba onde está o esquema, podemos indicar onde procurá-lo. Isso é feito usando o atributo especial “schemaLocation”. Como esse atributo pertence a um namespace diferente, o namespace também deve ser especificado antes de usar o atributo. Para maior clareza, vejamos um exemplo.

Esquema XML

Documento XML

Agora vamos examinar cada linha em detalhes.

  • targetNamespace=”http://www.site.com” – indica para qual namespace este esquema XML se destina.
  • xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” – conectamos o namespace no qual o atributo “schemaLocation” é descrito.
  • xsi:schemaLocation=”http://www.site.com/product.xsd” – indicamos onde o esquema pode ser encontrado caso o analisador não saiba onde ele está. Se o documento XML não pertencer a nenhum namespace e, portanto, não houver referência a ele no esquema, então o atributo “schemaLocation” será substituído por “noNamespaceSchemaLocation” (uma referência ao esquema sem definir namespaces).

Isso é tudo. Boa sorte e sucesso no aprendizado de XML!

© 2024 ermake.ru - Sobre reparo de PC - Portal de informações