CVS WWW/International/multilingualweb/lt/drafts/its20/schemas

Update of /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/schemas
In directory gil:/tmp/cvs-serv11065/schemas

Modified Files:
	its20-elements.rnc its20-elements.rng its20.rnc its20.rng 
Log Message:
Extensibility is explicitly expressed in RELAX NG schema

--- /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/schemas/its20-elements.rnc	2013/05/07 09:57:30	1.5
+++ /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/schemas/its20-elements.rnc	2013/05/16 09:01:09	1.6
@@ -1,7 +1,3 @@
 include "its20.rnc"
 
-## enable all xml:* attributes
-its-local.attributes &= attribute xml:* { text }*
-its-local.nons.attributes &= attribute xml:* { text }*
-
 start = its-rules | its-span | its-standoff
\ No newline at end of file
--- /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/schemas/its20-elements.rng	2013/05/07 09:57:30	1.4
+++ /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/schemas/its20-elements.rng	2013/05/16 09:01:09	1.5
@@ -1,21 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
   <include href="its20.rng"/>
-  <define name="its-local.attributes" combine="interleave">
-    <a:documentation>enable all xml:* attributes</a:documentation>
-    <zeroOrMore>
-      <attribute>
-        <nsName ns="http://www.w3.org/XML/1998/namespace"/>
-      </attribute>
-    </zeroOrMore>
-  </define>
-  <define name="its-local.nons.attributes" combine="interleave">
-    <zeroOrMore>
-      <attribute>
-        <nsName ns="http://www.w3.org/XML/1998/namespace"/>
-      </attribute>
-    </zeroOrMore>
-  </define>
   <start>
     <choice>
       <ref name="its-rules"/>
--- /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/schemas/its20.rnc	2013/05/07 13:23:07	1.24
+++ /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/schemas/its20.rnc	2013/05/16 09:01:09	1.25
@@ -166,6 +166,12 @@
 
 its-foreign-attribute = attribute * - local:* { text }
 its-foreign-no-xml-id-attribute = attribute * - (local:* | xml:id) { text }
+its-foreign-no-xlink-attribute = attribute * - (local:* | xlink:*) { text }
+
+its-any-attribute = attribute * { text }
+its-any-element = element * { (its-any-attribute* | text | its-any-element)* }
+
+its-foreign-element = element * - its:* { (its-any-attribute* | text | its-foreign-element)* } 
 
 its-rules =
   ## Container for global rules
@@ -190,12 +196,14 @@
    | its-idValueRule
    | its-preserveSpaceRule
    | its-allowedCharactersRule
-   | its-storageSizeRule)*
+   | its-storageSizeRule
+   | its-foreign-element)*
 
 its-rules.attributes =
   its-attribute.version.nons,
   (its-attribute.xlink.href, its-attribute.xlink.type?)?,
-  its-attribute.queryLanguage.nons?  
+  its-attribute.queryLanguage.nons?,
+  its-foreign-no-xlink-attribute*  
 
 its-param =
   ## Declaration of variable used in selectors
@@ -204,7 +212,8 @@
 its-param.content = text
 
 its-param.attributes =
-  attribute name { xsd:string }
+  attribute name { xsd:string },
+  its-foreign-attribute*
 
 its-local.attributes =
   its-attribute.translate? &
@@ -282,14 +291,16 @@
 its-translateRule.content = empty
 its-translateRule.attributes =
   its-attribute.selector,
-  its-attribute.translate.nons
+  its-attribute.translate.nons,
+  its-foreign-attribute*
 
 its-locNoteRule =
   ## Rule about the Localization Note data category
   element locNoteRule {
     its-attribute.selector,
     its-attribute.locNoteType.nons,
-    (its-locNote | its-attribute.locNotePointer.nons | its-attribute.locNoteRef.nons | its-attribute.locNoteRefPointer.nons )
+    (its-locNote | its-attribute.locNotePointer.nons | its-attribute.locNoteRef.nons | its-attribute.locNoteRefPointer.nons ),
+    its-foreign-attribute*
   }
 
 its-attribute.locNotePointer.nons = attribute locNotePointer { its-relative-selector.type }
@@ -301,7 +312,7 @@
 
 its-locNote.content = (text | its-span)*
 
-its-locNote.attributes = its-local.attributes
+its-locNote.attributes = its-local.nons.attributes, its-foreign-attribute*
 
 its-termRule =
   ## Rule about the Terminology data category
@@ -311,7 +322,8 @@
 its-termRule.attributes =
   its-attribute.selector,
   its-attribute.term.nons,
-  (its-attribute.termInfoPointer.nons | its-attribute.termInfoRef.nons | its-attribute.termInfoRefPointer.nons )?
+  (its-attribute.termInfoPointer.nons | its-attribute.termInfoRef.nons | its-attribute.termInfoRefPointer.nons )?,
+  its-foreign-attribute*
 
 its-attribute.termInfoPointer.nons = attribute termInfoPointer { its-relative-selector.type } 
 
