Hỏi đáp Không gian tên trong XML. Cần giúp đỡ

Thảo luận trong 'Lập trình máy tính' bắt đầu bởi bethui2971992, 19 Tháng chín 2012.

  1. Offline

    bethui2971992

    • Thành Viên Mới

    Số bài viết:
    26
    Đã được thích:
    4
    Điểm thành tích:
    0
    Không gian tên trong Xml là gì?
    nó dùng để làm gì?
    Ai biết giup mình với. Mới học nên chả biết gì
  2. Offline

    BigZero

    • Friends

    • ôi diễn đàn, ngày càng thấy buồn ra...
    Số bài viết:
    703
    Đã được thích:
    987
    Điểm thành tích:
    1.000
    Theo tài liệu mình đọc thì có cái gọi là tên miền không gian tên trong XML, nó định nghĩa như sau
    -Tên miền không gian trong XML cung cấp một phương pháp đơn giản để tiêu chuẩn hóa tên các phần tử và tên các thuộc tính được sử dụng trong các bản tài liệu dùng Ngôn ngữ đánh dấu mở rộng bằng cách liên hệ chúng với các tên miền không gian được định danh bằng các tham chiếu URI.
    -Tên miền không gian trong XML được biểu thị và nhận dạng bằng một tham chiếu URI [RFC3986]; Bằng cách sử dụng cơ cấu được miêu tả trong bản đặc tả này, các tên của phần tử và các tên của thuộc tính có thể được đặt vào một tên miền không gian trong XML.

    -Một cái tên đã được khai triển là một cặp bao gồm một cái tên của tên miền không gian và một cái tên địa phương .
    -Đối với một cái tên N trong một tên miền không gian được định dạng bằng tham chiếu URI I thì cái tên của tên miền không gian chính là I (tức là URI). Đối với một cái tên N nào đấy, mà nó không phải là một tên miền không gian, thì cái tên của tên miền không gian ấy sẽ không có giá trị.

    -Trong bất cứ trường hợp nào, tên địa phương chính là N .
    -Chính nhờ sự kết hợp của tên miền không gian IRI được quản lý trên diện bàn toàn cầu này, cùng với các tên địa phương trong từ vựng , mà chúng ta tránh được sự trùng lặp về tên.
    Bạn có thể tham khảo tại : http://www.w3.org/2006/09/vietnamese-namespaces-in-XML-10-second-edition.html#sec-namespaces
    alt+F4 thích bài này.
  3. Offline

    alt+F4

    • Core i3

    Số bài viết:
    596
    Đã được thích:
    423
    Điểm thành tích:
    450
    Đọc tài liệu trên mạng thì đầy ra mà vấn đề có hiểu đến đâu :(
    Hôm trước thuyết trình cái DTD tưởng ngon lành lên cô khui ra cả đống cái chưa hiểu hết ngọn ngành!!!
    BigZero thích bài này.
  4. Offline

    BigZero

    • Friends

    • ôi diễn đàn, ngày càng thấy buồn ra...
    Số bài viết:
    703
    Đã được thích:
    987
    Điểm thành tích:
    1.000
    chả học gì cứ cho đề tài rồi về làm báo cáo lên thuyết trình thấy phiêu quá, vẫn biết là phải chịu khó tự học nhưng mà thông minh có hạn :(, làm về Dom này, chả biết rồi sẻ ra sao
  5. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Xem ví dụ sau:
    [IMG]
    Ta thấy trong ví dụ trên có phần tử Title nói đến hai loại dữ liệu khác nhau, một nói về tên tác giả một nói về tiêu đề sách, điều này làm cho ta nhầm lẫn giữa hai loại dữ liệu. Hơn thế nữa nếu tài liệu của chúng ta được sử dụng chỉ cho một mục đích riêng rẻ thì không có vấn đề gì nhưng khi tài liệu của chúng ta kết hợp với một tài liệu khác khác thì tài liệu kết hợp này sẽ có vấn đề vì chúng ta đâu chắc chắn rằng tài liệu khác mà chúng ta muốn kết hợp không có sử dụng thẻ trùng với thẻ của chúng ta định nghĩa hay không.
    Ví dụ như khi chúng ta tích hợp tài liệu XML của chúng ta với ứng dụng khác như VML hay MathML mà chẳng may giữa các tài liệu này có cùng định nghĩa thẻ NAME chẳng hạn. Lúc này trình phân tích sẽ không biết nên hiểu thẻ NAME của tài liệu của bạn hay của VML hay của MathML.
    Vì vậy chúng ta cần phải khai báo không gian tên để khắc phục điều này.

    3.3.1/- Khai báo không gian tên (namespace)
    Để khai báo một không gian tên ta chỉ cần đưa thêm thuộc tính xmlns:Prefix vào bên trong phần tử gốc, prefix là tên của không gian tên, mỗi không gian tên cần mang một định danh duy nhất. Một không gian tên có thể là một địa chỉ internet hoặc một địa chỉ nào đó miễn là địa chỉ này phải duy nhất. Ví dụ sau đây sẽ tạo ra một không gian tên hs và áp dụng cho tất cả các phần tử con:
    [IMG]
    3.3.2/- Không gian tên mặc định (namespace default)
    Nếu tài liệu của chúng ta các phần tử chỉ sử dụng duy nhất một không gian tên thì chúng ta có thể khai báo không gian tên mặc định cho các phần tử con của một phần tử cha bằng cách chỉ ghi thuộc tính xmlns và bỏ đi prefix.
    [IMG]
    Chúng ta xem tiếp ví dụ sau:
    [IMG]
    Ví dụ trên chúng ta thấy có hai không gian tên mặc định, một cho phần tử Customer và một cho phần tử Book. Nhưng điều đáng nói ở đây là nếu như trong tài liệu có nhiều Customer và nhiều Book thì chúng ta không thể viết đi viết lại không gian tên mãi được, rất mất thời gian.
    Cách giải quyết tốt nhất là ta khai báo các không gian tên này ngay ở đầu tài liệu và mỗi không gian tên được phân biệt bởi các định danh.
    [IMG]
    Ví dụ trên dùng 3 không gian tên, một không gian tên mặc định và hai không gian tên có định danh là cus và bok. Trong ví dụ trên những phần tử không có định danh của không gian tên đi trước thì được hiểu là sử dụng không gian tên mặc định http://www.northwindtraders.com/order, như phần tử 2001-01-01

    Nguồn: http://hoangsonbinhduong.com/lap-trinh/Can-ban-ve-XML/XML-eXtensible-Markup-Language-Phan-2-5/

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí