Загрузка атрибута в XPATH, проблема - PullRequest
0 голосов
/ 12 апреля 2009

У меня есть вопрос о загрузке атрибута в XPATH. Я пишу короткий код XML для тестирования:

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="testDate.xsl"?>
<element attribute="1/1/2100">
  Hung
 </element>

Мой XSL-код:

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <!--Handle the document: set up HTML page-->
  <xsl:template match="/">
    <html>
    <head>    
    </head>
    <body>
   This is a test   
     <xsl:value-of select="element@attribute"/>
    </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Почему выдает ошибку при загрузке таблицы стилей? Не могли бы вы помочь мне объяснить это? Спасибо

Ответы [ 2 ]

3 голосов
/ 12 апреля 2009

Вам нужно поставить косую черту перед @ в вашем <xsl:value-of />.

Вы получаете сообщение об ошибке, потому что element@attribute не является действительным XPath. Вставка косой черты означает, что вы хотите:

  • найти элементы с именем element, а затем
  • внутри этих элементов найдите атрибут с именем attribute.

Следующая измененная таблица стилей работает для меня:

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <!--Handle the document: set up HTML page-->
  <xsl:template match="/">
    <html>
    <head>    
    </head>
    <body>
                This is a test                  
        <xsl:value-of select="element/@attribute"/>
    </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
2 голосов
/ 12 апреля 2009

Я подозреваю, что ваш XPath для атрибута неверен. Я думаю, что это должно быть

element/@attribute

т.е. Вы должны отделить элемент и @attribute с помощью /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...