@@ -324,7 +336,8 @@
 its-dirRule.content = empty
 its-dirRule.attributes =
   its-attribute.selector,
-  its-attribute.dir.nons
+  its-attribute.dir.nons,
+  its-foreign-attribute*
 
 its-langRule =
   ## Rule about the Language Information data category
@@ -333,7 +346,8 @@
 its-langRule.content = empty
 its-langRule.attributes =
   its-attribute.selector,
-  its-attribute.langPointer.nons
+  its-attribute.langPointer.nons,
+  its-foreign-attribute*
   
 its-attribute.langPointer.nons = attribute langPointer { its-relative-selector.type }  
 
@@ -346,7 +360,8 @@
 its-withinTextRule.content = empty
 its-withinTextRule.attributes =
   its-attribute.selector,
-  its-attribute.withinText.nons
+  its-attribute.withinText.nons,
+  its-foreign-attribute*
 
 its-domainRule =
   ## Rule about the Domain data category
@@ -358,7 +373,8 @@
 its-domainRule.attributes =
   its-attribute.selector,
   its-attribute.domainPointer.nons,
-  its-attribute.domainMapping.nons?
+  its-attribute.domainMapping.nons?,
+  its-foreign-attribute*
 
 its-attribute.domainPointer.nons = attribute domainPointer { its-relative-selector.type }
 
@@ -372,7 +388,8 @@
 its-textAnalysisRule.attributes =
   its-attribute.selector,
   its-attribute.taClassRefPointer.nons?,
-  ((its-attribute.taSourcePointer.nons, its-attribute.taIdentPointer.nons) | its-attribute.taIdentRefPointer.nons)?
+  ((its-attribute.taSourcePointer.nons, its-attribute.taIdentPointer.nons) | its-attribute.taIdentRefPointer.nons)?,
+  its-foreign-attribute*
 
 its-attribute.taClassRefPointer.nons = attribute taClassRefPointer { its-taClassRefPointer.type }
 its-attribute.taIdentPointer.nons = attribute taIdentPointer { its-taIdentPointer.type }
@@ -389,7 +406,8 @@
 its-localeFilterRule.attributes =
   its-attribute.selector,
   its-attribute.localeFilterList.nons,
-  its-attribute.localeFilterType.nons?
+  its-attribute.localeFilterType.nons?,
+  its-foreign-attribute*
   
 its-provRule =
   ## Rule about the Provenance data category
@@ -400,7 +418,8 @@
 its-provRule.content = empty
 its-provRule.attributes =
   its-attribute.selector,
-  its-attribute.provenanceRecordsRefPointer.nons
+  its-attribute.provenanceRecordsRefPointer.nons,
+  its-foreign-attribute*
 
 its-attribute.provenanceRecordsRefPointer.nons = attribute provenanceRecordsRefPointer { its-relative-selector.type }
 
@@ -414,7 +433,8 @@
 its-externalResourceRefRule.content = empty
 its-externalResourceRefRule.attributes =
   its-attribute.selector,
-  its-attribute.externalResourceRefPointer.nons
+  its-attribute.externalResourceRefPointer.nons,
+  its-foreign-attribute*
   
 its-attribute.externalResourceRefPointer.nons = attribute externalResourceRefPointer { its-relative-selector.type }
   
@@ -427,7 +447,8 @@
 its-targetPointerRule.content = empty
 its-targetPointerRule.attributes =
   its-attribute.selector,
-  its-attribute.targetPointer.nons
+  its-attribute.targetPointer.nons,
+  its-foreign-attribute*
   
 its-attribute.targetPointer.nons = attribute targetPointer { its-relative-selector.type }
   
@@ -440,7 +461,8 @@
 its-idValueRule.content = empty
 its-idValueRule.attributes =
   its-attribute.selector,
-  its-attribute.idValue.nons
+  its-attribute.idValue.nons,
+  its-foreign-attribute*
   
 its-attribute.idValue.nons = attribute idValue { its-xpath-expression.type }
 
@@ -453,7 +475,8 @@
 its-preserveSpaceRule.content = empty
 its-preserveSpaceRule.attributes =
   its-attribute.selector,
-  its-attribute.space.nons
+  its-attribute.space.nons,
+  its-foreign-attribute*
   
 its-attribute.space.nons = attribute space { "default" | "preserve" }
 
@@ -472,7 +495,8 @@
   ,
   its-attribute.locQualityIssueSeverity.nons?,
   its-attribute.locQualityIssueProfileRef.nons?,
