Permalink
Browse files

adding support for validating XHTML+RDFa

  • Loading branch information...
1 parent 20dc4e8 commit c6601c29b958e7a1ecc8b0a5d59cf8a88fecad2e Jason Ronallo committed Aug 4, 2009
Showing with 12,873 additions and 1 deletion.
  1. +88 −0 Manifest.txt
  2. +1 −1 lib/markup_validity.rb
  3. +1,095 −0 lib/markup_validity/MarkUp.html
  4. +90 −0 lib/markup_validity/SCHEMA.html
  5. +7 −0 lib/markup_validity/assertions.rb
  6. +25 −0 lib/markup_validity/examples.html
  7. +19 −0 lib/markup_validity/rspec.rb
  8. +15 −0 lib/markup_validity/templates.html
  9. +5 −0 lib/markup_validity/validator.rb
  10. +166 −0 lib/markup_validity/xframes-1.xsd
  11. +43 −0 lib/markup_validity/xhtml-access-1.xsd
  12. +66 −0 lib/markup_validity/xhtml-applet-1.xsd
  13. +67 −0 lib/markup_validity/xhtml-attribs-1.xsd
  14. +31 −0 lib/markup_validity/xhtml-base-1.xsd
  15. +195 −0 lib/markup_validity/xhtml-basic-form-1.xsd
  16. +169 −0 lib/markup_validity/xhtml-basic-table-1.xsd
  17. +385 −0 lib/markup_validity/xhtml-basic10-model-1.xsd
  18. +61 −0 lib/markup_validity/xhtml-basic10-module-redefines-1.xsd
  19. +233 −0 lib/markup_validity/xhtml-basic10-modules-1.xsd
  20. +99 −0 lib/markup_validity/xhtml-basic10.xsd
  21. +622 −0 lib/markup_validity/xhtml-basic11-model-1.xsd
  22. +508 −0 lib/markup_validity/xhtml-basic11-modules-1.xsd
  23. +105 −0 lib/markup_validity/xhtml-basic11.xsd
  24. +72 −0 lib/markup_validity/xhtml-bdo-1.xsd
  25. +155 −0 lib/markup_validity/xhtml-blkphras-1.xsd
  26. +32 −0 lib/markup_validity/xhtml-blkpres-1.xsd
  27. +44 −0 lib/markup_validity/xhtml-blkstruct-1.xsd
  28. +38 −0 lib/markup_validity/xhtml-charent-1.xsd
  29. +29 −0 lib/markup_validity/xhtml-copyright-1.xsd
  30. +91 −0 lib/markup_validity/xhtml-csismap-1.xsd
  31. +177 −0 lib/markup_validity/xhtml-datatypes-1.xsd
  32. +34 −0 lib/markup_validity/xhtml-edit-1.xsd
  33. +130 −0 lib/markup_validity/xhtml-events-1.xsd
  34. +321 −0 lib/markup_validity/xhtml-form-1.xsd
  35. +113 −0 lib/markup_validity/xhtml-frames-1.xsd
  36. +62 −0 lib/markup_validity/xhtml-framework-1.xsd
  37. +47 −0 lib/markup_validity/xhtml-hypertext-1.xsd
  38. +68 −0 lib/markup_validity/xhtml-iframe-1.xsd
  39. +40 −0 lib/markup_validity/xhtml-image-1.xsd
  40. +158 −0 lib/markup_validity/xhtml-inlphras-1.xsd
  41. +34 −0 lib/markup_validity/xhtml-inlpres-1.xsd
  42. +45 −0 lib/markup_validity/xhtml-inlstruct-1.xsd
  43. +22 −0 lib/markup_validity/xhtml-inlstyle-1.xsd
  44. +35 −0 lib/markup_validity/xhtml-inputmode-1.xsd
  45. +97 −0 lib/markup_validity/xhtml-legacy-1.xsd
  46. +45 −0 lib/markup_validity/xhtml-link-1.xsd
  47. +94 −0 lib/markup_validity/xhtml-list-1.xsd
  48. +54 −0 lib/markup_validity/xhtml-meta-1.xsd
  49. +39 −0 lib/markup_validity/xhtml-metaAttributes-1.xsd
  50. +441 −0 lib/markup_validity/xhtml-misc-1.xsd
  51. +63 −0 lib/markup_validity/xhtml-nameident-1.xsd
  52. +69 −0 lib/markup_validity/xhtml-notations-1.xsd
  53. +71 −0 lib/markup_validity/xhtml-object-1.xsd
  54. +46 −0 lib/markup_validity/xhtml-param-1.xsd
  55. +46 −0 lib/markup_validity/xhtml-pres-1.xsd
  56. +85 −0 lib/markup_validity/xhtml-print-1.xsd
  57. +604 −0 lib/markup_validity/xhtml-print-model-1.xsd
  58. +422 −0 lib/markup_validity/xhtml-print-modules-1.xsd
  59. +438 −0 lib/markup_validity/xhtml-rdfa-1.dtd
  60. +116 −0 lib/markup_validity/xhtml-rdfa-1.xsd
  61. +461 −0 lib/markup_validity/xhtml-rdfa-model-1.xsd
  62. +548 −0 lib/markup_validity/xhtml-rdfa-modules-1.xsd
  63. +170 −0 lib/markup_validity/xhtml-ruby-1.xsd
  64. +84 −0 lib/markup_validity/xhtml-ruby-basic-1.xsd
  65. +65 −0 lib/markup_validity/xhtml-script-1.xsd
  66. +38 −0 lib/markup_validity/xhtml-ssismap-1.xsd
  67. +85 −0 lib/markup_validity/xhtml-struct-1.xsd
  68. +47 −0 lib/markup_validity/xhtml-style-1.xsd
  69. +267 −0 lib/markup_validity/xhtml-table-1.xsd
  70. +49 −0 lib/markup_validity/xhtml-target-1.xsd
  71. +62 −0 lib/markup_validity/xhtml-text-1.xsd
  72. +715 −0 lib/markup_validity/xhtml11-model-1.xsd
  73. +335 −0 lib/markup_validity/xhtml11-module-redefines-1.xsd
  74. +605 −0 lib/markup_validity/xhtml11-modules-1.xsd
  75. +107 −0 lib/markup_validity/xhtml11.xsd
  76. +21 −0 lib/markup_validity/xhtml2.xsd
  77. +73 −0 lib/markup_validity/xml-events-1.xsd
  78. +73 −0 lib/markup_validity/xml-events-2.xsd
  79. +73 −0 lib/markup_validity/xml-events-attribs-1.xsd
  80. +75 −0 lib/markup_validity/xml-events-attribs-2.xsd
  81. +34 −0 lib/markup_validity/xml-events-copyright-1.xsd
  82. +34 −0 lib/markup_validity/xml-events-copyright-2.xsd
  83. +136 −0 lib/markup_validity/xml-handlers-1.xsd
  84. +98 −0 lib/markup_validity/xml-handlers-2.xsd
  85. +38 −0 lib/markup_validity/xml-script-1.xsd
  86. +8 −0 spec/matcher_spec.rb
