w3c_homeBảng mục lục nhanh

 

Khuyến nghị của W3C ngày 23 tháng 11 năm 2010

thay thế ngày 27 tháng 3 năm 2018

 

XHTML ™ 1.1 – XHTML dựa trên mô-đun – Ấn bản thứ hai

 

Khuyến nghị của W3C ngày 23 tháng 11 năm 2010

thay thế ngày 27 tháng 3 năm 2018

 

Phiên bản này:

https://www.w3.org/TR/2018/SPSD-xhtml11-20180327/

 

Phiên bản mới nhất:

http://www.w3.org/TR/xhtml11/

 

Phiên bản trước:

http://www.w3.org/TR/2010/REC-xhtml11-20101123

 

Đề xuất trước:

http://www.w3.org/TR/2010/REC-xhtml11-20101123

 

Biên tập viên:

Shane McCarron, Ứng dụng thử nghiệm và công nghệ, Inc. shane@aptest.com

Masayasu Ishikawa, (cho đến tháng 3 năm 2007 khi đang ở W3C)

 

Biên tập viên phiên bản 1.1:

Murray Altheim, Sun Microsystems

Shane McCarron, Ứng dụng thử nghiệm và công nghệ

 

Vui lòng tham khảo errata cho tài liệu này, có thể bao gồm một số sửa đổi quy phạm. Xem thêm bản dịch.

 

Bản quyền © 2001-2010 W3C® (MIT, ERCIM, Keio), Mọi quyền được bảo lưu. Áp dụng các quy tắc về trách nhiệm pháp lý, nhãn hiệu và sử dụng tài liệu W3C.

 

trừu tượng

 

Đặc tả này định nghĩa một loại tài liệu XHTML dựa trên khung mô đun và các mô đun được định nghĩa trong XHTML Modularization [XHTMLMOD]. Mục đích của loại tài liệu này là để làm cơ sở cho các loại tài liệu XHTML ‘gia đình’ mở rộng trong tương lai và để cung cấp một loại tài liệu nhất quán, chuyển tiếp được tách biệt khỏi chức năng cũ, không được chấp nhận của HTML 4 [HTML4] chuyển tiếp sang các loại tài liệu XHTML 1.0 [XHTML1]. Loại tài liệu này gần giống nhất với XHTML 1.0 Strict, được xây dựng bằng cách sử dụng các Mô-đun XHTML. Điều này có nghĩa là nhiều cơ sở có sẵn trong các loại tài liệu Gia đình XHTML khác (ví dụ: XHTML Frames) không có sẵn trong loại tài liệu này. Các cơ sở khác có sẵn thông qua các mô đun được định nghĩa trong XHTML Modularization và các tác giả tài liệu được tự do định nghĩa các loại tài liệu dựa trên XHTML 1.1 sử dụng các cơ sở này (xem [XHTMLMOD] để biết thông tin về cách tạo các loại tài liệu mới).

 

Trạng thái của tài liệu này

 

Phần này mô tả trạng thái của tài liệu này tại thời điểm xuất bản tài liệu này. Các tài liệu khác có thể thay thế tài liệu này. Danh sách các ấn phẩm W3C hiện tại và bản sửa đổi mới nhất của báo cáo kỹ thuật này có thể được tìm thấy trong chỉ số báo cáo kỹ thuật của W3C tại http://www.w3.org/TR/.

 

Đặc điểm kỹ thuật này là một khuyến nghị thay thế. Đặc điểm kỹ thuật mới hơn tồn tại được đề xuất cho việc áp dụng mới thay cho đặc điểm kỹ thuật này.

 

Tài liệu này đã được các Thành viên W3C xem xét, bởi các nhà phát triển phần mềm, và bởi các nhóm W3C khác và các bên quan tâm, và được Giám đốc xác nhận như một Khuyến cáo của W3C.

 

Tài liệu này cũng thay thế phiên bản trước của XHTML 1.1.

 

Tài liệu này đã được Nhóm công tác W3C XHTML 2 tạo ra như là một phần của hoạt động HTML.

 

Vì các mục đích của Chính sách bằng sáng chế W3C, Khuyến nghị được thay thế này có cùng trạng thái như một Khuyến nghị tích cực; nó giữ lại các cam kết cấp phép và vẫn có sẵn như là một tham chiếu cho cũ – và có thể vẫn triển khai – triển khai, nhưng không được khuyến khích cho việc triển khai trong tương lai. Triển khai mới phải tuân theo phiên bản mới nhất của đặc tả HTML.

 

Phiên bản tiếng Anh của đặc điểm kỹ thuật này là phiên bản quy phạm duy nhất. Thông tin về bản dịch của tài liệu này có sẵn tại http://www.w3.org/MarkUp/translations.

 

Bạn có thể tìm thấy danh sách các Khuyến nghị W3C hiện tại và các tài liệu kỹ thuật khác tại https://www.w3.org/TR/.

 

Bảng mục lục nhanh

Toàn bộ nội dung

1.Giới thiệu2.Định nghĩa phù hợp

2.1. Tuân thủ tài liệu

2.1.1. Tài liệu tuân thủ nghiêm ngặt

2.2. Đại lý người dùng Tuân thủ

  1. Loại tài liệu XHTML 1.1
  2. Thay đổi từ XHTML 1.0 Strict
  3. Tài liệu tham khảo

B.1. Tham chiếu quy phạm

B.2. Tham khảo thông tin

  1. XHTML 1.1 Định nghĩa kiểu tài liệu

C.1. SGML mở mục nhập danh mục cho XHTML 1.1

C.2. Trình điều khiển XHTML 1.1

C.3. Tùy chỉnh XHTML 1.1

  1. XHTML 1.1 Định nghĩa lược đồ XML

D.1. Trình điều khiển lược đồ XHTML 1.1

D.2. Mô-đun lược đồ XHTML 1.1

D.3. Tùy chỉnh XHTML 1.1

D.4. Triển khai Ruby Schema XML

  1. Lời cảm ơn

</div class=”toc”>

1. Giới thiệu 

Phần này là chuẩn mực.

Với sự ra đời của họ mô-đun và các loại tài liệu XHTML, W3C đã giúp di chuyển cộng đồng phát triển nội dung Internet từ những ngày đánh dấu không đúng tiêu chuẩn, không chuẩn thành thế giới XML, XML. Trong XHTML 1.0, động thái này được kiểm duyệt bởi mục tiêu cung cấp cho việc di chuyển dễ dàng nội dung hiện có, HTML 4 (hoặc cũ hơn) sang XHTML và XML. Với sự ra đời của các mô-đun XHTML được định nghĩa trong XHTML Modularization, W3C đã loại bỏ hỗ trợ cho các phần tử và thuộc tính không được chấp nhận từ họ XHTML. Các phần tử và thuộc tính này chủ yếu là chức năng định hướng trình bày được xử lý tốt hơn thông qua các trang mẫu hoặc hành vi mặc định của ứng dụng khách.

Về sau, các loại tài liệu gia đình XHTML sẽ dựa trên bộ sưu tập chức năng mới, có cấu trúc hơn này. Trong đặc tả này, Nhóm làm việc HTML của W3C đã xác định một loại tài liệu ban đầu chỉ dựa trên các mô-đun. Loại tài liệu này được thiết kế để di chuyển đến một bộ sưu tập rộng các thiết bị khách và áp dụng cho phần lớn nội dung Internet. Nhà phát triển nội dung dựa vào nội dung của họ khi chức năng được thể hiện trong đặc điểm kỹ thuật này có thể tự tin rằng nó sẽ luôn được di chuyển trên các đại lý người dùng phù hợp với XHTML của gia đình.

2. Định nghĩa phù hợp

Phần này là chuẩn mực.

Từ khóa “PHẢI”, “KHÔNG PHẢI”, “YÊU CẦU”, “S SHN”, “S NOT KHÔNG”, “NÊN”, “ĐỀ NGHỊ”, “CÓ THỂ” và “TÙY CHỌN” trong tài liệu này sẽ được diễn giải như được mô tả trong [RFC2119].

2.1. Tuân thủ tài liệu

Phiên bản XHTML này cung cấp một định nghĩa về các tài liệu XHTML tuân thủ nghiêm ngặt, được giới hạn cho các phần tử và các thuộc tính từ không gian tên XHTML.

2.1.1. Tài liệu tuân thủ nghiêm ngặt2.1. Tuân thủ tài liệu

Phiên bản XHTML này cung cấp một định nghĩa về các tài liệu XHTML tuân thủ nghiêm ngặt, được giới hạn cho các phần tử và các thuộc tính từ không gian tên XHTML.

2.1.1. Tài liệu tuân thủ nghiêm ngặt

Tài liệu XHTML 1.1 tuân thủ nghiêm ngặt là tài liệu chỉ yêu cầu các cơ sở được mô tả là bắt buộc trong đặc tả này. Tài liệu như vậy PHẢI đáp ứng tất cả các tiêu chí sau:

  1. Tài liệu PHẢI tuân theo các ràng buộc được thể hiện trong các lược đồ trong Phụ lục D – XHTML 1.1 Giản đồPhụ lục C – XHTML 1.1 Định nghĩa Kiểu tài liệu.
  2. Phần cục bộ của phần tử gốc của tài liệu PHẢI là html.
  3. Thẻ bắt đầu của phần tử gốc của tài liệu PHẢI chứa một khai báo xmlnscho không gian tên XHTML [XMLNAMES] một cách rõ ràng. URI không gian tên cho XHTML được định nghĩa là http://www.w3.org/1999/xhtml.

Thẻ bắt đầu CÓ THỂ cũng chứa khai báo của không gian tên lược đồ XML Schema và thuộc tính lược đồ XML Schema Instance [XMLSCHEMA]. Thuộc tính như vậy sẽ liên kết không gian tên XHTML http://www.w3.org/1999/xhtml với Lược đồ XML tại URI http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd.

Yếu tố gốc mẫu

<html xmlns = “http://www.w3.org/1999/xhtml” xml: lang = “vi”

      xmlns: xsi = “http://www.w3.org/2001/XMLSchema-instance”

      xsi: schemaLocation = “http://www.w3.org/1999/xhtml

                          http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd “

>

  1. Có PHẢI là khai báo DOCTYPE trong tài liệu trước phần tử gốc. Nếu có, số nhận dạng PUBLIC được bao gồm trong khai báo DOCTYPE PHẢI tham khảo DTD được tìm thấy trong Phụ lục Asử dụng Mã định danh công khai chính thức của nó. Định danh HỆ THỐNG CÓ THỂ được sửa đổi khi thích hợp.

<! DOCTYPE html PUBLIC “- // W3C // DTD XHTML 1.1 // EN”

