One more question

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

One more question

Mandell, Laura C. Dr.
One more question Is there any way to go from an .rnc schema BACK to an ODDS file?  I have Vesta, but I’m pretty sure it only goes the other way.

Thanks in advance for any help you can give.
Best, Laura
Reply | Threaded
Open this post in threaded view
|

Re: One more question

Lou Burnard
Mandell, Laura C. Dr. wrote:
> Is there any way to go from an .rnc schema BACK to an ODDS file?  I have Ve=
> sta, but I'm pretty sure it only goes the other way.
>
>
No, in general an  .rnc file cannot be retroconverted to an ODD.

 (Of course, if it's a pure TEI one, someone who really knows their
stuff could probably reverse engineer it -- but why would you want to?)

Reply | Threaded
Open this post in threaded view
|

Re: One more question

Sebastian Rahtz
In reply to this post by Mandell, Laura C. Dr.
On 27 Jan 2010, at 17:12, Mandell, Laura C. Dr. wrote:

> Is there any way to go from an .rnc schema BACK to an ODDS file?  I have Vesta, but I’m pretty sure it only goes the other way.

short answer: No.

long answer: You could extrapolate an ODD from a RELAXNG grammar if you really had to, but it would be painful. You might get lucky and have it working quickly, but in geherality it would be non-trivial.

The last time I did something similar, I basically did it by hand with search and replace.

--
Sebastian Rahtz
Information Manager, Oxford University Computing Services
13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431

Sólo le pido a Dios
que el futuro no me sea indiferente

Reply | Threaded
Open this post in threaded view
|

Re: One more question

Sebastian Rahtz
In reply to this post by Mandell, Laura C. Dr.
On 27 Jan 2010, at 23:04, Laura Mandell wrote:
> Just to answer your question, Lou: I'm finding it easier, initially at least, to make non-tei additions to schemas in .rnc after exporting the TEI schema with the modules I need from Roma.  I was not able to add the elements properly using Roma, through my own fault.   Instead I exported fully-TEI schemas and then opened the .rnc version in oXygen.  You can just SEE in those kinds of documents what's going on, because of the structure on the screen. In fact, I think going back and forth between the .rnc file I exported from Roma and the online P5 manual is teaching me the meaning of the various model and attribute classes: not understanding what they are made it hard for me to use Roma properly.

My advice is - forget Roma. Edit the ODD file in oXygen, and get the command-line Roma, or Vesta, running locally. Web Roma is an 80/20 tool,
and if you're in the 20%, you should use ODD direct. Hand-editing the RNC generated by Roma seems the worst of all worlds - if you want to write/edit RELAX NG natively, then machine-generated codes seems a bad place to start.

--
Sebastian Rahtz
Information Manager, Oxford University Computing Services
13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431

Sólo le pido a Dios
que el futuro no me sea indiferente

Reply | Threaded
Open this post in threaded view
|

Re: One more question

Lou Burnard
In reply to this post by Mandell, Laura C. Dr.
Sebastian Rahtz wrote:
> On 27 Jan 2010, at 23:04, Laura Mandell wrote:
>
>> Just to answer your question, Lou: I'm finding it easier, initially at least, to make non-tei additions to schemas in .rnc after exporting the TEI schema with the modules I need from Roma.  I was not able to add the elements properly using Roma, through my own fault.   Instead I exported fully-TEI schemas and then opened the .rnc version in oXygen.  You can just SEE in those kinds of documents what's going on, because of the structure on the screen. In fact, I think going back and forth between the .rnc file I exported from Roma and the online P5 manual is teaching me the meaning of the various model and attribute classes: not understanding what they are made it hard for me to use Roma properly.
>>
>
> My advice is - forget Roma. Edit the ODD file in oXygen, and get the command-line Roma, or Vesta, running locally. Web Roma is an 80/20 tool,
> and if you're in the 20%, you should use ODD direct. Hand-editing the RNC generated by Roma seems the worst of all worlds - if you want to write/edit RELAX NG natively, then machine-generated codes seems a bad place to start.
>
>
Just to echo Sebastian here, my advice would be to study
the ODD specification document, internalise the TEI class system, and
work on the ODD document directly with your favourite XML editor. What
you seem to be doing is sort of like editing the object code emitted by
the C++ compiler!

I'd be very interested to discuss ways in which we can make the class
system easier to understand, and more accessible. It really is the key
to building TEI systems quickly and cleanly.

