![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - RE: Include multiple complex types into one element ... [Thread Next] RE: Include multiple complex types into one element ...To: Michael Kay <mike@--------.--->, 'Andrew Welch' <andrew.j.welch@-----.---> Date: 7/9/2008 6:00:00 AM It makes sense. Thanks again. > From: mike@s... > To: andrew.j.welch@g...=3B dragon-fly999@h... > CC: xmlschema-dev@w... > Date: Wed=2C 9 Jul 2008 13:49:38 +0100 > Subject: RE: Include multiple complex types into one element ... > > > > - the element can be reused (so LastName can be used (ref'd) > > in multiple places) > > > > - the element is defined in one place (so changing the type > > of LastName only needs to be done once=2C not everywhere that it's used= ) > > > > - the types are exposed to applications=2C so you can match on > > type define variables as that type in schema-aware XSLT or XQuery > > > > - it follows a consistent style=2C and turns the upper part of > > your schema into a data dictionary :) > > > > And one more=2C if you consistently avoid using local element declaration= s=2C > then it's easier to avoid the trap of writing > > <xs:element name="person"/> > > when you meant > > <xs:element ref="person"/> > > It's a really nasty mistake to make=2C because your schema document is va= lid > and it validates all your valid instances=2C but it doesn't catch the val= idity > errors that you intended to catch. That's because <xs:element > name="person"/> defaults to <xs:element name="person" type="xs:anyT= ype"/> > > I don't condemn local element declarations entirely=2C however. But I ten= d to > apply the rule that if you use a local element declaration then it should > refer to a global type definition. > > Michael Kay > http://www.saxonica.com/ > > _________________________________________________________________ Making the world a better place one message at a time. http://www.imtalkathon.com/?source=EML_WLH_Talkathon_BetterPlace= | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
