Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 971133
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T02:54:48+00:00 2026-05-16T02:54:48+00:00

I have a website coded with XML+XSLT that outputs me a full HTML website.

  • 0

I have a website coded with XML+XSLT that outputs me a full HTML website. Now, to make the site more dinamic I want to split some parts of the document: the header, footer and sidebar. I was looking at Google and I found this solution:

<xsl:param name="doc" select="document('menu.xml')"/>
<xsl:template match="/">
<html><head></head><body><xsl:for-each
select="$doc"><xsl:apply-templates/></xsl:for-each></body></html>
</xsl:template>

I was trying to apply it and I can get it working. This is the way I am using:

I changed the route to “../menu.xml” becasuse the xsl is inside a folder, this works well.

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:param name="menu" select="document('../menu.xml')"/>

    <xsl:template match="/">

more valid and working code and then:

<ul class="menu_top">
    <xsl:for-each select="$menu">
        <li>
            <a>
                <xsl:attribute name="href">
                    #<xsl:value-of select="link" />
                </xsl:attribute>

                <xsl:value-of select="name"/>
            </a>
        </li>
    </xsl:for-each>
</ul>
<xsl:for-each select="$menu">
    <div class="submenu"> 
        <xsl:attribute name="id">
            <xsl:value-of select="link" />
        </xsl:attribute>

        <ul>
            <xsl:for-each select="child">
                <li>
                    <a>
                        <xsl:attribute name="href">
                            <xsl:value-of select="link" />
                        </xsl:attribute>

                        <xsl:value-of select="name"/>
                    </a>
                </li>
            </xsl:for-each>
        </ul>
    </div>
</xsl:for-each>

Finally my menu.xml:

<?xml version="1.0" encoding="utf-8"?>
   <menu>
        <category>
            <name>First</name>
            <link>menu-1</link>

            <child>
                <name>Child 1</name>
                <link>#</link>
            </child>

            <child>
                <name>Child 2</name>
                <link>#</link>
            </child>          
        </category>
</menu>

I’ve more categories entries but I simplified it.

Thanks in advance!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T02:54:48+00:00Added an answer on May 16, 2026 at 2:54 am

    The document() function returns the root of the document you’re importing. In this case, that’s the menu element, not the category element. If you want to loop through the categories, use this instead:

    <xsl:for-each select="$menu/menu/category">
       ...
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Welcome, I notice that Youtube make some changes into their website code. Anyone have
I created a swf that I have on my website. The swf loads xml
I have a website here that writes info to and XML file, here is
I have an app that goes out to a website to grab XML for
I have a website that needs to pull information from two diffferent XML data
I have a website with ajax loaded content. Now I want to implement the
I run an affiliate website, and I have code that consumes the XML datafeeds.
I have an ordering website that needs to make a set up request on
I have a problem.. I want to download to XML some info from website
I have coded up an ASP.NET website and running on win'08 (remotely hosted). The

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.