命名空间麻烦

我是XML新手。 这是一项家庭作业。 我已尽我所能,但无法获取实例文档进行验证。 我不断收到错误

“无法找到元素”网站“的声明。”

我想我可能已经错误地声明了一些名称空间,或者可能是schemaLocations。 任何人都可以将我指向正确的方向吗?

作业步骤:

  • 在sites.xml文件中,向根网站元素添加一个名称空间声明,将xs前缀与XML架构名称空间的URI相关联。 为文件指定默认名称空间ht tp://example.com/weekendfunsnacks/sites。 指定sites.xsd作为默认名称空间的模式位置。

  • 在sites.xsd文件的根元素中,将目标名称空间指定为ht tp://example.com/weekendfunsnacks/sites,然后将前缀cc与目标名称空间相关联。 将前缀sm与命名空间ht tp://www.sitemaps.org/schemas/sitemap/0.9关联。 指定默认情况下,元素是合格的,并且该属性在默认情况下是不合格的。

  • 添加代码以从ht tp://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd的位置导入ht tp://www.sitemaps.org/schemas/sitemap/0.9命名空间的模式。

  • 立即在totalPages元素声明之后,从ht tp://www.sitemaps.org/schemas/sitemap/0.9命名空间添加对urlset元素的引用。

  • 实例文档:

    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
        <!--
           Filename:         sites.xml
           Supporting Files: sites.xsd
        -->
        <sites xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://example.com/weekendfunsnacks/sites" xs:noNamespaceSchemaLocation="sites.xsd">
            <site>
                <name>Weekend Fun Snacks</name>
                <totalPages>127</totalPages>
                <urlset xmlns:sm="http://www.sitemaps.org/schemas/sitemap/0.9" sm:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> 
                 <url>
                    <loc>http://example.com/weekendfunsnacks/?cat=58</loc>
                 </url>
                 <url>
                    <loc>http://example.com/weekendfunsnacks/?cat=2</loc>
                    <lastmod>2017-12-29T06:03:34+00:00</lastmod>
                 </url>
                 <url>
                    <loc>http://example.com/weekendfunsnacks/?cat=15</loc>
                    <lastmod>2017-12-29T05:24:04+00:00</lastmod>
                 </url>
                 <url>
                    <loc>http://example.com/weekendfunsnacks/?cat=93</loc>
                 </url>
                 <url>
                    <loc>http://example.com/weekendfunsnacks/?cat=55</loc>
                 </url>
               </urlset> 
            </site>
            <site>
                <name>Paleo Snacks</name>
                <totalPages>52</totalPages>
                <urlset xmlns:sm="http://www.sitemaps.org/schemas/sitemap/0.9" sm:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> 
                 <url>
                    <loc>http://example.com/primalsnacks/?cat=6</loc>
                 </url>
                 <url>
                    <loc>http://example.com/primalsnacks/?cat=18</loc>
                    <lastmod>2017-09-19T17:13:19+00:00</lastmod>
                 </url>
                 <url>
                    <loc>http://example.com/primalsnacks/?cat=54</loc>
                    <lastmod>2017-09-19T15:24:01+00:00</lastmod>
                 </url>
                 <url>
                    <loc>http://example.com/primalsnacks/?cat=52</loc>
                    <lastmod>2017-09-28T21:03:11+00:00</lastmod>
                 </url>
                 <url>
                    <loc>http://example.com/primalsnacks/?cat=201</loc>
                    <lastmod>2017-10-06T07:03:26+00:00</lastmod>
                 </url>
                 <url>
                    <loc>http://example.com/primalsnacks/?cat=11</loc>
                 </url>
               </urlset> 
            </site>
            <site>
                <name>Veg Snacks</name>
                <totalPages>17</totalPages>
                <urlset xmlns:sm="http://www.sitemaps.org/schemas/sitemap/0.9" sm:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> 
                 <url>
                    <loc>http://example.com/vegsnacks/?cat=102</loc>
                 </url>
                 <url>
                    <loc>http://example.com/vegsnacks/?cat=23</loc>
                 </url>
                 <url>
                    <loc>http://example.com/vegsnacks/?cat=1</loc>
                 </url>
                 <url>
                    <loc>http://example.com/vegsnacks/?cat=55</loc>
                    <lastmod>2017-06-12T08:05:32+00:00</lastmod>
                 </url>
                 <url>
                    <loc>http://example.com/vegsnacks/?cat=201</loc>
                 </url>
                 <url>
                    <loc>http://example.com/vegsnacks/?cat=87</loc>
                 </url>
               </urlset> 
            </site>
        </sites>
    

    .xsd文件:

    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="cc:http://example.com/weekendfunsnacks/sites" xmlns:sm="http://www.sitemaps.org/schemas/sitemap/0.9" attributeFormDefault="unqualified" elementFormDefault="qualified">
       <xs:element name="sites">
          <xs:complexType>
             <xs:sequence>
                <xs:element name="site" maxOccurs="unbounded" minOccurs="0">
                   <xs:complexType>
                      <xs:sequence>
                         <xs:element type="xs:string" name="name"/>
                         <xs:element type="xs:byte" name="totalPages"/>
                      </xs:sequence>
                   </xs:complexType>
                </xs:element>
             </xs:sequence>
          </xs:complexType>
       </xs:element>
    </xs:schema>
    

    名称空间不匹配。 该架构适用于名称空间cc:http://example.com/weekendfunsnacks/sites ,但实例文档位于名称空间http://example.com/weekendfunsnacks/sites

    链接地址: http://www.djcxy.com/p/65715.html

    上一篇: Namespace Trouble

    下一篇: Standard way of publishing xml schemas