RELAX 

この正誤票に示された内容は, Web版の標準情報(TR)に既に反映されている。

************************** 正誤票0 *********************************
                                              2001-08-06

(1) 全体

grammarをframeworkに, 文法をフレームワークにすべて訂正する。これに従っ
てタグ名grammarはframeworkに変わり, 属性名grammarVersion及び
grammarLocationは,それぞれframeworkVersion及びframeworkLocationに変わる。

備考: この変更は,RELAX NG(OASIS)との整合のためである。


************************** 正誤票1 *********************************
                                              2001-09-26

1. 附属書A

<!DOCTYPE module SYSTEM 
を
<!DOCTYPE framework SYSTEM 
に訂正。


  SYSTEM "http://www.xml.gr.jp/relax/namespace1/relaxNamespace.dtd" [
を
  SYSTEM "http://www.xml.gr.jp/relax/namespace1/relaxNamespace.dtd">

に訂正。


2. 附属書B

uriReferenceをanyURIに訂正。


3. 附属書Eを追加

RELAX Namespaceと連動するためには,RELAX Coreへの変更が必要である。し
かし,RELAX Coreに対する修正がISO/IEC TRとして成立する際に,大きな変更
は行えなかった。そこで,それらの変更を附属書Eにまとめた。

次に,附属書をそのまま引用する。

	附属書E. RELAX Namespaceと併用するためのRELAX Coreへの変更
	RELAX Namespaceと併用するためには,RELAX Coreに次に示す変更が必要になる。
	
	a) interface要素にhedgeExport要素を追加
	hedgeExportは,label属性をもつ。
	
		    label   NMTOKEN     #REQUIRED
	label属性の値は,hedgeRuleで記述されたラベルとする。このhedgeRuleが記述
する要素生け垣モデルに,複数の要素を含む列がマッチしてはならない。
	
	備考 分割検証を容易にするためにこの制限を導入する。
	
	b) export要素にrole属性を追加
	exportのlabel属性及びrole属性のどちらか一方は必須とする。両方を指定し
てはならない。
	
		    label   NMTOKEN     #IMPLIED
		    role    NMTOKEN     #IMPLIED
	label属性の場合は,elementRuleで記述されたラベルを参照する。role属性の
場合は,attPoolで記述された役割を参照する。tagで記述された役割を指定してはならな
い。
	
	c) hedgeRef, ref要素にnamespace属性を追加
	次のnamespace属性をhedgeRef, ref要素に追加する。
	
		 namespace CDATA #IMPLIED
	namespace属性によって名前空間を指定したときは,その名前空間を記述するモ
ジュールがexportするhedgeRule, elementRuleを参照する。
	
	d) moduleのtargetNamespace属性
	moduleのtargetNamespace属性が省略されているときの解釈を変更する。他の
