Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
管理XML文件需要什么?_Xml_Xslt_Browser_Xquery_Dtd - Fatal编程技术网

管理XML文件需要什么?

管理XML文件需要什么?,xml,xslt,browser,xquery,dtd,Xml,Xslt,Browser,Xquery,Dtd,如果我想在浏览器中显示模式并使其看起来“漂亮”,我相信我需要一个DTD来定义模式和一个XSLT。但是我不确定我还需要什么才能拥有一个定义良好的XML文档,可以使用XQuery查询并显示在web浏览器中。严格来说,您什么都不需要。即使没有模式定义,XML也可以工作 模式定义(在XSD、RelaxNG或DTD中)有助于使用XML的各种工具,因为它们可以验证XML的结构是否符合您的要求 如果XML包含您希望通过浏览器查看的信息,那么将XSLT转换为HTML很好。不过,这远不是必要的 要使用XPath或

如果我想在浏览器中显示模式并使其看起来“漂亮”,我相信我需要一个DTD来定义模式和一个XSLT。但是我不确定我还需要什么才能拥有一个定义良好的XML文档,可以使用XQuery查询并显示在web浏览器中。

严格来说,您什么都不需要。即使没有模式定义,XML也可以工作

模式定义(在XSD、RelaxNG或DTD中)有助于使用XML的各种工具,因为它们可以验证XML的结构是否符合您的要求

如果XML包含您希望通过浏览器查看的信息,那么将XSLT转换为HTML很好。不过,这远不是必要的


要使用XPath或XQuery查询XML,您需要一个XPath或XQuery处理器。

要使用XQquery查询XML文档,您不必定义DTD或XSD。DTD或XSD的目的是定义XML文档的严格结构,并允许在使用前进行验证

现代浏览器很好地解释XML文件,并显示DOM树。如果需要为浏览器显示增强XML格式,则必须创建XSLT转换文件,然后向原始XML文档添加指向XSLT文件的指令。浏览器选择该指令并使用内置XSLT处理器获取输出,然后由浏览器进行解释

info.xml

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="info.xslt"?>
<info>
    <appName>My App</appName>
    <version>1.0.129</version>
    <buildTime>10-09-2008 12:44:03</buildTime>
</info>

我的应用程序
1.0.129
10-09-2008 12:44:03
info.xslt

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <html>
            <head>
                <title>Application</title>
                <style type="text/css">
                    body { font-family: Lucida Console; }
                    #outer { text-align: left; }
                    #name {
                        font-weight: bold;
                        font-size: 1.2em;
                    }
                    #logo {
                        float: left;
                        padding-right: 20px;
                        padding-bottom: 200px;
                    }
                </style>
            </head>
            <body>
                <xsl:apply-templates select="info" />
            </body>
        </html>
    </xsl:template>

    <xsl:template match="info">
        <img id="logo" src="image.png" />
        <div id="outer">
            <div id="name">
                <xsl:value-of select="appName"/>
            </div>
            <div id="version">
                <xsl:value-of select="version"/>
            </div>
            <div id="date">
                <xsl:value-of select="buildTime"/>
            </div>
        </div>
    </xsl:template>
</xsl:stylesheet>

应用
正文{font系列:Lucida控制台;}
#外部{文本对齐:左;}
#名字{
字体大小:粗体;
字体大小:1.2米;
}
#标志{
浮动:左;
右边填充:20px;
垫底:200px;
}