Soru XSD dosyalarının amacı nedir?


Yine de xml dosyasından c # (.net) ile sorgulayabiliriz. .xsd dosyasının neden ihtiyacı var? Özel xml dosyasının meta veri dosyasının olduğunu biliyorum. xsd'deki ilişkileri belirtebiliriz. ama o zaman ne iş yapıyor?

Emin: Bak, bende xml var:

<?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>

Sağlanan CustomeId'e göre ORDERS öğelerinden veri almak istiyorum.

Ayrıca sorular: Xsd'de ilişkileri vermenin amacı nedir?


76
2017-08-04 08:00


Menşei


stackoverflow.com/questions/2333998/..., ayrıca sevk edilebilir! - AVA


Cevaplar:


XSD Dosyalar XML doğrulamak için kullanılır - bu belirli bir formatla uyumludur.

Bu açıdan benzer DTDOnlardan önce var olan s.

XSD ve DTD arasındaki temel fark, XSD'nin XML ile yazılması ve okunması ve anlaşılması daha kolay olduğu düşünülmektedir.


90
2017-08-04 08:02



teşekkürler, böylece xml dosyasından veri almak için Linq kullanarak c3.net gelen xsd dosyaları sorgulayabilirsiniz? Nasıl? - Red Swan
@Lalit - Linq'in onunla hiçbir ilgisi yok. - Oded
Bir diğer önemli fark, bir DTD'de XSD'de kolayca yapılabilecek pek çok şey yapamayacağınızdır. - mort
Yani veri almak için sadece xml dosyasını kullanabilir miyim? Şema dosyasını oluşturmaya gerek yok. (Şu an için bunu doğrulamak istemiyorum) Sadece, her öğedeki kimlik haritalarına bağlı olarak çeşitli kayıtlara sahip olan xml verilerini almak istiyorum. - Red Swan
@Lalit - Eğer ilişkiyi umursamıyorsanız ve bir çeşit kurala (bir XSD'de kodlanmış) uyup uymadığını kontrol etmeniz gerekmiyorsa, bir XSD kullanmayın ve sadece XML'i doğrudan sorgulayın. - Oded


XML Şeması (XSD dosyası) olmadan bir XML dosyası, nispeten ücretsiz bir dizi öğe ve özelliktir. XSD dosyası hangi elemanların ve niteliklerin izin verildiğini ve hangi sırada olduğunu tanımlar.

Genel olarak XML bir metalanguandır. XSD dosyaları bu meta dilde özel dilleri tanımlar. Örneğin, XSD dosyanız XHTML 1.0 tanımını içeriyorsa, XML dosyanızın başka bir format yerine XHTML 1.0'a sığması gerekir.


38
2017-08-04 08:07





Sorunuzda C # 'den bahsediyorsunuz, bu yüzden bir C # arayüzüne benzer bir rol olarak XSD olarak düşünmeye yardımcı olabilir.

Bir arayüzün bir sınıfın yapması gerekenleri tanımlaması gibi XML'in 'nasıl görünmesi' gerektiğini de tanımlar.


16
2017-08-04 08:06



lütfen temizleyin, anlamıyorum. - Red Swan
Bir ders alırsanız ve uygulayacağınız bir arabirim varsa, sınıfın doğru olup olmadığını anlayabilirsiniz. Aynı şekilde, bir xml dosyası alırsanız ve xsd ise, xml'nin doğru olup olmadığını anlayabilirsiniz. - Garry


XSD'ler, XML belgelerinin kelime ve yapısını kısıtlar.

  • Bir XSD olmadan, bir XML dokümanı sadece kurallara uymak zorundadır. İyi oluşturulmuş içinde verildiği gibi W3C XML Önerisi.
  • Bir XSD ilebir XML belgesi, dikkate alınması gereken unsurların ve özelliklerin isimlerine ve değerlerine yerleştirilen ek kısıtlamalara bağlı kalmalıdır. geçerli başına XSD karşı W3C XML Şeması Önerisi.

XML tamamen anlaşma ile ilgilive XSD'ler, anlaşmanın XML'in kendisinin temel tanımının ötesinde yapılandırılmasını ve anlaşılmasını sağlar.


12
2017-11-13 04:52





Ayrıca sorular: Amaç nedir?   xsd'deki ilişkilerin verilmesi.

Bir dış tarafın aracı veya benzeri için bir miktar XML oluşturmak istediğinizi varsayalım - kendi araçları için doğru bir şekilde kullanılmasının hangi yapıya izin verileceğini nasıl bilebilirdiniz? Şemaya yazarsın. Aynı şekilde, diğer kişilerin aracınızı kullanmasını istiyorsanız, onların takip etmesi için bir şema yazmış olursunuz. Kendi XML'inizi doğrulamak için de yararlı olabilir.


10
2017-08-04 08:26





Bir XSD, bir XML belgesinin nasıl oluşturulabileceğini belirten resmi bir sözleşmedir. Genellikle bir XML belgesini doğrulamak veya kod üretmek için kullanılır.


6
2017-08-04 08:27





XSD'yi anlamadan önce (XML Şema Tanımlaması) açıklamama izin verin;

Şema nedir?

Örneğin; emailID: peter # gmail

Yukarıdaki e-posta kimliğini tanımlayabilirsiniz, @, .com veya .net veya .org olmadığı için geçerli değil.

E-posta şemasının peter@gmail.com gibi göründüğünü biliyoruz.

Sonuç: Şema verileri doğrulamamaktadır, Yapının geçerliliğini doğrulamaktadır.

XSD aslında XML şemasının uygulanmasından biridir. başkaları var

XML verilerini doğrulamak için XSD kullanıyoruz.


6
2017-12-23 01:55





Bir XSD dosyası XML Şema Tanımlamasıdır ve belirli bir XML belgesinin beklediğinizle uyumlu olduğunu kontrol etmek için standart bir yöntem sağlamak için kullanılır.


5
2017-08-04 08:03





Bir .xsd dosyasına XML şeması denir. Bir XML şemasında, belirli bir XML'de belirli bir yapıya ihtiyacımız olabilir - hangi sırayla, hangi özniteliklerle, hangi yuvalarda, nasıl iç içe geçtiğiyle, vb. Öğeleriniz XML girişimiz için bir şema varsa, biz de doğrulayabiliriz bir şema doğrulayıcısını çağırmak için birkaç satır içeren, içermesi gereken verileri içermesidir.


5
2017-08-04 08:06