- From: CVS User jkosek <cvsmail@w3.org>
- Date: Thu, 16 May 2013 09:01:10 +0000
- To: public-multilingualweb-lt-commits@w3.org
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