Skoro możemy zapytać o plik XML z C # (.NET), dlaczego potrzebujemy pliku XSD? Wiem, że jest to plik metadanych konkretnego pliku XML. Możemy określić relacje w XSD, ale jak wtedy działa?
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>
Chcę uzyskać dane z Order
elementów zgodnie z podanym CustomerID
.
Ponadto : Jaki jest cel podawania relacji w XSD?
Odpowiedzi:
Pliki XSD służą do sprawdzania, czy pliki XML są zgodne z określonym formatem.
Pod tym względem są podobne do DTD, które istniały przed nimi.
Główną różnicą między XSD i DTD jest to, że XSD jest napisane w XML i jest uważane za łatwiejsze do odczytania i zrozumienia.
źródło
Bez schematu XML (plik XSD) plik XML jest stosunkowo wolnym zestawem elementów i atrybutów. Plik XSD określa, które elementy i atrybuty są dozwolone oraz w jakiej kolejności.
Ogólnie XML jest metajęzykiem. Pliki XSD definiują określone języki w ramach tego metajęzyka. Na przykład, jeśli plik XSD zawiera definicję XHTML 1.0, to plik XML musi być zgodny z XHTML 1.0, a nie innym formatem.
źródło
W swoim pytaniu wspominasz o języku C #, więc warto pomyśleć o XSD jako służącym podobnej roli do interfejsu C #.
Definiuje, jak XML powinien „wyglądać” w podobny sposób, w jaki interfejs definiuje, co powinna implementować klasa.
źródło
XSD ograniczają słownictwo i strukturę dokumentów XML.
W XML chodzi o porozumienie , a XSD zapewniają środki do tworzenia struktury i przekazywania porozumienia poza podstawową definicją samego XML.
źródło
Przypuśćmy, że chcesz wygenerować plik XML dla narzędzia strony zewnętrznej lub podobnego - skąd wiesz, jaką strukturę można zastosować, aby można było prawidłowo używać tego narzędzia? piszesz do schematu. Podobnie, jeśli chcesz, aby inne osoby korzystały z Twojego narzędzia, możesz napisać schemat, według którego będą postępować. Może być również przydatne do walidacji własnego XML.
źródło
Zanim zrozumiem XSD (Definicja schematu XML), pozwól mi wyjaśnić;
na przykład; emailID: peter # gmail
Możesz stwierdzić, że powyższy identyfikator e-mail jest nieprawidłowy, ponieważ nie ma @, .com, .net lub .org.
Znamy schemat e-mail, który wygląda jak [email protected].
XSD jest właściwie jedną z implementacji schematu XML. inni mamyrelaxng
Używamy XSD do walidacji danych XML.
źródło
XSD to formalna umowa, która określa, w jaki sposób można utworzyć dokument XML. Jest często używany do walidacji dokumentu XML lub do generowania kodu z.
źródło
Plik XSD jest definicją schematu XML i służy do zapewnienia standardowej metody sprawdzania, czy dany dokument XML jest zgodny z oczekiwaniami.
źródło
Plik xsd nazywany jest schematem XML. Poprzez schemat XML możemy wymagać określonej struktury w danym XML-u - które elementy w jakiej kolejności, ile razy, z jakimi atrybutami, jak są zagnieżdżone itp. Jeśli mamy schemat dla naszego wejścia XML, możemy zweryfikować że zawiera dane, które powinien zawierać, i nic więcej, z kilkoma wierszami wywołującymi walidator schematu.
źródło
Plik xsd jest schematem pliku xml - określa, które elementy mogą wystąpić i jakie są ich ograniczenia (np. Ilość, kolejność, granice, relacje, ...)
źródło