以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  怎么schema文件没有被使用呢  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=5468)


--  作者:初学进阶
--  发布时间:2/26/2004 2:58:00 PM

--  怎么schema文件没有被使用呢
我用XMLSPY v5编写了一个例子,如下
档案目录.xml
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="D:\档案目录\档案目录.xslt"?>
<明清档案目录 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\档案目录\档案目录.xsd">
 <档号>0001-001</档号>
 <缩微号>001-0015</缩微号>
 <文本>奏折</文本>
 <官职爵位a>督察院左副都御史</官职爵位a>
 <责任者a>二格</责任者a>
 <文件起始时间>061101026</文件起始时间>
 <题名>奏为请设口外道员以责成事</题名>
 <分类主号a>C111</分类主号a>
 <a地区1>61</a地区1>
 <a地区2>62</a地区2>
</明清档案目录>

档案目录.xsd
<?xml version="1.0" encoding="GB2312"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Williams (501) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
 <xs:element name="明清档案目录" type="明清档案目录类型"/>
 <xs:complexType name="明清档案目录类型">
  <xs:sequence>
   <xs:element name="档号" type="xs:string"/>
   <xs:element name="缩微号" type="xs:string"/>
   <xs:element name="文本" type="xs:string"/>
   <xs:element name="官职爵位a" type="xs:string"/>
   <xs:element name="责任者a" type="xs:string"/>
   <xs:element name="文件起始时间" type="xs:string"/>
   <xs:element name="题名" type="xs:string"/>
   <xs:element name="分类主号a" type="xs:string"/>
   <xs:element name="a地区1" type="xs:string"/>
   <xs:element name="a地区2" type="xs:string"/>
  </xs:sequence>
 </xs:complexType>
</xs:schema>

档案目录.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xsl:template match="/">
        <html>
            <head />
            <body>                                                           明清档案目录<br />
                <table border="1" width="100%">
                    <tbody>
                        <tr>
                            <td>档号</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="档号">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                        <tr>
                            <td>缩微号</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="缩微号">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                        <tr>
                            <td>文本</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="文本">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                        <tr>
                            <td>官职爵位a</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="官职爵位a">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                        <tr>
                            <td>责任者a</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="责任者a">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                        <tr>
                            <td>文件起始时间</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="文件起始时间">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                        <tr>
                            <td>题名</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="题名">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                        <tr>
                            <td>分类主号a</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="分类主号a">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                        <tr>
                            <td>a地区1</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="a地区1">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                        <tr>
                            <td>a地区2</td>
                            <td>
                                <xsl:for-each select="明清档案目录">
                                    <xsl:for-each select="a地区2">
                                        <xsl:apply-templates />
                                    </xsl:for-each>
                                </xsl:for-each>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
此程序在xmlspy中可运行,但我用ie打开“档案目录.xml”时,发现“档案目录.xsd”文件没有被使用,我将“档案目录.xsd”文件删除后,“档案目录.xml”文件仍可用ie浏览器打开,请问这是怎么回事呀


--  作者:hyandlsz
--  发布时间:4/1/2004 11:38:00 AM

--  
scheme是用来作为词汇表,供交流或检查错误,IE中自带有MSXML,所以可以解析XML文件。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
93.750ms