从 XML 数据创建 HTML 无序列表
我有这个 XML:
<Tekstside id="1081" level="3" nodeName="Test" urlName="test">
<umbracoRedirect />
<overskrift>Test</overskrift>
<tekst></tekst>
<sidensTitel />
<sidensBeskrivelse />
<sidensNgleord />
- <Faktaboks id="1113" level="4" nodeName="Det her virker" urlName="det-her-virker">
<umbracoNaviHide>1</umbracoNaviHide>
- <fordele>
- <values>
<value>Ingen emission</value>
<value>Det virker bare</value>
<value>Det er top nice</value>
<value>Det er bare fedt</value>
<value>Udstødnings</value>
<value />
</values>
</fordele>
- <ulemper>
- <values>
<value>Giver sygdom</value>
<value>Er farligt</value>
<value />
</values>
</ulemper>
</Faktaboks>
</Tekstside>
我希望将“fordele”值和“ulemper”值放入 Umbraco 中的 XSLT 的无序列表中:
<div class="fanda">
<ul class="for">
<li>Købsprisen</li>
</ul>
<ul class="against">
<li>Kortere servicerings interval pga. additivet fylder med i filteret.</li>
<li>Der kan forekomme meget varieret modtryk, isærpå biler med lav - udstødningstemperatur.</li>
<li>Udgifter til Additiv - typisk fra 400 - 600 kr. pr. liter.</li>
<li>Kan ikke klare alle kørselsmønstre</li>
</ul>
</div>
我尝试使用此 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="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="/">
<ul>
<xsl:apply-templates select="$currentPage/*[@isDoc]" />
</ul>
</xsl:template>
<xsl:template match="fordele">
<li>
<xsl:value-of select="fordele" />
</li>
</xsl:template>
<xsl:template match="*[umbracoNaviHide = 0]" />
</xsl:stylesheet>
但它不起作用..
I have this XML:
<Tekstside id="1081" level="3" nodeName="Test" urlName="test">
<umbracoRedirect />
<overskrift>Test</overskrift>
<tekst></tekst>
<sidensTitel />
<sidensBeskrivelse />
<sidensNgleord />
- <Faktaboks id="1113" level="4" nodeName="Det her virker" urlName="det-her-virker">
<umbracoNaviHide>1</umbracoNaviHide>
- <fordele>
- <values>
<value>Ingen emission</value>
<value>Det virker bare</value>
<value>Det er top nice</value>
<value>Det er bare fedt</value>
<value>Udstødnings</value>
<value />
</values>
</fordele>
- <ulemper>
- <values>
<value>Giver sygdom</value>
<value>Er farligt</value>
<value />
</values>
</ulemper>
</Faktaboks>
</Tekstside>
I want the "fordele" values and the "ulemper" values made into the unorderes lists with XSLT in Umbraco:
<div class="fanda">
<ul class="for">
<li>Købsprisen</li>
</ul>
<ul class="against">
<li>Kortere servicerings interval pga. additivet fylder med i filteret.</li>
<li>Der kan forekomme meget varieret modtryk, isærpå biler med lav - udstødningstemperatur.</li>
<li>Udgifter til Additiv - typisk fra 400 - 600 kr. pr. liter.</li>
<li>Kan ikke klare alle kørselsmønstre</li>
</ul>
</div>
I tried with this 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="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="/">
<ul>
<xsl:apply-templates select="$currentPage/*[@isDoc]" />
</ul>
</xsl:template>
<xsl:template match="fordele">
<li>
<xsl:value-of select="fordele" />
</li>
</xsl:template>
<xsl:template match="*[umbracoNaviHide = 0]" />
</xsl:stylesheet>
But it doesnt work..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此转换:
应用于提供的 XML 文档(已更正以删除“-”字符):
产生所需的正确结果:
This transformation:
when applied on the provided XML document (corrected to remove the '-' characters):
produces the wanted, correct result: