Pregunta

Creo que necesito un DTD para definir el esquema y un XSLT si quiero que se muestre en un navegador y que se vea "bonito".Pero no estoy seguro de qué más necesitaría tener un documento XML bien definido. que pueden ser consultados en el uso de XQuery y se muestran en un navegador web.

¿Fue útil?

Solución

Para un documento XML para ser consultable mediante XQquery usted no tiene que definir un DTD o XSD.El propósito de la DTD o XSD es definir la estricta estructura de un documento XML y para permitir la validación antes de su uso.

Los navegadores modernos interpretan los archivos XML muy bien y mostrar un árbol DOM.Si mejorado el formato de XML para mostrar el explorador es necesario que usted tiene que crear una transformación XSLT archivo y, a continuación, agregar una directiva del documento XML original señalando el archivo XSLT.El navegador recoge que la directiva y utiliza la incorporada en el procesador XSLT para obtener el resultado que luego es interpretado por el navegador.

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>

Otros consejos

Estrictamente hablando, no necesitan nada.XML, incluso sin una definición de esquema, funciona.

Una definición de esquema (en XSD, RelaxNG o DTD) ayuda de diversas herramientas que trabajar con XML, porque se puede comprobar que la estructura de los datos XML se ajusta a lo que usted desea.

Una XSLT traducción a HTML es bueno si el XML que contiene la información que usted querrá mirar con un navegador.Es muy necesario, aunque.

Para la consulta de XML y XPath o XQuery, usted necesita una expresión XPath o XQuery procesador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top