[rfc-i] [IAB] draft-iab-xml2rfc-03, "B.2 Anchors and IDs"

julian.reschke at gmx.de (Julian Reschke) Sat, 25 June 2016 11:49 UTC

From: julian.reschke at gmx.de (Julian Reschke)
Date: Sat, 25 Jun 2016 13:49:41 +0200
Subject: [rfc-i] [IAB] draft-iab-xml2rfc-03, "B.2 Anchors and IDs"
In-Reply-To: <6885012C-E4BB-4C7C-93AE-F5EF9348AA37@vpnc.org>
References: <60965ced-5f85-ab7a-f170-916fadfb9035@gmx.de> <C2E2DF4E-6097-4FB6-B85B-E0AA1DCE05A8@cisco.com> <72C81BDD-4BA4-4083-80F2-E89696A91F5F@vpnc.org> <ba051d5b-6dad-4a88-b990-5836ac2a2ae2@gmx.de> <A4554862-C4BE-4711-9613-1072D67BFD83@vpnc.org> <62810739-6bd4-fb4e-dd2f-42afb6184b53@gmx.de> <6885012C-E4BB-4C7C-93AE-F5EF9348AA37@vpnc.org>
Message-ID: <723a0402-9967-0396-23e8-79bf110426f1@gmx.de>

On 2016-06-06 20:45, Paul Hoffman wrote:
> On 11 May 2016, at 8:13, Julian Reschke wrote:
>
>> On 2016-05-11 16:15, Paul Hoffman wrote:
>>> On 10 May 2016, at 21:30, Julian Reschke wrote:
>>>
>>>> On 2016-05-11 01:52, Paul Hoffman wrote:
>>>>> ...
>>>>> +1 to the request. I don't see a "need" to anchor in non-block
>>>>> text, nor
>>>>> to obscure blocks.
>>>>> ...
>>>>
>>>> I'm asking for consistency - why have @anchor in thead and tbody then?
>>>
>>> Because they are block-y elements, yes?
>>
>> But are they non-obscure?
>
> Correct.
>
>> What we have right now doesn't make a lot of sense to me. Why can I
>> link to <thead>, but not to a <note>?
>
> Because to some of us a <note> is obscure. Could you send a specific
> list of changes you want, sometime soon? If not, we can certainly
> revisit this in a later version of the vocabulary.

I think the guideline should be that almost any element that contains 
user-provided text content should allow an anchor attribute.

(I say "almost" because I've left out the child elements of "author" 
because that seemed to go too far)

(Also I included deprecated v2 elements; I wouldn't be opposed to leave 
them alone)

Attaching as diff to the RNC:

--- xml2rfcv3.rnc	2016-06-25 12:45:45.610898100 +0100
+++ foo.rnc	2016-06-25 12:45:45.673223200 +0100
@@ -70,6 +70,7 @@
    }
  author =
    element author {
+    attribute anchor { xsd:ID }?,
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
      attribute initials { text }?,
@@ -212,6 +213,7 @@
    element note {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      attribute title { text }?,
      attribute pn { text }?,
      [ a:defaultValue = "false" ]
@@ -327,6 +329,7 @@
    element list {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      [ a:defaultValue = "empty" ] attribute style { text }?,
      attribute hangIndent { text }?,
      attribute counter { text }?,
@@ -433,6 +436,7 @@
    element xref {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      attribute target { xsd:IDREF },
      [ a:defaultValue = "false" ]
      attribute pageno { "true" | "false" }?,
@@ -445,6 +449,7 @@
    element relref {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      attribute target { xsd:IDREF },
      [ a:defaultValue = "of" ]
      attribute displayFormat { "of" | "comma" | "parens" | "bare" }?,
@@ -457,6 +462,7 @@
    element eref {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      attribute target { text },
      text
    }
@@ -485,6 +491,7 @@
    element tt {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      (text
       | bcp14
       | cref
@@ -501,6 +508,7 @@
    element strong {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      (text
       | bcp14
       | cref
@@ -517,6 +525,7 @@
    element em {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      (text
       | bcp14
       | cref
@@ -533,6 +542,7 @@
    element sub {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      (text
       | bcp14
       | cref
@@ -548,6 +558,7 @@
    element sup {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      (text
       | bcp14
       | cref
@@ -563,6 +574,7 @@
    element spanx {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      [ a:defaultValue = "preserve" ]
      attribute xml:space { "default" | "preserve" }?,
      [ a:defaultValue = "emph" ] attribute style { text }?,
@@ -613,6 +625,7 @@
    element preamble {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      (text
       | bcp14
       | cref
@@ -663,21 +676,18 @@
    element thead {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
-    attribute anchor { xsd:ID }?,
      tr+
    }
  tbody =
    element tbody {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
-    attribute anchor { xsd:ID }?,
      tr+
    }
  tfoot =
    element tfoot {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
-    attribute anchor { xsd:ID }?,
      tr+
    }
  tr =
@@ -739,6 +749,7 @@
    element postamble {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      (text | cref | eref | iref | spanx | xref)*
    }
  texttable =
@@ -763,6 +774,7 @@
    element ttcol {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      attribute width { text }?,
      [ a:defaultValue = "left" ]
      attribute align { "left" | "center" | "right" }?,
@@ -772,12 +784,14 @@
    element c {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      (text | cref | eref | iref | spanx | xref)*
    }
  bcp14 =
    element bcp14 {
      attribute xml:base { text }?,
      attribute xml:lang { text }?,
+    attribute anchor { xsd:ID }?,
      text
    }
  br =