Giter Club home page Giter Club logo

roma-antiqua's People

Contributors

jamescummings avatar lddubeau avatar martindholmes avatar peterstadler avatar raffazizzi avatar sebastianrahtz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

roma-antiqua's Issues

Default att values incorrectly processed by Roma web app

relocating from TEIC/TEI#1213


When an attribute has a specific default value in the ODD source, and the user attempts to change the value list for it using web roma, the form does not display the existing default value. Consequently, the user has no way of knowing that it exists, and may easily supply a list of attribute values which do not include it, thus generating an invalid DTD or XSD schema. Tested this with which retains the default "simple" even though it does not appear on the screen.

Original comment by: @lb42

When using Roma with P5 3.0.0, att.pointing.attribute.target defines @target to be empty

Version

The Roma web site reports being at version 4.18.

It uses P5 3.0.0 to generate the schema.

Steps to reproduce the issue

  1. Go to the web site for Roma.
  2. Click the option "Reduce: create a new customization by removing elements and modules from the largest possible schema" and then click the "Start" button.
  3. You'll be taken to a new page, but click the "Schema" tab to be taken to the schema page.
  4. Download the compact Relax NG schema by clicking on "Generate". Save the schema somewhere.

Actual Results

The saved schema contains this:

att.pointing.attribute.target =

  ## specifies the destination of the reference by supplying one or more URI References
  attribute target {
    list { empty }
  }?

Expected Results

The definition should be:

att.pointing.attribute.target =

  ## specifies the destination of the reference by supplying one or more URI References
  attribute target {
    list { data.pointer+ }
  }?

Observations

The end result of the issue above is that @target on tags like ptr cannot contain anything anymore. I discovered the issue when I regenerated a few hours ago with the command line Roma a customization I've been using for years without problem. All of a sudden all my ptr elements turned up invalid.

I don't know of a way to force the web Roma to use an older version of P5 but if I force my command line Roma to use version 2.9.1 of P5, and run in on the customization described above after saving it locally, then I get the expected results. And if I run it with P5 3.0.0, I can reproduce the bad results.

TEI with xinclude template is confusing and should be removed

The description for this template includes the comment "This allows you to validate TEI documents before XInclude processing. In general, this is not the right way to work, since you would normally validate after any inclusions have been resolved. "

If it's not the right way to work it probably shouldn't be being offered as a template.

see also appended discussion on TEI-L

On 10/12/15 10:56, Piotr Banski wrote:

Maybe that ODD should best move from Roma's menu to the wiki, because it has the potential to confuse or at least to suggest that injecting Xincludes into the TEI schema is the natural, or worse, the recommended way to go.
Best,
P.

On December 10, 2015 11:50:21 AM CET, Lou Burnard wrote:

Sorry, this makes no sense to me. If the document you want to validate 
contains xInclude statements in the place of mandatory elements, it can 
ONLY be validated against a TEDI schema by expanding the xInclude 
statements. Otherwise you would have to redefine the content model of 
the header entirely to permit unexpanded xInclude elements everywhere, 
which would make it no longer TEI conformant.

On 10/12/15 10:34, Andreas Wagner wrote:

     Dear Piotr, dear list,

     * Piotr Bański dixit [2015-12-10 09:53]:

         The fundamental question is whether anything hinges on your _not_ 
         resolving the XIncludes prior to validation.


     Yes, indeed. I explicitly
    wanted to do it *without* oXygen doing the 
     XInclude resolution, but funnily I can't remember why. For now I am 
     doing it the way you suggested. Thank you for the suggestion.

     Just for the record, if it turns out I really want to do it without 
     XInclude resolution after all, and want to validate the *including* 
     TEI document (which contains XInclude statements instead of mandatory 
     elements such as publicationStmt), I would have to take the ODD route, 
     wouldn't I? And how would I go about this?

renaming an element nukes NS

relocating from TEIC/TEI#972


