Что мне нужно для управления файлами XML?

Я считаю, что мне нужно DTD для определения схемы и XSLT, если я хочу отображать его в браузере и чтобы он выглядел «красиво». Но я не уверен, что еще мне нужно, чтобы иметь четко определенный XML-документ, который можно запрашивать с помощью XQuery и отображать в веб-браузере.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
783
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Строго говоря, вам ничего не нужно. XML работает даже без определения схемы.

Определение схемы (в XSD, RelaxNG или DTD) помогает различным инструментам, работающим с XML, поскольку они могут проверить, соответствует ли структура XML тому, что вы хотите.

Перевод XSLT в HTML хорош, если XML содержит информацию, которую вы хотите просмотреть в браузере. Впрочем, в этом нет необходимости.

Чтобы запросить XML с помощью XPath или XQuery, вам понадобится процессор XPath или XQuery.

Ответ принят как подходящий

Чтобы XML-документ мог быть запрошен с помощью XQquery, вам не нужно определять 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>

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>

Другие вопросы по теме