2015-06-16 4 views
1

Мне нужно отредактировать преобразование, которое у нас есть, что изменяет DITA XML на немного другую версию XML для нашей системы управления обучением. Вот моя проблема: когда я запускаю преобразование, я теряю форматирование в определенных типах типа файлов, хотя он работает и в других типах файлов. Например, когда я создаю итоговый файл, u проходит в порядке, но в файле концепций выпадает. Я пробовал все, о чем я могу думать, но без кубиков. Проблема заключается в том, что для понятий я могу использовать navtitle с моей карты, но не могу с другими типами (и это требование для всех типов файлов, поэтому, как только это исправлено, мне нужно будет примените его ко всему).Форматирование XML не проходит через проблему XSLT

У меня есть этот код, приведенный в «общий» раздел, который работает с резюме, и т.д., типов:

<xsl:template match="*[contains(@class,' topic/title ')]" mode="new_tt_common"> 
    <xsl:param name="prefix" select="''"/> 
<title> 
    <xsl:value-of select="$prefix"/> 
    <xsl:apply-templates mode="identity" xml:space="default"/> 
</title> 
</xsl:template> 

Это точно проходит через какие-либо элементы, содержащиеся в названии.

Этот код для понятий:

<xsl:choose> 
    <xsl:when test="$navtitle = ''"> 
     <xsl:apply-templates select="*[contains(@class,' topic/title ')]" mode="new_tt_common"/> 
    </xsl:when> 
    <xsl:otherwise> 
     <title> 
      <xsl:value-of select="$navtitle"/> 
     </title> 
      </xsl:otherwise> 
</xsl:choose> 

У меня есть $ navtitle определенный ранее в коде правильно, я считаю, что он работает нормально. Есть что-то в этом куске кода, который неправильный, и это заставляет меня сходить с ума. В принципе, если нет navtitle, заголовок должен стать заголовком в новом файле. Если есть navtitle, это должно стать заголовком в новом файле.

Вот несколько примеров моего ввода. Это моя глава карта:

<topicref href="../topics/re_intro_1.dita" locktitle="yes" navtitle="Case Study: Reselling a Condo"/> 
<topicref href="../topics/re_los_1.dita"/> 

Названное в re_intro_1.dita:

<title><tm tmtype="reg">Introduction</tm> Testing</title> 

Названное в re_los_1.dita:

<title>Learning <i>Objective</i></title> 

В этом случае, я хочу титул первый файл будет «Case Study: Reselling a Condo» и второй файл для обучения Цель. В настоящее время текст заголовка проходит отлично, но я теряю курсив o n Цель.

У кого-нибудь есть идеи, почему элементы, содержащиеся в названии, не проходят?

+1

Лучше всего отредактировать свой Q, чтобы включить образцы ввода, иначе люди должны угадать, что может быть неправильным. Удачи. – shellter

+1

Можете ли вы разместить полные образцы, такие как полный XML, полный XSLT и полный ожидаемый результат. –

ответ

1

Я предлагаю изменить ваш вариант как шаблон приложения, а не значение. Это должно передать курсив для дальнейшей обработки.

+0

я изменил его на это (извините, я не могу понять, как сделать код выглядеть правильно в комментарии): но не повезло. Это то, что вы имели в виду? –

+0

@PeytonBentley: Лучше всего добавить к вам еще один раздел, чтобы люди могли следить за потоком. Люди используют разделительную линию, а слово EDIT выделено жирным шрифтом. Используйте инструмент формата '{}' в левом верхнем углу окна редактирования. Также есть инструмент разделителя и инструмент Bold. Кратко опишите сделанное вами изменение и почему (но код является более важным). Если вы получаете какой-либо вывод, включите его, помеченный отдельно и включите дословно любые сообщения об ошибках, которые вы получите. С очень небольшой работой читатели должны иметь возможность воссоздать ваш исходный код и код и получить те же результаты, что и вы. * Тогда * они могут помочь. Удачи – shellter