Re: Moving the XSLT WD to xmlspec 2.2

/ "Kay, Michael" <Michael.Kay@softwareag.com> was heard to say:
| I have started the process of moving the XSLT 2.0 working draft to conform
| with Norm's new xmlspec DTD version 2.2. Previously it used a
| locally-modified variant of xmlspec 2.1.

Cool. You may still need a local-variant, but the added marked
sections in 2.2 should make that much easier to construct as a delta
off of 2.2.

| Here are my initial observations:
|
| (a) I had added an attribute "at" to go with "diff", to record the version
| at which a change was made. This fulfils the same function as Philippe Le
| Hegaret's "since" attribute.

I'm still not sure that's the right way to do that, unless the values
for 'at' are a token list. But I said that before.

Nevertheless, here is a customization layer on 2.2 that will add that
attribute back for you:

<!-- XML Spec 2.2 modified for XSLT 2.0 -->

<!ENTITY % diff.att
        'diff                   (chg
                                |add
                                |del
                                |off)           #IMPLIED
        'at                     CDATA           #IMPLIED'>

| (b) I had also added an element <change> to allow bracketing of a collection
| of paragraphs that had been changed at the same time - used in the same way
| as <phrase> for sub-paragraph changes. This avoids the need to have the same
| "diff" attribute on many adjacent paragraphs. (I don't use this very often
| but it's very handy on those occasions: it also enables better rendition
| since the resulting change marking can span the paragraph boundaries.)

<!ENTITY % local.p.class  "change">

| (c) I had modified the <issue> element so the only thing it requires is an
| id attribute that identifies the issue (by name, in my case, but it could be
| by number). The actual issues list is held separately for control purposes,
| and text is pulled in from the issue list by the stylesheet. This also
| allows the document to contain multiple references to the same issue.
| Perhaps this should really be an <issueref> element.

Yes, I think that should be issueref, but for the short term, I'll
continue on the assumption that you'd like to keep your current
markup.

<!ENTITY % issue.element "IGNORE">

| (d) I had added markup allowing italics in code sections (to indicate parts
| of the code that are variable)

Hmm. The DTD needs more PEs!

<!ENTITY % eg.element "IGNORE">

| (e) I had added additional data types to the things that can be specified in
| a <proto> element as argument types and result types.

<!ENTITY % argtypes
        '(boolean
         |expression
         |location-set
         |node-set
         |number
         |object
         |point
         |range
         |string
         | ... your types here ...)'>

| Perhaps some of these are things I can fix in the internal DTD subset - I'm
| not a DTD expert so please advise!

I'm proceeding on the assumption that a simple customization layer is
better than a bloated internal subset. Especially since it's easy now.

| Otherwise I would appreciate it if either (a) equivalent features could be
| added to xmlspec.dtd, or (b) someone could advise me how to get round the
| problems.

I'm choosing (b) for the short term. I think (a) will require XML Spec
3.0 which is farther out.

So, finishing up...

<!ENTITY % xmlspec PUBLIC "-//W3C//DTD Specification V2.2//EN"
                          "http://www.w3.org/2002/xmlspec/dtd/2.2/xmlspec.dtd">
%xmlspec;

<!ELEMENT eg (%eg.pcd.mix;|...your additional italic markup elements...)*>

<!ELEMENT issue ...your definition here...>

<!-- End of XML Spec 2.2 modified for XSLT 2.0 -->

I think that's it. Bang together those decls and you'll be all set.

                                        Be seeing you,
                                          norm

-- 
Norman.Walsh@Sun.COM    | No victor believes in chance.--Nietzsche
XML Standards Architect |
Sun Microsystems, Inc.  | 

Received on Wednesday, 28 August 2002 11:47:37 UTC