2015-02-19 1 views
0

Я пытаюсь использовать XSLT для преобразования XML из (поискового устройства Google) G и получаю следующее сообщение об ошибке:Использования XSLT для преобразования текста с одинаковым знаком вне тега

XmlException: '=' is an unexpected token. The expected token is ';'.

XML, имеет следующий :

<NU> /search?q=Testing&site=ActiveCases&lr=&ie=UTF-8&oe=UTF-8&output=xml_no_dtd&client=default_frontend&access=p&sort=date:D:L:d1&getfields=%252a&start=10&sa=N </NU>

Как вы обрабатываете знак равенства за пределами тегов?

ответ

2

Это не равнозначные признаки, которые вызывают проблемы; это амперсанды. Попробуйте заменить все ваши амперсанды на &amp;.

Причина ошибки в том, что амперсанд начинает начало entity reference. Поэтому, когда текст анализируется, парсер видит амперсанд в качестве начала ссылки. Затем он ожидает имя объекта (name characters) и точку с запятой для завершения ссылки. = не является символом имени, и это не точка с запятой, поэтому возникает ошибка.

Ваш другой вариант, чтобы обернуть текст в разделе CDATA:

<NU><![CDATA[/search?q=Testing&site=ActiveCases&lr=&ie=UTF-8&oe=UTF-8&output=xml_no_dtd&client=default_frontend&access=p&sort=date:D:L:d1&getfields=%252a&start=10&sa=N]]></NU> 

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

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