Сохранение шаблона XSLT в веб-части Commerce Server 2009
При редактировании веб-части с подробным описанием продукта Commerce Server у нас возникают большие трудности с внесением изменений в шаблон XSLT. Это не сложные изменения, просто небольшие незначительные изменения. С шаблоном проблем нет, так как я опробовал его на редакторе w3schools XSLT, и он отлично работает.
Я вставляю текст шаблона в диалоговое окно и нажимаю сохранить, чтобы перезаписать шаблон.
Я получаю сообщение об ошибке "Ошибка сохранения XSLT: {0}"
Если вместо этого я редактирую текст в диалоговом окне без использования другого редактора (и форматирования, когда все CRLF удаляются), это работает.
Что я делаю неправильно?
Я надеюсь, что вы можете редактировать текст за пределами текстового поля, поскольку оно не имеет форматирования
Вот как это выходит из текстового поля:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="html" version="1.0" indent="yes" /><xsl:template match="/products/product"><H1><xsl:value-of select="properties/property[@name='DisplayName']" /></H1></xsl:template></xsl:stylesheet>
одной строкой Я хочу отредактировать это так:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" indent="yes" />
<xsl:template match="/products/product">
<H1>
<xsl:value-of select="properties/property[@name='DisplayName']" />
</H1>
</xsl:template>
</xsl:stylesheet>
Гораздо приятнее.
1 ответ
Сделайте это по шагам:
Вы можете написать свой XSLT с комфортом в IDE/ редакторе по вашему выбору.
Работайте над этим, пока он не удовлетворит все требования.
Наконец, обработайте таблицу стилей XSLT с помощью следующего преобразования и отправьте результат на Commerce Server:
::
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="no"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
когда это преобразование выполняется для вашего элегантно отформатированного кода:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" indent="yes" />
<xsl:template match="/products/product">
<H1>
<xsl:value-of select="properties/property[@name='DisplayName']" />
</H1>
</xsl:template>
</xsl:stylesheet>
желаемый результат, приемлемый для Commerce Server, получается:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" version="1.0" indent="yes"/><xsl:template match="/products/product"><H1><xsl:value-of select="properties/property[@name='DisplayName']"/></H1></xsl:template></xsl:stylesheet>