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>
<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!
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>
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