[Tex/LaTex] Latex not data driven enough, Embed XML+XSLT

includelyxresourcesxml

Ok, so I've been using Lyx for about a year now. I haven't really dug too deep in to the LaTex/Tex side of things.
I've a little more experience with XML + XSLT.
It has a nice seperation of Data from Presentation.
(you could even say of Model from View).

Lets say I have some information relating to a Timeline.
In XML I would write:

<timeline title="Australian History>
    <timepoint year="60000BC" event="Aboriginal Migration">Aboriginal Australians are believed to have first arrived on the Australian mainland by boat from the Indonesian archipelago.</timepoint> 
    <timepoint year="1606" event="First European Landing"> The first uncontested landing in Australia by Europeans was by Dutch navigator Willem Janszoon </timepoint> 
    <timepoint year="1770" event="British Claim"> James Cook charted the East Coast of Australia[1] for Britain and returned with accounts favouring colonisation at Botany Bay (now in Sydney). </timepoint> 
    <timepoint year="1788" event="First Fleet Arrival"> A First Fleet of British ships arrived at Botany Bay in January, to establish a penal colony. </timepoint> 
    <timepoint year="1901" event="Federation"> The Commonwealth of Australia came into being when the Federal Constitution was proclaimed by the Governor General, Lord Hopetoun, on the 1st of January.</timepoint> 
</timeline>

(Datasource for above example).

And then I would write a XSL transformation to make this into some nice human readable form.
Perhaps a petty SVG diagram, or a website with suitable formatting.

Is there a similar notion of seperating content from formatting in Latex? (that i could then embeed into Lyx).
I thought one of the LaTex motto's was "Sort out the content, let the system take care of the formatting." (or something to that effect).

I've envisioning if nothing else then a XSLT could be written to transform the XML into Tex, and then that Tex could be Included. (and this exectution of the XSLT could be done each time the Lyx/Tex is exported).
But that is ugly.
The must be a nicer way of using some form of Extensiable Markup in Tex.

Best Answer

LaTeX already separates content from formatting. E.g. the look of \section{ABC} can be different depending on packages and classes. It is also easy to translate your XML-example in something more LaTeX-like e.g.

\begin{timeline}{title=Australian History}
     \timepoint{year=60000BC,event=Aboriginal Migration,text=Aboriginal ...}
     \timepoint{...}
\end{timeline}

Now you only need to write sensible definitions to get a suitable formatting.

The main difference between the markup from LaTeX and XML is that the first is less strict – and so better suited for normal, more or less messy human documents, where not everything can be pressed in the XML-model.

Related Question