XHTML 1.1的W3C XML Schema在哪里?

5

有一个旧的W3C推荐包含了XHTML 1.0的XML模式,并声称1.1版本的模式即将推出。那么,W3C XML模式中的XHTML 1.1在哪里呢?

3个回答

6

5

XHTML 1.1的XML模式(XSD)被模块化为多个文件,因此,要进行验证,您需要在本地目录中提供以下文件:

http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml11-model-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml11-modules-1.xsd

有了这些文件(和网络访问),您可以像这样验证XHTML 1.1文件:

$ xmllint -noout -schema xhtml11.xsd foo.xml

如果没有网络访问,您还需要以下文件:

http://www.w3.org/2001/xml.xsd
http://www.w3.org/2009/01/xml.xsd # -> xml_2009_01.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-attribs-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-base-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-bdo-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-blkphras-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-blkpres-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-blkstruct-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-charent-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-csismap-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-datatypes-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-datatypes-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-edit-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-events-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-form-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-framework-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-hypertext-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-image-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-inlphras-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-inlpres-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-inlstruct-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-inlstyle-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-link-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-list-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-meta-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-notations-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-object-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-param-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-param-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-pres-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-ruby-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-script-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-ssismap-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-struct-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-style-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-table-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-target-1.xsd
http://www.w3.org/MarkUp/SCHEMA/xhtml-text-1.xsd

然后使用以下类似的方法调整架构位置:

$ sed -i 's@schemaLocation="http://www.w3.org/2009/01/xml.xsd"@schemaLocation="xml_2009_01.xsd"@' *.xsd
$ sed -i 's@schemaLocation="[^"]\+/\([^"]\+\)"@schemaLocation="\1"@' *.xsd

使用生成的文件,您可以像这样本地验证XHTML 1.1文件:

$ xmllint -noout -schema xhtml11.xsd -nonet foo.xml

浏览时,可以使用XHTML 1.1 XML Schema Defintion附录中包含的内联模块。


3

完全错了:XML Schema 1.1不是XHTML 1.1的模式。 - bmargulies
有没有在线托管的文件,以便XML处理器可以自动访问它们? - Luke Puplett

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接