Using current version of Roma, if I rename an element from its page (e.g., http://www.tei-c.org/Roma/startroma.php?mode=changeElement&element=abbr&module=core\), an empty ns= attribute is added to the , thus generating a schema that has the element in question not only with a new local name (desired) but in no namespace (very bad).

This does not happen if I rename the element from the module tab (e.g., http://www.tei-c.org/Roma/startroma.php?mode=changeModule&module=core\)

So, to generate this problem:

  • http://www.tei-c.org/Roma/
  • Build schema; start
  • save; Modules; core; abbr
  • Change Name -> "abbreviation" ; save
  • Save Customization
    =>
<elementSpec module="core" ident="abbr" mode="change" ns="">
<altIdent>abbreviation</altIdent>
</elementSpec>
  • Schema =>
tei_abbr = element abbreviation {
where it should have
tei_abbr = element ns1:abbreviation {

Original comment by: @sydb

Possible problem with variable expansion in Roma template

The template roma/templates/main.tem includes this variable intended for expansion based on the config.php file:

{roma_date}

This provides the release date in the footer of every page. However, this does not work in the installation on tei-c.org (it gets replace with an empty string), so I've had to replace it with a hard-coded value. We need to test this to see if it's a problem only on tei-c.org for some reason, or if it's not, how to fix it.

Unset a list of values for attributes in Roma

relocating from TEIC/TEI#1170


Once set in Roma, it seems impossible to disable the setting of a list of values for an attribute.

Here are the steps to reproduce it :

  1. Create a new customization
  2. Go to module > core > abbr (or any other element) > change attributes > set ana (or any other attribute)
  3. In the field "list of values", write for example: test1,test2. Make no other change, save it.
  4. Reopen ana. First, you can see that "closed list" has been switched to "yes", wich is not what we wanted. It seems impossible to set an open list of values with Roma.
  5. Clear the field "list of values" and leave it blank. Save it.
  6. Reopen ana. Nothing has been changed, there is still our list of values in the field.

I have tested this several times, it always happens. I haven't seen it reported before.

Original comment by: romainboistel

two language options?

relocating from TEIC/TEI#957


If the Language tab lets you choose the language of the documentation, what does the language option on the Customize tab do? The latter should be made clearer in the interface.

Original comment by: @kshawkin

online Roma can't generate HTML documentation

(Since the issue tracker here has not been turned off, I'm assuming that posting issues here rather than Sourceforge is acceptable.)

Steps to reproduce

  1. Open http://www.tei-c.org/Roma/
  2. Select "Build up: create a new customization by adding elements and modules to the smallest recommended schema"
  3. Click "Start".
  4. Click the "Documentation" tab.
  5. Select "HTML web page".
  6. Click "Generate."
  7. Save or open the file when prompted.

Actual Results

A file which contains this error message:

pl.psnc.dl.ege.exception.ConverterException: Base URI {} is not an absolute URI at pl.psnc.dl.ege.tei.TEIConverter.convert(TEIConverter.java:171) at pl.psnc.dl.ege.component.NamedConverter.convert(NamedConverter.java:44) at pl.psnc.dl.ege.ConversionPerformer.run(ConversionPerformer.java:44) at java.lang.Thread.run(Thread.java:619) 

Expected Results

No error. Documentation of the schema.

Version

This is Roma version 4.15, last updated 2013-01-11. Using TEI P5 version 2.5.0

Workaround

  1. Download the ODD.

  2. Issue:

    $ teitohtml --odd myTEI_doc.xml myTEI_doc.html
    

How does Roma decide which schemaSpec to process?

I am working on an ODD document for a set of three interrelated customizations of TEI. They are defined in a single ODD document because they share a good deal of material; having them in three separate ODD documents would be a maintenance disaster.

The Roma interface appears to exhibit two flaws when presented with such a document.

First, I haven't been able to locate any mechanism for specifying which schemaSpec element to process. (Perhaps I just haven't looked in the right place.)

Second, the lists of modules and extension elements it provides appear to be based on the assumption that every elementSpec in the document with mode="add" is to be added to the schema being generated, whether it's in a specGrp reachable by specGrpRef pointers from the root schemaSpec or not. (I have a schema fragment showing an imaginable initial declaration for a couple of elements which is not actually referred to from anywhere else, and then the real declarations later, following a discussion of where the initial declarations fall short of requirements. Roma shows multiple extensions using the same name.

The ODD in question is on the open web at http://uyghur.ittc.ku.edu/2018/05/atmo-schemas-PTS.xml

Problem parsing xml comment in a closed list

If I add (by hand) an xml comment to the values of a closed list I cannot change the the possible values any more due to the following error.

Fatal error: Uncaught Error: Call to undefined method DOMComment::getAttribute() in /var/www/tei-roma/roma/romadom.php:845 Stack trace: #0 /var/www/tei-roma/roma/romadom.php(736): romaDom->getAttributeValList('type', '', 'tei', 'att.typed', Array, NULL) #1 /var/www/tei-roma/roma/roma.php(1055): romaDom->getAttributeDefinition('type', '', 'tei', 'att.typed', Object(DOMDocument)) #2 /var/www/tei-roma/roma/roma.php(344): roma->processAddAttribute(NULL) #3 /var/www/tei-roma/startroma.php(33): roma->run() #4 {main} thrown in /var/www/tei-roma/roma/romadom.php on line 845

This can be forced with the following minimalistic example of adding two possible attribute values to @type (att.typed) and a comment afterwards.

    <classSpec ident="att.typed" type="atts" mode="change" module="tei">
     <attList>
      <attDef ident="type" mode="change">
       <valList type="closed" mode="replace">
        <valItem ident="typeA"/>
        <valItem ident="typeB"/><!-- my comment -->
       </valList>
      </attDef>
     </attList>
    </classSpec>

See tei_all(comment).zip for the complete source code.

It looks like Roma is iterating also over comment nodes and not only xml elements.

Namespaces in <exemplum>

relocating from TEIC/TEI#838


Roma seems to be adding namespaces to <exemplum>s, e.g.
<val>20 × 30 mm</val>
becomes
<val xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:ns182="http://www.tei-c.org/ns/1.0">20 × 30 mm</val>

I've tried this with my own ODD and some of the templates, with the same result.

Roma sanity checker fails on previously found correct schemas

(I am new to both Github and the TEI so please excuse any faux pas from my side.)

Version

The Roma web site reports being at version 4.18.

It uses P5 3.0.0 to generate the schema.
shouldwork.zip

Steps to reproduce the issue

  1. Download and unzip the attachment. It includes an anonymized customisation file of a schema that used to work with the sanity checker under version 4.10.
  2. Go to the Roma website.
  3. Click on "New".
  4. Click on "Choose file" next to "Upload a customization", and select the file "shouldwork.xml" that was unzipped, and upload it.
  5. Click on "Start".
  6. Click on "Sanity checker".

Actual results

The page shows that the schema is broken.

Expected results

The schema generated from the customisation file should pass the sanity checker's tests.

Notes and observations

  • The attached customization file is the first of a series of around 9 or 10 that have all passed the sanity checker under version 4.10. Each new file is a superset of the previous, with some added elements. The original file is based on tei_bare.xml.
  • A slight adaptation was made to the original file in order to make TEI the root element instead of teiCorpus, since I am working with single texts with the idea of combining them later under a teiCorpus root.
  • I am using Jing to validate my mark-up against the produced schemas (in RNG/RNC). There are currently no problems.
  • The already existing template for TEI corpora, available on the Roma website, also does not pass the sanity checker. I have found a newer version [here[(http://www.tei-c.org/Guidelines/Customization/#community), but the customization file is missing (as far as I know one cannot upload ODDs and RNGs etc. to Roma or convert them - please correct me if I'm wrong, as I'm new to this). In any case, the changes between the two versions are few.
  • Even the TEI and teiCorpus root elements cannot be used, for all customization files that I have so far uploaded. It seems that not a single element can reach the root.
  • My guess would then be that there was a change from 4.10 to 4.18 that is invalidating the current customization. Perhaps my change of the root is to blame somehow? However this does not explain the sanity checker failing on the template file.
  • Whenever I would like to update an existing schema that used to work, it is now impossible to run the sanity checker to ensure a well-designed schema. Your help would be greatly appreciated.

Kind regards,

Gideon

Default class memberships presented wrongly for many elements

The screen "Change Element/Defining a new element" displays a list of model and attribute classes for a given element, with check boxes pre-selected to show its memberships. For classes with names in the form model.x.y, the class model.x and the class model.x.y are both pre-selected for elements which are a member of model.x.y : see for example <argument>, <abbr> or <docAuthor> . This causes problems if the user tries to make any other change in class membership, since the <classes> element generated for their ODD will contain erroneous <memberOf> elements. The error shows up as a "Unique particle attribution error" when XSD or DTD is generated.

[tx to jonathan greenberg for reporting this: see discussion on TEI-L on 2016-02-01

Silent failure if customizations are not installed

The constructor of the main roma class silently fails if the expected customizations are not installed in the (hardcoded) directory file:///usr/share/xml/tei/custom/odd. I would have either expected the Debian package to be dependent on the tei-p5-exemplars package (which contains the required customizations) or the Roma web application to signal an error or warning on startup.

Adding attributes in custom namespace and schema output

I would like to define a new attribute within a custom namespace in the global responsibility class (e.g. @my:respStatus). When I try this through Roma, the schema output (RNG) returns an error ("undefined prefix"). Is adding an attribute in own namespace allowed/intended at all, or should new attributes be defined in another way?

attDef/desc context disregarded

relocating from TEIC/TEI#835.


I've noticed that in the following example, Roma reads manuscript folios as the description for the attribute as a whole, rather than using the default TEI :

<classSpec ident="att.dimensions" mode="change" module="tei" type="atts">
<attList>
<attDef ident="unit" mode="change">
<valList mode="replace" type="closed">
<valItem ident="folios">
<desc>manuscript folios</desc>
</valItem>
<valItem ident="lines">
<desc>lines of text</desc>
</valItem>
<valItem ident="words">
<desc>words of text</desc>
</valItem>
<valItem ident="chars">
<desc>characters of text</desc>
</valItem>
<valItem ident="mm">
<desc>millimetres</desc>
</valItem>
</valList>
</attDef>
</attList>
<classSpec>

Sanity check

Hello,

I have a few issues with the Roma's sanity check (http://www.tei-c.org/Roma/). I get errors most of the times, even by sanity-checking standard schemas. For example, only by selecting 'TEI absolutely bare' and then clicking on 'sanity check' I get:


Schema is BROKEN !
p cannot be used
list cannot be used
item cannot be used
label cannot be used
head cannot be used
author cannot be used
title cannot be used
teiHeader cannot be used
fileDesc cannot be used
titleStmt cannot be used
publicationStmt cannot be used
sourceDesc cannot be used
TEI cannot be used
text cannot be used
body cannot be used
div cannot be used
front cannot be used
back cannot be used
Elements you can use:

Model classes you can use:


And this without changing anything. Could you please advise?

Thanks and congratulations for the hard work!

first <p> in ODD gets cut off

relocating from TEIC/TEI#956


Here's how you can reproduce the error:

  1. At http://www.tei-c.org/Roma/ , choose to create a customization based on Tite. Click Start.
  2. Roma sends you to the Customize tab. Click Save, even without making other changes.
  3. Click the Save Customization tab.
  4. Open the ODD file. You will get this:
<div type="section" xml:id="intro">
<head>Introduction</head>
<p><ref target="http://www.tei-c.org/Roma/"&gt;Roma web tool</ref>, can generate these. This
document specifies how TEI Tite should be applied. Its&#13; organizing model is roughly the

where all the text before

<ref target="http://www.tei-c.org/Roma/"&gt;Roma web tool</ref>

is lost. This doesn't happen if you don't click Save in step 2.

HTTP/1.1 503 Service Unavailable

I have received a few error messages from the current version of ROMA. As far as I can remember, this has not happened last Monday.

"Modules" offers this:

Warning: file(http://xquery4roma:8080/Query/modules.xql?lang=en): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable in /var/www/tei-roma/roma/roma.php on line 597

Warning: join(): Invalid arguments passed in /var/www/tei-roma/roma/roma.php on line 597

Warning: DOMDocument::loadXML(): Empty string supplied as input in /var/www/tei-roma/roma/roma.php on line 597

Fatal error: Uncaught TypeError: Argument 1 passed to DOMDocument::importNode() must be an instance of DOMNode, null given in /var/www/tei-roma/roma/roma.php:598 Stack trace: #0 /var/www/tei-roma/roma/roma.php(598): DOMDocument->importNode(NULL, true) #1 /var/www/tei-roma/roma/roma.php(655): roma->getListDom('http://xquery4r...', Object(DOMDocument)) #2 /var/www/tei-roma/roma/roma.php(530): roma->processMain(NULL) #3 /var/www/tei-roma/startroma.php(33): roma->run() #4 {main} thrown in /var/www/tei-roma/roma/roma.php on line 598

"Add elements" complains this way:

Warning: file(http://xquery4roma:8080/Query/classes.xql?lang=en): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable in /var/www/tei-roma/roma/roma.php on line 763

Warning: join(): Invalid arguments passed in /var/www/tei-roma/roma/roma.php on line 763

Warning: DOMDocument::loadXML(): Empty string supplied as input in /var/www/tei-roma/roma/roma.php on line 763

Warning: file(http://xquery4roma:8080/Query/attclasses.xql?lang=en): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable in /var/www/tei-roma/roma/roma.php on line 769

Warning: join(): Invalid arguments passed in /var/www/tei-roma/roma/roma.php on line 769

Warning: DOMDocument::loadXML(): Empty string supplied as input in /var/www/tei-roma/roma/roma.php on line 769

Warning: file(http://xquery4roma:8080/Query/datatypes.xql): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable in /var/www/tei-roma/roma/roma.php on line 774

Warning: join(): Invalid arguments passed in /var/www/tei-roma/roma/roma.php on line 774

Warning: DOMDocument::loadXML(): Empty string supplied as input in /var/www/tei-roma/roma/roma.php on line 774

Warning: file(http://xquery4roma:8080/Query/macros.xql): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable in /var/www/tei-roma/roma/roma.php on line 778

Warning: join(): Invalid arguments passed in /var/www/tei-roma/roma/roma.php on line 778

Warning: DOMDocument::loadXML(): Empty string supplied as input in /var/www/tei-roma/roma/roma.php on line 778

Fatal error: Uncaught TypeError: Argument 1 passed to DOMDocument::importNode() must be an instance of DOMNode, null given in /var/www/tei-roma/roma/roma.php:788 Stack trace: #0 /var/www/tei-roma/roma/roma.php(788): DOMDocument->importNode(NULL, true) #1 /var/www/tei-roma/roma/roma.php(1120): roma->processAddElements(NULL) #2 /var/www/tei-roma/roma/roma.php(323): roma->processListAddedElements(NULL) #3 /var/www/tei-roma/startroma.php(33): roma->run() #4 {main} thrown in /var/www/tei-roma/roma/roma.php on line 788

"Change classes":

Warning: file(http://xquery4roma:8080/Query/attclasses.xql?lang=en): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable in /var/www/tei-roma/roma/roma.php on line 1196

Warning: join(): Invalid arguments passed in /var/www/tei-roma/roma/roma.php on line 1196

Warning: DOMDocument::loadXML(): Empty string supplied as input in /var/www/tei-roma/roma/roma.php on line 1196

Best,
Philipp

Error in generating RNC file from ODD

I am trying to generate an RNC from my ODD (which I just did minutes before and it worked fine) and I get this error message.

MESSAGES

/tmp/ee4ab230ec3efbcf069f6f53b1f3cbc3.tmp:2:6: fatal: The processing instruction target matching "[xX][mM][lL]" is not allowed.

Bogus error about non-existent processing instruction matching [xX][mM][lL]

Roma is objecting to an ODD file I have been submitting to it, with the error message

The processing instruction target matching "[xX][mM][lL]" is not allowed.

The only problem is that the ODD file in question has no content that violates the relevant rule of XML well-formedness: it has an XML declaration, some xml-stylesheet processing instructions, and some xml-model processing instructions, but no others.

At first I thought perhaps Roma was the victim of some obsolete infrastructure that didn't know about xml-model PIs, but removing all the processing instructions and the XML declaration failed to clear the error.

The ODD file I am trying to process is on the Web at http://uyghur.ittc.ku.edu/2018/05/atmo-schemas-PTS.xml

Cannot access Roma on Website

Hello there,
I have recently started my PhDin History and part of it is an Edition, which I wanted to make a digital edition. In doing so I started with setting up exist-db and I wanted to follow TEI.
I started digging and now I hit a dead end, when I wanted to specify my own ODD.( I assume tei_ms could work ....)
And now, without further ado:
when I attempt to open http://www.tei-c.org/Roma/
I get the following.
grafik
Is it me or is there sth. wrong?

Sorry this seems so basic, I am even unsure whether I should actually ask this: Am I missing something obvious?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.