dongluyi5123
2011-07-01 04:28
浏览 43
已采纳

XSLT和PHP视图

I just started playing around with XSLT and PHP. However what I can't figure out is, in normal template engine you would normally generate your HTML from at least two templates (the frame and the page content). The "frame" would only contain the standard page layout

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
    <!-- Stylesheets etc would go here -->
    </head>
    <body>
    <!-- Content would go here -->
    </body>
</html>

while the content would contain the actual data.

What would be the best way to realize that using PHP and XSLT?

Ben

图片转代码服务由CSDN问答提供 功能建议

我刚刚开始使用XSLT和PHP。 但是我无法弄清楚的是,在普通模板引擎中,您通常会从至少两个模板(框架和页面内容)生成HTML。 “框架”仅包含标准页面布局

 &lt;!DOCTYPE HTML PUBLIC“ -  // W3C // DTD HTML 4.01 // EN”“http://www.w3.org/TR/html4/strict.dtd">  ; 
&lt; html&gt; 
&lt; head&gt; 
&lt;! - 样式表等会在这里 - &gt; 
&lt; / head&gt; 
&lt; body&gt; 
&lt;! - 内容会 到这里 - &gt; 
&lt; / body&gt; 
&lt; / html&gt; 
   
 
 

内容将包含实际数据。 \ n

使用PHP和XSLT实现这一目标的最佳方法是什么?

Ben

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • douyoupingji7238 2011-07-26 09:07
    已采纳

    I do it like this:

    View.xsl

    <?xml version="1.0" encoding="UTF-8"?>
    
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    
        <xsl:import href="layout.xsl"/>
    
        <xsl:template name="content">
            2. View Content
        </xsl:template>
    
        <xsl:template match="/">
            <xsl:call-template name="layout"/>
        </xsl:template>
    
    </xsl:stylesheet>
    

    Layout.xsl

    <xsl:template name="jscss"/>
    
    <xsl:template name="layout">
        <html>
            <head>
                <title>layout.xsl</title>
            </head>
            <body>
                1. Layout Content
                <xsl:call-template name="content" />
                3. Layout Content
            </body>
        </html>
    </xsl:template>
    

    Transform View.xsl and you get:

    1. Layout Content
    2. View Content
    3. Layout Content
    
    点赞 打赏 评论
  • douye5949 2011-07-01 04:33

    I think you are not using XSLT for what you should. XSLT transforms some data into something else. You might want to take a look at some template engines like PHP Smarty before and clarify yourself about where each other stands on the technology stack.

    点赞 打赏 评论

相关推荐 更多相似问题