-  its-attribute.locQualityIssueEnabled.nons?))
+  its-attribute.locQualityIssueEnabled.nons?)),
+  its-foreign-attribute*
 
 its-attribute.locQualityIssuesRefPointer.nons = attribute locQualityIssuesRefPointer { its-relative-selector.type }
 
@@ -485,7 +509,8 @@
 its-mtConfidenceRule.content = empty
 its-mtConfidenceRule.attributes =
   its-attribute.selector,
-  its-attribute.mtConfidence.nons
+  its-attribute.mtConfidence.nons,
+  its-foreign-attribute*
 
 its-allowedCharactersRule =
   ## Rule about the Allowed Characters data category
@@ -496,7 +521,8 @@
 its-allowedCharactersRule.content = empty
 its-allowedCharactersRule.attributes =
   its-attribute.selector,
-  (its-attribute.allowedCharacters.nons | its-attribute.allowedCharactersPointer.nons)
+  (its-attribute.allowedCharacters.nons | its-attribute.allowedCharactersPointer.nons),
+  its-foreign-attribute*
   
 its-attribute.allowedCharactersPointer.nons = attribute allowedCharactersPointer { its-relative-selector.type }   
 
@@ -511,7 +537,8 @@
   its-attribute.selector,
   (its-attribute.storageSize.nons | its-attribute.storageSizePointer.nons),
   (its-attribute.storageEncoding.nons | its-attribute.storageEncodingPointer.nons)?,
-  its-attribute.lineBreakType.nons?
+  its-attribute.lineBreakType.nons?,
+  its-foreign-attribute*
 
 its-attribute.storageSizePointer.nons = attribute storageSizePointer { its-relative-selector.type }
 its-attribute.storageEncodingPointer.nons = attribute storageEncodingPointer { its-relative-selector.type }
@@ -533,7 +560,8 @@
    (its-attribute.revPerson.nons | its-attribute.revPersonRef.nons )? &
    (its-attribute.revOrg.nons | its-attribute.revOrgRef.nons )? &
    (its-attribute.revTool.nons | its-attribute.revToolRef.nons )? &
-    its-attribute.provRef.nons?
+    its-attribute.provRef.nons? &
+   its-foreign-attribute*
 
 its-locQualityIssues = 
   ## Standoff markup for Localization Quality Issue data category
@@ -548,4 +576,6 @@
   its-attribute.locQualityIssueComment.nons? &
   its-attribute.locQualityIssueSeverity.nons? &
   its-attribute.locQualityIssueProfileRef.nons? &
-  its-attribute.locQualityIssueEnabled.nons?
\ No newline at end of file
+  its-attribute.locQualityIssueEnabled.nons? &
+  its-foreign-attribute*
+  
\ No newline at end of file
--- /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/schemas/its20.rng	2013/05/07 13:23:07	1.21
+++ /w3ccvs/WWW/International/multilingualweb/lt/drafts/its20/schemas/its20.rng	2013/05/16 09:01:09	1.22
@@ -537,6 +537,53 @@
       </anyName>
     </attribute>
   </define>
+  <define name="its-foreign-no-xlink-attribute">
+    <attribute>
+      <anyName>
+        <except>
+          <nsName ns=""/>
+          <nsName ns="http://www.w3.org/1999/xlink"/>
+        </except>
+      </anyName>
+    </attribute>
+  </define>
+  <define name="its-any-attribute">
+    <attribute>
+      <anyName/>
+    </attribute>
+  </define>
+  <define name="its-any-element">
+    <element>
+      <anyName/>
+      <zeroOrMore>
+        <choice>
+          <zeroOrMore>
+            <ref name="its-any-attribute"/>
+          </zeroOrMore>
+          <text/>
+          <ref name="its-any-element"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="its-foreign-element">
+    <element>
+      <anyName>
+        <except>
+          <nsName/>
+        </except>
+      </anyName>
+      <zeroOrMore>
+        <choice>
+          <zeroOrMore>
+            <ref name="its-any-attribute"/>
+          </zeroOrMore>
+          <text/>
+          <ref name="its-foreign-element"/>
+        </choice>
+      </zeroOrMore>
+    </element>
+  </define>
   <define name="its-rules">
     <element name="rules">
       <a:documentation>Container for global rules</a:documentation>
@@ -568,6 +615,7 @@
         <ref name="its-preserveSpaceRule"/>
         <ref name="its-allowedCharactersRule"/>
         <ref name="its-storageSizeRule"/>
+        <ref name="its-foreign-element"/>
       </choice>
     </zeroOrMore>
   </define>
@@ -582,6 +630,9 @@
     <optional>
       <ref name="its-attribute.queryLanguage.nons"/>
     </optional>
+    <zeroOrMore>
+      <ref name="its-foreign-no-xlink-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-param">
     <element name="param">