“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>

  1. Thẻ bắt đầu CÓ THỂ cũng chứa thuộc tính phiên bản khai báo phiên bản XHTML đang sử dụng. Phiên bản của phiên bản XHTML này là – // W3C // DTD XHTML 1.1 // EN.

Ví dụ về tài liệu XHTML 1.1

<? xml version = “1.0” encoding = “UTF-8”?>

<! DOCTYPE html PUBLIC “- // W3C // DTD XHTML 1.1 // EN”

    “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>

<html version = “- // W3C // DTD XHTML 1.1 // EN”

      xmlns = “http://www.w3.org/1999/xhtml” xml: lang = “vi”

      xmlns: xsi = “http://www.w3.org/2001/XMLSchema-instance”

      xsi: schemaLocation = “http://www.w3.org/1999/xhtml

                          http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd “

>

  <head>

    <title> Thư viện ảo </ title>

  </ head>

  <body>

    <p> Đã được chuyển đến <a href=”http://example.org/”> example.org </a>. </ p>

  </ body>

</ html>

Lưu ý rằng trong ví dụ này, khai báo XML được bao gồm. Một khai báo XML giống như khai báo ở trên là không cần thiết trong tất cả các tài liệu XML. Các tác giả tài liệu XHTML NÊN sử dụng các khai báo XML trong tất cả các tài liệu của họ. Các tác giả tài liệu XHTML PHẢI sử dụng một khai báo XML khi mã hóa ký tự của tài liệu khác với UTF-8 hoặc UTF-16 mặc định và không có mã hóa nào được chỉ định bởi một giao thức mức cao hơn.

Tài liệu XHTML 1.1 NÊN được gắn nhãn bằng Loại phương tiện Internet “application / xhtml + xml” như được định nghĩa trong [RFC3236]. Để biết thêm thông tin về cách sử dụng các loại phương tiện với XHTML, hãy xem ghi chú thông tin [XHTMLMIME].

2.2. Đại lý người dùng Tuân thủ

Tác nhân người dùng phù hợp PHẢI đáp ứng tất cả các yêu cầu về tuân thủ tác nhân người dùng được xác định trong [XHTMLMOD].

3. Loại tài liệu XHTML 1.1

Phần này là chuẩn mực.

Loại tài liệu XHTML 1.1 là một loại tài liệu đầy đủ chức năng với ngữ nghĩa phong phú. Tuy nhiên, nó không phải là đa dạng về chức năng như các loại tài liệu Chuyển tiếp hoặc Khung hình XHTML 1.0. Các loại tài liệu này đã xác định nhiều thành phần trình bày được xử lý tốt hơn thông qua các bảng định kiểu hoặc các cơ chế tương tự khác. Hơn nữa, vì loại tài liệu XHTML 1.1 chỉ dựa trên các cơ sở được định nghĩa trong các mô-đun XHTML [XHTMLMOD], nó không chứa bất kỳ chức năng không được chấp nhận nào của XHTML 1.0 cũng như của HTML 4. Mặc dù có những ngoại lệ này, hoặc có lẽ vì chúng, loại tài liệu XHTML 1.1 là một cơ sở vững chắc cho các loại tài liệu trong tương lai được nhắm mục tiêu vào các môi trường tác nhân người dùng khác nhau.

Loại tài liệu XHTML 1.1 được tạo thành từ các mô-đun XHTML sau đây. Các phần tử, thuộc tính và mô hình nội dung tối thiểu được liên kết với các mô-đun này được định nghĩa trong “XHTML Modularization” [XHTMLMOD]). Các yếu tố được liệt kê ở đây cho mục đích thông tin, nhưng các định nghĩa trong “XHTML Modularization” nên được coi là dứt khoát. Trong phiên bản trực tuyến của tài liệu này, các tên mô-đun trong danh sách bên dưới liên kết với các định nghĩa của các mô-đun trong phiên bản hiện tại của “XHTML Modularization”.

Mô-đun cấu trúc

body, head, html, title

Mô-đun văn bản

abbr, từ viết tắt, địa chỉ, blockquote, br, trích dẫn, mã, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, trước, q, samp, span, strong, var

Mô-đun siêu văn bản

một

Mô-đun danh sách

dl, dt, đ, ol, ul, li

Mô-đun đối tượng

đối tượng, param

Mô-đun trình bày

b, lớn, giờ, tôi, nhỏ, phụ, sup, tt

Chỉnh sửa mô-đun

del, ins

Mô-đun văn bản hai chiều

bdo

Mô-đun biểu mẫu

nút, fieldset, hình thức, đầu vào, nhãn, huyền thoại, chọn, optgroup, tùy chọn, textarea

Bảng mô-đun

chú thích, col, colgroup, bảng, tbody, td, tfoot, th, thead, tr

Mô-đun hình ảnh

img

Mô-đun bản đồ hình ảnh phía máy khách

khu vực, bản đồ

Mô-đun bản đồ hình ảnh phía máy chủ

Thuộc tính ismap trên img

Mô-đun sự kiện nội tại

Thuộc tính sự kiện

Mô-đun Metainformation

meta

Mô-đun tập lệnh

noscript, tập lệnh

Mô-đun bảng kiểu

yếu tố phong cách

Mô-đun thuộc tính kiểu không được chấp nhận

thuộc tính kiểu

Mô-đun liên kết

liên kết

Mô-đun cơ sở

căn cứ

XHTML 1.1 cũng sử dụng mô-đun chú thích Ruby như được định nghĩa trong [RUBY]:

Mô-đun chú thích Ruby

ruby, rbc, rtc, rb, rt, rp

Đặc tả này cũng thêm thuộc tính lang vào tập hợp thuộc tính I18N như được định nghĩa trong [XHTMLMOD]. Thuộc tính lang được định nghĩa trong [HTML4]. Khi thuộc tính này và thuộc tính xml: lang được xác định trên cùng một phần tử, thuộc tính xml: lang được ưu tiên. Khi cả hai ngôn ngữ lang và xml: lang được chỉ định trên cùng một phần tử, chúng phải có cùng giá trị.

Không có định nghĩa bổ sung nào được yêu cầu bởi loại tài liệu này. Việc triển khai kiểu tài liệu này như là một Lược đồ XML được định nghĩa trong Phụ lục D, và như một DTD XML được định nghĩa trong Phụ lục C. Nếu có bất kỳ sự khác biệt nào giữa ngôn ngữ như được định nghĩa trong phần này và các triển khai trong phụ lục, định nghĩa phần này PHẢI được ưu tiên.

Thay đổi từ XHTML 1.0 Strict

Phụ lục này là thông tin.

Phụ lục này mô tả sự khác biệt giữa XHTML 1.1 và XHTML 1.0 Strict. XHTML 1.1 thể hiện sự khởi đầu từ cả HTML 4 và XHTML 1.0. Quan trọng nhất là xóa các tính năng không được chấp nhận. Nói chung, chiến lược là xác định một ngôn ngữ đánh dấu giàu chức năng cấu trúc, nhưng dựa trên các tờ định kiểu để trình bày.

Sự khác biệt có thể được tóm tắt như sau:

  1. Trên các phần tử a và bản đồ, thuộc tính name đã được loại bỏ có lợi cho thuộc tính id (như được định nghĩa trong [XHTMLMOD]).
  2. Bộ sưu tập các phần tử “ruby” đã được thêm vào (như được định nghĩa trong [RUBY]).
  3. Tài liệu tham khảo

Phụ lục này là quy phạm.

B.1. Tham chiếu quy phạm

[HTML4]

Đặc điểm kỹ thuật của HTML 4.01, Khuyến cáo của W3C, Dave Raggett, Arnaud Le Hors, Ian Jacobs, ngày 24 tháng 12 năm 1999.

Xem: http://www.w3.org/TR/1999/REC-html401-19991224

[RUBY]

Ruby Annotation, Khuyến cáo của W3C, Marcin Sawicki và cộng sự, ngày 31 tháng 5 năm 2001.

Xem: http://www.w3.org/TR/2001/REC-ruby-20010531

[XHTMLMOD]

XHTML Modularization 1.1 Second Edition, Khuyến cáo của W3C, Shane McCarron, biên tập, ngày 29 tháng 7 năm 2010.

Xem: http://www.w3.org/TR/2010/REC-xhtml-modularization-20100729

[XML]

Ngôn ngữ đánh dấu mở rộng (XML) 1.0 (Ấn bản thứ tư)“, Khuyến nghị của W3C, T. Bray và các cộng sự, biên soạn, ngày 16 tháng 8 năm 2006.

Có sẵn tại: http://www.w3.org/TR/2006/REC-xml-20060816

Phiên bản mới nhất có sẵn tại: http://www.w3.org/TR/REC-xml

[XMLNAMES]

Không gian tên trong XML (Second Edition)“, Khuyến cáo của W3C, T. Bray, D. Hollander, A. Layman, biên soạn, ngày 17 tháng 8 năm 2006.

Có sẵn tại: http://www.w3.org/TR/2006/REC-xml-names-20060816

[XMLSCHEMA]

Lược đồ XML Phần 1: Cấu trúc Second Edition“, Khuyến nghị của W3C, H. S. Thompson và các cộng sự, ngày 28 tháng 10 năm 2004.

Có sẵn tại: http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/

Xem thêm “Lược đồ XML Phần 2: Các kiểu dữ liệu thứ hai“, có sẵn tại: http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/

B.2. Tham khảo thông tin

[MỤC LỤC]

Quản lý thực thể: Nghị quyết kỹ thuật OASIS 9401: 1997 (Sửa đổi 2 đến TR 9401), Paul Grosso, Chủ tịch, Tiểu ban quản lý thực thể, SGML Open, ngày 10 tháng 9 năm 1997.

Xem: http://www.oasis-open.org/html/a401.htm

[RFC2119]

Các từ khóa để sử dụng trong RFC để chỉ ra các mức yêu cầu“, RFC 2119, S. Bradner, tháng 3 năm 1997.

Có sẵn tại: http://www.ietf.org/rfc/rfc2119.txt

[RFC2854]

Loại văn bản / html” Loại phương tiện truyền thông“, D. Connely, L. Masinter, tháng 1 năm 2000.

Có sẵn tại: http://www.ietf.org/rfc/rfc2854.txt

[RFC3236]

Loại phương tiện truyền thông ‘application / xhtml + xml‘, M. Baker, P. Stark, tháng 1 năm 2002.

Có sẵn tại: http://www.ietf.org/rfc/rfc3236.txt

[XHTML1]

XHTML 1.0: Ngôn ngữ đánh dấu siêu văn bản mở rộng (ấn bản thứ hai), Khuyến cáo của W3C, Steven Pemberton, và cộng sự, ngày 26 tháng 1 năm 2000, sửa đổi ngày 1 tháng 8 năm 2002.

