| #* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| *# |
| |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| ## Content Stylesheet for Site |
| ## Defined variables |
| #set ($lightbg = "#ffffff") |
| #set ($lightfg = "#ffffff") |
| #set ($darkfg = "#000000") |
| #set ($active = "#ffcc00") |
| #set ($blue4 = "#B2C4E0") |
| #set ($blue3 = "#294563") |
| #set ($blue2 = "#4C6C8F") |
| #set ($blue1 = "#CFDCED") |
| #set ($sourceborder = "#023264") |
| #set ($pound = "#" ) |
| #set ($ssi = "include virtual=") |
| #set ($adsurl = "/ads/buttonbar.html") |
| ## start the processing |
| #document() |
| ## end the processing |
| |
| ## This is where the common page macro's live |
| |
| #macro ( isbn $isbn) |
| <p><b>Available from:</b><br> |
| <a href="http://www.amazon.com/exec/obidos/tg/detail/-/$!isbn/apachesoftwar-20/" target="_blank">Amazon.com</a> |
| | <a href="http://service.bfast.com/bfast/click?bfmid=2181&bfmtype=book&sourceid=41462544&bfpid=$!isbn" target="_blank">Barnes & Noble</a> |
| | <a href="http://www.booksense.com/product/info.jsp?affiliateId=Apache&isbn=$!isbn" target="_blank">Book Sense</a> |
| | <a href="http://www.powells.com/cgi-bin/biblio?isbn=$!isbn&partner_id=29693" target="_blank">Powells.com</a> |
| <br></p> |
| #end |
| |
| #macro ( subsection $subsection) |
| <h4 class="subsection"> |
| <a name="$escape.getText($subsection.getAttributeValue("name"))"></a> |
| $subsection.getAttributeValue("name") |
| </h4> |
| #foreach ( $items in $subsection.getChildren() ) |
| #if ($items.getName().equals("img")) |
| #image ($items) |
| #elseif ($items.getName().equals("source")) |
| #source ($items) |
| #elseif ($items.getName().equals("table")) |
| #table ($items) |
| #elseif ($items.getName().equals("subsubsection")) |
| #subsubsection ($items) |
| #else |
| $xmlout.outputString($items) |
| #end |
| #end |
| #if ($subsection.getAttributeValue("isbn")) |
| #set ($isbn = $subsection.getAttributeValue("isbn")) |
| #isbn ($isbn) |
| #end |
| #end |
| |
| #macro ( subsubsection $subsubsection) |
| <h5 class="subsection"> |
| <a name="$escape.getText($subsubsection.getAttributeValue("name"))"></a> |
| *** $subsubsection.getAttributeValue("name") *** |
| </h5> |
| #foreach ( $items in $subsubsection.getChildren() ) |
| #if ($items.getName().equals("img")) |
| #image ($items) |
| #elseif ($items.getName().equals("source")) |
| #source ($items) |
| #elseif ($items.getName().equals("table")) |
| #table ($items) |
| #else |
| $xmlout.outputString($items) |
| #end |
| #end |
| #end |
| |
| #macro ( section $section) |
| <h3 class="section"> |
| <a name="$escape.getText($section.getAttributeValue("name"))"></a> |
| $section.getAttributeValue("name") |
| </h3> |
| #foreach ( $items in $section.getChildren() ) |
| #if ($items.getName().equals("img")) |
| #image ($items) |
| #elseif ($items.getName().equals("source")) |
| #source ($items) |
| #elseif ($items.getName().equals("table")) |
| #table ($items) |
| #elseif ($items.getName().equals("subsection")) |
| #subsection ($items) |
| #else |
| $xmlout.outputString($items) |
| #end |
| #end |
| #end |
| |
| ## This is where the FAQ specific macro's live |
| |
| #macro (toc $section) |
| <h4 class="toc">$section.getAttributeValue("title")</h4> |
| <ul> |
| #foreach ($faq in $section.getChildren("faq") ) |
| #subtoc ($faq) |
| #end |
| </ul> |
| #end |
| |
| #macro (subtoc $faq) |
| #set ($id = $faq.getAttributeValue("id")) |
| <li><a href="$pound$id"> |
| $xmlout.outputString($faq.getChild("question"), true) |
| </a></li> |
| #end |
| |
| #macro (answers $section) |
| #foreach ($faq in $section.getChildren("faq") ) |
| #faq ($faq) |
| #end |
| #end |
| |
| #macro (faq $faq) |
| #set ($id = $faq.getAttributeValue("id")) |
| <p class="faq"> |
| <a name="$id"></a> |
| $xmlout.outputString($faq.getChild("question"), true) |
| </p> |
| #foreach ($item in $faq.getChild("answer").getChildren()) |
| #if ($item.getName().equals("img")) |
| #image ($item) |
| #elseif ($item.getName().equals("source")) |
| #source ($item) |
| #elseif ($item.getName().equals("table")) |
| #table ($item) |
| #else |
| $xmlout.outputString($item) |
| #end |
| #end |
| #end |
| |
| #macro (document) |
| #header() |
| <div class="main"> |
| <div class="content"> |
| <h1 class="title">$root.getChild("properties").getChild("title").getText()</h1> |
| #set ($allSections = $root.getChild("body").getChildren("section")) |
| #foreach ( $section in $allSections ) |
| #section ($section) |
| #end |
| |
| #if ($root.getChildren("faqsection").size() > 0) |
| #set ($allFaqSections = $root.getChildren("faqsection")) |
| <h3 class="section">Questions</h3> |
| #foreach ( $faqSection in $allFaqSections ) |
| #toc ($faqSection) |
| #end |
| |
| <h3 class="section">Answers</h3> |
| #foreach ( $faqSection in $allFaqSections ) |
| #answers ($faqSection) |
| #end |
| #end |
| </div> |
| </div> |
| |
| #footer() |
| #end |