Re: [xml-dev] Use DTDs!

From
Hans-Juergen Rennau <>
To
"Costello, Roger L." <>, "" <>
Date
2016-05-02T14:33:29Z
ID
<>
Thread
Re: [xml-dev] Use DTDs!
In general, it is quite feasible to design an XML format which defines the model to be represented by XSD in a very compact and readable way - resembling closely the instance documents described by the XSD - and generate the XSD from such "XSD design" documents. A simple example:

<x:xsdd xmlns:x="http://www.xsdr.org/ns/xsdd" ...>
    <x:stypes>
        <x:stype name="LocaleOrLangType" typeDesc="#[a-z]{2}(-[A-Z]{2})?#"/>
        ...
    </x:stypes>

    <TravelAgenciesRQ>
        <RQ_Metadata Language="$LocaleOrLangType" RequestID="xs:string" TransactionID="xs:string"
            >#empty</RQ_Metadata>
        <TravelAgencyFilter x:occ="?">
            <x:_choice_>
                <TravelAgencyIDs>
                    <TravelAgencyID x:occ="+">$NonEmptyString32</TravelAgencyID>
                </TravelAgencyIDs>
                <TravelAgencyShortNames>
                    <TravelAgencyShortName x:occ="+">$NonEmptyString</TravelAgencyShortName>
                </TravelAgencyShortNames>
            </x:_choice_>
        </TravelAgencyFilter>
    </TravelAgenciesRQ>
</x:xsdd>

In fact, as a rule I do not write XSDs any more, but write xsdd (XSD design) documents instead.

Cheers,
Hans-Jürgen


"Costello, Roger L." <[email protected]> schrieb am 15:33 Montag, 2.Mai 2016:


The unofficial compact syntax for XSD <http://dret.net/projects/xscs> is even simpler:
 
element altitude { (xs:string)
    required attribute units {"feet", "meters"}
}
 
I like it!
 
Are there validating engines which validate XML instances against schemas that are specified using this compact syntax?
 
Are people using this compact syntax in real-world applications?
 
/Roger
 
From: John Cowan [mailto:[email protected]]
Sent: Monday, May 02, 2016 9:24 AM
To: Costello, Roger L. <[email protected]>
Cc: [email protected]
Subject: Re: [xml-dev] Use DTDs!
 
 
On Mon, May 2, 2016 at 7:49 AM, Costello, Roger L. <[email protected]> wrote:
 
<!ELEMENT altitude (#PCDATA)>

<!ATTLIST altitude
             units (feet|meters) #REQUIRED>


The unofficial compact syntax for XSD <http://dret.net/projects/xscs> is even simpler:
 
element altitude { (xs:string)
    required attribute units {"feet", "meters"}
}
 
XSD has plenty of problems, but it shouldn't be blamed for the verboseness of XML as a language notation.
 
--
GMail doesn't have rotating .sigs, but you can see mine at http://www.ccil.org/~cowan/signatures