thẻ anyAttribute của XML Schema

định nghĩa và cách sử dụng

thẻ anyAttribute cho phép tác giả mở rộng tài liệu XML thông qua các thuộc tính không được quy định bởi schema.

thông tin phần tử

mục mô tả
số lần xuất hiện không giới hạn
phần cha complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)、attributeGroup
nội dung ghi chú

Ngữ pháp

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
Thuộc tính nào
>
(ghi chú?)
</anyAttribute>

(? ký hiệu cho rằng phần tử này có thể xuất hiện không lần hoặc một lần trong phần tử anyAttribute.)

Thuộc tính

id

Tùy chọn. Quy định ID duy nhất của phần tử này.

namespace

Tùy chọn. Quy định không gian tên của các phần tử có thể sử dụng. Nếu không chỉ định không gian tên, mặc định là ##any. Nếu chỉ định không gian tên, phải là một trong các giá trị sau.

  • ##any - Các phần tử từ bất kỳ không gian tên nào đều có thể xuất hiện (mặc định).
  • ##other - Các phần tử từ bất kỳ không gian tên nào khác ngoài không gian tên mục tiêu của phần tử cha đều có thể xuất hiện.
  • ##local - Các phần tử không được định nghĩa bởi không gian tên có thể xuất hiện.
  • ##targetNamespace - Các phần tử từ không gian tên mục tiêu của phần tử cha chứa phần tử này có thể xuất hiện.
  • Danh sách các tham chiếu URI của không gian tên, ##targetNamespace, ##local - Các phần tử từ danh sách không gian tên phân cách bằng dấu cách có thể xuất hiện. Danh sách có thể chứa các nội dung sau: Tham chiếu URI của không gian tên ##targetNamespace và ##local.

processContents

Tùy chọn. Một chỉ thị, chỉ ra cách mà ứng dụng hoặc XML处理器 nên xử lý việc xác thực tài liệu XML dựa trên phần tử được chỉ định bởi phần tử any. Nếu không chỉ định thuộc tính processContents, mặc định là strict. Nếu chỉ định processContents, phải là một trong các giá trị sau.

  • Strict - XML处理器 phải có cấu trúc không gian tên cần thiết và phải xác thực tất cả các phần tử từ các không gian tên đó. (Mặc định)
  • Loose - Tương tự như strict; nhưng, ngay cả khi không thể lấy được cấu trúc, cũng không xảy ra lỗi nào.
  • Bỏ qua - XML处理器 không thử xác thực tất cả các phần tử từ không gian tên được chỉ định.

Thuộc tính nào

Tùy chọn. Quy định bất kỳ thuộc tính nào có không gian tên non-schema.

Mô hình

Dưới đây là ví dụ minh họa một biểu đạt cho phần tử "person". Bằng cách sử dụng phần tử <anyAttribute>, tác giả có thể thêm vào phần tử "person" một số lượng bất kỳ thuộc tính nào:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
    <xs:anyAttribute/>
  </xs:complexType>
</xs:element>