2016-02-10 2 views
0

Я хочу добавить следующие <!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd"> в xsl, он содержит специальные символы, поэтому я не могу его разобрать.Как добавить строку со специальным символом в xslt

он пытался добавить его текст как этот

<text><!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd"> </text> 

он не работал. удар мой код:

<connection_param> 
    <mlc_props_file> 
     <file_full_path>./fs/public/mxres/mxmlc/mlc_properties.mxres</file_full_path> 
    </mlc_props_file> 
</connection_param> 

ответ

-1

Объявите переменную и передать это значение узла.

<xsl:variable name = "filepath" select = '"./fs/public/mxres/mxmlc/mlc_properties.mxres"'/> 

<connection_param> 
    <mlc_props_file> 
     <file_full_path><xsl:value-of select="$filepath"/></file_full_path> 
    </mlc_props_file> 
</connection_param> 
+0

Я не работал из-за существования mkazma

+0

Вместо символов неравенства используйте < и >. –

2

Что вы можете сделать, это ....

<xsl:text disable-output-escaping="yes">&lt;!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd"&gt;</xsl:text> 

Или, может быть, это ...

<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd">]]></xsl:text> 

Однако, вы можете также использовать атрибут doctype-system на xsl:output здесь

<xsl:output method="xml" doctype-system="mlc_lts.dtd" /> 

Например, попробуйте этот XSLT

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
    <xsl:output method="xml" doctype-system="mlc_lts.dtd" /> 

    <xsl:template match="@*|node()"> 
     <xsl:copy> 
      <xsl:apply-templates select="@*|node()"/> 
     </xsl:copy> 
    </xsl:template> 
</xsl:stylesheet> 

Однако, если применить его к XML в вопросе, вы получите этот сгенерированный

<!DOCTYPE connection_param SYSTEM "mlc_lts.dtd"> 

Где connection_param корневой элемент в вашем XML.

+0

с помощью этого один дал мне < DOCTYPE mlc_lts SYSTEM " <[CDATA []]!>! mlc_lts.dtd " >. Я знаю, что это репрезентация в HTML для большего, чем и кавычка ("). Я хочу, чтобы он отображался как <и " – mkazma

+1

Как вы выполняете преобразование. Я думаю, проблема в том, что« отключено-выход-экранирование »не всегда поддерживается. –

+0

\t \t \t \t \t \t \t]]!>: Templa te> @Tim C – mkazma

 Смежные вопросы

  • Нет связанных вопросов^_^