View
@@ -4,14 +4,102 @@ Manifest.txt
README.rdoc
Rakefile
lib/markup_validity.rb
+lib/markup_validity/MarkUp.html
+lib/markup_validity/SCHEMA.html
lib/markup_validity/assertions.rb
+lib/markup_validity/examples.html
lib/markup_validity/rspec.rb
+lib/markup_validity/templates.html
lib/markup_validity/validator.rb
+lib/markup_validity/xframes-1.xsd
+lib/markup_validity/xhtml-access-1.xsd
+lib/markup_validity/xhtml-applet-1.xsd
+lib/markup_validity/xhtml-attribs-1.xsd
+lib/markup_validity/xhtml-base-1.xsd
+lib/markup_validity/xhtml-basic-form-1.xsd
+lib/markup_validity/xhtml-basic-table-1.xsd
+lib/markup_validity/xhtml-basic10-model-1.xsd
+lib/markup_validity/xhtml-basic10-module-redefines-1.xsd
+lib/markup_validity/xhtml-basic10-modules-1.xsd
+lib/markup_validity/xhtml-basic10.xsd
+lib/markup_validity/xhtml-basic11-model-1.xsd
+lib/markup_validity/xhtml-basic11-modules-1.xsd
+lib/markup_validity/xhtml-basic11.xsd
+lib/markup_validity/xhtml-bdo-1.xsd
+lib/markup_validity/xhtml-blkphras-1.xsd
+lib/markup_validity/xhtml-blkpres-1.xsd
+lib/markup_validity/xhtml-blkstruct-1.xsd
+lib/markup_validity/xhtml-charent-1.xsd
+lib/markup_validity/xhtml-copyright-1.xsd
+lib/markup_validity/xhtml-csismap-1.xsd
+lib/markup_validity/xhtml-datatypes-1.xsd
+lib/markup_validity/xhtml-edit-1.xsd
+lib/markup_validity/xhtml-events-1.xsd
+lib/markup_validity/xhtml-form-1.xsd
+lib/markup_validity/xhtml-frames-1.xsd
+lib/markup_validity/xhtml-framework-1.xsd
+lib/markup_validity/xhtml-hypertext-1.xsd
+lib/markup_validity/xhtml-iframe-1.xsd
+lib/markup_validity/xhtml-image-1.xsd
+lib/markup_validity/xhtml-inlphras-1.xsd
+lib/markup_validity/xhtml-inlpres-1.xsd
+lib/markup_validity/xhtml-inlstruct-1.xsd
+lib/markup_validity/xhtml-inlstyle-1.xsd
+lib/markup_validity/xhtml-inputmode-1.xsd
+lib/markup_validity/xhtml-lat1.ent
+lib/markup_validity/xhtml-legacy-1.xsd
+lib/markup_validity/xhtml-link-1.xsd
+lib/markup_validity/xhtml-list-1.xsd
+lib/markup_validity/xhtml-meta-1.xsd
+lib/markup_validity/xhtml-metaAttributes-1.xsd
+lib/markup_validity/xhtml-misc-1.xsd
+lib/markup_validity/xhtml-nameident-1.xsd
+lib/markup_validity/xhtml-notations-1.xsd
+lib/markup_validity/xhtml-object-1.xsd
+lib/markup_validity/xhtml-param-1.xsd
+lib/markup_validity/xhtml-pres-1.xsd
+lib/markup_validity/xhtml-print-1.xsd
+lib/markup_validity/xhtml-print-model-1.xsd
+lib/markup_validity/xhtml-print-modules-1.xsd
+lib/markup_validity/xhtml-rdfa-1.dtd
+lib/markup_validity/xhtml-rdfa-1.xsd
+lib/markup_validity/xhtml-rdfa-model-1.xsd
+lib/markup_validity/xhtml-rdfa-modules-1.xsd
+lib/markup_validity/xhtml-ruby-1.xsd
+lib/markup_validity/xhtml-ruby-basic-1.xsd
+lib/markup_validity/xhtml-script-1.xsd
+lib/markup_validity/xhtml-special.ent
+lib/markup_validity/xhtml-ssismap-1.xsd
+lib/markup_validity/xhtml-struct-1.xsd
+lib/markup_validity/xhtml-style-1.xsd
+lib/markup_validity/xhtml-symbol.ent
+lib/markup_validity/xhtml-table-1.xsd
+lib/markup_validity/xhtml-target-1.xsd
+lib/markup_validity/xhtml-text-1.xsd
+lib/markup_validity/xhtml1-strict.dtd
lib/markup_validity/xhtml1-strict.xsd
+lib/markup_validity/xhtml1-transitional.dtd
lib/markup_validity/xhtml1-transitional.xsd
+lib/markup_validity/xhtml11-model-1.xsd
+lib/markup_validity/xhtml11-module-redefines-1.xsd
+lib/markup_validity/xhtml11-modules-1.xsd
+lib/markup_validity/xhtml11.xsd
+lib/markup_validity/xhtml2.xsd
+lib/markup_validity/xml-events-1.xsd
+lib/markup_validity/xml-events-2.xsd
+lib/markup_validity/xml-events-attribs-1.xsd
+lib/markup_validity/xml-events-attribs-2.xsd
+lib/markup_validity/xml-events-copyright-1.xsd
+lib/markup_validity/xml-events-copyright-2.xsd
+lib/markup_validity/xml-handlers-1.xsd
+lib/markup_validity/xml-handlers-2.xsd
+lib/markup_validity/xml-script-1.xsd
lib/markup_validity/xml.xsd
spec/matcher_spec.rb
+test/assets/invalid_entity.xhtml
+test/assets/invalid_entity_transitional.xhtml
test/assets/order.xml
test/assets/shipment.xsd
test/helper.rb
test/test_markup_validity.rb
+
View
@@ -4,7 +4,7 @@
require 'markup_validity/rspec'
module MarkupValidity
- VERSION = '1.0.0'
+ VERSION = '1.0.1'
end
if defined? Test::Unit::TestCase

