Câu hỏi Mục đích của các tệp XSD là gì?


mặc dù chúng tôi có thể truy vấn trên tệp xml từ c # (.net). tại sao cần tệp .xsd? Tôi biết đó là tệp siêu dữ liệu của tệp xml cụ thể. chúng ta có thể chỉ định các mối quan hệ trong xsd. nhưng những gì hoạt động của nó sau đó?

Chắc chắn rồi: Xem, tôi có 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>

Tôi muốn lấy dữ liệu từ các phần tử ORDERS theo CustomeId được cung cấp.

Ngoài ra câu hỏi là: Mục đích của việc đưa ra các mối quan hệ trong xsd là gì.


76
2017-08-04 08:00


gốc


stackoverflow.com/questions/2333998/…, cũng có thể được giới thiệu! - AVA


Các câu trả lời:


XSD các tệp được sử dụng để xác thực XML - phù hợp với một định dạng nhất định.

Về mặt đó, chúng tương tự như DTDđã tồn tại trước họ.

Sự khác biệt chính giữa XSD và DTD là XSD được viết bằng XML và được coi là dễ đọc và dễ hiểu hơn.


90
2017-08-04 08:02



cảm ơn, vì vậy tôi có thể truy vấn trên các tập tin xsd từ c3.net bằng cách sử dụng LINQ để có được dữ liệu từ tập tin xml? Làm sao? - Red Swan
@ Lalit - Linq không có gì để làm với nó. - Oded
Một sự khác biệt quan trọng là bạn không thể thực hiện rất nhiều thứ dễ dàng thực hiện trong XSD trong một DTD. - mort
Vì vậy, để nhận dữ liệu, tôi chỉ có thể sử dụng tệp xml đúng không? Tôi không cần phải tạo tệp lược đồ của nó. (Tôi không muốn xác thực nó bây giờ) Tôi chỉ muốn lấy dữ liệu của xml có nhiều bản ghi phụ thuộc vào bản đồ ID trong mỗi phần tử. - Red Swan
@ Lalit - nếu bạn không quan tâm đến các mối quan hệ như vậy và không cần phải kiểm tra xem chúng có tuân theo một loại quy tắc nào đó (được mã hóa trong XSD), thì không sử dụng XSD và chỉ truy vấn trực tiếp XML. - Oded


Không có Lược đồ XML (tệp XSD), tệp XML là một tập hợp các phần tử và thuộc tính tương đối miễn phí. Tệp XSD xác định các phần tử và thuộc tính nào được phép và theo thứ tự nào.

Nói chung XML là một ngôn ngữ kim loại. Các tệp XSD xác định các ngôn ngữ cụ thể trong ngôn ngữ kim loại đó. Ví dụ: nếu tệp XSD của bạn chứa định nghĩa XHTML 1.0 thì tệp XML của bạn là bắt buộc để phù hợp với XHTML 1.0 thay vì một số định dạng khác.


38
2017-08-04 08:07





Bạn đề cập đến C # trong câu hỏi của bạn vì vậy nó có thể giúp suy nghĩ như XSD là phục vụ một vai trò tương tự như một giao diện C #.

Nó định nghĩa XML nên trông như thế nào theo cách tương tự như một giao diện định nghĩa những gì một lớp nên thực hiện.


16
2017-08-04 08:06



xin vui lòng rõ ràng, tôi không nhận được. - Red Swan
Nếu bạn tham gia một lớp và một giao diện nó được cho là để thực hiện, bạn có thể biết lớp đó có đúng không. Trong cùng một cách, nếu bạn lấy một tập tin xml và nó là xsd, bạn có thể biết nếu xml là chính xác. - Garry


XSDs hạn chế từ vựng và cấu trúc của các tài liệu XML.

XML là tất cả về thỏa thuậnvà XSD cung cấp các phương tiện để cấu trúc và giao tiếp thỏa thuận ngoài định nghĩa cơ bản về chính XML.


12
2017-11-13 04:52





Ngoài ra câu hỏi là: mục đích là gì   cho các mối quan hệ trong xsd.

Giả sử bạn muốn tạo một số XML cho một công cụ của bên ngoài, hoặc tương tự - làm thế nào bạn có thể biết được cấu trúc nào được phép tuân theo để được sử dụng đúng cho công cụ của họ? bạn viết vào một lược đồ. Tương tự như vậy nếu bạn muốn người khác sử dụng công cụ của bạn, bạn sẽ viết một lược đồ để họ làm theo. Nó cũng có thể hữu ích cho việc xác nhận hợp lệ XML của riêng bạn.


10
2017-08-04 08:26





Một XSD là một hợp đồng chính thức chỉ rõ cách một tài liệu XML có thể được hình thành như thế nào. Nó thường được sử dụng để xác nhận hợp lệ một tài liệu XML, hoặc để tạo mã.


6
2017-08-04 08:27





Trước khi hiểu XSD (Định nghĩa lược đồ XML) cho phép tôi giải thích;

Lược đồ là gì?

ví dụ; emailID: peter # gmail

Bạn có thể xác định emailID ở trên không hợp lệ vì không có @, .com hoặc .net hoặc .org.

Chúng tôi biết lược đồ email có dạng peter@gmail.com.

Kết luận: Schema không xác nhận hợp lệ dữ liệu, Nó xác nhận cấu trúc.

XSD thực sự là một trong những thực thi Lược đồ XML. những người khác chúng tôi có

Chúng tôi sử dụng XSD để xác nhận hợp lệ dữ liệu XML.


6
2017-12-23 01:55





Một tệp XSD là một Định nghĩa lược đồ XML và nó được sử dụng để cung cấp một phương thức chuẩn để kiểm tra xem một tài liệu XML đã cho có phù hợp với những gì bạn mong đợi hay không.


5
2017-08-04 08:03





Tệp .xsd được gọi là lược đồ XML. Thông qua một lược đồ XML, chúng ta có thể yêu cầu một cấu trúc nhất định trong một XML nhất định - mà các phần tử theo thứ tự nào, bao nhiêu lần, với các thuộc tính nào, chúng được lồng nhau như thế nào. rằng nó chứa dữ liệu chúng ta cần nó chứa, và không có gì khác, với một vài dòng gọi một trình xác nhận hợp lệ lược đồ.


5
2017-08-04 08:06