<?xml version="1.0" encoding="UTF-8"?>

<grammar ns="http://www.pnml.org/version-2009/grammar/pnml"
	xmlns="http://relaxng.org/ns/structure/1.0"
	xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"> 

	<a:documentation>
		Petri Net Type Definition for High-level Petri Nets Graphs (HLPNGs).
		RELAX NG implementation.
		This PNTD re-defines the value of nettype.uri for High-level Petri Nets Graph and
		the grammars it needs for its definition.
		
		File name: highlevelnet.rng
		Version: 2009    
		(c) 2007-2009
		Lom Hillah (AFNOR)
		Revision:
		July 2008 - L.H
	</a:documentation>

	<a:documentation>
		High-level nets grammar uses the following grammars: Symmetric nets, Integers,
		Strings, Lists, and user-defined arbitrary sorts.
	</a:documentation>
	
	<!-- Integers are already imported in symmetricnet.pntd -->
	<include href="http://www.pnml.org/version-2009/grammar/lists.rng"/>
	<include href="http://www.pnml.org/version-2009/grammar/strings.rng"/>
	<include href="http://www.pnml.org/version-2009/grammar/arbitrarydeclarations.rng"/>
	<include href="http://www.pnml.org/version-2009/grammar/symmetricnet.pntd"/>

	<define name="nettype.uri" combine="choice">
		<a:documentation>
			The URI value for the net type attribute, 
			declaring the type of HLPNGs nets.
		</a:documentation>
		<attribute name="type">    
			<value>http://www.pnml.org/version-2009/grammar/highlevelnet</value>   
		</attribute>
	</define>

</grammar>

