<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Namespace-based_Validation_Dispatching_Language</id>
	<title>Namespace-based Validation Dispatching Language - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Namespace-based_Validation_Dispatching_Language"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Namespace-based_Validation_Dispatching_Language&amp;action=history"/>
	<updated>2026-05-04T15:40:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Namespace-based_Validation_Dispatching_Language&amp;diff=5896337&amp;oldid=prev</id>
		<title>imported&gt;Vissel0126: MOS:BOLDALTNAMES</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Namespace-based_Validation_Dispatching_Language&amp;diff=5896337&amp;oldid=prev"/>
		<updated>2024-05-18T23:39:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/wiki143/index.php?title=MOS:BOLDALTNAMES&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;MOS:BOLDALTNAMES (page does not exist)&quot;&gt;MOS:BOLDALTNAMES&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|XML schema language}}&lt;br /&gt;
{{Onesource|date=March 2009}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Namespace-based Validation Dispatching Language&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NVDL&amp;#039;&amp;#039;&amp;#039;) is an [[XML schema]] language for [[XML Validation|validating]] XML documents that integrate with multiple [[XML Namespace|namespaces]]. It is an [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] standard, and it is Part 4 of the [[Document Schema Definition Languages|DSDL]] schema specification. Much of the work on NVDL is based on the older [[Namespace Routing Language]].&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
&lt;br /&gt;
Most XML languages are based on a single XML namespace. The expectation in these cases is that XML elements in a particular namespace belong to that language, and elements in another namespace belong to another language. Many XML languages allow the use of arbitrary elements from other namespaces.&lt;br /&gt;
&lt;br /&gt;
The problem arises during the attempt to validate these hybrid documents. Each language is defined by a specific XML schema, but there is no linkage between the schemas.&lt;br /&gt;
&lt;br /&gt;
The purpose of NVDL is to provide that linkage, based on namespaces. By associating a schema validator with an NVDL schema, the validator can use multiple schemas to validate a single document, switching between them based on the namespaces used in that document.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
NVDL documents contain a list of rules, each of which has one or more actions to take when that rule is true. Rules include a specific namespace and a mode setting. NVDL recognizes the mode as a particular piece of state that changes as the document is processed.&lt;br /&gt;
&lt;br /&gt;
Actions occur when a rule is true. Actions can include validating a schema, declaring the instance document invalid, accepting this part of the instance document as valid, and continue validating as the parent did. Actions can also change the current NVDL mode. Multiple actions can be taken when a rule is true; this allows for validating a section of the instance document with multiple schemas of a different type.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;rules xmlns=&amp;quot;http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;namespace ns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;validate schema=&amp;quot;xhtml.rng&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/namespace&amp;gt;&lt;br /&gt;
  &amp;lt;namespace ns=&amp;quot;http://www.w3.org/2000/svg/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;validate schema=&amp;quot;svg.sch&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/namespace&amp;gt;&lt;br /&gt;
  &amp;lt;anyNamespace&amp;gt;&lt;br /&gt;
    &amp;lt;reject/&amp;gt;&lt;br /&gt;
  &amp;lt;/anyNamespace&amp;gt;&lt;br /&gt;
&amp;lt;/rules&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This NVDL schema will validate the parts that use the XHTML 1.0 namespace with a [[RELAX NG]] schema, validate the parts that use the [[Scalable Vector Graphics|SVG]] 1.0 namespace with a [[Schematron]] schema, and reject the document as invalid if it encounters elements with any other namespace.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://nvdl.org/ NVDL information]&lt;br /&gt;
* [http://www.xfront.com/nvdl/ NVDL tutorial]&lt;br /&gt;
* [https://web.archive.org/web/20090511040508/http://www.dpawson.co.uk/nvdl/index.html An introduction to NVDL]&lt;br /&gt;
&lt;br /&gt;
[[Category:ISO/IEC standards]]&lt;br /&gt;
[[Category:XML-based standards]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Vissel0126</name></author>
	</entry>
</feed>