Pytanie Jaki jest cel plików XSD?


choć możemy zapytać o plik xml z c # (.net). dlaczego potrzeba pliku .xsd? Wiem, że jest to plik metadanych określonego pliku xml. możemy określić relacje w xsd. ale jakie jest jego funkcjonowanie?

Pewnie: Zobacz, mam 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 elementów ORDERS zgodnie z dostarczonym CustomeId.

Są również pytania: Jaki jest cel nadawania relacji w xsd.


76
2017-08-04 08:00


pochodzenie


stackoverflow.com/questions/2333998/..., może również zostać skierowany! - AVA


Odpowiedzi:


XSD pliki są używane do sprawdzania poprawności XML - jest to zgodne z określonym formatem.

Pod tym względem są podobne DTDs, które istniało przed nimi.

Główną różnicą między XSD i DTD jest to, że XSD jest napisany w XML i jest uważany za łatwiejszy do odczytania i zrozumienia.


90
2017-08-04 08:02



dzięki, więc czy mogę prosić o pliki xsd z c3.net za pomocą Linq, aby uzyskać dane z pliku xml? W jaki sposób? - Red Swan
@Lalit - Linq nie ma z tym nic wspólnego. - Oded
Kolejną ważną różnicą jest to, że nie można zrobić wiele rzeczy łatwo zrobić w XSD w DTD. - mort
Więc do pobierania danych mogę użyć tylko pliku xml w prawo? Nie muszę generować pliku schematu. (Nie chcę tego sprawdzać na razie) Chcę po prostu uzyskać dane z xml, które mają różne rekordy w zależności od map ID w każdym elemencie. - Red Swan
@Lalit - jeśli nie interesują Cię relacje jako takie i nie musisz sprawdzać, czy są zgodne z jakąś regułą (skodyfikowaną w XSD), to nie używaj XSD i po prostu zapytaj bezpośrednio o XML. - Oded


Bez schematu XML (plik XSD) plik XML to relatywnie bezpłatny zestaw elementów i atrybutów. Plik XSD określa, które elementy i atrybuty są dozwolone iw jakiej kolejności.

Ogólnie XML jest metajęzykiem. Pliki XSD definiują określone języki w tym języku. Na przykład, jeśli twój plik XSD zawiera definicję XHTML 1.0, to twój plik XML jest wymagany, aby pasował do XHTML 1.0, a nie do innego formatu.


38
2017-08-04 08:07





Wspomniałeś C # w swoim pytaniu, więc może to pomóc myśleć, że XSD pełni podobną rolę jak interfejs C #.

Określa, jak XML powinien wyglądać w podobny sposób, jak interfejs definiuje to, co klasa powinna implementować.


16
2017-08-04 08:06



proszę wyjaśnić, nie dostaję. - Red Swan
Jeśli weźmiesz klasę i interfejs, który ma zaimplementować, możesz stwierdzić, czy klasa jest poprawna. W ten sam sposób, jeśli bierzesz plik xml i jest to xsd, możesz stwierdzić, czy plik XML jest poprawny. - Garry


XSD ograniczają słownictwo i strukturę dokumentów XML.

XML to umowa, a XSD zapewniają środki do strukturyzacji i komunikacji porozumienia poza podstawową definicją samego XML.


12
2017-11-13 04:52





Pytanie brzmi: jaki jest cel   dawania związków w xsd.

Załóżmy, że chcesz wygenerować jakiś XML dla narzędzia zewnętrznego podmiotu lub podobnego - skąd wiesz, do jakiej struktury może się podążać, aby być prawidłowo użytym do ich narzędzia? piszesz do schematu. Podobnie, jeśli chcesz, aby inne osoby używały Twojego narzędzia, napiszesz schemat, który będzie dla nich przestrzegany. Może być również przydatny do sprawdzania poprawności własnego XML.


10
2017-08-04 08:26





XSD jest formalną umową, która określa, w jaki sposób można utworzyć dokument XML. Jest często używany do sprawdzania poprawności dokumentu XML lub generowania kodu.


6
2017-08-04 08:27





Zanim zrozumiem XSD (definicja schematu XML), pozwól mi wyjaśnić;

Co to jest schemat?

na przykład; emailID: peter # gmail

Możesz zidentyfikować powyższy emailID, który nie jest prawidłowy, ponieważ nie ma @, .com ani .net lub .org.

Znamy schemat e-mailowy, który wygląda na peter@gmail.com.

Wniosek: Schemat nie zatwierdza danych, sprawdza poprawność struktury.

XSD jest faktycznie jedną z implementacji schematu XML. inni mamy

Używamy XSD do sprawdzania poprawności danych XML.


6
2017-12-23 01:55





Plik XSD jest definicją schematu XML i służy do zapewnienia standardowej metody sprawdzania, czy dany dokument XML jest zgodny z oczekiwaniami.


5
2017-08-04 08:03





Plik .xsd nazywa się schematem XML. Za pomocą schematu XML możemy wymagać pewnej struktury w danym XML-u - jakie elementy w jakiej kolejności, ile razy, z którymi atrybutami, jak są zagnieżdżane, itp. Jeśli mamy schemat dla naszego wejścia XML, możemy zweryfikować że zawiera dane, których potrzebujemy, i nic więcej, z kilkoma liniami wywołującymi walidator schematu.


5
2017-08-04 08:06





Plik xsd jest schematem pliku xml - określa, które elementy mogą występować i ich ograniczenia (takie jak ilość, kolejność, granice, relacje, ...)


3
2017-08-04 08:03