On 08/03/2011 11:09 AM, Benoit Maisonny wrote:
>
> Do you have any plan to support NVDL?
> http://en.wikipedia.org/wiki/Namespace-based_Validation_Dispatching_Language
>

We know and like NVDL but we find it overkill for the most common needs. 
We don't plan to support this ISO standard.



> I think this would be a nice standard way to solve a problem I have with
> certain documents edited in XXE that mix elements from various namespaces:
>
> For example:
> <a xmlns="a">
> <x:x xmlns:x="x"/>
> </a>
>
> The problem is that I have a DTD for "a", which doesn't know anything
> about "x". I have an XML Schema for "x", which likewise doesn't know
> about "a". NVDL would be able to validate the document anyway.
>

We have implemented our poor man's NVDL: the <validate> configuration 
element. See 
http://www.xmlmind.com/xmleditor/_distrib/doc/configure/validate.html

We currently use this feature:

* to ``inject'' the MathML schema into the DITA DTD and the DocBook 5 
RELAX NG schema.

* to ``inject'' the XHTML DTD into various schemas such as the Schema 
for W3C XML Schemas (this allows us to document a W3C XML schema using 
XHTML).

DITA example. Excerpts from mathml_config/ditamml/ditamml.xxe:
---
<configuration name="DITA" ...>
   ...
   <include location="xxe-config:dita/topic.xxe" />

   <validate namespace="http://www.w3.org/1998/Math/MathML";>
     <relaxng location="../common_rng/mathml2.rng" />
   </validate>
---

WXS example. Excerpts from wxs_config/wxs.xxe:
---
<configuration name="W3C XML Schema" ...>
   ...
   <schema>
     <location>http://www.w3.org/2001/XMLSchema
               xsd/XMLSchema.xsd</location>
   </schema>

   <validate namespace="http://www.w3.org/1999/xhtml";>
     <dtd publicId="-//W3C//DTD XHTML 1.0 Strict//EN"
          systemId="xxe-config:xhtml/dtd/1.0/xhtml1-strict.dtd" />
   </validate>
---

However, you cannot use this feature unless:

[1] Your DTD has an ANY element which can be used to host x elements.
More generally the main schema must have elements which can be used to 
host elements coming from the secondary schemas.

[2] The XML Schema for "x" has a target namespace. Notice that the 
<validate> configuration element requires one --and only one-- 
namespace. However XXE supports several different <validate> 
configuration elements in the same configuration file.





 
--
XMLmind XML Editor Support List
[email protected]
http://www.xmlmind.com/mailman/listinfo/xmleditor-support

Reply via email to