[英]Using XSL transformation with XML to HTML - output is blank
我是XML和XSL的新手,可以將其轉換為HTML。 我已經創建了XML和XSL,但是輸出為空白。 我認為這與節點不匹配有關? 但我不確定。 任何幫助將不勝感激!
這是我的XSL代碼:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wci="http://www.jda.com/taglibs/wci" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fmt="http://java.sun.com/jsp/jstl/fmt">
<xsl:template match="Privacy">
<xsl:variable name="uppercase">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
<xsl:variable name="lowercase">abcdefghijklmnopqrstuvwxyz</xsl:variable>
<xsl:choose>
<xsl:when test="//ContentSettings/LenovoCodeBase">
<c:if><xsl:attribute name="test">
<xsl:text disable-output-escaping="yes">${empty LenovoCodeBase}</xsl:text>
</xsl:attribute>
<c:set var="LenovoCodeBase" scope="request">
<xsl:attribute name="value">
<xsl:value-of select="//ContentSettings/LenovoCodeBase"/>
</xsl:attribute>
</c:set>
</c:if>
</xsl:when>
<xsl:otherwise>
<c:if>
<xsl:attribute name="test">
<xsl:text disable-output-escaping="yes">${empty LenovoCodeBase}</xsl:text>
</xsl:attribute>
<c:set var="LenovoCodeBase" scope="request" value="OWv2"/>
</c:if>
</xsl:otherwise>
</xsl:choose>
<div role="main" class="mainContent pageWrapper contentContainer">
<div id="privacyWrap">
<!-- beginning of left navigation bar area -->
<xsl:for-each select="Tab">
<div class="nav-item-header">
<ul>
<li>
</li>
</ul>
</div>
</xsl:for-each>
<!-- end of left navigation bar area -->
<!-- beginning of content area with anchors -->
<div class="privacyContent">
<xsl:for-each select="ContentText">
<h1><xsl:value-of select="PageTitle" disable-output-escaping="yes"/><xsl:attribute name="a-name"><xsl:value-of select="PageTitle"/></xsl:attribute><xsl:value-of select="PageTitle"/></h1>
<xsl:value-of select="Content" disable-output-escaping="yes"/>
</xsl:for-each>
</div>
<!--End of content area with anchors -->
<!-- beginning of right column bar area -->
<div class="privacyRightColumn">
<xsl:for-each select="ContentText">
<xsl:value-of select="Content" disable-output-escaping="yes"/>
</xsl:for-each>
</div>
<!-- End of right column bar area -->
</div>
</div>
</xsl:template>
</xsl:stylesheet>
這是我的XML:
<container name="Privacy" location="Privacy">
<tab name="Navigation">
<label>Navigation</label>
<container name="ContentText" location="ContentText" default="1" min="0" max="1">
<item name="LinkLabel" pathid="LinkLabel">
<label>Link Label</label>
<text required="t" maxlength="" />
</item>
<item name="URLPath" pathid="URLPath">
<label>URL Path</label>
<text required="t" />
</item>
</container>
</tab>
<tab name="Content">
<label>Content</label>
<container name="Tab" location="Tab" min="0" max="40" default="1">
<label>Content Title</label>
<container name="PageTitle" location="PageTitle" default="0" min="1" max="1">
<item name="PageTitle" pathid="PageTitle">
<label>Page Title</label>
<text required="f" maxlength=""/>
</item>
<label>Content</label>
<container name="Content" location="Content" default="1" min="0" max="40">
<item name="Content" pathid="Content">
<label>Content</label>
<textarea external-editor-config="rich-text-area" external-editor="tinymce" rows="4" cols="100"/>
</item>
</container>
</container>
</container>
</tab>
<tab name="SidebarContent">
<container name="Sidebar" location="Sidebar">
<label>Right Sidebar Area</label>
<container name="sidebarcontent" location="sidebarcontent" min="0" max="4" default="1">
<label>Content</label>
<item name="Content" pathid="Content">
<label>Content</label>
<description>Content Text</description>
<textarea external-editor-config="rich-text-area" external-editor="tinymce" rows="4" cols="50"/>
</item>
</container>
</container>
</tab>
我認為這與節點不匹配有關?
好吧,從一開始就開始:
<xsl:template match="Privacy">
不匹配您輸入的內容,因為沒有名為Privacy
元素。 我懷疑您是要引用container[@name="Privacy"]
嗎?
同樣,稍后您將引用ContentText
但這也是container
元素的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.