[MEI-L] Converting specs to schema

Raffaele Viglianti raffaeleviglianti at gmail.com
Sun Dec 4 09:33:28 CET 2011


Hi Thomas and Andrew,

I usually don't build TEI, since you can use --xsl=../Stylesheet to simply
point to the XSLTs in the svn trunk.
For saxon, I also avoid packages and get the latest version from the saxon
website (usually I use the home edition). I write a shell script like this:

java -jar saxon(version).jar $*

and link to it from /usr/bin/saxon

I think saxonb-xslt may be the problem here, so try to get saxon9HE from
their website instead.

Best,
Raffaele

On Sat, Dec 3, 2011 at 10:24 PM, Andrew Hankinson, Mr <
andrew.hankinson at mail.mcgill.ca> wrote:

> Hi Thomas,
>
> I usually follow these instructions:
>
>
> http://www.wwp.brown.edu/outreach/seminars/_current/handouts/roma_CLI_MacOS_X.html
>
> They say they're for OS X, but I don't see any real reason why they can't
> be used for Ubuntu too.
>
> There are a couple caveats, though:
>
> -- The Makefile for tei-roma is a bit weird for use on OSX, so it may also
> be for Ubuntu too if you want to store everything in /usr/local. I filed a
> bug about it*, but it still does weird things. If you want to keep the Roma
> configuration stuff in /usr/local/etc (instead of /etc) you will have to
> edit it. I can send more details about this if you like.
>
> -- You may also have to reverse the order for the "Roma itself" and "Build
> TEI P5" steps. If you don't do the Build TEI P5 step first, the
> p5subset.xml file will not exist in your odd/ directory, and the roma build
> script will fail when it tests for it. If you do the `make oddschema` step
> first, though, it should produce one. Be careful, though -- if the process
> fails it will likely produce a file, but it will be empty. On my machine, a
> compiled p5subset.xml file is about 3.3MB.
>
> I usually then alias the roma command in the shell like this (put this in
> .bashrc or .zshrc):
>
>
> export MEI_LOCATION="/path/to/svn/mei/trunk/source/driver.xml"
> export TEI_STYLESHEETS="/usr/local/share/xml/tei/stylesheet"
>
> alias mei="/usr/local/bin/roma --localsource=$MEI_LOCATION
> --xsl=$TEI_STYLESHEETS --nodtd --noxsd $*"
>
>
> Then I can just pass the customization in on the command line, e.g.,:
>
> $> mei mei-all.xml
>
> and it will create a "RomaResults" directory in the current working
> directory with the RNG file. (You should also be able to pass in an output
> directory if you don't want to put it in the CWD, e.g., mei mei-all.xml
> [outputdir])
>
> Hope this helps!
> -Andrew
>
> *
> http://sourceforge.net/tracker/index.php?func=detail&aid=3304677&group_id=106328&atid=644062
>
> On 2011-12-03, at 6:20 AM, TW wrote:
>
> > Hi Raffaele,
> >
> > 2011/12/2 Raffaele Viglianti <raffaeleviglianti at gmail.com>:
> >> If I understand your problem correctly, you should create an ODD
> >> customization. Look at /MEI_dev/customizations/mei-all.xml as an
> example.
> >> That file selects all the modules. You can make a copy and comment out
> the
> >> modules that you want to exclude.
> >>
> >> At this point you have a few options to generate an RNG and XSD from the
> >> source + customization. This is what I usually do on a Unix system:
> >>
> >> 1. checkout TEI's trunk from sourceforge if you don't have it already
> >> 2. make sure you have all the dependecies (trang, saxon, xmllint)
> >> 3. go to /Roma
> >> 4. run the command:
> >>
> >> ./roma2 --xsl=../Stylesheets
> --localsource=fullPathTo_mei-2011-05-source.xml
> >> fullPathToYourCustomization
> >>
> >> 5. Under RomaResults you'll find the resulting RNG and XSD.
> >>
> >
> > I need some more assistance.
> >
> > Problem 1:  /trunk/Roma/roma2.sh relies on command "saxon".  On my
> > Ubuntu Natty system I have the packages libsaxon-java, libsaxonb-java
> > and libsaxon-java-gcj installed, but they don't come with this
> > command.  So I changed "saxon" to "saxonb-xslt".  But then I get
> >
> > Error at xsl:result-document on line 1851 of
> > file:/home/tom/tei/trunk/Stylesheets/odds2/teiodds.xsl:
> >  xsl:result-document is disabled when extension functions are disabled
> >
> > So I inserted -ext:on, which *seemed* to get me somewhere (after I
> > created some directory that Roma wanted to put the results).
> >
> > Problem 2:  I did the following, using the unmodified mei-all.xml for
> testing:
> >
> >
> > tom at desktop:~$ tei/trunk/Roma/roma2.sh --xsl=tei/trunk/Stylesheets
> > --localsource=music-encoding/trunk/source/specs/mei-2011-05-source.xml
> > music-encoding/trunk/customizations/mei-all.xml
> > ========= Roma starts at 2011-12-03 12:05:09 ===========
> > TEI stylesheet tree: tei/trunk/Stylesheets
> > Results to: RomaResults
> > Process music-encoding/trunk/customizations/mei-all.xml to create
> > mei{.dtd|.xsd|.doc.xml|.rng|.rnc} in RomaResults
> > ========= Roma version VVVERSION starts execution at 2011-12-03
> > 12:05:10.208637972 ===========
> > using /home/tom/music-encoding/trunk/source/specs/mei-2011-05-source.xml
> > as default source
> > 1. expand and simplify ODD
> > 2. make RELAX NG from compiled ODD
> > 3. make RELAX NG compact from XML
> > 4. make XSD from RELAX NG
> > /home/tom/RomaResults/mei.rng:11:13: error: restriction violation:
> > "start" contains "empty"
> >
> >
> > ERROR:  trang fails.
> > This was a fatal error. 2011-12-03 12:05:14
> > 5. make DTD from compiled ODD
> > ========= 2011-12-03 12:05:16.785145931 Roma ends
> >
> >
> > The generated RNG looks like:
> >
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <grammar xmlns="http://relaxng.org/ns/structure/1.0"
> > xmlns:xlink="http://www.w3.org/1999/xlink"
> > datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
> > ns="http://www.music-encoding.org/ns/mei">
> >  <!--
> > Schema generated from ODD source 2011-12-03T12:05:14Z.
> > Edition:
> > Edition Location: http://www.tei-c.org/Vault/P5//
> >
> > -->
> >  <!---->
> >  <start>
> >    <empty/>
> >  </start>
> > </grammar>
> >
> >
> > Something tells me this is flawed.
> >
> > I saw there are Debian packages available[1] and added them to my
> > software sources.  I installed the packages tei-roma, saxon and
> > tei-p5-xsl2.  The result was pretty much the same:
> >
> >
> > tom at desktop:~/music-encoding/trunk/customizations$ roma mei-all.xml
> mei-all
> > ========= Roma starts at 2011-12-03 12:13:48 ===========
> > TEI stylesheet tree: /usr/share/xml/tei/stylesheet
> > Results to: mei-all
> > Process mei-all.xml to create mei{.dtd|.xsd|.doc.xml|.rng|.rnc} in
> mei-all
> > ========= Roma version 4.7 starts execution at 2011-12-03
> > 12:13:49.646907172 ===========
> > 1. expand and simplify ODD
> > 2. make RELAX NG from compiled ODD
> > 3. make RELAX NG compact from XML
> > 4. make XSD from RELAX NG
> > /home/tom/music-encoding/trunk/customizations/mei-all/mei.rng:11:13:
> > error: restriction violation: "start" contains "empty"
> >
> >
> > ERROR:  trang fails.
> > This was a fatal error. 2011-12-03 12:14:00
> > 5. make DTD from compiled ODD
> > ========= 2011-12-03 12:14:03.531732571 Roma ends
> >
> >
> > What can I do?
> >
> > Thanks!
> > Thomas
> >
> >
> > [1] http://tei.oucs.ox.ac.uk/teideb/
> >
> > _______________________________________________
> > mei-l mailing list
> > mei-l at lists.uni-paderborn.de
> > https://lists.uni-paderborn.de/mailman/listinfo/mei-l
>
>
> _______________________________________________
> mei-l mailing list
> mei-l at lists.uni-paderborn.de
> https://lists.uni-paderborn.de/mailman/listinfo/mei-l
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.uni-paderborn.de/pipermail/mei-l/attachments/20111204/10fadf58/attachment.html>


More information about the mei-l mailing list