Visto que podemos consultar o arquivo XML em C # (.NET), por que precisamos de um arquivo XSD? Eu sei que é um arquivo de metadados de um arquivo XML específico. Podemos especificar os relacionamentos em XSD, mas como funciona então?
XML
<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Customers>
<Customer CustomerID="GREAL">
<CompanyName>Great Lakes Food Market</CompanyName>
<ContactName>Howard Snyder</ContactName>
<ContactTitle>Marketing Manager</ContactTitle>
<Phone>(503) 555-7555</Phone>
<FullAddress>
<Address>2732 Baker Blvd.</Address>
<City>Eugene</City>
<Region>OR</Region>
<PostalCode>97403</PostalCode>
<Country>USA</Country>
</FullAddress>
</Customer>
</Customers>
<Orders>
<Order>
<CustomerID>GREAL</CustomerID>
<EmployeeID>6</EmployeeID>
<OrderDate>1997-05-06T00:00:00</OrderDate>
<RequiredDate>1997-05-20T00:00:00</RequiredDate>
<ShipInfo ShippedDate="1997-05-09T00:00:00">
<ShipVia>2</ShipVia>
<Freight>3.35</Freight>
<ShipName>Great Lakes Food Market</ShipName>
<ShipAddress>2732 Baker Blvd.</ShipAddress>
<ShipCity>Eugene</ShipCity>
<ShipRegion>OR</ShipRegion>
<ShipPostalCode>97403</ShipPostalCode>
<ShipCountry>USA</ShipCountry>
</ShipInfo>
</Order>
<Order>
<CustomerID>GREAL</CustomerID>
<EmployeeID>8</EmployeeID>
<OrderDate>1997-07-04T00:00:00</OrderDate>
<RequiredDate>1997-08-01T00:00:00</RequiredDate>
<ShipInfo ShippedDate="1997-07-14T00:00:00">
<ShipVia>2</ShipVia>
<Freight>4.42</Freight>
<ShipName>Great Lakes Food Market</ShipName>
<ShipAddress>2732 Baker Blvd.</ShipAddress>
<ShipCity>Eugene</ShipCity>
<ShipRegion>OR</ShipRegion>
<ShipPostalCode>97403</ShipPostalCode>
<ShipCountry>USA</ShipCountry>
</ShipInfo>
</Order>
</Orders>
</Root>
Eu quero obter dados dos Order
elementos de acordo com um fornecido CustomerID
.
Além disso : Qual é o propósito de fornecer os relacionamentos no XSD?
Respostas:
Os arquivos XSD são usados para validar se os arquivos XML estão em conformidade com um determinado formato.
Nesse aspecto, são semelhantes aos DTDs que existiam antes deles.
A principal diferença entre XSD e DTD é que XSD é escrito em XML e é considerado mais fácil de ler e entender.
fonte
Sem o XML Schema (arquivo XSD), um arquivo XML é um conjunto relativamente livre de elementos e atributos. O arquivo XSD define quais elementos e atributos são permitidos e em que ordem.
Em geral, XML é uma metalinguagem. Os arquivos XSD definem idiomas específicos dentro dessa metalinguagem. Por exemplo, se seu arquivo XSD contém a definição de XHTML 1.0, então seu arquivo XML deve caber em XHTML 1.0 em vez de algum outro formato.
fonte
Você mencionou C # em sua pergunta, portanto, pode ser útil pensar em XSD como tendo uma função semelhante a uma interface C #.
Ele define como o XML deve ser "parecido" de maneira semelhante a uma interface que define o que uma classe deve implementar.
fonte
Os XSDs restringem o vocabulário e a estrutura dos documentos XML.
XML tem tudo a ver com acordo , e XSDs fornecem os meios para estruturar e comunicar o acordo além da definição básica do próprio XML.
fonte
Suponha que você queira gerar algum XML para a ferramenta de uma parte externa, ou similar - como você saberia que estrutura é permitido seguir para ser usado corretamente por sua ferramenta? você escreve para um esquema. Da mesma forma, se quiser que outras pessoas usem sua ferramenta, você deve escrever um esquema para que elas sigam. Também pode ser útil para validar seu próprio XML.
fonte
Antes de entender o XSD (XML Schema Definition), deixe-me explicar;
por exemplo; emailID: peter # gmail
Você pode identificar que o emailID acima não é válido porque não existe @, .com ou .net ou .org.
Conhecemos o esquema de e-mail, ele se parece com [email protected].
XSD é na verdade uma das implementações do XML Schema. outros nós temosrelaxng
Usamos XSD para validar dados XML.
fonte
Um XSD é um contrato formal que especifica como um documento XML pode ser formado. Geralmente é usado para validar um documento XML ou para gerar código a partir dele.
fonte
Um arquivo XSD é uma definição de esquema XML e é usado para fornecer um método padrão de verificação de que um determinado documento XML está em conformidade com o que você espera.
fonte
Um arquivo .xsd é chamado de esquema XML. Por meio de um esquema XML, podemos exigir uma certa estrutura em um determinado XML - quais elementos em que ordem, quantas vezes, com quais atributos, como eles são aninhados, etc. Se tivermos um esquema para nossa entrada XML, podemos verificar que contém os dados que precisamos conter, e nada mais, com algumas linhas invocando um validador de esquema.
fonte
O arquivo xsd é o esquema do arquivo xml - ele define quais elementos podem ocorrer e suas restrições (como quantidade, ordem, limites, relacionamentos, ...)
fonte