我需要啥来管理 XML 文件?

Posted

技术标签:

【中文标题】我需要啥来管理 XML 文件?【英文标题】:What do I need to manage XML files?我需要什么来管理 XML 文件? 【发布时间】:2010-09-09 01:18:17 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

如果 XML 包含您想用浏览器查看的信息,那么 XSLT 到 html 的转换是很好的。不过,这远非必要。

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

【讨论】:

【参考方案2】:

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

现代浏览器可以很好地解释 XML 文件并显示 DOM 树。如果需要为浏览器显示增强 XML 格式,则必须创建 XSLT 转换文件,然后将指令添加到指向 XSLT 文件的原始 XML 文档。浏览器选择该指令并使用内置的 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>

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>

【讨论】:

以上是关于我需要啥来管理 XML 文件?的主要内容,如果未能解决你的问题,请参考以下文章

我需要做啥来修复我的 Heroku 构建?

错误 c3867,不知道我需要做啥来修复

我应该使用啥来获得更好的性能、九个补丁或可绘制的 xml 资源?

我的服务器需要啥来支持 java webprojects?

Lua 脚本在第 448 行给出错误,在脚本末尾,我需要添加啥来结束脚本?

需要做些啥来实现对 Javascript 的多屏幕支持?