[relaxng-user] customization layer in relax ng?

Bruce D'Arcus bdarcus at fastmail.fm
Sat Nov 15 12:07:58 ICT 2003


Regarding previous post on customization layer in rnc, I think I've 
gotten most of the way to implementing it, but I'm now stuck.  I think 
I'm just unclear about where to put the damned curly-brackets when 
redefining elements.  Help, please.

Bruce

================================================
include "docbook.rnc"

biblioref = element biblioref { biblioref.attlist }
biblioref.attlist &=
    attribute linkend { xsd:IDREF },
    attribute endterm { xsd:IDREF },
    attribute unit { xsd:token },
    attribute start {xsd:token },
    attribute stop { xsd:token }

citation = para.char.mix*,
    biblioref*,
       citation.attlist

citation.attlist &=
    common.attrib,
    citation.role.attrib,
    local.citation.attrib,
    attribute renderas { "full" | "author" | "year" | "title" }?,
    attribute caption { text }?
    }
# done with the citation element

# extend the blockquote element
local.blockquote.attrib = blockquote.role.attrib
blockquote.role.attrib = role.attrib

blockquote = title?,
    attribution?,
    component.mix+,
    biblioref?,
    blockquote.attlist

blockquote.attlist &=
    common.attrib,
    blockquote.role.attrib,
    local.blockquote.attrib

# done with blockquote



More information about the relaxng-user mailing list