【问题标题】:Where is the W3C XML Schema for XHTML 1.1?XHTML 1.1 的 W3C XML 模式在哪里?
【发布时间】:2018-01-18 15:52:37
【问题描述】:

有一个旧的 W3C 建议包含 XHTML 1.0 的 XML 模式,并声称 1.1 的模式即将推出。 XHTML 1.1 的 W3C XML 模式在哪里?

【问题讨论】:

    标签: xml xhtml schema


    【解决方案1】:

    这是官方托管版本:

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

    【讨论】:

      【解决方案2】:

      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 appendix 包含内联模块。

      【讨论】:

        【解决方案3】:

        【讨论】:

        • 这完全是错误的:XML Schema 1.1 与 XHTML 1.1 的模式不同。
        • 是否没有任何在线托管文件以便 XML 处理器可以自动访问它们?
        猜你喜欢
        • 1970-01-01
        • 2020-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-07
        • 1970-01-01
        • 1970-01-01
        • 2012-10-14
        相关资源
        最近更新 更多