XslWebMaker Advanced - XML Source Files

Page Updated: Mon, 23 Sep 2019 23:40 AEST (UTC+1000)

Process pure ~\Source\*.xml files.

This involves two step processing using two .xslt files:

  1. The first step process takes your pure ~\Source\*.xml file ...
    <?xml version="1.0" encoding="utf-8" ?>
    <meetings xmlns="urn:johnbentley:philorum.meetings">
       ...
      <meeting date="2005-04-20">
        <note>
          <summary>
            Prejudice, generalisations, and judging individuals. 
            (Open Forum)
          </summary>
          <detail>
            "I am quietly judging you." defensively slurs Frank TJ Mackey, Tom Cruise in 
            Magnolia (1999), against the reporter exposing fraudulent credentials. 
            Even if we can remove our own:
            <ul>
              <li>prejudice about an individual and/or;</li>
              <li>false generalisations about groups an individual might 
                belong to; </li>
            </ul>
            Are all other types of judgement about individuals wrong? 
            Is it possible not to judge an individual?
          </detail>
        </note>
        <mc>John Bentley</mc>
      </meeting> 
      ...
    </meetings>  
    

    ... and transforms it using an *.xslt file, in the sample ~\Source\pastCalendar.xslt, into a ~\Source\*.html file, in the sample ~\Source\pastCalendar.html ...

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="xwmToXhtml.xslt" ?>
    <html xml:lang="en" xmlns:ms="urn:schemas-microsoft-com:xslt"
          xmlns="http://www.w3.org/1999/xhtml"
          xmlns:xwm="urn:xslwebmaker:toxhtml">
      <head>
        ...
        <xwm:commonHead/>
        <xwm:directoryDependantHead/>
      </head>
      <body>
        <xwm:topArea/>
        <xwm:navigation/>
        <xwm:validators/>
        ...
        <table class="tableCalendar" ID="Table1">
          <col class="tableCalendarFirstColumn" />
          <thead onclick="return toggleTableBodyDisplay(this);"
          onmouseover="this.className='commandMouseOver';"
          onmouseout="this.className='';">
            <tr>
              <td valign="top">Wed 20 Apr 2005</td>
              <td class="summaryBar" valign="top" colspan="3">Prejudice,
              generalisations, and judging individuals. (Open Forum)</td>
            </tr>
          </thead>
          <tbody class="collapsable">
            <tr>
              <td valign="top" colspan="4">"I am quietly judging you."
              defensively slurs Frank TJ Mackey, Tom Cruise in Magnolia
              (1999), against the reporter exposing fraudulent credentials.
              Even if we can remove our own: prejudice about an individual
              and/or; false generalisations about groups an individual
              might belong to; Are all other types of judgement about
              individuals wrong? Is it possible not to judge an
              individual?</td>
            </tr>
            <tr>
              <td valign="top">
                <p>MC</p>
              </td>
              <td valign="top" colspan="3">
                <p>John Bentley</p>
              </td>
            </tr>
          </tbody>
        </table>
        ...
        <xwm:footer></xwm:footer>
      </body>
    </html>  
    
  2. The second step is to transform this ~\Source\*.html file, ~\Source\pastCalendar.html, using xwmToXhtml.xslt, into ~\WebOut\pastCalendar.html. That is, into valid XHTML ...
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
      <head>
    
        ...
        <script type="text/javascript" src="TableToggle.js" xml:space="preserve">
        </script>
        <!-- Common head start -->
        <meta name="author" content="John Bentley" />
        <meta name="generator" content="John Bentley's XsltWebMaker." />
        <!-- Common head Finish -->
        ...
        <!-- rootHead head start -->
          <link type="text/css" rel="stylesheet" href="minimalist.css" />
          <script type="text/javascript" src="webDateTime.js" xml:space="preserve">
          </script>
        <!-- rootHead head Finish -->
        ...
      </head>
      <body>
        <div id="topArea">
         ...
        </div>
        <div id="navigation">
          ...
        </div>
        <div id="validators">
          ...
        </div>
        
        ...
        <table class="tableCalendar" ID="Table1">
          <col class="tableCalendarFirstColumn" />
          <thead onclick="return toggleTableBodyDisplay(this);" onmouseover=
          "this.className='commandMouseOver';" onmouseout="this.className='';">
            <tr>
              <td valign="top">
                Wed 20 Apr 2005
              </td>
              <td class="summaryBar" valign="top" colspan="3">
                Prejudice, generalisations, and judging individuals. (Open Forum)
              </td>
            </tr>
          </thead>
          <tbody class="collapsable">
            <tr>
              <td valign="top" colspan="4">
                "I am quietly judging you." defensively slurs Frank TJ Mackey, Tom
                Cruise in Magnolia (1999), against the reporter exposing fraudulent
                credentials. Even if we can remove our own: prejudice about an
                individual and/or; false generalisations about groups an individual
                might belong to; Are all other types of judgement about individuals
                wrong? Is it possible not to judge an individual?
              </td>
            </tr>
            <tr>
              <td valign="top">
                <p>
                  MC
                </p>
              </td>
              <td valign="top" colspan="3">
                <p>
                  John Bentley
                </p>
              </td>
            </tr>
          </tbody>
        </table>
        ...
        <div id="websiteLastUpdated">
          Page updated: Fri, 28 Oct 2005 10:02 AUS Eastern Standard Time (UTC+1000)
        </div>
      </body>
    </html>
    

This two step process is initiated within the make.bat. file ...

...

set xwmDestDir=..\WebOut

@Echo.
@echo Transforming Source .xml files into Intermediate xhtml .......
@echo This outputs as *.html files to source directory.
@echo.
rem  You probably only will want to customize the next line(s).
cscript.exe xwmEngine\TransformDir.wsf meetings.xml pastCalendar.xslt

@echo.
@echo Transforming Source files .......
@echo This outputs *.html files to %xwmDestDir%
@echo.
cscript.exe xwmEngine\TransformDir.wsf /destDir:%xwmDestDir% /destExt:.html
...

You will need to customize this make.bat. file according to your needs.