Giter VIP home page Giter VIP logo

dita-ng's People

Contributors

drmacro avatar georgebina avatar spirou32 avatar

Watchers

 avatar

dita-ng's Issues

Implement RNG-to-DTD conversion

Implement a conversion process to generate DTD-syntax vocabulary modules and 
document type shells that conform to the DITA DTD coding requirements.

Original issue reported on code.google.com by [email protected] on 18 Feb 2013 at 2:08

Parameterize the generation of module public IDs

Define  run-time parameter to define the static parts of the .ent and .mod 
public IDs. Can't assume OASIS SGML-style public IDs. Need to accommodate URNs 
like those used in DITA for Publishers.

Original issue reported on code.google.com by [email protected] on 16 Jun 2013 at 8:08

Element Type and Attribute list Declarations not being generated

The code as of rev 78 is generating only parameter entity declarations. It 
needs to also generate element and attribute list declarations for each element 
type. 

For example, given this RNG:


  <define name="mathmlref.content">
    <empty/>
  </define>

  <define name="mathmlref.attributes">
    <ref name="xref.attributes"/>
  </define>

  <define name="mathmlref.element">
    <element name="mathmlref">

      <ref name="mathmlref.attributes"/>
      <ref name="mathmlref.content"/>
    </element>
  </define>

The DTD result should be one parameter entity for mathmlref.content, one for 
mathmlref.attributes, but then an ELEMENT and ATTLIST declaration pair that 
references those entities, e.g.:

<!ENTITY % mathmlref.content 
"..."
>
<!ENTITY % mathmlref.attributes
 "..."
>

<!ELEMENT mathmlref
  %mathmlref.content;
>
<!ATTLIST mathmlref
  %mathmlref.attributes;
>

There is never a parameter entity for the element type itself.

The naming convention on the <define> elements is consistent, so that any 
define with the name "*.element" should never result in a parameter entity. 
Rather, it should result in the ELEMENT/ATTLIST declaration pair as shown. The 
ELEMENT and ATTLIST declarations should only ever have the single parameter 
entity references, so the only information that is needed is the element type 
name: the names of the parameter entities will always follow the patter 
"{typename}.content" and "{type name}.attributes", so there is no need to 
process of the contents of any <define> with a name matching "*.content" unless 
it is to get the element type name from the contained <element> element.


Original issue reported on code.google.com by [email protected] on 18 May 2013 at 8:33

Parameter entities for .ent files

The .ent files for domain modules only include the "integration" entities, 
which are the entities that extend the base types. In the RNG these are defines 
where the name starts with the name of the domain and a trailing dash, e.g. 
"hi-d-":


  <define name="hi-d-ph">
    <choice>
      <ref name="b.element"/>
      ...
    </choice>
  </define>

You could get the module name from the domains-atts-value declaration: it 
should always be the second token within the parenthesized value:

  <define name="domains-atts-value" combine="choice">
    <value>(topic hi-d)</value>
  </define>

The <defines> that reference the "integration" defines would go in the shell 
DTD, not the module itself, because in DTD syntax they are specific to each 
shell. So those entities would never get generated in the .ent or .mod file, 
but only in the DTD shell.

Original issue reported on code.google.com by [email protected] on 18 May 2013 at 8:40

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.