Это похоже на структуру XML узла Umbraco (pre-v4.5).
Чтобы получить доступ к любому из атрибутов узла Umbraco, вы можете использовать @
символ следующим образом:
<xsl:value-of select="$prdxml/@id" />
<xsl:value-of select="$prdxml/@parentID" />
Чтобы получить доступ к свойствам определенных вами на узле Umbraco, вы будете использовать что-то вроде этого :
<xsl:value-of select="$prdxml/data[@alias='pass_word']" />
<xsl:value-of select="$prdxml/data[@alias='logo']" />
Umbraco имеет целую серию в своей вики здесь; http://our.umbraco.org/wiki/reference/xslt; с примерами о том, как пересечь их XML с помощью XPATH.
- редактировать обращаться комментарии -
рабочая версия моего XSLT является:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxml="urn:schemas-microsoft-com:xslt"
xmlns:umbraco.library="urn:umbraco.library" xmlns:Exslt.ExsltCommon="urn:Exslt.ExsltCommon" xmlns:Exslt.ExsltDatesAndTimes="urn:Exslt.ExsltDatesAndTimes" xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath" xmlns:Exslt.ExsltRegularExpressions="urn:Exslt.ExsltRegularExpressions" xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings" xmlns:Exslt.ExsltSets="urn:Exslt.ExsltSets"
exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets">
<xsl:output method="html" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="/">
Current Page ID : <xsl:value-of select="$currentPage/@id" />
</xsl:template>
</xsl:stylesheet>
Возможные причины, почему это может не отображаться на вашей странице может до:
<xsl:param name="currentPage" />
удален из вашего XSLT.
- XSLT не связан с макросом.
- Макрос не показан на шаблоне.
- Шаблон не назначен вашему Узлу.
- Узел не опубликован.
Вы были прав насчет umbraco. Но код не работает для меня. Любая идея? – Athul
Как вы получаете исходный XML? Можем ли мы увидеть декларацию '$ prdxml'? –
На самом деле его элемент текущей страницы в umbraco.I просто отменил его здесь как prdxml для тех, кто не знаком с umbraco. – Athul