Xem: http://www.w3.org/TR/2002/REC-xhtml1-20020801

[XHTMLMIME]

Các loại phương tiện XHTML“, Shane McCarron, ngày 16 tháng 1 năm 2009, hoặc những người kế vị của nó.

Phiên bản mới nhất có sẵn tại: http://www.w3.org/TR/xhtml-media-types

  1. XHTML 1.1 Định nghĩa kiểu tài liệu

Phụ lục này là quy phạm.

C.1. SGML mở mục nhập danh mục cho XHTML 1.1

Phần này chứa định nghĩa định dạng danh mục mở SGML [CATALOG] của các định danh công khai cho XHTML 1.1.

This section contains the SGML Open Catalog-format definition [CATALOG] of the public identifiers for XHTML 1.1.

— ……………………………………………………………….. —

— File catalog  …………………………………………………… —

—  XHTML 1.1 Catalog Data File

    Revision:  @(#)xhtml11.cat 1.9 2001/04/04 SMI

    See “Entity Management”, SGML Open Technical Resolution 9401 for detailed

    information on supplying and using catalog data. This document is available

    from OASIS at URL:

        <http://www.oasis-open.org/html/tr9401.html>

— ……………………………………………………………….. —

— SGML declaration associated with XHTML  ……………………………. —

OVERRIDE YES

SGMLDECL “xml1.dcl”

— :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: —

— XHTML 1.1 DTD modular driver file  ………………………………… —

PUBLIC “-//W3C//DTD XHTML 1.1//EN”                                “xhtml11.dtd”

— XHTML 1.1 framework modules ………………………………………. —

PUBLIC “-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN”        “xhtml11-model-1.mod”

— End of catalog data  …………………………………………….. —

— ……………………………………………………………….. —

C.2. XHTML 1.1 Driver

This section contains the driver for the XHTML 1.1 document type implementation as an XML DTD. It relies upon XHTML module implementations defined in [XHTMLMOD] and in [RUBY].

<!– …………………………………………………………….. –>

<!– XHTML 1.1 DTD  ……………………………………………….. –>

<!– file: xhtml11.dtd

–>

<!– XHTML 1.1 DTD

     This is XHTML, a reformulation of HTML as a modular XML application.

     The Extensible HyperText Markup Language (XHTML)

     Copyright 1998-2008 World Wide Web Consortium

        (Massachusetts Institute of Technology, European Research Consortium

         for Informatics and Mathematics, Keio University).

         All Rights Reserved.

     Permission to use, copy, modify and distribute the XHTML DTD and its

     accompanying documentation for any purpose and without fee is hereby

     granted in perpetuity, provided that the above copyright notice and

     this paragraph appear in all copies.  The copyright holders make no

     representation about the suitability of the DTD for any purpose.

     It is provided “as is” without expressed or implied warranty.

        Author:     Murray M. Altheim <altheim@eng.sun.com>

        Revision:   $Id: xhtml11_dtd.html,v 1.1 2018/03/20 05:53:11 plehegar Exp $

–>

<!– This is the driver file for version 1.1 of the XHTML DTD.

     Please use this public identifier to identify it:

         “-//W3C//DTD XHTML 1.1//EN”

–>

<!ENTITY % XHTML.version  “-//W3C//DTD XHTML 1.1//EN” >

<!– Use this URI to identify the default namespace:

         “http://www.w3.org/1999/xhtml”

     See the Qualified Names module for information

     on the use of namespace prefixes in the DTD.

     Note that XHTML namespace elements are not prefixed by default,

     but the XHTML namespace prefix is defined as “xhtml” so that

     other markup languages can extend this one and use the XHTML

     prefixed global attributes if required.

–>

<!ENTITY % NS.prefixed “IGNORE” >

<!ENTITY % XHTML.prefix “xhtml” >

<!– Be sure to include prefixed global attributes – we don’t need

     them, but languages that extend XHTML 1.1 might.

–>

<!ENTITY % XHTML.global.attrs.prefixed “INCLUDE” >

 

<!– Reserved for use with the XLink namespace:

–>

<!ENTITY % XLINK.xmlns “” >

<!ENTITY % XLINK.xmlns.attrib “” >

 <!– For example, if you are using XHTML 1.1 directly, use the public

     identifier in the DOCTYPE declaration, with the namespace declaration

     on the document element to identify the default namespace:

        <?xml version=”1.0″?>

       <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”

                             “http://www.w3.org/MarkUp/DTD/xhtml11.dtd”>

       <html xmlns=”http://www.w3.org/1999/xhtml”

             xml:lang=”en”>

       …

       </html>

      Revisions:

     (none)

–>

 <!– reserved for future use with document profiles –>

<!ENTITY % XHTML.profile  “” >

 <!– ensure XHTML Notations are disabled –>

<!ENTITY % xhtml-notations.module “IGNORE” >

 <!– Bidirectional Text features

     This feature-test entity is used to declare elements

     and attributes used for bidirectional text support.

–>

<!ENTITY % XHTML.bidi  “INCLUDE” >

 <?doc type=”doctype” role=”title” { XHTML 1.1 } ?>

 <!– ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: –>

 <!– Pre-Framework Redeclaration placeholder  ……………….. –>

<!– this serves as a location to insert markup declarations

     into the DTD prior to the framework declarations.

–>

<!ENTITY % xhtml-prefw-redecl.module “IGNORE” >

<![%xhtml-prefw-redecl.module;[

%xhtml-prefw-redecl.mod;

<!– end of xhtml-prefw-redecl.module –>]]>

 <!ENTITY % xhtml-events.module “INCLUDE” >

 <!– Inline Style Module  …………………………………. –>

<!ENTITY % xhtml-inlstyle.module “INCLUDE” >

<![%xhtml-inlstyle.module;[

<!ENTITY % xhtml-inlstyle.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Inline Style 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-inlstyle-1.mod” >

%xhtml-inlstyle.mod;]]>

 <!– declare Document Model module instantiated in framework

–>

<!ENTITY % xhtml-model.mod

     PUBLIC “-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml11-model-1.mod” >

 !– adding the lang attribute into the I18N collection –>

 <!ENTITY % xhtml-datatypes.module “INCLUDE” >

<![%xhtml-datatypes.module;[

<!ENTITY % xhtml-datatypes.mod

     PUBLIC “-//W3C//ENTITIES XHTML Datatypes 1.0//EN”

            “xhtml-datatypes-1.mod” >

%xhtml-datatypes.mod;]]>

 <!ENTITY % lang.attrib

     “xml:lang     %LanguageCode.datatype;  #IMPLIED

      lang         %LanguageCode.datatype;  #IMPLIED”

>

 <!– Modular Framework Module (required) ……………………. –>

<!ENTITY % xhtml-framework.module “INCLUDE” >

<![%xhtml-framework.module;[

<!ENTITY % xhtml-framework.mod

     PUBLIC “-//W3C//ENTITIES XHTML Modular Framework 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-framework-1.mod” >

%xhtml-framework.mod;]]>

 <!– Post-Framework Redeclaration placeholder  ………………. –>

<!– this serves as a location to insert markup declarations

     into the DTD following the framework declarations.

–>

<!ENTITY % xhtml-postfw-redecl.module “IGNORE” >

<![%xhtml-postfw-redecl.module;[

%xhtml-postfw-redecl.mod;

<!– end of xhtml-postfw-redecl.module –>]]>

 <!– Text Module (Required)  ………………………………. –>

<!ENTITY % xhtml-text.module “INCLUDE” >

<![%xhtml-text.module;[

<!ENTITY % xhtml-text.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Text 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-text-1.mod” >

%xhtml-text.mod;]]>

 <!– Hypertext Module (required) …………………………… –>

<!ENTITY % xhtml-hypertext.module “INCLUDE” >

<![%xhtml-hypertext.module;[

<!ENTITY % xhtml-hypertext.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Hypertext 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-hypertext-1.mod” >

%xhtml-hypertext.mod;]]>

 <!– Lists Module (required)  ……………………………… –>

<!ENTITY % xhtml-list.module “INCLUDE” >

<![%xhtml-list.module;[

<!ENTITY % xhtml-list.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Lists 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-list-1.mod” >

%xhtml-list.mod;]]>

 <!– ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: –>

 <!– Edit Module  ………………………………………… –>

<!ENTITY % xhtml-edit.module “INCLUDE” >

<![%xhtml-edit.module;[

<!ENTITY % xhtml-edit.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Editing Elements 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-edit-1.mod” >

%xhtml-edit.mod;]]>

 <!– BIDI Override Module  ………………………………… –>

<!ENTITY % xhtml-bdo.module “%XHTML.bidi;” >

<![%xhtml-bdo.module;[

<!ENTITY % xhtml-bdo.mod

     PUBLIC “-//W3C//ELEMENTS XHTML BIDI Override Element 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-bdo-1.mod” >

%xhtml-bdo.mod;]]>

 <!– Ruby Module  ………………………………………… –>

<!ENTITY % Ruby.common.attlists “INCLUDE” >

<!ENTITY % Ruby.common.attrib “%Common.attrib;” >

<!ENTITY % xhtml-ruby.module “INCLUDE” >

<![%xhtml-ruby.module;[

<!ENTITY % xhtml-ruby.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Ruby 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-ruby-1.mod” >

%xhtml-ruby.mod;]]>

 <!– Presentation Module  …………………………………. –>

<!ENTITY % xhtml-pres.module “INCLUDE” >

<![%xhtml-pres.module;[

<!ENTITY % xhtml-pres.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Presentation 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-pres-1.mod” >

%xhtml-pres.mod;]]>

 <!– Link Element Module  …………………………………. –>

<!ENTITY % xhtml-link.module “INCLUDE” >

<![%xhtml-link.module;[

<!ENTITY % xhtml-link.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Link Element 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-link-1.mod” >

%xhtml-link.mod;]]>

 <!– Document Metainformation Module  ………………………. –>

<!ENTITY % xhtml-meta.module “INCLUDE” >

<![%xhtml-meta.module;[

<!ENTITY % xhtml-meta.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Metainformation 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-meta-1.mod” >

%xhtml-meta.mod;]]>

 <!– Base Element Module  …………………………………. –>

<!ENTITY % xhtml-base.module “INCLUDE” >

<![%xhtml-base.module;[

<!ENTITY % xhtml-base.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Base Element 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-base-1.mod” >

%xhtml-base.mod;]]>

 <!– Scripting Module  ……………………………………. –>

<!ENTITY % xhtml-script.module “INCLUDE” >

<![%xhtml-script.module;[

<!ENTITY % xhtml-script.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Scripting 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-script-1.mod” >

%xhtml-script.mod;]]>

 <!– Style Sheets Module  ………………………………….. –>

<!ENTITY % xhtml-style.module “INCLUDE” >

<![%xhtml-style.module;[

<!ENTITY % xhtml-style.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Style Sheets 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-style-1.mod” >

%xhtml-style.mod;]]>

 <!– Image Module  ……………………………………….. –>

<!ENTITY % xhtml-image.module “INCLUDE” >

<![%xhtml-image.module;[

<!ENTITY % xhtml-image.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Images 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-image-1.mod” >

%xhtml-image.mod;]]>

 <!– Client-side Image Map Module  …………………………. –>

<!ENTITY % xhtml-csismap.module “INCLUDE” >

<![%xhtml-csismap.module;[

<!ENTITY % xhtml-csismap.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-csismap-1.mod” >

%xhtml-csismap.mod;]]>

 <!– Server-side Image Map Module  …………………………. –>

<!ENTITY % xhtml-ssismap.module “INCLUDE” >

<![%xhtml-ssismap.module;[

<!ENTITY % xhtml-ssismap.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Server-side Image Maps 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-ssismap-1.mod” >

%xhtml-ssismap.mod;]]>

<!– Param Element Module  ………………………………… –>

<!ENTITY % xhtml-param.module “INCLUDE” >

<![%xhtml-param.module;[

<!ENTITY % xhtml-param.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Param Element 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-param-1.mod” >

%xhtml-param.mod;]]>

 <!– Embedded Object Module  ………………………………. –>

<!ENTITY % xhtml-object.module “INCLUDE” >

<![%xhtml-object.module;[

<!ENTITY % xhtml-object.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-object-1.mod” >

%xhtml-object.mod;]]>

 <!– Tables Module ……………………………………….. –>

<!ENTITY % xhtml-table.module “INCLUDE” >

<![%xhtml-table.module;[

<!ENTITY % xhtml-table.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Tables 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-table-1.mod” >

%xhtml-table.mod;]]>

 <!– Forms Module  ……………………………………….. –>

<!ENTITY % xhtml-form.module “INCLUDE” >

<![%xhtml-form.module;[

<!ENTITY % xhtml-form.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Forms 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-form-1.mod” >

%xhtml-form.mod;]]>

 <!– Legacy Markup ……………………………………….. –>

<!ENTITY % xhtml-legacy.module “IGNORE” >

<![%xhtml-legacy.module;[

<!ENTITY % xhtml-legacy.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Legacy Markup 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-legacy-1.mod” >

%xhtml-legacy.mod;]]>

 <!– Document Structure Module (required)  ………………….. –>

<!ENTITY % xhtml-struct.module “INCLUDE” >

<![%xhtml-struct.module;[

<!ENTITY % xhtml-struct.mod

     PUBLIC “-//W3C//ELEMENTS XHTML Document Structure 1.0//EN”

            “http://www.w3.org/MarkUp/DTD/xhtml-struct-1.mod” >

%xhtml-struct.mod;]]>

 <!– end of XHTML 1.1 DTD  …………………………………………. –>

<!– …………………………………………………………….. –>

 C.3. XHTML 1.1 Customizations

An XHTML Family Document Type (such as XHTML 1.1) must define the content model that it uses. This is done through a separate content model module that is instantiated by the XHTML Modular Framework. The content model module and the XHTML 1.1 Driver (above) work together to customize the module implementations to the document type’s specific requirements. The content model module for XHTML 1.1 is defined below:

 <!– …………………………………………………………….. –>

<!– XHTML 1.1 Document Model Module  ……………………………….. –>

<!– file: xhtml11-model-1.mod

      This is XHTML 1.1, a reformulation of HTML as a modular XML application.

     Copyright 1998-2008 W3C (MIT, ERCIM, Keio), All Rights Reserved.

     Revision: $Id: xhtml11_dtd.html,v 1.1 2018/03/20 05:53:11 plehegar Exp $ SMI

      This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC “-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN”

      SYSTEM “http://www.w3.org/MarkUp/DTD/xhtml11-model-1.mod”

      Revisions:

     (none)

     …………………………………………………………….. –>

 <!– XHTML 1.1 Document Model

      This module describes the groupings of elements that make up

     common content models for XHTML elements.

      XHTML has three basic content models:

        %Inline.mix;  character-level elements

         %Block.mix;   block-like elements, eg., paragraphs and lists

         %Flow.mix;    any block or inline elements

      Any parameter entities declared in this module may be used

     to create element content models, but the above three are

     considered ‘global’ (insofar as that term applies here).

      The reserved word ‘#PCDATA’ (indicating a text string) is now

     included explicitly with each element declaration that is

     declared as mixed content, as XML requires that this token

     occur first in a content model specification.

–>

<!– Extending the Model

      While in some cases this module may need to be rewritten to

     accommodate changes to the document model, minor extensions

     may be accomplished by redeclaring any of the three *.extra;

     parameter entities to contain extension element types as follows:

          %Misc.extra;    whose parent may be any block or

                         inline element.

          %Inline.extra;  whose parent may be any inline element.

          %Block.extra;   whose parent may be any block element.

      If used, these parameter entities must be an OR-separated

     list beginning with an OR separator (“|”), eg., “| a | b | c”

      All block and inline *.class parameter entities not part

     of the *struct.class classes begin with “| ” to allow for

     exclusion from mixes.

–>

 <!– …………..  Optional Elements in head  ……………… –>

 <!ENTITY % HeadOpts.mix

     “( %script.qname; | %style.qname; | %meta.qname;

      | %link.qname; | %object.qname; )*”

>

 <!– ……………..  Miscellaneous Elements  ……………… –>

 <!– ins and del are used to denote editing changes

–>

<!ENTITY % Edit.class “| %ins.qname; | %del.qname;” >

 <!– script and noscript are used to contain scripts

     and alternative content

–>

<!ENTITY % Script.class “| %script.qname; | %noscript.qname;” >

 <!ENTITY % Misc.extra “” >

 <!– These elements are neither block nor inline, and can

     essentially be used anywhere in the document body.

–>

<!ENTITY % Misc.class

     “%Edit.class;

      %Script.class;

      %Misc.extra;”

>

 <!– ………………..  Inline Elements  …………………. –>

 <!ENTITY % InlStruct.class “%br.qname; | %span.qname;” >

 <!ENTITY % InlPhras.class

     “| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;

      | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;

      | %abbr.qname; | %acronym.qname; | %q.qname;” >

 

<!ENTITY % InlPres.class

     “| %tt.qname; | %i.qname; | %b.qname; | %big.qname;

      | %small.qname; | %sub.qname; | %sup.qname;” >

 

<!ENTITY % I18n.class “| %bdo.qname;” >

 

<!ENTITY % Anchor.class “| %a.qname;” >

 

<!ENTITY % InlSpecial.class

     “| %img.qname; | %map.qname;

      | %object.qname;” >

 

<!ENTITY % InlForm.class

     “| %input.qname; | %select.qname; | %textarea.qname;

      | %label.qname; | %button.qname;” >

 

<!ENTITY % Inline.extra “” >

 

<!ENTITY % Ruby.class “| %ruby.qname;” >

 

<!– %Inline.class; includes all inline elements,

     used as a component in mixes

–>

<!ENTITY % Inline.class

     “%InlStruct.class;

      %InlPhras.class;

      %InlPres.class;

      %I18n.class;

      %Anchor.class;

      %InlSpecial.class;

      %InlForm.class;

      %Ruby.class;

      %Inline.extra;”

>

 

<!– %InlNoRuby.class; includes all inline elements

     except ruby, used as a component in mixes

–>

<!ENTITY % InlNoRuby.class

     “%InlStruct.class;

      %InlPhras.class;

      %InlPres.class;

      %I18n.class;

      %Anchor.class;

      %InlSpecial.class;

      %InlForm.class;

      %Inline.extra;”

>

 

<!– %NoRuby.content; includes all inlines except ruby

–>

<!ENTITY % NoRuby.content

     “( #PCDATA

      | %InlNoRuby.class;

      %Misc.class; )*”

>

 

<!– %InlNoAnchor.class; includes all non-anchor inlines,

     used as a component in mixes

–>

<!ENTITY % InlNoAnchor.class

     “%InlStruct.class;

      %InlPhras.class;

      %InlPres.class;

      %I18n.class;

      %InlSpecial.class;

      %InlForm.class;

      %Ruby.class;

      %Inline.extra;”

>

 

<!– %InlNoAnchor.mix; includes all non-anchor inlines

–>

<!ENTITY % InlNoAnchor.mix

     “%InlNoAnchor.class;

      %Misc.class;”

>

 

<!– %Inline.mix; includes all inline elements, including %Misc.class;

–>

<!ENTITY % Inline.mix

     “%Inline.class;

      %Misc.class;”

>

 

<!– …………………  Block Elements  …………………. –>

 

<!– In the HTML 4.0 DTD, heading and list elements were included

     in the %block; parameter entity. The %Heading.class; and

     %List.class; parameter entities must now be included explicitly

     on element declarations where desired.

–>

 

<!ENTITY % Heading.class

     “%h1.qname; | %h2.qname; | %h3.qname;

      | %h4.qname; | %h5.qname; | %h6.qname;” >

 

<!ENTITY % List.class “%ul.qname; | %ol.qname; | %dl.qname;” >

 

<!ENTITY % Table.class “| %table.qname;” >

 

<!ENTITY % Form.class  “| %form.qname;” >

 

<!ENTITY % Fieldset.class  “| %fieldset.qname;” >

 

<!ENTITY % BlkStruct.class “%p.qname; | %div.qname;” >

 

<!ENTITY % BlkPhras.class

     “| %pre.qname; | %blockquote.qname; | %address.qname;” >

 

<!ENTITY % BlkPres.class “| %hr.qname;” >

 

<!ENTITY % BlkSpecial.class

     “%Table.class;

      %Form.class;

      %Fieldset.class;”

>

 

<!ENTITY % Block.extra “” >

 

<!– %Block.class; includes all block elements,

     used as an component in mixes

–>

<!ENTITY % Block.class

     “%BlkStruct.class;

      %BlkPhras.class;

      %BlkPres.class;

      %BlkSpecial.class;

      %Block.extra;”

>

 

<!– %Block.mix; includes all block elements plus %Misc.class;

–>

<!ENTITY % Block.mix

     “%Heading.class;

      | %List.class;

      | %Block.class;

      %Misc.class;”

>

 

<!– …………….  All Content Elements  ……………… –>

 

<!– %Flow.mix; includes all text content, block and inline

–>

<!ENTITY % Flow.mix

     “%Heading.class;

      | %List.class;

      | %Block.class;

      | %Inline.class;

      %Misc.class;”

>

 

<!– end of xhtml11-model-1.mod –>

  1. XHTML 1.1 Định nghĩa lược đồ XML

Phần này chứa trình điều khiển cho việc triển khai kiểu tài liệu XHTML 1.1 như là một lược đồ XML. Nó dựa trên việc triển khai mô-đun XHTML được xác định trong [XHTMLMOD] và trong [RUBY].

<?xml version=”1.0″ encoding=”UTF-8″?>

<xs:schema

    xmlns:xs=”http://www.w3.org/2001/XMLSchema”

    targetNamespace=”http://www.w3.org/1999/xhtml”

    xmlns:xh11d=”http://www.w3.org/1999/xhtml/datatypes/”

    xmlns=”http://www.w3.org/1999/xhtml”

    elementFormDefault=”qualified” >

    <xs:annotation>

        <xs:documentation>

      This is the XML Schema driver for XHTML 1.1.

      Please use this namespace for XHTML elements:

 

         “http://www.w3.org/1999/xhtml”

 

      $Id: xhtml11_schema.html,v 1.1 2018/03/20 05:53:11 plehegar Exp $

    </xs:documentation>

        <xs:documentation source=”xhtml-copyright-1.xsd”/>

    </xs:annotation>

    <xs:annotation>

        <xs:documentation>

      This is XHTML, a reformulation of HTML as a modular XML application

      The Extensible HyperText Markup Language (XHTML)

      Copyright ©1998-2007 World Wide Web Consortium

      (Massachusetts Institute of Technology, European Research Consortium

       for Informatics and Mathematics, Keio University).

      All Rights Reserved.

 

      Permission to use, copy, modify and distribute the XHTML Schema

      modules and their accompanying xs:documentation for any purpose

      and without fee is hereby granted in perpetuity, provided that the above

      copyright notice and this paragraph appear in all copies.

      The copyright holders make no representation about the suitability of

      these XML Schema modules for any purpose.

 

      They are provided “as is” without expressed or implied warranty.

    </xs:documentation>

    </xs:annotation>

    <xs:annotation>

        <xs:documentation>

      This is the Schema Driver file for XHTML1.1

      Document Type

 

     This schema

        + imports external schemas (xml.xsd)

        + refedines (and include)s schema modules for XHTML1.1 Document Type.

        + includes Schema for Named content model for the

          XHTML1.1 Document Type

 

        XHTML1.1 Document Type includes the following Modules

           XHTML Core modules (Required for XHTML Family Conformance)

            +  text

            +  hypertext

            +  lists

            +  structure

           Other XHTML modules

            +  Edit

            +  Bdo

            +  Presentational

            +  Link

            +  Meta

            +  Base

            +  Scripting

            +  Style

            +  Image

            +  Applet

            +  Object

            +  Param (Applet/Object modules require Param Module)

            +  Tables

            +  Forms

            +  Client side image maps

            +  Server side image maps

            +  Ruby

    </xs:documentation>

    </xs:annotation>

    <xs:import

        namespace=”http://www.w3.org/XML/1998/namespace”

        schemaLocation=”http://www.w3.org/2001/xml.xsd”>

        <xs:annotation>

            <xs:documentation>

         This import brings in the XML namespace attributes

         The XML attributes are used by various modules.

       </xs:documentation>

        </xs:annotation>

    </xs:import>

    <xs:include

        schemaLocation=”xhtml11-model-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Document Model module for the XHTML1.1 Document Type.

        This schema file defines all named models used by XHTML

        Modularization Framework for XHTML1.1 Document Type

      </xs:documentation>

        </xs:annotation>

    </xs:include>

    <xs:include

        schemaLocation=”xhtml11-modules-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Schema that includes all modules (and redefinitions)

        for XHTML1.1 Document Type.                

           </xs:documentation>

        </xs:annotation>

    </xs:include>

</xs:schema>

D.2. XHTML 1.1 Schema Modules

XHTML Family implementations using XML Schema are required to provide their own schema module that imports the required modules from XHTML Modularization.

<?xml version=”1.0″ encoding=”UTF-8″?>

<xs:schema xmlns:xs=”http://www.w3.org/2001/XMLSchema”

           elementFormDefault=”qualified”

           xmlns:xh11d=”http://www.w3.org/1999/xhtml/datatypes/” >

    <xs:import namespace=”http://www.w3.org/1999/xhtml/datatypes/”

        schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-datatypes-1.xsd” />

 

    <xs:annotation>

        <xs:documentation>

      This schema includes all modules for XHTML1.1 Document Type.

      $Id: xhtml11_schema.html,v 1.1 2018/03/20 05:53:11 plehegar Exp $

    </xs:documentation>

        <xs:documentation source=”xhtml-copyright-1.xsd”/>

    </xs:annotation>

    <xs:annotation>

        <xs:documentation>

     This schema includes all modules (and redefinitions)

     for XHTML1.1 Document Type.

     XHTML1.1 Document Type includes the following Modules

 

       XHTML Core modules (Required for XHTML Family Conformance)

            +  text

            +  hypertext

            +  lists

            +  structure

 

       Other XHTML modules

            +  Edit

            +  Bdo

            +  Presentational

            +  Link

            +  Meta

            +  Base

            +  Scripting

            +  Style

            +  Image

            +  Applet

            +  Object

            +  Param (Applet/Object modules require Param Module)

            +  Tables

            +  Target

            +  Forms

            +  Client side image maps

            +  Server side image maps

 

    </xs:documentation>

    </xs:annotation>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-framework-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Schema Framework Component Modules:

            +  notations

            +  datatypes

            +  common attributes

            +  character entities

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_commonatts”/>

        </xs:annotation>

    </xs:include>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-text-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Text module

 

        The Text module includes declarations for all core

        text container elements and their attributes.

 

            +  block phrasal

            +  block structural

            +  inline phrasal

            +  inline structural

 

        Elements defined here:

          * address, blockquote, pre, h1, h2, h3, h4, h5, h6

          * div, p

          * abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var

          * br, span

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_textmodule”/>

        </xs:annotation>

    </xs:include>

    <xs:redefine schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-hypertext-1.xsd”>

        <xs:annotation>

            <xs:documentation>

         Hypertext module

 

         Elements defined here:

          * a

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_hypertextmodule”/>

        </xs:annotation>

        <xs:attributeGroup name=”xhtml.a.attlist”>

            <xs:attributeGroup ref=”xhtml.a.attlist”/>

            <xs:attributeGroup ref=”xhtml.a.csim.attlist”>

                <xs:annotation>

                    <xs:documentation>

              Redefinition by Client Side Image Map Module

            </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.a.events.attlist”>

                <xs:annotation>

                    <xs:documentation>

              Redefinition by XHTML Event Attribute Module

            </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.a.target.attlist”>

                <xs:annotation>

                    <xs:documentation>

              Target Module – A Attribute Additions

            </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

    </xs:redefine>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-list-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Lists module

 

        Elements defined here:

          * dt, dd, dl, ol, ul, li

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_listmodule”/>

        </xs:annotation>

    </xs:include>

    <xs:redefine schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-struct-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Structural module

 

        Elements defined here:

          * title, head, body, html

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_structuremodule”/>

        </xs:annotation>

        <xs:attributeGroup name=”xhtml.version.attrib”>

            <xs:annotation>

                <xs:documentation>

            Redefinition by the XHTML11 Markup (for value of version attr)

         </xs:documentation>

            </xs:annotation>

            <xs:attribute name=”version” type=”xh11d:CDATA” fixed=”-//W3C//DTD XHTML 1.1//EN”/>

        </xs:attributeGroup>

        <xs:attributeGroup name=”xhtml.body.attlist”>

            <xs:attributeGroup ref=”xhtml.body.attlist”>

                <xs:annotation>

                    <xs:documentation>

              Original Body Attlist

            </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.body.events.attlist”>

                <xs:annotation>

                    <xs:documentation>

              Redefinition by XHTML Event Attribute Module

            </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

    </xs:redefine>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-edit-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Edit module

 

        Elements defined here:

          * ins, del

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_editmodule”/>

        </xs:annotation>

    </xs:include>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-bdo-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Bidirectional element module

 

        Elements defined here:

          * bdo

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_bdomodule”/>

        </xs:annotation>

    </xs:include>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-pres-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Presentational module

 

         Elements defined here:

           * hr, b, big, i, small,sub, sup, tt

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_presentationmodule”/>

        </xs:annotation>

    </xs:include>

    <xs:redefine schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-link-1.xsd”>

        <xs:annotation>

            <xs:documentation>

                Link module

 

                Elements defined here:

                   * link

            </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_linkmodule”/>

        </xs:annotation>

        <xs:attributeGroup name=”xhtml.link.attlist”>

            <xs:annotation>

                <xs:documentation>

            Changes to XHTML Link Attlist

          </xs:documentation>

            </xs:annotation>

            <xs:attributeGroup ref=”xhtml.link.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Link Attributes (declared in Link Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.link.target.attlist”>

                <xs:annotation>

                    <xs:documentation>

                      XHTML Target Module – Attribute additions

                     </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

    </xs:redefine>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-meta-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Meta module

 

        Elements defined here:

        * meta

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_metamodule”/>

        </xs:annotation>

    </xs:include>

    <xs:redefine schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-base-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Base module

 

        Elements defined here:

          * base

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_basemodule”/>

        </xs:annotation>

        <xs:attributeGroup name=”xhtml.base.attlist”>

            <xs:annotation>

                <xs:documentation>

            Changes to XHTML base Attlist

          </xs:documentation>

            </xs:annotation>

            <xs:attributeGroup ref=”xhtml.base.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Base Attributes (declared in Base Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.base.target.attlist”>

                <xs:annotation>

                    <xs:documentation>

                XHTML Target Module – Attribute additions

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

    </xs:redefine>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-script-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Scripting module

 

        Elements defined here:

          * script, noscript

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_scriptmodule”/>

        </xs:annotation>

    </xs:include>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-style-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Style module

 

        Elements defined here:

          * style

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_stylemodule”/>

        </xs:annotation>

    </xs:include>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-inlstyle-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Style attribute module

 

        Attribute defined here:

          * style

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_styleattributemodule”/>

        </xs:annotation>

    </xs:include>

    <xs:redefine schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-image-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Image module

 

        Elements defined here:

          * img

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_imagemodule”/>

        </xs:annotation>

        <xs:attributeGroup name=”xhtml.img.attlist”>

            <xs:attributeGroup ref=”xhtml.img.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Image Attributes (in Image Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.img.csim.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Redefinition by Client Side Image Map Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.img.ssimap.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Redefinition by Server Side Image Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

    </xs:redefine>

    <xs:redefine schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-csismap-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Client-side mage maps module

 

        Elements defined here:

          * area, map

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_imapmodule”/>

        </xs:annotation>

        <xs:attributeGroup name=”xhtml.area.attlist”>

            <xs:attributeGroup ref=”xhtml.area.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Area Attributes (in CSI Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.area.events.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Redefinition by Events Attribute Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.area.target.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Target Module – Area Attribute Additions

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

    </xs:redefine>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-ssismap-1.xsd”>

        <xs:annotation>

            <xs:documentation>

       Server-side image maps module

 

        Attributes defined here:

          * ismap on img

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_servermapmodule”/>

        </xs:annotation>

    </xs:include>

    <xs:redefine schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-object-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Object module

 

        Elements defined here:

          * object

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_objectmodule”/>

        </xs:annotation>

        <xs:attributeGroup name=”xhtml.object.attlist”>

            <xs:attributeGroup ref=”xhtml.object.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Object Attlist

              </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.object.csim.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Redefinition by Client Image Map Module

              </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

    </xs:redefine>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-param-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Param module

 

        Elements defined here:

          * param

      </xs:documentation>

        </xs:annotation>

    </xs:include>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-table-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        Tables module

 

        Elements defined here:

          * table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_tablemodule”/>

        </xs:annotation>

    </xs:include>

    <xs:redefine schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-form-1.xsd”>

        <xs:annotation>

            <xs:documentation>

            Forms module

 

            Elements defined here:

              * form, label, input, select, optgroup, option,

              * textarea, fieldset, legend, button

          </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_extformsmodule”/>

        </xs:annotation>

        <xs:attributeGroup name=”xhtml.form.attlist”>

            <xs:annotation>

                <xs:documentation>

            Changes to XHTML Form Attlist

          </xs:documentation>

            </xs:annotation>

            <xs:attributeGroup ref=”xhtml.form.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Form Attributes (declared in Forms Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.form.events.attlist”>

                <xs:annotation>

                    <xs:documentation>

                XHTML Events Module – Attribute additions

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.form.target.attlist”>

                <xs:annotation>

                    <xs:documentation>

                      XHTML Target Module – Attribute additions

                     </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

        <xs:attributeGroup name=”xhtml.input.attlist”>

            <xs:annotation>

                <xs:documentation>

            Changes to XHTML Form Input Element

          </xs:documentation>

            </xs:annotation>

            <xs:attributeGroup ref=”xhtml.input.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Input Attributes (in Forms Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.input.csim.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Redefinition by Client Side Image Map Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.input.ssimap.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Redefinition by Server Side Image Map Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.input.events.attlist”>

                <xs:annotation>

                    <xs:documentation>

               Redefinition by Event Attribute Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

        <xs:attributeGroup name=”xhtml.label.attlist”>

            <xs:attributeGroup ref=”xhtml.label.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Label Attributes (in Forms Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.label.events.attlist”>

                <xs:annotation>

                    <xs:documentation>

               Redefinition by Event Attribute Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

        <xs:attributeGroup name=”xhtml.select.attlist”>

            <xs:attributeGroup ref=”xhtml.select.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Select Attributes (in Forms Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.select.events.attlist”>

                <xs:annotation>

                    <xs:documentation>

               Redefinition by Event Attribute Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

        <xs:attributeGroup name=”xhtml.textarea.attlist”>

            <xs:attributeGroup ref=”xhtml.textarea.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original TextArea Attributes (in Forms Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.textarea.events.attlist”>

                <xs:annotation>

                    <xs:documentation>

               Redefinition by Event Attribute Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

        <xs:attributeGroup name=”xhtml.button.attlist”>

            <xs:attributeGroup ref=”xhtml.button.attlist”>

                <xs:annotation>

                    <xs:documentation>

                Original Button Attributes (in Forms Module)

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

            <xs:attributeGroup ref=”xhtml.button.events.attlist”>

                <xs:annotation>

                    <xs:documentation>

               Redefinition by Event Attribute Module

             </xs:documentation>

                </xs:annotation>

            </xs:attributeGroup>

        </xs:attributeGroup>

    </xs:redefine>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-ruby-1.xsd”>

      <xs:annotation>

      <xs:documentation>

        Ruby module

 

        Elements defined here:

          * ruby, rbc, rtc, rb, rt, rp

 

        Note that either Ruby or Basic Ruby should be used but not both

      </xs:documentation>

      <xs:documentation source=”http://www.w3.org/TR/2001/REC-ruby-20010531/#complex”/>

      </xs:annotation>

    </xs:include>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-events-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        XHTML Events Modules

 

        Attributes defined here:

          XHTML Event Types

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_intrinsiceventsmodule”/>

        </xs:annotation>

    </xs:include>

    <xs:include schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-target-1.xsd”>

        <xs:annotation>

            <xs:documentation>

        XHTML Target Attribute Module

 

        Attributes defined here:

          target

      </xs:documentation>

            <xs:documentation source=”http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_targetmodule”/>

        </xs:annotation>

    </xs:include>

</xs:schema>

 

D.3. XHTML 1.1 Customizations

An XHTML Family Document Type (such as XHTML 1.1) must define the content model that it uses. This is done through a separate content model module that is instantiated by the XHTML Modular Framework. The content model module and the XHTML 1.1 Driver (above) work together to customize the module implementations to the document type’s specific requirements. The content model module for XHTML 1.1 is defined below:

 

<?xml version=”1.0″ encoding=”UTF-8″?>

<xs:schema

    xmlns:xs=”http://www.w3.org/2001/XMLSchema”

    xmlns:xh11d=”http://www.w3.org/1999/xhtml/datatypes/”

    elementFormDefault=”qualified” >

    <xs:import

        namespace=”http://www.w3.org/1999/xhtml/datatypes/”

        schemaLocation=”http://www.w3.org/MarkUp/SCHEMA/xhtml-datatypes-1.xsd”/>

    <xs:annotation>

        <xs:documentation>

            This is the XML Schema module of common content models for XHTML11

            

            $Id: xhtml11_schema.html,v 1.1 2018/03/20 05:53:11 plehegar Exp $

        </xs:documentation>

        <xs:documentation source=”xhtml-copyright-1.xsd”/>

    </xs:annotation>

    <xs:annotation>

        <xs:documentation>

            XHTML Document Model

            This module describes the groupings of elements/attributes

            that make up common content models for XHTML elements.

            XHTML has following basic content models:

               xhtml.Inline.mix; character-level elements

               xhtml.Block.mix; block-like elements, e.g., paragraphs and lists

               xhtml.Flow.mix; any block or inline elements

               xhtml.HeadOpts.mix; Head Elements

               xhtml.InlinePre.mix; Special class for pre content model

               xhtml.InlineNoAnchor.mix; Content model for Anchor

            

            Any groups declared in this module may be used to create

            element content models, but the above are considered ‘global’

            (insofar as that term applies here). XHTML has the

            following Attribute Groups

               xhtml.Core.extra.attrib

               xhtml.I18n.extra.attrib

               xhtml.Common.extra

            

            The above attribute Groups are considered Global

        </xs:documentation>

    </xs:annotation>

    <xs:attributeGroup

        name=”xhtml.I18n.extra.attrib”>

        <xs:annotation>

            <xs:documentation> Extended I18n attribute </xs:documentation>

        </xs:annotation>

        <xs:attributeGroup

            ref=”xhtml.dir.attrib”>

            <xs:annotation>

                <xs:documentation>

                “dir” Attribute from Bi Directional Text (bdo) Module

                </xs:documentation>

            </xs:annotation>

        </xs:attributeGroup>

        <xs:attribute name=”lang” type=”xh11d:LanguageCode” />

    </xs:attributeGroup>

    <xs:attributeGroup

        name=”xhtml.Common.extra”>

        <xs:annotation>

            <xs:documentation> Extended Common Attributes </xs:documentation>

        </xs:annotation>

        <xs:attributeGroup

            ref=”xhtml.style.attrib”>

            <xs:annotation>

                <xs:documentation>

                “style” attribute from Inline Style Module

                </xs:documentation>

            </xs:annotation>

        </xs:attributeGroup>

        <xs:attributeGroup ref=”xhtml.Events.attrib”>

            <xs:annotation>

                <xs:documentation>

                Attributes from Events Module

                </xs:documentation>

            </xs:annotation>

        </xs:attributeGroup>

    </xs:attributeGroup>

    <xs:attributeGroup

        name=”xhtml.Core.extra.attrib”>

        <xs:annotation>

            <xs:documentation> Extend Core Attributes </xs:documentation>

        </xs:annotation>

    </xs:attributeGroup>

    <xs:attributeGroup

        name=”xhtml.Global.core.extra.attrib”>

        <xs:annotation>

            <xs:documentation> Extended Global Core Attributes </xs:documentation>

        </xs:annotation>

    </xs:attributeGroup>

    <xs:attributeGroup

        name=”xhtml.Global.I18n.extra.attrib”>

        <xs:annotation>

            <xs:documentation> Extended Global I18n attributes </xs:documentation>

        </xs:annotation>

    </xs:attributeGroup>

    <xs:attributeGroup

        name=”xhtml.Global.Common.extra”>

        <xs:annotation>

            <xs:documentation> Extended Global Common Attributes </xs:documentation>

        </xs:annotation>

    </xs:attributeGroup>

    <xs:group

        name=”xhtml.Head.extra”>

        <xs:sequence/>

    </xs:group>

    <xs:group

        name=”xhtml.HeadOpts.mix”>

        <xs:choice>

            <xs:element

                name=”script”

                type=”xhtml.script.type”/>

            <xs:element

                name=”style”

                type=”xhtml.style.type”/>

            <xs:element

                name=”meta”

                type=”xhtml.meta.type”/>

            <xs:element

                name=”link”

                type=”xhtml.link.type”/>

            <xs:element

                name=”object”

                type=”xhtml.object.type”/>

            <xs:group

                ref=”xhtml.Head.extra”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.head.content”>

        <xs:sequence>

            <xs:group

                ref=”xhtml.HeadOpts.mix”

                minOccurs=”0″

                maxOccurs=”unbounded”/>

            <xs:choice>

                <xs:sequence>

                    <xs:element

                        name=”title”

                        minOccurs=”1″

                        maxOccurs=”1″

                        type=”xhtml.title.type”/>

                    <xs:group

                        ref=”xhtml.HeadOpts.mix”

                        minOccurs=”0″

                        maxOccurs=”unbounded”/>

                    <xs:sequence

                        minOccurs=”0″>

                        <xs:element

                            name=”base”

                            type=”xhtml.base.type”/>

                        <xs:group

                            ref=”xhtml.HeadOpts.mix”

                            minOccurs=”0″

                            maxOccurs=”unbounded”/>

                    </xs:sequence>

                </xs:sequence>

                <xs:sequence>

                    <xs:element

                        name=”base”

                        type=”xhtml.base.type”

                        minOccurs=”1″

                        maxOccurs=”1″/>

                    <xs:group

                        ref=”xhtml.HeadOpts.mix”

                        minOccurs=”0″

                        maxOccurs=”unbounded”/>

                    <xs:element

                        name=”title”

                        minOccurs=”1″

                        maxOccurs=”1″

                        type=”xhtml.title.type”/>

                    <xs:group

                        ref=”xhtml.HeadOpts.mix”

                        minOccurs=”0″

                        maxOccurs=”unbounded”/>

                </xs:sequence>

            </xs:choice>

        </xs:sequence>

    </xs:group>

    <!–

    ins and del are used to denote editing changes

  –>

    <xs:group

        name=”xhtml.Edit.class”>

        <xs:choice>

            <xs:element

                name=”ins”

                type=”xhtml.edit.type”/>

            <xs:element

                name=”del”

                type=”xhtml.edit.type”/>

        </xs:choice>

    </xs:group>

    <!–

    script and noscript are used to contain scripts

    and alternative content

  –>

    <xs:group

        name=”xhtml.Script.class”>

        <xs:choice>

            <xs:element

                name=”script”

                type=”xhtml.script.type”/>

            <xs:element

                name=”noscript”

                type=”xhtml.noscript.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.Misc.extra”>

        <xs:sequence/>

    </xs:group>

    <!–

    These elements are neither block nor inline, and can

    essentially be used anywhere in the document body.

  –>

    <xs:group

        name=”xhtml.Misc.class”>

        <xs:choice>

            <xs:group

                ref=”xhtml.Edit.class”/>

            <xs:group

                ref=”xhtml.Script.class”/>

            <xs:group

                ref=”xhtml.Misc.extra”/>

        </xs:choice>

    </xs:group>

    <!– Inline Elements –>

    <xs:group

        name=”xhtml.InlStruct.class”>

        <xs:choice>

            <xs:element

                name=”br”

                type=”xhtml.br.type”/>

            <xs:element

                name=”span”

                type=”xhtml.span.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.InlPhras.class”>

        <xs:choice>

            <xs:element

                name=”em”

                type=”xhtml.em.type”/>

            <xs:element

                name=”strong”

                type=”xhtml.strong.type”/>

            <xs:element

                name=”dfn”

                type=”xhtml.dfn.type”/>

            <xs:element

                name=”code”

                type=”xhtml.code.type”/>

            <xs:element

                name=”samp”

                type=”xhtml.samp.type”/>

            <xs:element

                name=”kbd”

                type=”xhtml.kbd.type”/>

            <xs:element

                name=”var”

                type=”xhtml.var.type”/>

            <xs:element

                name=”cite”

                type=”xhtml.cite.type”/>

            <xs:element

                name=”abbr”

                type=”xhtml.abbr.type”/>

            <xs:element

                name=”acronym”

                type=”xhtml.acronym.type”/>

            <xs:element

                name=”q”

                type=”xhtml.q.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.InlPres.class”>

        <xs:choice>

            <xs:element

                name=”tt”

                type=”xhtml.InlPres.type”/>

            <xs:element

                name=”i”

                type=”xhtml.InlPres.type”/>

            <xs:element

                name=”b”

                type=”xhtml.InlPres.type”/>

            <xs:element

                name=”big”

                type=”xhtml.InlPres.type”/>

            <xs:element

                name=”small”

                type=”xhtml.InlPres.type”/>

            <xs:element

                name=”sub”

                type=”xhtml.InlPres.type”/>

            <xs:element

                name=”sup”

                type=”xhtml.InlPres.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.I18n.class”>

        <xs:sequence>

            <xs:element

                name=”bdo”

                type=”xhtml.bdo.type”/>

        </xs:sequence>

    </xs:group>

    <xs:group

        name=”xhtml.Anchor.class”>

        <xs:sequence>

            <xs:element

                name=”a”

                type=”xhtml.a.type”/>

        </xs:sequence>

    </xs:group>

    <xs:group

        name=”xhtml.InlSpecial.class”>

        <xs:choice>

            <xs:element

                name=”img”

                type=”xhtml.img.type”/>

            <xs:element

                name=”map”

                type=”xhtml.map.type”/>

            <xs:element

                name=”object”

                type=”xhtml.object.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.InlForm.class”>

        <xs:choice>

            <xs:element

                name=”input”

                type=”xhtml.input.type”/>

            <xs:element

                name=”select”

                type=”xhtml.select.type”/>

            <xs:element

                name=”textarea”

                type=”xhtml.textarea.type”/>

            <xs:element

                name=”label”

                type=”xhtml.label.type”/>

            <xs:element

                name=”button”

                type=”xhtml.button.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.Inline.extra”>

        <xs:sequence/>

    </xs:group>

    <xs:group

        name=”xhtml.Ruby.class”>

        <xs:sequence>

            <xs:element

                name=”ruby”

                type=”xhtml.ruby.type”/>

        </xs:sequence>

    </xs:group>

    <!–

    Inline.class includes all inline elements,

    used as a component in mixes

  –>

    <xs:group

        name=”xhtml.Inline.class”>

        <xs:choice>

            <xs:group

                ref=”xhtml.InlStruct.class”/>

            <xs:group

                ref=”xhtml.InlPhras.class”/>

            <xs:group

                ref=”xhtml.InlPres.class”/>

            <xs:group

                ref=”xhtml.I18n.class”/>

            <xs:group

                ref=”xhtml.Anchor.class”/>

            <xs:group

                ref=”xhtml.InlSpecial.class”/>

            <xs:group

                ref=”xhtml.InlForm.class”/>

            <xs:group

                ref=”xhtml.Ruby.class”/>

            <xs:group

                ref=”xhtml.Inline.extra”/>

        </xs:choice>

    </xs:group>

    <!–

     InlNoRuby.class includes all inline elements

     except ruby

  –>

    <xs:group

        name=”xhtml.InlNoRuby.class”>

        <xs:choice>

            <xs:group

                ref=”xhtml.InlStruct.class”/>

            <xs:group

                ref=”xhtml.InlPhras.class”/>

            <xs:group

                ref=”xhtml.InlPres.class”/>

            <xs:group

                ref=”xhtml.I18n.class”/>

            <xs:group

                ref=”xhtml.Anchor.class”/>

            <xs:group

                ref=”xhtml.InlSpecial.class”/>

            <xs:group

                ref=”xhtml.InlForm.class”/>

            <xs:group

                ref=”xhtml.Inline.extra”/>

        </xs:choice>

    </xs:group>

    <!–

    InlinePre.mix

    Used as a component in pre model

  –>

    <xs:group

        name=”xhtml.InlinePre.mix”>

        <xs:choice>

            <xs:group

                ref=”xhtml.InlStruct.class”/>

            <xs:group

                ref=”xhtml.InlPhras.class”/>

            <xs:element

                name=”tt”

                type=”xhtml.InlPres.type”/>

            <xs:element

                name=”i”

                type=”xhtml.InlPres.type”/>

            <xs:element

                name=”b”

                type=”xhtml.InlPres.type”/>

            <xs:group

                ref=”xhtml.I18n.class”/>

            <xs:group

                ref=”xhtml.Anchor.class”/>

            <xs:group

                ref=”xhtml.Misc.class”/>

            <xs:element

                name=”map”

                type=”xhtml.map.type”/>

            <xs:group

                ref=”xhtml.Inline.extra”/>

        </xs:choice>

    </xs:group>

    <!–

    InlNoAnchor.class includes all non-anchor inlines,

    used as a component in mixes

  –>

    <xs:group

        name=”xhtml.InlNoAnchor.class”>

        <xs:choice>

            <xs:group

                ref=”xhtml.InlStruct.class”/>

            <xs:group

                ref=”xhtml.InlPhras.class”/>

            <xs:group

                ref=”xhtml.InlPres.class”/>

            <xs:group

                ref=”xhtml.I18n.class”/>

            <xs:group

                ref=”xhtml.InlSpecial.class”/>

            <xs:group

                ref=”xhtml.InlForm.class”/>

            <xs:group

                ref=”xhtml.Ruby.class”/>

            <xs:group

                ref=”xhtml.Inline.extra”/>

        </xs:choice>

    </xs:group>

    <!–

    InlNoAnchor.mix includes all non-anchor inlines

  –>

    <xs:group

        name=”xhtml.InlNoAnchor.mix”>

        <xs:choice>

            <xs:group

                ref=”xhtml.InlNoAnchor.class”/>

            <xs:group

                ref=”xhtml.Misc.class”/>

        </xs:choice>

    </xs:group>

    <!–

    Inline.mix includes all inline elements, including Misc.class

  –>

    <xs:group

        name=”xhtml.Inline.mix”>

        <xs:choice>

            <xs:group

                ref=”xhtml.Inline.class”/>

            <xs:group

                ref=”xhtml.Misc.class”/>

        </xs:choice>

    </xs:group>

    <!–

   InlNoRuby.mix includes all of inline.mix elements

   except ruby

  –>

    <xs:group

        name=”xhtml.InlNoRuby.mix”>

        <xs:choice>

            <xs:group

                ref=”xhtml.InlNoRuby.class”/>

            <xs:group

                ref=”xhtml.Misc.class”/>

        </xs:choice>

    </xs:group>

    <!–

    In the HTML 4 DTD, heading and list elements were included

    in the block group. The Heading.class and

    List.class groups must now be included explicitly

    on element declarations where desired.

  –>

    <xs:group

        name=”xhtml.Heading.class”>

        <xs:choice>

            <xs:element

                name=”h1″

                type=”xhtml.h1.type”/>

            <xs:element

                name=”h2″

                type=”xhtml.h2.type”/>

            <xs:element

                name=”h3″

                type=”xhtml.h3.type”/>

            <xs:element

                name=”h4″

                type=”xhtml.h4.type”/>

            <xs:element

                name=”h5″

                type=”xhtml.h5.type”/>

            <xs:element

                name=”h6″

                type=”xhtml.h6.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.List.class”>

        <xs:choice>

            <xs:element

                name=”ul”

                type=”xhtml.ul.type”/>

            <xs:element

                name=”ol”

                type=”xhtml.ol.type”/>

            <xs:element

                name=”dl”

                type=”xhtml.dl.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.Table.class”>

        <xs:choice>

            <xs:element

                name=”table”

                type=”xhtml.table.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.Form.class”>

        <xs:choice>

            <xs:element

                name=”form”

                type=”xhtml.form.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.Fieldset.class”>

        <xs:choice>

            <xs:element

                name=”fieldset”

                type=”xhtml.fieldset.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.BlkStruct.class”>

        <xs:choice>

            <xs:element

                name=”p”

                type=”xhtml.p.type”/>

            <xs:element

                name=”div”

                type=”xhtml.div.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.BlkPhras.class”>

        <xs:choice>

            <xs:element

                name=”pre”

                type=”xhtml.pre.type”/>

            <xs:element

                name=”blockquote”

                type=”xhtml.blockquote.type”/>

            <xs:element

                name=”address”

                type=”xhtml.address.type”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.BlkPres.class”>

        <xs:sequence>

            <xs:element

                name=”hr”

                type=”xhtml.hr.type”/>

        </xs:sequence>

    </xs:group>

    <xs:group

        name=”xhtml.BlkSpecial.class”>

        <xs:choice>

            <xs:group

                ref=”xhtml.Table.class”/>

            <xs:group

                ref=”xhtml.Form.class”/>

            <xs:group

                ref=”xhtml.Fieldset.class”/>

        </xs:choice>

    </xs:group>

    <xs:group

        name=”xhtml.Block.extra”>

        <xs:sequence/>

    </xs:group>

    <!–

    Block.class includes all block elements,

    used as an component in mixes

  –>

    <xs:group

        name=”xhtml.Block.class”>

        <xs:choice>

            <xs:group

                ref=”xhtml.BlkStruct.class”/>

            <xs:group

                ref=”xhtml.BlkPhras.class”/>

            <xs:group

                ref=”xhtml.BlkPres.class”/>

            <xs:group

                ref=”xhtml.BlkSpecial.class”/>

            <xs:group

                ref=”xhtml.Block.extra”/>

        </xs:choice>

    </xs:group>

    <!–

   Block.mix includes all block elements plus %Misc.class;

  –>

    <xs:group

        name=”xhtml.Block.mix”>

        <xs:choice>

            <xs:group

                ref=”xhtml.Heading.class”/>

            <xs:group

                ref=”xhtml.List.class”/>

            <xs:group

                ref=”xhtml.Block.class”/>

            <xs:group

                ref=”xhtml.Misc.class”/>

        </xs:choice>

    </xs:group>

    <!–

    All Content Elements

    Flow.mix includes all text content, block and inline

    Note that the “any” element included here allows us

    to add data from any other namespace, a necessity

    for compound document creation.

    Note however that it is not possible to add

    to any head level element without further

    modification. To add RDF metadata to the head

    of a document, modify the structure module.

  –>

    <xs:group

        name=”xhtml.Flow.mix”>

        <xs:choice>

            <xs:group

                ref=”xhtml.Heading.class”/>

            <xs:group

                ref=”xhtml.List.class”/>

            <xs:group

                ref=”xhtml.Block.class”/>

            <xs:group

                ref=”xhtml.Inline.class”/>

            <xs:group

                ref=”xhtml.Misc.class”/>

        </xs:choice>

    </xs:group>

    <!–

    BlkNoForm.mix includes all non-form block elements,

    plus Misc.class

  –>

    <xs:group

        name=”xhtml.BlkNoForm.mix”>

        <xs:choice>

            <xs:group

                ref=”xhtml.Heading.class”/>

            <xs:group

                ref=”xhtml.List.class”/>

            <xs:group

                ref=”xhtml.BlkStruct.class”/>

            <xs:group

                ref=”xhtml.BlkPhras.class”/>

            <xs:group

                ref=”xhtml.BlkPres.class”/>

            <xs:group

                ref=”xhtml.Table.class”/>

            <xs:group

                ref=”xhtml.Block.extra”/>

            <xs:group

                ref=”xhtml.Misc.class”/>

        </xs:choice>

    </xs:group>

    <xs:element

        name=”html”

        type=”xhtml.html.type”/>

</xs:schema>

 

D.4. XML Schema Ruby Implementation

The RUBY specification does not currently define an XHTML Module using XML Schema. One is defined here:

 

<?xml version=”1.0″ encoding=”UTF-8″?>

<xs:schema

 xmlns:xs=”http://www.w3.org/2001/XMLSchema”

 elementFormDefault=”qualified”

 xmlns:xh11d=”http://www.w3.org/1999/xhtml/datatypes/”

>

    <xs:import namespace=”http://www.w3.org/1999/xhtml/datatypes/”

               schemaLocation=”xhtml-datatypes-1.xsd” />

  <xs:annotation>

    <xs:documentation>

      This is the Ruby module for XHTML

      $Id: xhtml11_schema.html,v 1.1 2018/03/20 05:53:11 plehegar Exp $

    </xs:documentation>

    <xs:documentation source=”xhtml-copyright-1.xsd”/>

  </xs:annotation>

 

  <xs:annotation>

    <xs:documentation>

      “Ruby” are short runs of text alongside the base text, typically

      used in East Asian documents to indicate pronunciation or to

      provide a short annotation. The full specification for Ruby is here:

      

        http://www.w3.org/TR/2001/REC-ruby-20010531/

      

      This module defines “Ruby ” or “complex Ruby” as described

      in the specification:

      

        http://www.w3.org/TR/2001/REC-ruby-20010531/#complex

    

      Simple or Basic Ruby are defined in a separate module.

      

      This module declares the elements and their attributes used to

      support complex ruby annotation markup. Elements defined here

            * ruby, rbc, rtc, rb, rt, rp

      

      This module expects the document model to define the

      following content models

        + InlNoRuby.mix                 

    </xs:documentation>

    <xs:documentation

         source=”http://www.w3.org/TR/2001/REC-ruby-20010531/”/>    

  </xs:annotation>

 

  <xs:group name=”xhtml.ruby.content.simple”>

      <xs:sequence>

          <xs:element name=”rb” type=”xhtml.rb.type”/>

          <xs:choice>

              <xs:element name=”rt” type=”xhtml.rt.type”/>

              <xs:sequence>

                  <xs:element name=”rp” type=”xhtml.rp.type”/>

                  <xs:element name=”rt” type=”xhtml.rt.type”/>

                  <xs:element name=”rp” type=”xhtml.rp.type”/>

              </xs:sequence>

          </xs:choice>

      </xs:sequence>

  </xs:group>

 

  <xs:group name=”xhtml.ruby.content.complex”>

    <xs:sequence>

      <xs:element name=”rbc” type=”xhtml.rbc.type”/>

      <xs:element name=”rtc” type=”xhtml.rtc.type” maxOccurs=”2″/>

    </xs:sequence>

  </xs:group>

 

  <!–

   add to this group any common attributes for all Ruby elements

  –>

  <xs:attributeGroup name=”xhtml.ruby.common.attrib”/>

  

  <xs:group name=”xhtml.ruby.content”>

    <xs:choice>

      <xs:group ref=”xhtml.ruby.content.simple”/>

      <xs:group ref=”xhtml.ruby.content.complex”/>

    </xs:choice>

  </xs:group>

 

  <xs:complexType name=”xhtml.ruby.type”>

    <xs:group ref=”xhtml.ruby.content”/>

    <xs:attributeGroup ref=”xhtml.ruby.common.attrib”/>

  </xs:complexType>

 

  <!–

   rbc (ruby base component) element

  –>

  <xs:attributeGroup name=”xhtml.rbc.attlist”>

    <xs:attributeGroup ref=”xhtml.ruby.common.attrib”/>

  </xs:attributeGroup>

  

  <xs:group name=”xhtml.rbc.content”>

    <xs:sequence>

      <xs:element name=”rb” type=”xhtml.rb.type” />

    </xs:sequence>

  </xs:group>  

 

  <xs:complexType name=”xhtml.rbc.type”>

    <xs:group ref=”xhtml.rbc.content”/>

    <xs:attributeGroup ref=”xhtml.rbc.attlist”/>

  </xs:complexType>

 

  <!–

   rtc (ruby text component) element

  –>

  <xs:attributeGroup name=”xhtml.rtc.attlist”>

    <xs:attributeGroup ref=”xhtml.ruby.common.attrib”/>

  </xs:attributeGroup>

  

  <xs:group name=”xhtml.rtc.content”>

    <xs:sequence>

      <xs:element name=”rt” type=”xhtml.rt.type” maxOccurs=”unbounded”/>

    </xs:sequence>  

  </xs:group>    

 

  <xs:complexType name=”xhtml.rtc.type”>

    <xs:group ref=”xhtml.rt.content”/>  

    <xs:attributeGroup ref=”xhtml.rtc.attlist”/>

  </xs:complexType>

 

  <!–

   rb (ruby base) element

  –>

  <xs:attributeGroup name=”xhtml.rb.attlist”>

    <xs:attributeGroup ref=”xhtml.ruby.common.attrib”/>

  </xs:attributeGroup>

 

  <xs:group name=”xhtml.rb.content”>

    <xs:sequence>

       <xs:group ref=”xhtml.InlNoRuby.mix” minOccurs=”0″ maxOccurs=”unbounded”/>

    </xs:sequence>

  </xs:group>      

 

  <xs:complexType name=”xhtml.rb.type” mixed=”true”>

    <xs:group ref=”xhtml.rb.content”/>

    <xs:attributeGroup ref=”xhtml.rb.attlist”/>

  </xs:complexType>

    

  <!–

   rt (ruby text) element

  –>

  <xs:attributeGroup name=”xhtml.rt.attlist”>

    <xs:attributeGroup ref=”xhtml.ruby.common.attrib”/>

    <xs:attribute name=”rbspan” type=”xh11d:Number” default=”1″/>

  </xs:attributeGroup>

 

  <xs:group name=”xhtml.rt.content”>

    <xs:sequence>

       <xs:group ref=”xhtml.InlNoRuby.mix” minOccurs=”0″ maxOccurs=”unbounded”/>

    </xs:sequence>

  </xs:group>      

  

  <xs:complexType name=”xhtml.rt.type” mixed=”true”>

    <xs:group ref=”xhtml.rt.content”/>  

    <xs:attributeGroup ref=”xhtml.rt.attlist”/>

  </xs:complexType>

 

  <!– rp (ruby parenthesis) element  –>

  <xs:attributeGroup name=”xhtml.rp.attlist”>

    <xs:attributeGroup ref=”xhtml.ruby.common.attrib”/>

  </xs:attributeGroup>

  

  <xs:group name=”xhtml.rp.content”>

    <xs:sequence/>

  </xs:group>      

  

  <xs:complexType name=”xhtml.rp.type” mixed=”true”>

    <xs:group ref=”xhtml.rp.content”/>

    <xs:attributeGroup ref=”xhtml.rp.attlist”/>

  </xs:complexType>

 

</xs:schema>

Original Source: https://www.w3.org/TR/xhtml1/