markup_validity 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/CHANGELOG.rdoc +10 -0
  2. data/Manifest.txt +88 -0
  3. data/Rakefile +7 -11
  4. data/lib/markup_validity.rb +1 -1
  5. data/lib/markup_validity/MarkUp.html +1095 -0
  6. data/lib/markup_validity/SCHEMA.html +90 -0
  7. data/lib/markup_validity/assertions.rb +8 -1
  8. data/lib/markup_validity/examples.html +25 -0
  9. data/lib/markup_validity/rspec.rb +19 -0
  10. data/lib/markup_validity/templates.html +15 -0
  11. data/lib/markup_validity/validator.rb +27 -1
  12. data/lib/markup_validity/xframes-1.xsd +166 -0
  13. data/lib/markup_validity/xhtml-access-1.xsd +43 -0
  14. data/lib/markup_validity/xhtml-applet-1.xsd +66 -0
  15. data/lib/markup_validity/xhtml-attribs-1.xsd +67 -0
  16. data/lib/markup_validity/xhtml-base-1.xsd +31 -0
  17. data/lib/markup_validity/xhtml-basic-form-1.xsd +195 -0
  18. data/lib/markup_validity/xhtml-basic-table-1.xsd +169 -0
  19. data/lib/markup_validity/xhtml-basic10-model-1.xsd +385 -0
  20. data/lib/markup_validity/xhtml-basic10-module-redefines-1.xsd +61 -0
  21. data/lib/markup_validity/xhtml-basic10-modules-1.xsd +233 -0
  22. data/lib/markup_validity/xhtml-basic10.xsd +99 -0
  23. data/lib/markup_validity/xhtml-basic11-model-1.xsd +622 -0
  24. data/lib/markup_validity/xhtml-basic11-modules-1.xsd +508 -0
  25. data/lib/markup_validity/xhtml-basic11.xsd +105 -0
  26. data/lib/markup_validity/xhtml-bdo-1.xsd +72 -0
  27. data/lib/markup_validity/xhtml-blkphras-1.xsd +155 -0
  28. data/lib/markup_validity/xhtml-blkpres-1.xsd +32 -0
  29. data/lib/markup_validity/xhtml-blkstruct-1.xsd +44 -0
  30. data/lib/markup_validity/xhtml-charent-1.xsd +38 -0
  31. data/lib/markup_validity/xhtml-copyright-1.xsd +29 -0
  32. data/lib/markup_validity/xhtml-csismap-1.xsd +91 -0
  33. data/lib/markup_validity/xhtml-datatypes-1.xsd +177 -0
  34. data/lib/markup_validity/xhtml-edit-1.xsd +34 -0
  35. data/lib/markup_validity/xhtml-events-1.xsd +130 -0
  36. data/lib/markup_validity/xhtml-form-1.xsd +321 -0
  37. data/lib/markup_validity/xhtml-frames-1.xsd +113 -0
  38. data/lib/markup_validity/xhtml-framework-1.xsd +62 -0
  39. data/lib/markup_validity/xhtml-hypertext-1.xsd +47 -0
  40. data/lib/markup_validity/xhtml-iframe-1.xsd +68 -0
  41. data/lib/markup_validity/xhtml-image-1.xsd +40 -0
  42. data/lib/markup_validity/xhtml-inlphras-1.xsd +158 -0
  43. data/lib/markup_validity/xhtml-inlpres-1.xsd +34 -0
  44. data/lib/markup_validity/xhtml-inlstruct-1.xsd +45 -0
  45. data/lib/markup_validity/xhtml-inlstyle-1.xsd +22 -0
  46. data/lib/markup_validity/xhtml-inputmode-1.xsd +35 -0
  47. data/lib/markup_validity/xhtml-lat1.ent +196 -0
  48. data/lib/markup_validity/xhtml-legacy-1.xsd +97 -0
  49. data/lib/markup_validity/xhtml-link-1.xsd +45 -0
  50. data/lib/markup_validity/xhtml-list-1.xsd +94 -0
  51. data/lib/markup_validity/xhtml-meta-1.xsd +54 -0
  52. data/lib/markup_validity/xhtml-metaAttributes-1.xsd +39 -0
  53. data/lib/markup_validity/xhtml-misc-1.xsd +441 -0
  54. data/lib/markup_validity/xhtml-nameident-1.xsd +63 -0
  55. data/lib/markup_validity/xhtml-notations-1.xsd +69 -0
  56. data/lib/markup_validity/xhtml-object-1.xsd +71 -0
  57. data/lib/markup_validity/xhtml-param-1.xsd +46 -0
  58. data/lib/markup_validity/xhtml-pres-1.xsd +46 -0
  59. data/lib/markup_validity/xhtml-print-1.xsd +85 -0
  60. data/lib/markup_validity/xhtml-print-model-1.xsd +604 -0
  61. data/lib/markup_validity/xhtml-print-modules-1.xsd +422 -0
  62. data/lib/markup_validity/xhtml-rdfa-1.dtd +438 -0
  63. data/lib/markup_validity/xhtml-rdfa-1.xsd +116 -0
  64. data/lib/markup_validity/xhtml-rdfa-model-1.xsd +461 -0
  65. data/lib/markup_validity/xhtml-rdfa-modules-1.xsd +548 -0
  66. data/lib/markup_validity/xhtml-ruby-1.xsd +170 -0
  67. data/lib/markup_validity/xhtml-ruby-basic-1.xsd +84 -0
  68. data/lib/markup_validity/xhtml-script-1.xsd +65 -0
  69. data/lib/markup_validity/xhtml-special.ent +80 -0
  70. data/lib/markup_validity/xhtml-ssismap-1.xsd +38 -0
  71. data/lib/markup_validity/xhtml-struct-1.xsd +85 -0
  72. data/lib/markup_validity/xhtml-style-1.xsd +47 -0
  73. data/lib/markup_validity/xhtml-symbol.ent +237 -0
  74. data/lib/markup_validity/xhtml-table-1.xsd +267 -0
  75. data/lib/markup_validity/xhtml-target-1.xsd +49 -0
  76. data/lib/markup_validity/xhtml-text-1.xsd +62 -0
  77. data/lib/markup_validity/xhtml1-strict.dtd +978 -0
  78. data/lib/markup_validity/xhtml1-transitional.dtd +1201 -0
  79. data/lib/markup_validity/xhtml11-model-1.xsd +715 -0
  80. data/lib/markup_validity/xhtml11-module-redefines-1.xsd +335 -0
  81. data/lib/markup_validity/xhtml11-modules-1.xsd +605 -0
  82. data/lib/markup_validity/xhtml11.xsd +107 -0
  83. data/lib/markup_validity/xhtml2.xsd +21 -0
  84. data/lib/markup_validity/xml-events-1.xsd +73 -0
  85. data/lib/markup_validity/xml-events-2.xsd +73 -0
  86. data/lib/markup_validity/xml-events-attribs-1.xsd +73 -0
  87. data/lib/markup_validity/xml-events-attribs-2.xsd +75 -0
  88. data/lib/markup_validity/xml-events-copyright-1.xsd +34 -0
  89. data/lib/markup_validity/xml-events-copyright-2.xsd +34 -0
  90. data/lib/markup_validity/xml-handlers-1.xsd +136 -0
  91. data/lib/markup_validity/xml-handlers-2.xsd +98 -0
  92. data/lib/markup_validity/xml-script-1.xsd +38 -0
  93. data/spec/matcher_spec.rb +8 -0
  94. data/test/assets/invalid_entity.xhtml +109 -0
  95. data/test/assets/invalid_entity_transitional.xhtml +109 -0
  96. data/test/helper.rb +48 -0
  97. data/test/test_markup_validity.rb +19 -0
  98. metadata +90 -3
