Я пишу XML и XSL для создания HTML-документа на основе книги. Все файлы называются chapter-1.xml, глава-2.xml и т. Д. И название в каждой главе начинается с главы #, за которой следует заголовок главы. Главы будут написаны разными людьми, поэтому каждая глава должна быть в каждом xml-файле.Как найти номер раздела за пределами XML
XML:
<chapter title="This is the first chapter">
<paragraph title="Start">Blablabla</paragraph>
</chapter>
XSL:
<xsl:for-each select="chapter">
<h1><xsl:value-of select="current()/@title"/></h1>
<xsl:for-each select="chapter">
<h2><xsl:value-of select="current()/@title"/></h2><br><br>
<xsl:value-of select="current()" />
</xsl:for-each>
</xsl:for-each>
У меня есть PHP для создания HTML:
<?php
# LOAD XML FILE
$XML = new DOMDocument();
$XML->load('chapter-1.xml');
$xslt = new XSLTProcessor();
$XSL = new DOMDocument();
$XSL->load('chapter.xsl');
$xslt->importStylesheet($XSL);
print $xslt->transformToXML($XML);
?>
И я хочу, чтобы это показать, как «1. Это первая глава "в HTML. Есть ли способ разрешить это без использования другого атрибута в теге? В каждом документе есть только один тег раздела. Есть ли способ решить это с помощью CSS или получить номер главы из имени файла или так?
Мне также необходимо создать таблицу содержимого для всех разделов с нумерацией.
Этот вопрос непонятен. Покажите фрагмент вашей (если не всей) таблицы стилей и ожидаемый результат. Вы сами контролируете структуру своих входных файлов? –
Лучше сейчас? У меня пока нет CSS. – janlindso
Лучше, но все же: Как вы относитесь к проблеме, которую вы опубликовали? Я не уверен, что вы действительно пытались решить это самостоятельно. Кроме того, покажите больше таблицы стилей (если вы можете использовать для каждого, как это, как вы собрали все элементы главы, находясь в отдельных файлах каждый, как вы утверждаете?). –