Here's the theory... Let's say you want to add a new element which is
sort of like an existing TEI foo element,  in that it appears in much
the same places in a document.  Then you need to add it to the
model.fooLike class. Or alternatively, there's nothing else like it in
the TEI, but you want it to appear inside the existing TEI wibble
element. Then you need to add it to the model.wibblePart class.

That, sadly, is not the whole story... and I have to admit that there
are lots of exceptions and oddities, reflecting the way that this system
has evolved rather than being "intelligently designed". So hearing from
you about where the problems arise in trying to apply it would be very
helpful indeed, and (I think) of considerable importance in the
development of the TEI.


best wishes

Lou

Reply | Threaded
Open this post in threaded view
|

Re: One more question

Roberto Rosselli Del Turco
In reply to this post by Mandell, Laura C. Dr.
Il giorno gio, 28/01/2010 alle 08.20 +0000, Lou Burnard ha scritto:
> Sebastian Rahtz wrote:
> >
> > My advice is - forget Roma. Edit the ODD file in oXygen, and get the command-line Roma, or Vesta, running locally. Web Roma is an 80/20 tool,
> > and if you're in the 20%, you should use ODD direct. Hand-editing the RNC generated by Roma seems the worst of all worlds - if you want to write/edit RELAX NG natively, then machine-generated codes seems a bad place to start.
> >
> >
> Just to echo Sebastian here, my advice would be to study
> the ODD specification document, internalise the TEI class system, and
> work on the ODD document directly with your favourite XML editor.

I am a little worried by this: not because I couldn't do it (with a
little effort), but because Roma is such a convenient tool to propose to
my students at the end of my text encoding course that its demise would
have severe consequences. There simply isn't enough time to explain how
to modify ODD files (not if you want to propose some tests and exercises
so that it doesn't all float in the wonderful world of theoretical
stuff). Which is why I hope there will be some maintenance of Roma
during the next years (it seemed so till now, thanks to Sebastian's
efforts, but now I'm starting to getting seriously worried ;)

> So hearing from
> you about where the problems arise in trying to apply it would be very
> helpful indeed, and (I think) of considerable importance in the
> development of the TEI.

I think it's quite important to TEI that there continue to be available
an user-friendly TEI schema building and customization tool. TEI is
great because(among other things) it's flexible, modular, customizable:
hide that from the not too technical user, or make it too difficult, and
the advantages of TEI look smaller than they really are.

Ciao

        Roberto

--
Roberto Rosselli Del Turco      roberto.rossellidelturco at unito.it
Dipartimento di Scienze         rosselli at ling.unipi.it
del Linguaggio                  Then spoke the thunder  DA
Universita' di Torino           Datta: what have we given?  (TSE)

  Hige sceal the heardra,     heorte the cenre,
  mod sceal the mare,       the ure maegen litlath.  (Maldon 312-3)

Reply | Threaded
Open this post in threaded view
|

Re: One more question

Wendell Piez-2
In reply to this post by Mandell, Laura C. Dr.
Hi,

At 06:09 PM 1/27/2010, Sebastian Rahtz wrote:

>On 27 Jan 2010, at 23:04, Laura Mandell wrote:
> > Just to answer your question, Lou: I'm finding it easier,
> initially at least, to make non-tei additions to schemas in .rnc
> after exporting the TEI schema with the modules I need from
> Roma.  I was not able to add the elements properly using Roma,
> through my own fault.   Instead I exported fully-TEI schemas and
> then opened the .rnc version in oXygen.  You can just SEE in those
> kinds of documents what's going on, because of the structure on the
> screen. In fact, I think going back and forth between the .rnc file
> I exported from Roma and the online P5 manual is teaching me the
> meaning of the various model and attribute classes: not
> understanding what they are made it hard for me to use Roma properly.
>
>My advice is - forget Roma. Edit the ODD file in oXygen, and get the
>command-line Roma, or Vesta, running locally. Web Roma is an 80/20 tool,
>and if you're in the 20%, you should use ODD direct. Hand-editing
>the RNC generated by Roma seems the worst of all worlds - if you
>want to write/edit RELAX NG natively, then machine-generated codes
>seems a bad place to start.

I think this is a fascinating discussion.

Sebastian may be right about web Roma being an 80/20 tool, but as so
often, the difficult 20% is also the interesting part. In particular,
what Laura says about learning the TEI model and attribute classes
through a dialectical process of analysis, bringing together their
abstract descriptions in the Guidelines with their concrete
manifestations in the schema, suggests to me that there is wisdom in her folly.

I mean, here she is lifting the lid of the black box. Let's not
discourage her. Instead, there's an opportunity to consider three
interrelated issues at the heart of the question:

1. What are the implicit constraints on Roma-generated RNG, over and
above the rules of RNG generally, that may make it impossible to
extrapolate ODD from arbitrary RNG expressions (which do not conform
to those constraints)?

2. Additionally, even given these constraints, why might ODD->RNG
nonetheless fail to be a reversible transformation? Which semantics
of the ODD source are not captured by an RNG "compiled" version?

3. Inasmuch as this transformation is not reversible, what is the way
forward for Laura (and for anyone grappling with the arcana of the
TEI class system) pedagogically as well as technically? (This is the
question Lou addresses in his response.)

In other words, on a practical level, I agree with Sebastian about
how to go about developing a TEI schema for long-term maintenance.
For pedagogical purposes, however, I think the question is entirely
legitimate and commendable, and could expose some very enlightening
and useful information about the internals of ODD.

Cheers,
Wendell


======================================================================
Wendell Piez                            mailto:[hidden email]
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

Reply | Threaded
Open this post in threaded view
|

Re: One more question

Sebastian Rahtz
In reply to this post by Mandell, Laura C. Dr.
> I am a little worried by this: not because I couldn't do it (with a
> little effort), but because Roma is such a convenient tool to propose to
> my students at the end of my text encoding course that its demise would
> have severe consequences.

