[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Re: xinclude
Certainly. Running trang on the DTD I posted above results in a
compact grammar that follows at the end of this email. If I change the
overall DTD (dbmathmlxi.dtd, posted earlier in this thread) to point
to the 4.5CR1 DTD, trang still completes, but the generated
dbmathml.rnc file looks like this:
mathml-math = mml.math
equation.content = alt?, (graphic | mediaobject | mathml-math)+
inlineequation.content =
alt?, (graphic | inlinemediaobject | mathml-math)+
local.chapter.class = xi.include
local.divcomponent.mix = xi.include
local.para.char.mix = xi.include
local.info.class = xi.include
local.component.mix = xi.include
include "docbookx.rnc"
NamespaceDecl.attrib = empty
include "mathml2.rnc"
include "xinclude.rnc"
start = mathphrase
any =
(element * {
attribute * { text }*,
any
}
| text)*
Compare that with referencing V4.3:
mathml-math = mml.math
equation.content = alt?, (graphic | mediaobject | mathml-math)+
inlineequation.content =
alt?, (graphic | inlinemediaobject | mathml-math)+
local.chapter.class = xi.include
local.divcomponent.mix = xi.include
local.para.char.mix = xi.include
local.info.class = xi.include
local.component.mix = xi.include
include "docbookx.rnc"
NamespaceDecl.attrib = empty
include "mathml2.rnc"
include "xinclude.rnc"
start =
mml.vector
| mml.vectorproduct
| informalequation
| userinput
| methodname
| mml.ceiling
| mml.munderover
| alt
| mml.ms
| mml.max
| primary
| mml.mo
| mml.mn
| mml.mi
| reference
| mml.forall
| subjectterm
| biblioset
| colophon
| mml.malignmark
| mml.lt
| ackno
| mousebutton
| glosslist
| glossaryinfo
| bibliorelation
| mml.ln
| classsynopsisinfo
| mml.mroot
| secondary
| code
| mml.approx
| firstname
| mml.interval
| refsect3info
| guimenu
| ooexception
| example
| mml.mspace
| lot
| mml.arccsch
| shortcut
| toc
| returnvalue
| beginpage
| mml.card
| dedication
| refname
| tfoot
| highlights
| date
| shortaffil
| manvolnum
| mml.mover
| glossdef
| term
| chapterinfo
| collabname
| sect2info
| bibliocoverage
| mml.naturalnumbers
| mml.inverse
| mml.in
| programlisting
| mml.arctan
| mml.logbase
| paramdef
| fax
| mml.sin
| mml.csch
| caution
| orderedlist
| mml.outerproduct
| mml.not
| lineannotation
| bibliomisc
| destructorsynopsis
| spanspec
| mml.mglyph
| \token
| mml.lambda
| mml.moment
| bibliomset
| bibliosource
| isbn
| affiliation
| initializer
| audioobject
| mml.lowlimit
| mml.gt
| mediaobject
| varname
| qandaset
| mml.grad
| mml.eulergamma
| calloutlist
| revision
| refentryinfo
| corpname
| anchor
| graphicco
| revhistory
| areaspec
| mml.fn
| mml.emptyset
| holder
| setindex
| personblurb
| literal
| sect5info
| refdescriptor
| mml.product
| mml.eq
| mml.transpose
| invpartnumber
| objectinfo
| imageobjectco
| mml.arctanh
| mml.set
| tip
| mml.sep
| keycombo
| mml.sec
| refmiscinfo
| indexdiv
| mml.arg
| void
| tertiaryie
| section
| abbrev
| substeps
| subject
| literallayout
| mml.minus
| part
| partintro
| mml.tanh
| mml.cn
| xi.include
| mml.matrix
| mml.ci
| revdescription
| accel
| mml.mstyle
| mml.arccoth
| book
| mml.divide
| para
| informaltable
| citebiblioid
| indexterm
| note
| application
| itemizedlist
| mml.root
| partinfo
| refsynopsisdiv
| mml.arccosh
| mml.notprsubset
| mml.notsubset
| keycap
| articleinfo
| entry
| contractnum
| blockquote
| mml.degree
| mml.int
| mml.primes
| mml.coth
| callout
| funcparams
| synopfragment
| mml.false
| mml.and
| imageobject
| confnum
| mml.cosh
| segmentedlist
| errortext
| mml.union
| ooclass
| mml.piece
| orgname
| glossterm
| artpagenums
| mml.mtext
| msgentry
| msgrel
| issuenum
| mml.arcsech
| row
| emphasis
| msgmain
| mml.neq
| bookinfo
| caption
| contrib
| mml.msqrt
| mml.codomain
| indexinfo
| biblioid
| table
| inlinegraphic
| bibliodiv
| mml.mpadded
| refsect1info
| fieldsynopsis
| symbol
| colspec
| mml.sech
| videodata
| question
| mml.merror
| mml.mfrac
| mml.domainofapplication
| pagenums
| envar
| acronym
| command
| step
| msgsub
| mml.list
| msg
| funcsynopsisinfo
| confgroup
| mml.log
| releaseinfo
| authorinitials
| mml.imaginaryi
| uri
| errorcode
| refclass
| tocfront
| keycode
| year
| secondaryie
| mml.arccsc
| mml.exists
| othercredit
| setindexinfo
| prefaceinfo
| tertiary
| mml.mrow
| constant
| refentry
| mml.mlabeledtr
| mml.annotation
| revremark
| group
| pubdate
| screeninfo
| revnumber
| confdates
| wordasword
| mml.determinant
| hardware
| toclevel5
| toclevel4
| toclevel3
| toclevel2
| toclevel1
| property
| mml.true
| markup
| answer
| bibliography
| tocentry
| mml.mfenced
| sidebarinfo
| appendix
| sect3info
| screenco
| qandadiv
| mml.arccot
| mml.arccos
| menuchoice
| citerefentry
| copyright
| refnamediv
| oointerface
| titleabbrev
| medialabel
| city
| funcsynopsis
| bridgehead
| errorname
| filename
| mml.matrixrow
| volumenum
| bibliographyinfo
| printhistory
| variablelist
| otheraddr
| mml.declare
| msglevel
| mml.divergence
| chapter
| tocpart
| mml.abs
| phrase
| mml.mode
| mml.piecewise
| imagedata
| subjectset
| seeie
| bibliomixed
| tocback
| mml.power
| option
| lineage
| mml.imaginary
| mml.curl
| listitem
| citetitle
| mml.setdiff
| seriesvolnums
| mml.exp
| mml.arcsin
| mml.leq
| mml.reln
| mml.selector
| task
| taskrelated
| pob
| mml.arcsinh
| tr
| sect5
| sect4
| sect3
| xref
| sect2
| sect1
| mml.image
| th
| publishername
| simplemsgentry
| td
| guilabel
| mml.ident
| label
| mml.uplimit
| mml.equivalent
| structname
| corpcredit
| mml.lcm
| type
| refentrytitle
| inlinemediaobject
| mml.notin
| mml.sinh
| surname
| mml.condition
| sgmltag
| olink
| mml.menclose
| msgaud
| mml.maligngroup
| mml.mtr
| edition
| mml.mmultiscripts
| mml.tan
| mml.infinity
| referenceinfo
| itermset
| lotentry
| msgtext
| mml.mtd
| mml.conjugate
| mml.arcsec
| funcprototype
| trademark
| function
| mml.msup
| coref
| modespec
| action
| abstract
| mml.msub
| mml.bvar
| mml.times
| msgexplan
| mml.munder
| remark
| mml.factorial
| msgset
| exceptionname
| seglistitem
| indexentry
| state
| glossary
| tgroup
| mml.variance
| sidebar
| mml.subset
| glosssee
| mml.geq
| xi.fallback
| refsect2info
| refsection
| col
| replaceable
| superscript
| pubsnumber
| seealso
| mml.notanumber
| mml.tendsto
| mml.exponentiale
| simpara
| formalpara
| author
| mml.limit
| refsect3
| refsect2
| refsect1
| mml.mtable
| sect1info
| mediaobjectco
| mml.prsubset
| authorblurb
| mml.otherwise
| glossentry
| mml.gcd
| sectioninfo
| conftitle
| email
| footnoteref
| keysym
| contractsponsor
| subtitle
| preface
| equation
| screen
| textobject
| corpauthor
| primaryie
| informalfigure
| modifier
| authorgroup
| systemitem
| ulink
| parameter
| programlistingco
| structfield
| tocchap
| appendixinfo
| guibutton
| guisubmenu
| publisher
| mml.intersect
| database
| issn
| methodsynopsis
| mml.real
| synopfragmentref
| title
| subscript
| quote
| optional
| orgdiv
| sect4info
| collab
| productnumber
| epigraph
| synopsis
| simplesect
| mml.rem
| mml.plus
| thead
| warning
| country
| entrytbl
| mml.compose
| setinfo
| mml.partialdiff
| refsectioninfo
| mml.mean
| mml.momentabout
| varlistentry
| mml.annotation-xml
| street
| mml.integers
| simplelist
| refmeta
| productname
| mml.mprescripts
| mml.msubsup
| colgroup
| mml.laplacian
| prompt
| mml.xor
| legalnotice
| biblioentry
| classsynopsis
| mml.quotient
| segtitle
| msgorig
| mml.rationals
| mml.min
| phone
| stepalternatives
| msginfo
| mml.sum
| attribution
| member
| methodparam
| honorific
| mml.mphantom
| mml.maction
| cmdsynopsis
| set
| funcdef
| footnote
| procedure
| seg
| see
| mml.semantics
| guimenuitem
| refsynopsisdivinfo
| othername
| mml.diff
| audiodata
| glossseealso
| arg
| mml.csymbol
| mml.none
| tasksummary
| videoobject
| blockinfo
| informalexample
| varargs
| screenshot
| mml.implies
| keywordset
| mml.sdev
| qandaentry
| guiicon
| co
| link
| confsponsor
| mml.csc
| tbody
| citation
| personname
| interfacename
| textdata
| important
| mml.scalarproduct
| errortype
| graphic
| mml.domain
| keyword
| sbr
| interface
| mml.math
| mml.reals
| mml.complexes
| mml.pi
| address
| jobtitle
| area
| index
| editor
| classname
| taskprerequisites
| mml.or
| postcode
| constructorsynopsis
| mml.median
| seealsoie
| article
| figure
| mml.floor
| computeroutput
| foreignphrase
| firstterm
| areaset
| mml.cartesianproduct
| mml.factorof
| inlineequation
| glossdiv
| refpurpose
| mml.apply
| mml.cot
| mml.cos
any =
(element * {
attribute * { text }*,
any
}
| text)*
Maybe trang is just broken?
On 3/6/06, Bob Stayton <bobs@sagehill.net> wrote:
> Hi Chris,
> Can you describe in more detail what "didn't work" with 4.5?
>
> Bob Stayton
> Sagehill Enterprises
> DocBook Consulting
> bobs@sagehill.net
>
>
> ----- Original Message -----
> From: "Chris Chiasson" <chris@chiasson.name>
> To: "docbook-apps List" <docbook-apps@lists.oasis-open.org>
> Sent: Friday, March 03, 2006 1:07 PM
> Subject: [docbook-apps] Re: xinclude
>
>
> BTW, the (overall) DTD I came up with didn't work when referencing the
> Docbook 4.5CR1 DTD. It only worked when referencing the Docbook 4.3
> DTD. I wonder why that is?
>
> Here is the text of the DTD:
>
> <!ENTITY % mathml-colon ':'>
> <!ENTITY % mathml-prefix 'mml'>
> <!ENTITY % mathml-math '%mathml-prefix;%mathml-colon;math' >
> <!ENTITY % equation.content "(alt?, (graphic|mediaobject|%mathml-math;)+)">
> <!ENTITY % inlineequation.content "(alt?,
> (graphic|inlinemediaobject|%mathml-math;)+)">
>
> <!ENTITY % local.chapter.class "| xi:include">
> <!ENTITY % local.divcomponent.mix "| xi:include">
> <!ENTITY % local.para.char.mix "| xi:include">
> <!ENTITY % local.info.class "| xi:include">
> <!ENTITY % local.component.mix "| xi:include">
>
> <!ENTITY % docbook PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
> "../../xml-dtd-4.3/docbookx.dtd">
> %docbook;
>
> <!ENTITY % NS.prefixed "INCLUDE">
> <!ENTITY % MATHML.prefix "%mathml-prefix;">
> <!ENTITY % NamespaceDecl.attrib "
> xmlns%mathml-colon;%mathml-prefix;
> CDATA #FIXED 'http://www.w3.org/1998/Math/MathML'">
>
> <!ENTITY % mathml PUBLIC "-//W3C//DTD MathML 2.0//EN"
> "../../../common/dtd/mathml2/mathml2.dtd">
> %mathml;
>
> <!ENTITY % xinclude PUBLIC "-//UBS//CORE//DTD XInclude V1.0//EN"
> "../../../xinclude/xinclude.dtd">
> %xinclude;
>
>
> On 3/3/06, Chris Chiasson <chris@chiasson.name> wrote:
> > Hello docbook-apps,
> >
> > In trying to find an editor that would let me work on the
> > W3C-Schema-defined DotML format for drawing graphs with graphviz, I
> > decided to move away from XXE because its' free version doesn't
> > support XSD or RNG schemata if the document isn't one of a limited set
> > of XML formats. It also doesn't properly support xi:include elements
> > with the attribute parse="text".
> >
> > I tried <oxygen/>, but found it slow, resource hungry, and confusing.
> > It once took upwards of five minutes to tell me I had ~20 xi:include
> > elements that were invalid. At least that's what I thought happened. I
> > haven't yet been back to it since trying emacs nxml mode. If you are
> > wondering, I did enable xi:include processing in <oxygen/>.
> >
> > nXML... where to begin? It really assaults the (ok, my) mind to try to
> > assimilate a new schema XML format, a compact version thereof, and a
> > different philosophy about how (or even whether) a document is
> > associated with a schema.
> >
> > An effective conversion to docbookxi 5+mathml schema and format, along
> > with proper stylesheet processing is still out of my reach... so, in
> > the meantime, I'm still with to db4+mathml.
> >
> > At first, nXML was invalidating my xi:includes. I realized this is
> > because they are not in the included Docbook 4.2 grammar. I tried
> > adding xi:include and mml:math elements to the Docbook 4.5CR1 grammar
> > by paralleling the method given in the docbook 5 howto at
> >
> > http://www.docbook.org/docs/howto/#faq-customization-mathml-svg
> >
> > , where the example there is db5+mathml+svg. I didn't know how to
> > create a compact grammar for xincludes, so I found a DTD in the
> > mailing list archives,
> >
> > http://lists.oasis-open.org/archives/docbook-apps/200210/msg00018.html
> >
> > , and converted it with trang. Paralleling the howto did not work out for
> me.
> >
> > Since I had trang and the XInclude DTD of the archived message, I
> > decided to modify the Docbook 4.3 + MathML DTD from
> >
> > http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd
> >
> > and then convert it to a grammar. I had to modify the MathML DTD to
> > support XIncludes instead of adding the XInclude DTD via entity
> > reference to my documents, because nXML mode does not obey entity
> > references.
> >
> > Since I don't know much about DTDs, this process was fun... heh... No
> > matter where I referenced the XInclude DTD inside the DB+MathML DTD,
> > nXML mode was still not validating properly.
> >
> > Finally, as with many of my Docbook problems, I found an answer in the
> > place I should have looked first, Bob Stayton's Docbook XSL: The
> > Complete Guide at
> >
> > http://www.sagehill.net/docbookxsl/ValidXinclude.html
> >
> > . It says to append the xi:include element to the content models of
> > some other elements... this makes sense. I eventually figured out that
> > the content model modifications had to come before the main Docbook
> > DTD reference, which in turn had to come before the main XInclude DTD
> > reference in the (overall) DTD. (I don't know about the relative
> > positioning of the XInclude and MathML DTDs and entity references - my
> > .mml files and the .xml files that reference them are automatically
> > created by my Mathematica script, so I don't edit those files in
> > nXML.)
> >
> > The (overall) DTD now looks like:
> >
> > 1. docbook mml entity mods
> >
> > 2. docbook xi entity mods (from
> > http://www.sagehill.net/docbookxsl/ValidXinclude.html, plus others)
> >
> > 3. docbook dtd reference
> >
> > 4. mathml dtd reference
> >
> > 5. xinclude dtd reference (from
> > http://lists.oasis-open.org/archives/docbook-apps/200210/msg00018.html)
> >
> > I converted this DTD into a grammar and then loaded into nXML. As it
> > turned out, this didn't fix all my problems. Notice that the XInclude
> > DTD from msg00018.html above is missing the question mark from
> > (xi:fallback?). This made nXML mode tell me that an xi:include
> > couldn't be empty. I figured this question mark problem out for myself
> > by reading some DTD tutorials... Then I found the answer, again, in
> > the eample from Bob Stayton's book. I know... Not too bright am I...
> >
> > So, that took care of allowing empty xi:includes. Unfortunately, nXML
> > mode didn't like my xpointer attributes. The third time being the
> > charm, started with Bob Stayton's DTD... his DTD was also missing the
> > xpointer attribute. ?!?!? Eventually, I just made one up. This last
> > bit caused my documents to validate. Yay!
> >
> > Now. On to DotML.
> >
> > P.S. I just found a good XInclude DTD at
> > http://www.w3.org/TR/xinclude/#include_element
> > P.P.S. I bet using rngconv on the XInclude XSD at the w3c page above
> > would generate a really good Relax NG grammar.
> >
> > Ciao,
> > --
> > http://chris.chiasson.name/
> >
>
>
> --
> http://chris.chiasson.name/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>
>
>
>
>
--
http://chris.chiasson.name/
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]