Bả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:
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
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ủ
B.1. Tham chiếu quy phạm
B.2. Tham khảo thông tin
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
D.1. Trình điều khiển lược đồ XHTML 1.1
D.3. Tùy chỉnh XHTML 1.1
D.4. Triển khai Ruby Schema XML
</div class=”toc”>
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.
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].
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.
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.
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:
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 “
>
<! DOCTYPE html PUBLIC “- // W3C // DTD XHTML 1.1 // EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
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].
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].
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”.
body, head, html, title
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ột
dl, dt, đ, ol, ul, li
đối tượng, param
b, lớn, giờ, tôi, nhỏ, phụ, sup, tt
del, ins
bdo
nút, fieldset, hình thức, đầu vào, nhãn, huyền thoại, chọn, optgroup, tùy chọn, textarea
chú thích, col, colgroup, bảng, tbody, td, tfoot, th, thead, tr
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
Thuộc tính sự kiện
meta
noscript, tập lệnh
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
liên kết
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.
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:
Phụ lục này là 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/
[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
Phụ lục này là quy phạm.
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 –>
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>
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/