I am not proposing to kill it; I am pointing out that its a tool which
was designed to meet the simple needs, not be a universal
schema editor.

That said, we have no resources to develop Roma further.
I know where I want to take it (web services talked to by an
Ajax interface), but without a tame programmer for a couple
of months it is simply sitting on my desk.

> stuff). Which is why I hope there will be some maintenance of Roma
> during the next years

oh, there will, don't worry. It will not get any _worse_
than it is now.

--
Sebastian Rahtz
Information Manager, Oxford University Computing Services
13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431

Sólo le pido a Dios
que el futuro no me sea indiferente

Reply | Threaded
Open this post in threaded view
|

Re: One more question

Sebastian Rahtz
In reply to this post by Mandell, Laura C. Dr.
On 28 Jan 2010, at 16:07, Wendell Piez wrote:

> what Laura says about learning the TEI model and attribute classes
> through a dialectical process of analysis, bringing together their
> abstract descriptions in the Guidelines with their concrete
> manifestations in the schema, suggests to me that there is wisdom in her folly.
>

we may be going too far ahead on this. Grokking the model and attribute
class structure in TEI is what Roma _is_ designed to do. I _think_
Laura wanted to go ahead of this.  We're missing a spec from her
of what she is trying to achieve.

> 1. What are the implicit constraints on Roma-generated RNG, over and
> above the rules of RNG generally, that may make it impossible to
> extrapolate ODD from arbitrary RNG expressions (which do not conform
> to those constraints)?

Forget the Roma, that's just an interface to generating ODD.

in the _current output_
there are no nested element declarations; and  in this output ),
there is never an element
declared twice under different circumstances.
>
> 2. Additionally, even given these constraints, why might ODD->RNG
> nonetheless fail to be a reversible transformation? Which semantics
> of the ODD source are not captured by an RNG "compiled" version?

depends on what the ODD processor does. Any irreversible
optimization it applies are entirely up to it. There is no spec for what
RELAXNG comes out the back of an ODD spec. Currently, we only
have one ODD processor, but someone may write a new one tomorrow.

I am not saying you could not write an ODD representation of a RELAX NG schema.
But I do not believe you can reconstruct the original. If you care. But why
would you want to?
>
> 3. Inasmuch as this transformation is not reversible, what is the way
> forward for Laura (and for anyone grappling with the arcana of the
> TEI class system) pedagogically as well as technically? (This is the
> question Lou addresses in his response.)


I think I am lost now. For Laura, or anyone, its jolly interesting
and useful to grok how TEI works (it's really not that hard,
it does not remotely deserve the appellation "arcana"). But is is
really the way forward to compile it into a schema language
and then read that?

In case it is not clear, may I say over and over again that Roma is
simply a web site which helps you write an ODD. It then also runs the
XSLT transformations, if you ask, which generate schemas etc
from that. But those transformations are exactly the same; Roma
does not have its own private set distinct from what you'd do on the
command line or Vesta or whatever.
--
Sebastian Rahtz
Information Manager, Oxford University Computing Services
13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431

Sólo le pido a Dios
que el futuro no me sea indiferente