Large diffs are not rendered by default.

Oops, something went wrong.

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -15,6 +15,13 @@ def assert_xhtml_strict xhtml
assert validator.valid?, validator.inspect
end
+ ###
+ # Assert that +xhtml+ is valid XHTML+RDFa
+ def asser_xhtml_rdfa xhtml
+ validator = Validator.new xhtml, Validator::XHTML1_RDFA
+ assert validator.valid?, validator.inspect
+ end
+
###
# Assert that +xml+ conforms to +schema+
def assert_schema schema, xml
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Index of /MarkUp/SCHEMA/examples</title>
+ </head>
+ <body>
+<h1>Index of /MarkUp/SCHEMA/examples</h1>
+<table><tr><th><img src="/icons/blank.gif" alt="[ICO]" width="20" height="22" /></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr><tr><th colspan="5"><hr /></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[DIR]" width="20" height="22" /></td><td><a href="/MarkUp/SCHEMA/">Parent Directory</a></td><td>&nbsp;</td><td align="right"> - </td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="mathml-model-1.xsd">mathml-model-1.xsd</a></td><td align="right">11-Jun-2008 17:26 </td><td align="right">628 </td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="myml-1_0.xsd">myml-1_0.xsd</a></td><td align="right">08-Oct-2008 20:27 </td><td align="right">3.3K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="myml-model-1.xsd">myml-model-1.xsd</a></td><td align="right">08-Oct-2008 20:27 </td><td align="right"> 10K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="myml-module-1.xsd">myml-module-1.xsd</a></td><td align="right">08-Oct-2008 20:27 </td><td align="right">2.0K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="myml-modules-1.xsd">myml-modules-1.xsd</a></td><td align="right">08-Oct-2008 20:27 </td><td align="right">8.7K</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="myml-noprefix.html">myml-noprefix.html</a></td><td align="right">11-Jun-2008 17:26 </td><td align="right">723 </td><td>An example using defaults</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="myml-prefixed.html">myml-prefixed.html</a></td><td align="right">11-Jun-2008 17:26 </td><td align="right">749 </td><td>An example using defaults</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="simple-noprefix.html">simple-noprefix.html</a></td><td align="right">11-Jun-2008 17:26 </td><td align="right">708 </td><td>An example using defaults</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="simple-prefixed.html">simple-prefixed.html</a></td><td align="right">11-Jun-2008 17:26 </td><td align="right">689 </td><td>An example using defaults</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="simpleml-1_0.xsd">simpleml-1_0.xsd</a></td><td align="right">08-Oct-2008 20:27 </td><td align="right">1.2K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="simpleml-module-1.xsd">simpleml-module-1.xsd</a></td><td align="right">08-Oct-2008 20:27 </td><td align="right">1.6K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="xhtml-mathml.xsd">xhtml-mathml.xsd</a></td><td align="right">11-Jun-2008 17:26 </td><td align="right">725 </td></tr>
+<tr><th colspan="5"><hr /></th></tr>
+</table>
+</body></html>
@@ -36,6 +36,25 @@ def be_xhtml_strict
end
end
+ ###
+ # Assert that something is XHTML+RDFa
+ def be_xhtml_rdfa
+ Matcher.new :be_xhtml_strict do
+ validator = nil
+ match do |xhtml|
+ validator = MarkupValidity::Validator.new(
+ xhtml,
+ MarkupValidity::Validator::XHTML1_RDFA
+ )
+ validator.valid?
+ end
+
+ failure_message_for_should do |actual|
+ validator.inspect
+ end
+ end
+ end
+
###
# Assert that something validates given +schema+
def be_valid_with_schema schema
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Index of /MarkUp/SCHEMA/templates</title>
+ </head>
+ <body>
+<h1>Index of /MarkUp/SCHEMA/templates</h1>
+<table><tr><th><img src="/icons/blank.gif" alt="[ICO]" width="20" height="22" /></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr><tr><th colspan="5"><hr /></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[DIR]" width="20" height="22" /></td><td><a href="/MarkUp/SCHEMA/">Parent Directory</a></td><td>&nbsp;</td><td align="right"> - </td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="model-template-1.xsd">model-template-1.xsd</a></td><td align="right">08-Oct-2008 20:27 </td><td align="right">2.6K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[ ]" width="20" height="22" /></td><td><a href="module-template-1.xsd">module-template-1.xsd</a></td><td align="right">08-Oct-2008 20:27 </td><td align="right">1.7K</td></tr>
+<tr><th colspan="5"><hr /></th></tr>
+</table>
+</body></html>
@@ -5,6 +5,7 @@ class Validator # :nodoc:
File.read('xhtml1-transitional.xsd')
)
XHTML1_STRICT = Nokogiri::XML::Schema(File.read('xhtml1-strict.xsd'))
+ XHTML1_RDFA = Nokogiri::XML::Schema(File.read('xhtml-rdfa-1.xsd'))
end
DTD_REFS = {
@@ -16,6 +17,10 @@ class Validator # :nodoc:
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd',
'xhtml1-transitional.dtd'
],
+ XHTML1_RDFA => [
+ 'http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd',
+ 'xhtml-rdfa-1.dtd'
+ ]
}
attr_reader :errors
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.w3.org/2002/06/xframes/"
+ xmlns="http://www.w3.org/2002/06/xframes/"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace"
+ elementFormDefault="qualified">
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ This is XFrames - an XML application for composing documents together.
+ URI: http://www.w3.org/MarkUp/SCHEMA/xframes-1.xsd
+
+ Copyright ©2002-2005 W3C (MIT, ERCIM, Keio), All Rights Reserved.
+
+ Editor: Masayasu Ishikawa (mimasa@w3.org)
+ Revision: $Id: xframes-1.xsd,v 1.9 2005/10/05 23:56:45 mimasa Exp $
+
+ Permission to use, copy, modify and distribute this XML Schema for
+ XFrames 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 this XML Schema
+ for any purpose.
+
+ It is provided "as is" without expressed or implied warranty.
+ </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 xml:lang="en">
+ Get access to the XML namespace
+ </xs:documentation>
+ </xs:annotation>
+ </xs:import>
+
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ Datatypes
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:simpleType name="ContentType.datatype">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ media type, as per [RFC2045]
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+
+ <xs:simpleType name="MediaDesc.datatype">
+ <xs:annotation>
+ <xs:documentation>
+ A comma-separated list of media descriptors as described by [CSS2].
+ The default is all.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[^,]+(,\s*[^,]+)*"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="QName.datatype">
+ <xs:annotation>
+ <xs:documentation>
+ An [XMLNS]-qualified name.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:QName"/>
+ </xs:simpleType>
+
+ <xs:simpleType name="URI.datatype">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ An Internationalized Resource Identifier Reference, as defined
+ by [IRI].
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:anyURI"/>
+ </xs:simpleType>
+
+ <xs:attributeGroup name="Common.attrib">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+ Common attributes
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="class" type="xs:NMTOKENS"/>
+ <xs:attribute ref="xml:id"/>
+ <xs:attribute name="title" type="xs:string"/>
+ </xs:attributeGroup>
+
+ <xs:element name="frames">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" ref="head"/>
+ <xs:choice>
+ <xs:element ref="group"/>
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="frame"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attributeGroup ref="Common.attrib"/>
+ <xs:attribute ref="xml:base"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="head">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="title"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="style"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="Common.attrib"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="title">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="Common.attrib"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="style">
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="Common.attrib"/>
+ <xs:attribute name="type" type="ContentType.datatype" use="required"/>
+ <xs:attribute name="media" type="MediaDesc.datatype"/>
+ <xs:attribute name="source" type="URI.datatype"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="group">
+ <xs:complexType>
+ <xs:choice minOccurs="1" maxOccurs="unbounded">
+ <xs:element ref="group"/>
+ <xs:element ref="frame"/>
+ </xs:choice>
+ <xs:attributeGroup ref="Common.attrib"/>
+ <xs:attribute name="compose" default="vertical">
+ <xs:simpleType>
+ <xs:union memberTypes="QName.datatype">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="vertical"/>
+ <xs:enumeration value="horizontal"/>
+ <xs:enumeration value="single"/>
+ <xs:enumeration value="free"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="frame">
+ <xs:complexType>
+ <xs:attributeGroup ref="Common.attrib"/>
+ <xs:attribute name="source" type="URI.datatype"/>
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
Oops, something went wrong.

0 comments on commit c6601c2

Please sign in to comment.