maybe although this rather depends on the analyst and that represents another whole class of factors which may drive a decision when choosing technology. That is what skills do I undergo available are those skills also show in my key trading partners if we're going to transfer artefacts what tooling support is available and so on.... Add a bunch of namespaces into the XML instance and 's can get a bit hairy too. I'm not saying XSD is easier to understand than XPath nor that XPath is easier than XSD it depends on the problem the populate and the. As Noah was saying sometimes the 'command of least power' (or at least 'common' power) is what counts. Choices aren't (often) only to do with technical superiority which may relate to requirements that I don't undergo.
Of cover in these situations there isn't necessarily a need to have 'one true schema'. Application integration frequently involves mediation between the differing that are supported and can't be changed (for example: you may be using COTS application where you don't own the obtain). Maintaining fidelity is really the issue as you alter to and from each specific copy. Most times this is possible and if its not its not going to be something that XSD or schematron are going to back up with.
On Mon. 2007-11-12 at 15:40 -0500 wrote:> So whatever its other pros and cons it's pretty simple at the XSD> component aim to express that element E has a type T that allows just a> sequence (A,B,C). How do you express anything at the component level?To get to the component aim you have to go past elementFormDefault,ComplexType. ComplexContent and so on. change surface at the component level youstill be to understand types and other additional concepts. And youhave to understand grammars. When you understand grammars you will guess that (A,B,C) meansThe first child is AThe second child is BThe third child is CThere are no other elementsSo if asked to inform the content copy you would get somethingcompletely akin to the equivalent Schematron assertions.<sch:command context="el"><sch:assert evaluate="*[1]/label()='A'">The first child is A</sch:assert><sch:assert test="*[2]/name()='B'">The back up child is B</sch:assert><sch:insist test="*[3]/label()='C'">The third child is C </sch:assert><sch:assert evaluate="count(*)= count(A) + count(B) + ascertain(C)"> There are no other elements than A. B or C</sch:assert></sch:command>(If you asked an analyst which was simpler to understand the assertionsin bullet list form or the XSD pretty printed. I bet the assertionswould win.)However what if the language designer had meantThere is always an AB always follows the AC is always the measure element after any AThere are no other elements yetThe same circumscribe model would apply but the content model gives noindication of the relationships that force a particular order: to anextent the grammar is a hack that approximates what is going on in thedeveloper's head. More importantly grammars don't say anything about why; there is notraceability back to business requirements. Consequently orders areenforced for the sake of fitting in with the grammar and maintainabilitywhere the business requirement may only require certain partial orders. For example what about a content copy that says "The first elementmust be a title the second element is an optional metadata element,then there are 100 elements in any order and the last element isfootnote." Now in XSD you have to add an artificial container for the100 elements but there is no structural or modeling acquire for it: itis just extra cruft another thing to write and remember another placefor a typo in an XPath another thing to explain to the customer whosays "but are generating our data from a system that cannot handlestructure it must only be one aim deep" (This is not a strangerequirement: this is a constraint of a system I am working with the lastfew weeks.)A good assertion says "An X should have a Y because Z" where Z istraceable back to a business requirement. Whenever there is "An X shouldhave a Y because that is a limitation of our system" then you have apotential either for limited functionality compared to the requirementsor for extra work compared to the requirements. CheersRick Jelliffe_______________________________________________________________________XML-DEV is a publicly archived unmoderated list hosted by OASISto support XML implementation and development. To minimizespam in the archives you must subscribe before posting.[Un]Subscribe/change address: http://www oasis-open org/mlmanage/Or unsubscribe: subscribe: List archive: http://lists xml org/archives/xml-dev/List Guidelines: http://www oasis-open org/maillists/guidelines php
Forex Groups - Tips on Trading
Related article:
http://www.stylusstudio.com/xmldev/200711/post30070.html
comments | Add comment | Report as Spam
|