moduleのinclude要素から参照されてはいないが,あるframeworkの namespace 要素か
ら参照されているとき,このnamespace要素のname属性の値をtargetNamespace属性の値
として用いる。frameworkからも参照されていないときは,""を用いる。
	
	e) RELAX Coreを記述するDTD(TR X 0029の附属書A)への変更 
	*** ../../TR_Core/iso/relaxCore.dtd	Tue Sep 11 01:04:15 2001
	--- relaxCore.dtd	Tue Sep 11 01:02:08 2001
	***************
	*** 11,16 ****
	--- 11,17 ----
	  <!ENTITY % corePrefix "">
	  <!ENTITY % interface "%corePrefix;interface">
	  <!ENTITY % export "%corePrefix;export">
	+ <!ENTITY % hedgeExport "%corePrefix;hedgeExport">
	  <!ENTITY % div "%corePrefix;div">
	  <!ENTITY % tag "%corePrefix;tag">
	  <!ENTITY % elementRule "%corePrefix;elementRule">
	***************
	*** 53,59 ****
	  <!--                                                       -->  
	  <!--*******************************************************-->
	  
	! <!ELEMENT %interface; ((%annotation;)?, (%export; | %div;)*)>
	  
	  <!ENTITY % clause "%tag;|%attPool;">
	  
	--- 54,60 ----
	  <!--                                                       -->  
	  <!--*******************************************************-->
	  
	! <!ELEMENT %interface; ((%annotation;)?, (%export; | %hedgeExport; 
| %div;)*)>
	  
	  <!ENTITY % clause "%tag;|%attPool;">
	  
	***************
	*** 81,93 ****
	                 (((%rule; |%clause; | %include; ),
	                   (%rule; |%clause; | %include; | %div;)*)
	                  |
	!                 (%export;, (%export; | %div;)*))?)>
	  
	  <!-- 
	  
	  (%rule; |%clause; | %include; | %div;)* is used when a div appears in
	! a module body, while (%export; | %div;)* is used when it appears in an
	! interface element.
	  
	   -->
	  
	--- 82,95 ----
	                 (((%rule; |%clause; | %include; ),
	                   (%rule; |%clause; | %include; | %div;)*)
	                  |
	!                 ((%export; | %hedgeExport;),
	!                  (%export; | %hedgeExport; | %div;)*))?)>
	  
	  <!-- 
	  
	  (%rule; |%clause; | %include; | %div;)* is used when a div appears in
	! a module body, while (%export; | %hedgeExport; | %div;)* is used when
	! it appears in an interface element.
	  
	   -->
	  
	***************
	*** 98,104 ****
	  <!--*******************************************************-->
	  
	  <!ELEMENT %export; ((%annotationCore;)?)>
	! <!ATTLIST %export; label NMTOKEN #REQUIRED>
	  
	  <!--*******************************************************-->
	  <!--                                                       -->  
	--- 100,114 ----
	  <!--*******************************************************-->
	  
	  <!ELEMENT %export; ((%annotationCore;)?)>
	! <!ATTLIST %export;
	!                    label      NMTOKEN      #IMPLIED
	!                    role       NMTOKEN      #IMPLIED
	! >
	! 
	! <!ELEMENT %hedgeExport; ((%annotationCore;)?)>
	! <!ATTLIST %hedgeExport;
	!                    label      NMTOKEN      #IMPLIED
	! >
	  
	  <!--*******************************************************-->
	  <!--                                                       -->  
	***************
	*** 137,142 ****
	--- 147,153 ----
	  <!ELEMENT %hedgeRef; EMPTY >
	  <!ATTLIST %hedgeRef; 
	                   label      NMTOKEN      #REQUIRED
	+                  namespace  CDATA        #IMPLIED
	                   %repeatable;
	  >
	  
	***************
	*** 144,149 ****
	--- 155,161 ----
	  <!ATTLIST %ref; 
	                   label      NMTOKEN      #IMPLIED
	                   role       NMTOKEN      #IMPLIED
	+                  namespace  CDATA        #IMPLIED
	                   %repeatable;
	  >
	
	f) RELAX Coreを記述するモジュール(TR X 0029の附属書B)への変更 
	*** ../../TR_Core/iso/relaxCore.rxm	Sun Sep  9 19:35:39 2001
	--- relaxCore.rxm	Sun Sep  9 19:31:51 2001
	***************
	*** 13,18 ****
	--- 13,20 ----
	  
	    <interface>
	      <export label="module"/>
	+     <export label="refWithLabel"/>
	+     <export label="hedgeRef"/>
	    </interface>
	  
	    <include moduleLocation="datatypes.rxm"/>
	***************
	*** 49,54 ****
	--- 51,57 ----
	          <ref label="annotation" occurs="?"/>
	          <choice occurs="*">
	            <ref label="export"/>
	+           <ref label="hedgeExport"/>
	            <ref label="divInInterface"/>
	          </choice>
	        </sequence>
	***************
	*** 93,105 ****
	        <documentation>Interface</documentation>
	      </annotation>
	  
	!     <elementRule role="export">
	        <ref label="annotation" occurs="?"/>
	      </elementRule>
	-     
	-     <tag name="export">
	-       <attribute name="label" required="true" type="NCName"/>
	-     </tag>
	  
	      <elementRule label="divInInterface">
	        <annotation>
	--- 96,121 ----
	        <documentation>Interface</documentation>
	      </annotation>
	  
	!     <elementRule label="export">
	!       <tag name="export">
	!         <attribute name="label" required="true" type="NCName"/>
	!       </tag>
	!       <ref label="annotation" occurs="?"/>
	!     </elementRule>
	! 
	!     <elementRule label="export">
	!       <tag name="export">
	!         <attribute name="role" required="true" type="NCName"/>
	!       </tag>
	!       <ref label="annotation" occurs="?"/>
	!     </elementRule>
	! 
	!     <elementRule label="hedgeExport">
	!       <tag name="hedgeExport">
	!         <attribute name="label" required="true" type="NCName"/>
	!       </tag>
	        <ref label="annotation" occurs="?"/>
	      </elementRule>
	  
	      <elementRule label="divInInterface">
	        <annotation>
	***************
	*** 110,115 ****
	--- 126,132 ----
	          <ref label="annotation" occurs="?"/>
	        	<choice occurs="*">
	            <ref label="export"/>
	+           <ref label="hedgeExport"/>
	            <ref label="divInInterface"/>
	          </choice>
	        </sequence>
	***************
	*** 178,183 ****
	--- 195,201 ----
	      <tag name="hedgeRef">
	        <ref role="repeatable"/>
	        <attribute name="label" required="true" type="NCName"/>
	+       <attribute name="namespace" type="anyURI"/>
	      </tag>
	      
	      <elementRule label="refWithLabel" type="emptyString">
	***************
	*** 187,192 ****
	--- 205,211 ----
	        <tag name="ref">
	          <ref role="repeatable"/>
	          <attribute name="label" required="true" type="NCName"/>
	+         <attribute name="namespace" type="anyURI"/>
	          <attribute name="role" type="none"/>
	        </tag>
	      </elementRule>
	***************
	*** 372,377 ****
	--- 391,397 ----
	        </annotation>
	        <tag name="ref">
	          <attribute name="role" required="true" type="NCName"/>
	+         <attribute name="namespace" type="anyURI"/>
	          <attribute name="label" type="none"/>
	        </tag>
	      </elementRule>
	
	g) DTDのためのPUBLIC ID及びURL
	RELAX Core及びRELAX Namespaceを記述するDTDに関するPUBLIC ID及び URL
を次のとおり定める
	
	- RELAX Coreを記述するDTD 
	-//RELAX//DTD RELAX Core 1.0//JA 
	http://www.xml.gr.jp/relax/core1/relaxCore.dtd 
	- RELAX Namespaceを記述するDTD 
	-//RELAX//DTD RELAX Namespace 1.0//JA 
	http://www.xml.gr.jp/relax/namespace1/relaxNamespace.dtd