@@ -0,0 +1,63 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ elementFormDefault="qualified"
5
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
6
+ >
7
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/"
8
+ schemaLocation="xhtml-datatypes-1.xsd" />
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ This is the XML Schema Name Identifier module for XHTML
12
+ $Id: xhtml-nameident-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
13
+ </xs:documentation>
14
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
15
+ </xs:annotation>
16
+
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ Name Identifier
20
+
21
+ * 'name' attribute on form, img, a, map, applet, frame, iframe
22
+
23
+ This module declares the 'name' attribute on element types when
24
+ it is used as a node identifier for legacy linking and scripting
25
+ support. This does not include those instances when 'name' is used
26
+ as a container for form control, property or metainformation names.
27
+
28
+ This module should be instantiated following all modules it modifies.
29
+ </xs:documentation>
30
+ <xs:documentation
31
+ source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_nameidentmodule"/>
32
+ </xs:annotation>
33
+
34
+
35
+ <xs:attributeGroup name="xhtml.form.name.attlist">
36
+ <xs:attribute name="name" type="xh11d:CDATA"/>
37
+ </xs:attributeGroup>
38
+
39
+ <xs:attributeGroup name="xhtml.img.name.attlist">
40
+ <xs:attribute name="name" type="xh11d:CDATA"/>
41
+ </xs:attributeGroup>
42
+
43
+ <xs:attributeGroup name="xhtml.a.name.attlist">
44
+ <xs:attribute name="name" type="xh11d:CDATA"/>
45
+ </xs:attributeGroup>
46
+
47
+ <xs:attributeGroup name="xhtml.map.name.attlist">
48
+ <xs:attribute name="name" type="xh11d:CDATA"/>
49
+ </xs:attributeGroup>
50
+
51
+ <xs:attributeGroup name="xhtml.applet.name.attlist">
52
+ <xs:attribute name="name" type="xh11d:CDATA"/>
53
+ </xs:attributeGroup>
54
+
55
+ <xs:attributeGroup name="xhtml.frame.name.attlist">
56
+ <xs:attribute name="name" type="xh11d:CDATA"/>
57
+ </xs:attributeGroup>
58
+
59
+ <xs:attributeGroup name="xhtml.iframe.name.attlist">
60
+ <xs:attribute name="name" type="xh11d:CDATA"/>
61
+ </xs:attributeGroup>
62
+
63
+ </xs:schema>
@@ -0,0 +1,69 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ elementFormDefault="qualified"
5
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
6
+ >
7
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/"
8
+ schemaLocation="xhtml-datatypes-1.xsd" />
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ Notations module
12
+ This is the XML Schema module for data type notations for XHTML
13
+ $Id: xhtml-notations-1.xsd,v 1.5 2005/09/26 22:54:53 ahby Exp $
14
+ </xs:documentation>
15
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
16
+ </xs:annotation>
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ Notations module
20
+ Defines the XHTML notations, many of these imported from
21
+ other specifications and standards. When an existing FPI is
22
+ known, it is incorporated here.
23
+ </xs:documentation>
24
+ <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstraction.html#s_common_attrtypes"/>
25
+ </xs:annotation>
26
+ <!-- W3C XML 1.0 Recommendation -->
27
+ <xs:notation name="w3c-xml" public="ISO 8879//NOTATION Extensible Markup Language (XML) 1.0//EN"/>
28
+ <!-- XML 1.0 CDATA -->
29
+ <xs:notation name="cdata" public="-//W3C//NOTATION XML 1.0: CDATA//EN"/>
30
+ <!-- SGML Formal Public Identifiers -->
31
+ <xs:notation name="fpi" public="ISO 8879:1986//NOTATION Formal Public Identifier//EN"/>
32
+ <!-- XHTML Notations ... -->
33
+ <!-- Length defined for cellpadding/cellspacing -->
34
+ <!-- nn for pixels or nn% for percentage length -->
35
+ <!-- a single character, as per section 2.2 of [XML] -->
36
+ <xs:notation name="character" public="-//W3C//NOTATION XHTML Datatype: Character//EN"/>
37
+ <!-- a character encoding, as per [RFC2045] -->
38
+ <xs:notation name="charset" public="-//W3C//NOTATION XHTML Datatype: Charset//EN"/>
39
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
40
+ <xs:notation name="charsets" public="-//W3C//NOTATION XHTML Datatype: Charsets//EN"/>
41
+ <!-- media type, as per [RFC2045] -->
42
+ <xs:notation name="contentType" public="-//W3C//NOTATION XHTML Datatype: ContentType//EN"/>
43
+ <!-- comma-separated list of media types, as per [RFC2045] -->
44
+ <xs:notation name="contentTypes" public="-//W3C//NOTATION XHTML Datatype: ContentTypes//EN"/>
45
+ <!-- date and time information. ISO date format -->
46
+ <xs:notation name="datetime" public="-//W3C//NOTATION XHTML Datatype: Datetime//EN"/>
47
+ <!-- a language code, as per [RFC3066] -->
48
+ <xs:notation name="languageCode" public="-//W3C//NOTATION XHTML Datatype: LanguageCode//EN"/>
49
+ <!-- nn for pixels or nn% for percentage length -->
50
+ <xs:notation name="length" public="-//W3C//NOTATION XHTML Datatype: Length//EN"/>
51
+ <!-- space-separated list of link types -->
52
+ <xs:notation name="linkTypes" public="-//W3C//NOTATION XHTML Datatype: LinkTypes//EN"/>
53
+ <!-- single or comma-separated list of media descriptors -->
54
+ <xs:notation name="mediaDesc" public="-//W3C//NOTATION XHTML Datatype: MediaDesc//EN"/>
55
+ <!-- pixel, percentage, or relative -->
56
+ <xs:notation name="multiLength" public="-//W3C//NOTATION XHTML Datatype: MultiLength//EN"/>
57
+ <!-- one or more digits (NUMBER) -->
58
+ <xs:notation name="number" public="-//W3C//NOTATION XHTML Datatype: Number//EN"/>
59
+ <!-- one or more digits (NUMBER) -->
60
+ <xs:notation name="pixels" public="-//W3C//NOTATION XHTML Datatype: Pixels//EN"/>
61
+ <!-- script expression -->
62
+ <xs:notation name="script" public="-//W3C//NOTATION XHTML Datatype: Script//EN"/>
63
+ <!-- textual content -->
64
+ <xs:notation name="text" public="-//W3C//NOTATION XHTML Datatype: Text//EN"/>
65
+ <!-- a Uniform Resource Identifier, see [URI] -->
66
+ <xs:notation name="uri" public="-//W3C//NOTATION XHTML Datatype: URI//EN"/>
67
+ <!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
68
+ <xs:notation name="uris" public="-//W3C//NOTATION XHTML Datatype: URIs//EN"/>
69
+ </xs:schema>
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/">
3
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd"/>
4
+
5
+ <xs:annotation>
6
+ <xs:documentation>
7
+ This is the XML Schema Embedded Object module for XHTML
8
+ $Id: xhtml-object-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
9
+ </xs:documentation>
10
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
11
+ </xs:annotation>
12
+ <xs:annotation>
13
+ <xs:documentation>
14
+ This module declares the object element type and its attributes,
15
+ used to embed external objects as part of XHTML pages. In the
16
+ document, place param elements prior to the object elements
17
+ that require their content.
18
+
19
+ Note that use of this module requires instantiation of the
20
+ Param Element Module prior to this module.
21
+
22
+ Elements defined here:
23
+
24
+ * object (param)
25
+ </xs:documentation>
26
+ <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_objectmodule"/>
27
+ </xs:annotation>
28
+ <xs:include schemaLocation="xhtml-param-1.xsd">
29
+ <xs:annotation>
30
+ <xs:documentation>
31
+ Param module
32
+
33
+ Elements defined here:
34
+ * param
35
+ </xs:documentation>
36
+ </xs:annotation>
37
+ </xs:include>
38
+ <xs:attributeGroup name="xhtml.object.attlist">
39
+ <xs:attributeGroup ref="xhtml.Common.attrib"/>
40
+ <xs:attribute name="declare">
41
+ <xs:simpleType>
42
+ <xs:restriction base="xs:NMTOKEN">
43
+ <xs:enumeration value="declare"/>
44
+ </xs:restriction>
45
+ </xs:simpleType>
46
+ </xs:attribute>
47
+ <xs:attribute name="classid" type="xh11d:URI"/>
48
+ <xs:attribute name="codebase" type="xh11d:URI"/>
49
+ <xs:attribute name="data" type="xh11d:URI"/>
50
+ <xs:attribute name="type" type="xh11d:ContentType"/>
51
+ <xs:attribute name="codetype" type="xh11d:ContentType"/>
52
+ <xs:attribute name="archive" type="xh11d:URIs"/>
53
+ <xs:attribute name="standby" type="xh11d:Text"/>
54
+ <xs:attribute name="height" type="xh11d:Length"/>
55
+ <xs:attribute name="width" type="xh11d:Length"/>
56
+ <xs:attribute name="name" type="xh11d:CDATA"/>
57
+ <xs:attribute name="tabindex" type="xh11d:Number"/>
58
+ </xs:attributeGroup>
59
+ <xs:group name="xhtml.object.content">
60
+ <xs:sequence>
61
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
62
+ <xs:element name="param" type="xhtml.param.type"/>
63
+ <xs:group ref="xhtml.Flow.mix"/>
64
+ </xs:choice>
65
+ </xs:sequence>
66
+ </xs:group>
67
+ <xs:complexType name="xhtml.object.type" mixed="true">
68
+ <xs:group ref="xhtml.object.content"/>
69
+ <xs:attributeGroup ref="xhtml.object.attlist"/>
70
+ </xs:complexType>
71
+ </xs:schema>
@@ -0,0 +1,46 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/">
3
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd"/>
4
+ <xs:annotation>
5
+ <xs:documentation>
6
+ This is the XML Schema Param Element module for XHTML
7
+ $Id: xhtml-param-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $
8
+ </xs:documentation>
9
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
10
+ </xs:annotation>
11
+ <xs:annotation>
12
+ <xs:documentation>
13
+ Parameters for Java Applets and Embedded Objects
14
+
15
+ * param
16
+
17
+ This module provides declarations for the param element,
18
+ used to provide named property values for the applet
19
+ and object elements.
20
+ </xs:documentation>
21
+ <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_objectmodule"/>
22
+ <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_appletmodule"/>
23
+ </xs:annotation>
24
+ <xs:attributeGroup name="xhtml.param.attlist">
25
+ <xs:attributeGroup ref="xhtml.id"/>
26
+ <xs:attribute name="name" type="xh11d:CDATA" use="required"/>
27
+ <xs:attribute name="value" type="xh11d:CDATA"/>
28
+ <xs:attribute name="valuetype" default="data">
29
+ <xs:simpleType>
30
+ <xs:restriction base="xs:NMTOKEN">
31
+ <xs:enumeration value="data"/>
32
+ <xs:enumeration value="ref"/>
33
+ <xs:enumeration value="object"/>
34
+ </xs:restriction>
35
+ </xs:simpleType>
36
+ </xs:attribute>
37
+ <xs:attribute name="type" type="xh11d:ContentType"/>
38
+ </xs:attributeGroup>
39
+ <xs:group name="xhtml.param.content">
40
+ <xs:sequence/>
41
+ </xs:group>
42
+ <xs:complexType name="xhtml.param.type">
43
+ <xs:group ref="xhtml.param.content"/>
44
+ <xs:attributeGroup ref="xhtml.param.attlist"/>
45
+ </xs:complexType>
46
+ </xs:schema>
@@ -0,0 +1,46 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/">
3
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd"/>
4
+ <xs:annotation>
5
+ <xs:documentation>
6
+ This is the XML Schema Presentation module for XHTML
7
+ This is a REQUIRED module.
8
+ $Id: xhtml-pres-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
9
+ </xs:documentation>
10
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
11
+ </xs:annotation>
12
+ <xs:annotation>
13
+ <xs:documentation>
14
+ Presentational Elements
15
+
16
+ This module defines elements and their attributes for
17
+ simple presentation-related markup.
18
+
19
+ Elements defined here:
20
+
21
+ * hr
22
+ * b, big, i, small, sub, sup, tt
23
+ </xs:documentation>
24
+ <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_presentationmodule"/>
25
+ </xs:annotation>
26
+ <xs:include schemaLocation="xhtml-blkpres-1.xsd">
27
+ <xs:annotation>
28
+ <xs:documentation>
29
+ Block Presentational module
30
+ Elements defined here:
31
+
32
+ * hr
33
+ </xs:documentation>
34
+ </xs:annotation>
35
+ </xs:include>
36
+ <xs:include schemaLocation="xhtml-inlpres-1.xsd">
37
+ <xs:annotation>
38
+ <xs:documentation>
39
+ Inline Presentational module
40
+ Elements defined here:
41
+
42
+ * b, big, i, small, sub, sup, tt
43
+ </xs:documentation>
44
+ </xs:annotation>
45
+ </xs:include>
46
+ </xs:schema>
@@ -0,0 +1,85 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ targetNamespace="http://www.w3.org/1999/xhtml"
5
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
6
+ xmlns="http://www.w3.org/1999/xhtml"
7
+ elementFormDefault="qualified" >
8
+ <xs:annotation>
9
+ <xs:documentation>
10
+ This is the XML Schema driver for XHTML Print 1.0
11
+ Please use this namespace for XHTML elements:
12
+
13
+ "http://www.w3.org/1999/xhtml"
14
+
15
+ $Id: xhtml-print-1.xsd,v 1.1 2008/05/29 21:24:57 smccarro Exp $
16
+ </xs:documentation>
17
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
18
+ </xs:annotation>
19
+ <xs:annotation>
20
+ <xs:documentation>
21
+ This is the Schema Driver file for XHTML Print 1.0
22
+ Document Type
23
+
24
+ This schema
25
+ + imports external schemas (xml.xsd)
26
+ + refedines (and include)s schema modules for XHTML1.1 Document Type.
27
+ + includes Schema for Named content model for the
28
+ XHTML Print 1.0 Document Type
29
+
30
+ XHTML Print 1.0 Document Type includes the following Modules
31
+ XHTML Core modules (Required for XHTML Family Conformance)
32
+ + text
33
+ + hypertext
34
+ + lists
35
+ + structure
36
+ Other XHTML modules
37
+ + Edit
38
+ + Bdo
39
+ + Presentational
40
+ + Link
41
+ + Meta
42
+ + Base
43
+ + Scripting
44
+ + Style
45
+ + Image
46
+ + Applet
47
+ + Object
48
+ + Param (Applet/Object modules require Param Module)
49
+ + Basic Tables
50
+ + Basic Forms
51
+ </xs:documentation>
52
+ </xs:annotation>
53
+ <xs:import
54
+ namespace="http://www.w3.org/XML/1998/namespace"
55
+ schemaLocation="http://www.w3.org/2001/xml.xsd">
56
+ <xs:annotation>
57
+ <xs:documentation>
58
+ This import brings in the XML namespace attributes
59
+ The XML attributes are used by various modules.
60
+ </xs:documentation>
61
+ </xs:annotation>
62
+ </xs:import>
63
+ <xs:include
64
+ schemaLocation="xhtml-print-model-1.xsd">
65
+ <xs:annotation>
66
+ <xs:documentation>
67
+ Document Model module for the XHTML Print 1.0 Document Type.
68
+ This schema file defines all named models used by XHTML
69
+ Modularization Framework for XHTML Print 1.0 Document Type
70
+ </xs:documentation>
71
+ </xs:annotation>
72
+ </xs:include>
73
+ <xs:import
74
+ namespace="http://www.w3.org/1999/xhtml/datatypes/"
75
+ schemaLocation="xhtml-datatypes-1.xsd"/>
76
+ <xs:include
77
+ schemaLocation="xhtml-print-modules-1.xsd">
78
+ <xs:annotation>
79
+ <xs:documentation>
80
+ Schema that includes all modules (and redefinitions)
81
+ for XHTML Print Document Type.
82
+ </xs:documentation>
83
+ </xs:annotation>
84
+ </xs:include>
85
+ </xs:schema>
@@ -0,0 +1,604 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
5
+ elementFormDefault="qualified" >
6
+ <xs:import
7
+ namespace="http://www.w3.org/1999/xhtml/datatypes/"
8
+ schemaLocation="xhtml-datatypes-1.xsd"/>
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ This is the XML Schema module of common content models for XHTML Print 1.0
12
+
13
+ $Id: xhtml-print-model-1.xsd,v 1.1 2008/05/29 21:25:02 smccarro Exp $
14
+ </xs:documentation>
15
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
16
+ </xs:annotation>
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ XHTML Document Model
20
+ This module describes the groupings of elements/attributes
21
+ that make up common content models for XHTML elements.
22
+ XHTML has following basic content models:
23
+ xhtml.Inline.mix; character-level elements
24
+ xhtml.Block.mix; block-like elements, e.g., paragraphs and lists
25
+ xhtml.Flow.mix; any block or inline elements
26
+ xhtml.HeadOpts.mix; Head Elements
27
+ xhtml.InlinePre.mix; Special class for pre content model
28
+ xhtml.InlineNoAnchor.mix; Content model for Anchor
29
+
30
+ Any groups declared in this module may be used to create
31
+ element content models, but the above are considered 'global'
32
+ (insofar as that term applies here). XHTML has the
33
+ following Attribute Groups
34
+ xhtml.Core.extra.attrib
35
+ xhtml.I18n.extra.attrib
36
+ xhtml.Common.extra
37
+
38
+ The above attribute Groups are considered Global
39
+ </xs:documentation>
40
+ </xs:annotation>
41
+ <xs:attributeGroup
42
+ name="xhtml.I18n.extra.attrib">
43
+ <xs:annotation>
44
+ <xs:documentation> Extended I18n attribute </xs:documentation>
45
+ </xs:annotation>
46
+ </xs:attributeGroup>
47
+ <xs:attributeGroup
48
+ name="xhtml.Common.extra">
49
+ <xs:annotation>
50
+ <xs:documentation> Extended Common Attributes </xs:documentation>
51
+ </xs:annotation>
52
+ <xs:attributeGroup
53
+ ref="xhtml.style.attrib">
54
+ <xs:annotation>
55
+ <xs:documentation>
56
+ "style" attribute from Inline Style Module
57
+ </xs:documentation>
58
+ </xs:annotation>
59
+ </xs:attributeGroup>
60
+ </xs:attributeGroup>
61
+ <xs:attributeGroup
62
+ name="xhtml.Core.extra.attrib">
63
+ <xs:annotation>
64
+ <xs:documentation> Extend Core Attributes </xs:documentation>
65
+ </xs:annotation>
66
+ </xs:attributeGroup>
67
+ <xs:attributeGroup
68
+ name="xhtml.Global.core.extra.attrib">
69
+ <xs:annotation>
70
+ <xs:documentation> Extended Global Core Attributes </xs:documentation>
71
+ </xs:annotation>
72
+ </xs:attributeGroup>
73
+ <xs:attributeGroup
74
+ name="xhtml.Global.I18n.extra.attrib">
75
+ <xs:annotation>
76
+ <xs:documentation> Extended Global I18n attributes </xs:documentation>
77
+ </xs:annotation>
78
+ </xs:attributeGroup>
79
+ <xs:attributeGroup
80
+ name="xhtml.Global.Common.extra">
81
+ <xs:annotation>
82
+ <xs:documentation> Extended Global Common Attributes </xs:documentation>
83
+ </xs:annotation>
84
+ </xs:attributeGroup>
85
+ <xs:group
86
+ name="xhtml.Head.extra">
87
+ <xs:sequence/>
88
+ </xs:group>
89
+ <xs:group
90
+ name="xhtml.HeadOpts.mix">
91
+ <xs:choice>
92
+ <xs:element
93
+ name="script"
94
+ type="xhtml.script.type"/>
95
+ <xs:element
96
+ name="style"
97
+ type="xhtml.style.type"/>
98
+ <xs:element
99
+ name="meta"
100
+ type="xhtml.meta.type"/>
101
+ <xs:element
102
+ name="link"
103
+ type="xhtml.link.type"/>
104
+ <xs:element
105
+ name="object"
106
+ type="xhtml.object.type"/>
107
+ <xs:group
108
+ ref="xhtml.Head.extra"/>
109
+ </xs:choice>
110
+ </xs:group>
111
+ <xs:group
112
+ name="xhtml.head.content">
113
+ <xs:sequence>
114
+ <xs:group
115
+ ref="xhtml.HeadOpts.mix"
116
+ minOccurs="0"
117
+ maxOccurs="unbounded"/>
118
+ <xs:choice>
119
+ <xs:sequence>
120
+ <xs:element
121
+ name="title"
122
+ minOccurs="1"
123
+ maxOccurs="1"
124
+ type="xhtml.title.type"/>
125
+ <xs:group
126
+ ref="xhtml.HeadOpts.mix"
127
+ minOccurs="0"
128
+ maxOccurs="unbounded"/>
129
+ <xs:sequence
130
+ minOccurs="0">
131
+ <xs:element
132
+ name="base"
133
+ type="xhtml.base.type"/>
134
+ <xs:group
135
+ ref="xhtml.HeadOpts.mix"
136
+ minOccurs="0"
137
+ maxOccurs="unbounded"/>
138
+ </xs:sequence>
139
+ </xs:sequence>
140
+ <xs:sequence>
141
+ <xs:element
142
+ name="base"
143
+ type="xhtml.base.type"
144
+ minOccurs="1"
145
+ maxOccurs="1"/>
146
+ <xs:group
147
+ ref="xhtml.HeadOpts.mix"
148
+ minOccurs="0"
149
+ maxOccurs="unbounded"/>
150
+ <xs:element
151
+ name="title"
152
+ minOccurs="1"
153
+ maxOccurs="1"
154
+ type="xhtml.title.type"/>
155
+ <xs:group
156
+ ref="xhtml.HeadOpts.mix"
157
+ minOccurs="0"
158
+ maxOccurs="unbounded"/>
159
+ </xs:sequence>
160
+ </xs:choice>
161
+ </xs:sequence>
162
+ </xs:group>
163
+ <!--
164
+ script and noscript are used to contain scripts
165
+ and alternative content
166
+ -->
167
+ <xs:group
168
+ name="xhtml.Script.class">
169
+ <xs:choice>
170
+ <xs:element
171
+ name="script"
172
+ type="xhtml.script.type"/>
173
+ <xs:element
174
+ name="noscript"
175
+ type="xhtml.noscript.type"/>
176
+ </xs:choice>
177
+ </xs:group>
178
+ <xs:group
179
+ name="xhtml.Misc.extra">
180
+ <xs:sequence/>
181
+ </xs:group>
182
+ <!--
183
+ These elements are neither block nor inline, and can
184
+ essentially be used anywhere in the document body.
185
+ -->
186
+ <xs:group
187
+ name="xhtml.Misc.class">
188
+ <xs:choice>
189
+ <xs:group
190
+ ref="xhtml.Script.class"/>
191
+ <xs:group
192
+ ref="xhtml.Misc.extra"/>
193
+ </xs:choice>
194
+ </xs:group>
195
+ <!-- Inline Elements -->
196
+ <xs:group
197
+ name="xhtml.InlStruct.class">
198
+ <xs:choice>
199
+ <xs:element
200
+ name="br"
201
+ type="xhtml.br.type"/>
202
+ <xs:element
203
+ name="span"
204
+ type="xhtml.span.type"/>
205
+ </xs:choice>
206
+ </xs:group>
207
+ <xs:group
208
+ name="xhtml.InlPhras.class">
209
+ <xs:choice>
210
+ <xs:element
211
+ name="em"
212
+ type="xhtml.em.type"/>
213
+ <xs:element
214
+ name="strong"
215
+ type="xhtml.strong.type"/>
216
+ <xs:element
217
+ name="dfn"
218
+ type="xhtml.dfn.type"/>
219
+ <xs:element
220
+ name="code"
221
+ type="xhtml.code.type"/>
222
+ <xs:element
223
+ name="samp"
224
+ type="xhtml.samp.type"/>
225
+ <xs:element
226
+ name="kbd"
227
+ type="xhtml.kbd.type"/>
228
+ <xs:element
229
+ name="var"
230
+ type="xhtml.var.type"/>
231
+ <xs:element
232
+ name="cite"
233
+ type="xhtml.cite.type"/>
234
+ <xs:element
235
+ name="abbr"
236
+ type="xhtml.abbr.type"/>
237
+ <xs:element
238
+ name="acronym"
239
+ type="xhtml.acronym.type"/>
240
+ <xs:element
241
+ name="q"
242
+ type="xhtml.q.type"/>
243
+ </xs:choice>
244
+ </xs:group>
245
+ <xs:group
246
+ name="xhtml.InlPres.class">
247
+ <xs:choice>
248
+ <xs:element
249
+ name="tt"
250
+ type="xhtml.InlPres.type"/>
251
+ <xs:element
252
+ name="i"
253
+ type="xhtml.InlPres.type"/>
254
+ <xs:element
255
+ name="b"
256
+ type="xhtml.InlPres.type"/>
257
+ <xs:element
258
+ name="big"
259
+ type="xhtml.InlPres.type"/>
260
+ <xs:element
261
+ name="small"
262
+ type="xhtml.InlPres.type"/>
263
+ <xs:element
264
+ name="sub"
265
+ type="xhtml.InlPres.type"/>
266
+ <xs:element
267
+ name="sup"
268
+ type="xhtml.InlPres.type"/>
269
+ </xs:choice>
270
+ </xs:group>
271
+ <xs:group
272
+ name="xhtml.Anchor.class">
273
+ <xs:sequence>
274
+ <xs:element
275
+ name="a"
276
+ type="xhtml.a.type"/>
277
+ </xs:sequence>
278
+ </xs:group>
279
+ <xs:group
280
+ name="xhtml.InlSpecial.class">
281
+ <xs:choice>
282
+ <xs:element
283
+ name="img"
284
+ type="xhtml.img.type"/>
285
+ <xs:element
286
+ name="map"
287
+ type="xhtml.map.type"/>
288
+ <xs:element
289
+ name="object"
290
+ type="xhtml.object.type"/>
291
+ </xs:choice>
292
+ </xs:group>
293
+ <xs:group
294
+ name="xhtml.InlForm.class">
295
+ <xs:choice>
296
+ <xs:element
297
+ name="input"
298
+ type="xhtml.input.type"/>
299
+ <xs:element
300
+ name="select"
301
+ type="xhtml.select.type"/>
302
+ <xs:element
303
+ name="textarea"
304
+ type="xhtml.textarea.type"/>
305
+ <xs:element
306
+ name="label"
307
+ type="xhtml.label.type"/>
308
+ </xs:choice>
309
+ </xs:group>
310
+ <xs:group
311
+ name="xhtml.Inline.extra">
312
+ <xs:sequence/>
313
+ </xs:group>
314
+ <!--
315
+ Inline.class includes all inline elements,
316
+ used as a component in mixes
317
+ -->
318
+ <xs:group
319
+ name="xhtml.Inline.class">
320
+ <xs:choice>
321
+ <xs:group
322
+ ref="xhtml.InlStruct.class"/>
323
+ <xs:group
324
+ ref="xhtml.InlPhras.class"/>
325
+ <xs:group
326
+ ref="xhtml.InlPres.class"/>
327
+ <xs:group
328
+ ref="xhtml.Anchor.class"/>
329
+ <xs:group
330
+ ref="xhtml.InlSpecial.class"/>
331
+ <xs:group
332
+ ref="xhtml.InlForm.class"/>
333
+ <xs:group
334
+ ref="xhtml.Inline.extra"/>
335
+ </xs:choice>
336
+ </xs:group>
337
+ <!--
338
+ InlinePre.mix
339
+ Used as a component in pre model
340
+ -->
341
+ <xs:group
342
+ name="xhtml.InlinePre.mix">
343
+ <xs:choice>
344
+ <xs:group
345
+ ref="xhtml.InlStruct.class"/>
346
+ <xs:group
347
+ ref="xhtml.InlPhras.class"/>
348
+ <xs:element
349
+ name="tt"
350
+ type="xhtml.InlPres.type"/>
351
+ <xs:element
352
+ name="i"
353
+ type="xhtml.InlPres.type"/>
354
+ <xs:element
355
+ name="b"
356
+ type="xhtml.InlPres.type"/>
357
+ <xs:group
358
+ ref="xhtml.Anchor.class"/>
359
+ <xs:group
360
+ ref="xhtml.Misc.class"/>
361
+ <xs:group
362
+ ref="xhtml.Inline.extra"/>
363
+ </xs:choice>
364
+ </xs:group>
365
+ <!--
366
+ InlNoAnchor.class includes all non-anchor inlines,
367
+ used as a component in mixes
368
+ -->
369
+ <xs:group
370
+ name="xhtml.InlNoAnchor.class">
371
+ <xs:choice>
372
+ <xs:group
373
+ ref="xhtml.InlStruct.class"/>
374
+ <xs:group
375
+ ref="xhtml.InlPhras.class"/>
376
+ <xs:group
377
+ ref="xhtml.InlPres.class"/>
378
+ <xs:group
379
+ ref="xhtml.InlSpecial.class"/>
380
+ <xs:group
381
+ ref="xhtml.InlForm.class"/>
382
+ <xs:group
383
+ ref="xhtml.Inline.extra"/>
384
+ </xs:choice>
385
+ </xs:group>
386
+ <!--
387
+ InlNoAnchor.mix includes all non-anchor inlines
388
+ -->
389
+ <xs:group
390
+ name="xhtml.InlNoAnchor.mix">
391
+ <xs:choice>
392
+ <xs:group
393
+ ref="xhtml.InlNoAnchor.class"/>
394
+ <xs:group
395
+ ref="xhtml.Misc.class"/>
396
+ </xs:choice>
397
+ </xs:group>
398
+ <!--
399
+ Inline.mix includes all inline elements, including Misc.class
400
+ -->
401
+ <xs:group
402
+ name="xhtml.Inline.mix">
403
+ <xs:choice>
404
+ <xs:group
405
+ ref="xhtml.Inline.class"/>
406
+ <xs:group
407
+ ref="xhtml.Misc.class"/>
408
+ </xs:choice>
409
+ </xs:group>
410
+ <!--
411
+ In the HTML 4 DTD, heading and list elements were included
412
+ in the block group. The Heading.class and
413
+ List.class groups must now be included explicitly
414
+ on element declarations where desired.
415
+ -->
416
+ <xs:group
417
+ name="xhtml.Heading.class">
418
+ <xs:choice>
419
+ <xs:element
420
+ name="h1"
421
+ type="xhtml.h1.type"/>
422
+ <xs:element
423
+ name="h2"
424
+ type="xhtml.h2.type"/>
425
+ <xs:element
426
+ name="h3"
427
+ type="xhtml.h3.type"/>
428
+ <xs:element
429
+ name="h4"
430
+ type="xhtml.h4.type"/>
431
+ <xs:element
432
+ name="h5"
433
+ type="xhtml.h5.type"/>
434
+ <xs:element
435
+ name="h6"
436
+ type="xhtml.h6.type"/>
437
+ </xs:choice>
438
+ </xs:group>
439
+ <xs:group
440
+ name="xhtml.List.class">
441
+ <xs:choice>
442
+ <xs:element
443
+ name="ul"
444
+ type="xhtml.ul.type"/>
445
+ <xs:element
446
+ name="ol"
447
+ type="xhtml.ol.type"/>
448
+ <xs:element
449
+ name="dl"
450
+ type="xhtml.dl.type"/>
451
+ </xs:choice>
452
+ </xs:group>
453
+ <xs:group
454
+ name="xhtml.Table.class">
455
+ <xs:choice>
456
+ <xs:element
457
+ name="table"
458
+ type="xhtml.table.type"/>
459
+ </xs:choice>
460
+ </xs:group>
461
+ <xs:group
462
+ name="xhtml.Form.class">
463
+ <xs:choice>
464
+ <xs:element
465
+ name="form"
466
+ type="xhtml.form.type"/>
467
+ </xs:choice>
468
+ </xs:group>
469
+ <xs:group
470
+ name="xhtml.BlkStruct.class">
471
+ <xs:choice>
472
+ <xs:element
473
+ name="p"
474
+ type="xhtml.p.type"/>
475
+ <xs:element
476
+ name="div"
477
+ type="xhtml.div.type"/>
478
+ </xs:choice>
479
+ </xs:group>
480
+ <xs:group
481
+ name="xhtml.BlkPhras.class">
482
+ <xs:choice>
483
+ <xs:element
484
+ name="pre"
485
+ type="xhtml.pre.type"/>
486
+ <xs:element
487
+ name="blockquote"
488
+ type="xhtml.blockquote.type"/>
489
+ <xs:element
490
+ name="address"
491
+ type="xhtml.address.type"/>
492
+ </xs:choice>
493
+ </xs:group>
494
+ <xs:group
495
+ name="xhtml.BlkPres.class">
496
+ <xs:sequence>
497
+ <xs:element
498
+ name="hr"
499
+ type="xhtml.hr.type"/>
500
+ </xs:sequence>
501
+ </xs:group>
502
+ <xs:group
503
+ name="xhtml.BlkSpecial.class">
504
+ <xs:choice>
505
+ <xs:group
506
+ ref="xhtml.Table.class"/>
507
+ <xs:group
508
+ ref="xhtml.Form.class"/>
509
+ </xs:choice>
510
+ </xs:group>
511
+ <xs:group
512
+ name="xhtml.Block.extra">
513
+ <xs:sequence/>
514
+ </xs:group>
515
+ <!--
516
+ Block.class includes all block elements,
517
+ used as an component in mixes
518
+ -->
519
+ <xs:group
520
+ name="xhtml.Block.class">
521
+ <xs:choice>
522
+ <xs:group
523
+ ref="xhtml.BlkStruct.class"/>
524
+ <xs:group
525
+ ref="xhtml.BlkPhras.class"/>
526
+ <xs:group
527
+ ref="xhtml.BlkPres.class"/>
528
+ <xs:group
529
+ ref="xhtml.BlkSpecial.class"/>
530
+ <xs:group
531
+ ref="xhtml.Block.extra"/>
532
+ </xs:choice>
533
+ </xs:group>
534
+ <!--
535
+ Block.mix includes all block elements plus %Misc.class;
536
+ -->
537
+ <xs:group
538
+ name="xhtml.Block.mix">
539
+ <xs:choice>
540
+ <xs:group
541
+ ref="xhtml.Heading.class"/>
542
+ <xs:group
543
+ ref="xhtml.List.class"/>
544
+ <xs:group
545
+ ref="xhtml.Block.class"/>
546
+ <xs:group
547
+ ref="xhtml.Misc.class"/>
548
+ </xs:choice>
549
+ </xs:group>
550
+ <!--
551
+ All Content Elements
552
+ Flow.mix includes all text content, block and inline
553
+ Note that the "any" element included here allows us
554
+ to add data from any other namespace, a necessity
555
+ for compound document creation.
556
+ Note however that it is not possible to add
557
+ to any head level element without further
558
+ modification. To add RDF metadata to the head
559
+ of a document, modify the structure module.
560
+ -->
561
+ <xs:group
562
+ name="xhtml.Flow.mix">
563
+ <xs:choice>
564
+ <xs:group
565
+ ref="xhtml.Heading.class"/>
566
+ <xs:group
567
+ ref="xhtml.List.class"/>
568
+ <xs:group
569
+ ref="xhtml.Block.class"/>
570
+ <xs:group
571
+ ref="xhtml.Inline.class"/>
572
+ <xs:group
573
+ ref="xhtml.Misc.class"/>
574
+ </xs:choice>
575
+ </xs:group>
576
+ <!--
577
+ BlkNoForm.mix includes all non-form block elements,
578
+ plus Misc.class
579
+ -->
580
+ <xs:group
581
+ name="xhtml.BlkNoForm.mix">
582
+ <xs:choice>
583
+ <xs:group
584
+ ref="xhtml.Heading.class"/>
585
+ <xs:group
586
+ ref="xhtml.List.class"/>
587
+ <xs:group
588
+ ref="xhtml.BlkStruct.class"/>
589
+ <xs:group
590
+ ref="xhtml.BlkPhras.class"/>
591
+ <xs:group
592
+ ref="xhtml.BlkPres.class"/>
593
+ <xs:group
594
+ ref="xhtml.Table.class"/>
595
+ <xs:group
596
+ ref="xhtml.Block.extra"/>
597
+ <xs:group
598
+ ref="xhtml.Misc.class"/>
599
+ </xs:choice>
600
+ </xs:group>
601
+ <xs:element
602
+ name="html"
603
+ type="xhtml.html.type"/>
604
+ </xs:schema>