[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Costello, Roger L." <costello@m...>
  • To: <xml-dev@l...>
  • Date: Wed, 23 Apr 2008 07:26:26 -0400


Hi Bryan,

Here's a summary of Bryan's message:

Consider this XML:

   <payment>
       <paymentpart>20</paymentpart>
       <paymentpart>45</paymentpart>
   </payment>

A programmer may write code to sum each value in <payment>, e.g.

   sum = 0
   loop through payment
      sum = sum + paymentpart

With NVDL new elements may be introduced within <payment> and thus the
programmer's code may fail.

Bryan, is that a fair summary?

Here are some thoughts:

NVDL changes this content model:

   <payment>
       <paymentpart>20</paymentpart>
       <paymentpart>45</paymentpart>
   </payment>

Into this content model:

   <payment>
       -- zero or more other-ns elements --
       <paymentpart>20</paymentpart>
       -- zero or more other-ns elements --
       <paymentpart>45</paymentpart>
       -- zero or more other-ns elements --
   </payment>

That is, it changes a closed content model into an open content model.

Thus, if a programmer writes code assuming the first (closed) content
model then his code is likely to fail.

The problem is with the programmer's misunderstanding of the content
model, not a problem with NVDL.

What is exciting to me is that NVDL changes all schemas (XML Schema or
Relax NG) from a closed content model to an open content model, without
any changes to the schemas!.  To state it a bit dramatically:

     NVDL unlocks closed schemas!


Comments?

/Roger


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member