@@ -597,6 +648,9 @@
     <attribute name="name">
       <data type="string"/>
     </attribute>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-local.attributes">
     <interleave>
@@ -964,6 +1018,9 @@
   <define name="its-translateRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.translate.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-locNoteRule">
     <element name="locNoteRule">
@@ -976,6 +1033,9 @@
         <ref name="its-attribute.locNoteRef.nons"/>
         <ref name="its-attribute.locNoteRefPointer.nons"/>
       </choice>
+      <zeroOrMore>
+        <ref name="its-foreign-attribute"/>
+      </zeroOrMore>
     </element>
   </define>
   <define name="its-attribute.locNotePointer.nons">
@@ -1004,7 +1064,10 @@
     </zeroOrMore>
   </define>
   <define name="its-locNote.attributes">
-    <ref name="its-local.attributes"/>
+    <ref name="its-local.nons.attributes"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-termRule">
     <element name="termRule">
@@ -1026,6 +1089,9 @@
         <ref name="its-attribute.termInfoRefPointer.nons"/>
       </choice>
     </optional>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.termInfoPointer.nons">
     <attribute name="termInfoPointer">
@@ -1050,6 +1116,9 @@
   <define name="its-dirRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.dir.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-langRule">
     <element name="langRule">
@@ -1064,6 +1133,9 @@
   <define name="its-langRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.langPointer.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.langPointer.nons">
     <attribute name="langPointer">
@@ -1083,6 +1155,9 @@
   <define name="its-withinTextRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.withinText.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-domainRule">
     <element name="domainRule">
@@ -1100,6 +1175,9 @@
     <optional>
       <ref name="its-attribute.domainMapping.nons"/>
     </optional>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.domainPointer.nons">
     <attribute name="domainPointer">
@@ -1130,6 +1208,9 @@
         <ref name="its-attribute.taIdentRefPointer.nons"/>
       </choice>
     </optional>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.taClassRefPointer.nons">
     <attribute name="taClassRefPointer">
@@ -1167,6 +1248,9 @@
     <optional>
       <ref name="its-attribute.localeFilterType.nons"/>
     </optional>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-provRule">
     <element name="provRule">
@@ -1181,6 +1265,9 @@
   <define name="its-provRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.provenanceRecordsRefPointer.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.provenanceRecordsRefPointer.nons">
     <attribute name="provenanceRecordsRefPointer">
@@ -1200,6 +1287,9 @@
   <define name="its-externalResourceRefRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.externalResourceRefPointer.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.externalResourceRefPointer.nons">
     <attribute name="externalResourceRefPointer">
@@ -1219,6 +1309,9 @@
   <define name="its-targetPointerRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.targetPointer.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.targetPointer.nons">
     <attribute name="targetPointer">
@@ -1238,6 +1331,9 @@
   <define name="its-idValueRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.idValue.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.idValue.nons">
     <attribute name="idValue">
@@ -1257,6 +1353,9 @@
   <define name="its-preserveSpaceRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.space.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.space.nons">
     <attribute name="space">
@@ -1301,6 +1400,9 @@
         </optional>
       </group>
     </choice>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.locQualityIssuesRefPointer.nons">
     <attribute name="locQualityIssuesRefPointer">
@@ -1320,6 +1422,9 @@
   <define name="its-mtConfidenceRule.attributes">
     <ref name="its-attribute.selector"/>
     <ref name="its-attribute.mtConfidence.nons"/>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-allowedCharactersRule">
     <element name="allowedCharactersRule">
@@ -1337,6 +1442,9 @@
       <ref name="its-attribute.allowedCharacters.nons"/>
       <ref name="its-attribute.allowedCharactersPointer.nons"/>
     </choice>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.allowedCharactersPointer.nons">
     <attribute name="allowedCharactersPointer">
@@ -1368,6 +1476,9 @@
     <optional>
       <ref name="its-attribute.lineBreakType.nons"/>
     </optional>
+    <zeroOrMore>
+      <ref name="its-foreign-attribute"/>
+    </zeroOrMore>
   </define>
   <define name="its-attribute.storageSizePointer.nons">
     <attribute name="storageSizePointer">
@@ -1449,6 +1560,9 @@
       <optional>
         <ref name="its-attribute.provRef.nons"/>
       </optional>
+      <zeroOrMore>
+        <ref name="its-foreign-attribute"/>
+      </zeroOrMore>
     </interleave>
   </define>
   <define name="its-locQualityIssues">
@@ -1491,6 +1605,9 @@
       <optional>
         <ref name="its-attribute.locQualityIssueEnabled.nons"/>
       </optional>
+      <zeroOrMore>
+        <ref name="its-foreign-attribute"/>
+      </zeroOrMore>
     </interleave>
   </define>
 </grammar>

Received on Thursday, 16 May 2013 09:01:21 UTC