[Home] [By Thread] [By Date] [Recent Entries]
"Henry S. Thompson" wrote: > > Brett McLaughlin <bmclaugh@a...> writes: > > > Alan Santos wrote: > > > > > > > Dah! I'm asleep today... the reason you need <type> is because you can > > > > specify explicit named types: > > > > > > > > <type name="myType"> > > > > <element name="nestedElement" type="string" /> > > > > <element name="anotherNestedElement" type="integer" /> > > > > </type> > > > > > > > > <element name="myElement" type="myType" /> > > > > > > > > There is no way without the <type> element construct to specify a name > > > > for a non-primitive data type without really blowing away any idea of > > > > congruity across the element space. So we have the "type" element. > > > > > > > > Make sense? > > > > > > > > > > Yes it does now. > > > > > > Syntactically it appears to be legal to simply have <type> on it's own, > > > outside of any elements. Is it simply a stylistic difference to define it > > > inside another element? > > > > Nope. This: > > > > <element name="element1"> > > <type> > > <element name="element2" type="string" /> > > </type> > > </element> > > > > is an implicit element type. It is used right there and not > > referenceable by any other element. > > Right. I'd call it an anonymous complex type. > > > This: > > > > <type name="type1"> > > <element name="element2" type="string" /> > > </type> > > > > is an explicit element type and is referenceable by other elements: > > > > <element name="element1" type="type1" /> > > Right. I'd call it a top-level or named complex type. > > > This: > > > > <type> > > <element name="element2" type="String" /> > > </type> > > > > is absolutely useless, as it is not referenceable by any other element, > > and is not implicitly assigned to any other element. > > Furthermore, it's not allowed: top-level types MUST have a name > attribute. The schema for schemas expresses this constraint. Good, this is new in the 12-17 draft, right? (I was great on the old one, am getting the new one down ASAP...thanks for help). > > > Finally, the last permutation: > > > > <element name="element1"> > > <type name="type1"> > > <element name="element2" type="string" /> > > </type> > > </element> > > > > is legal, and the type is referenceable by other elements, but is bad > > form (IMHO). If you have a type that will be used multiple times, put > > it on its own (explicit type). If it is only used once, use an implicit > > type within the element definition. Things like this are very > > confusing. > > First real misunderstanding: this is NOT allowed: only top-level > types can have names. Again, the schema for schemas expresses this > constraint. Again, good. I know you could do this in archetypes under some parsers (Schema-valid). Happy to see this was cleared up. -Brett > > ht > -- > Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh > 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 > Fax: (44) 131 650-4587, e-mail: ht@c... > URL: http://www.ltg.ed.ac.uk/~ht/ xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 To unsubscribe, mailto:majordomo@i... the following message; unsubscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|

Cart



