https://bugzilla.wikimedia.org/show_bug.cgi?id=22635

           Summary: Multiple problems with refs inside
                    <references>...</references> blocks
           Product: MediaWiki extensions
           Version: any
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: Cite
        AssignedTo: wikibugs-l@lists.wikimedia.org
        ReportedBy: c...@abwesend.de
                CC: simetrical+wikib...@gmail.com


=#1=
  ==1.1: Issue==
  {{#tag:ref}}s in a <references> 
  block supposedly cannot themselves 
  contain _unnamed_ <ref>s (see also #2, below)
  ==1.2: Test case==
    ===Article text===
    Lorem ipsum<ref name="expl_A" group="n" />
    ===Explanatory notes section===
    <references group="n">
    {{#tag:ref
    |AAAA <ref>Ref #1</ref>
    |group="n"|name="expl_A"}}
    </references>
    ===References section===
    <references />
  ==1.3 Test case result==
  Failure. For one, it will generate a  
    "<ref> tag defined in <references> has 
    no name attribute." message. 
  Obviously, the <ref> here does not need a name. 
  Secondly, the <ref> will not be dealt with.
  Third, just adding a name does not solve the 
  problem. See #2, below.

=#2=
  ==2.1: Issue==
  For a _named_ <ref> (compare case #1) inside a 
  {{#tag:ref}} inside a <references> block, 
  the ref handler will carp and ignore the ref.
  ==2.2: Test case==
    ===Article text===
    Lorem ipsum<ref name="expl_A" group="n" />
    ===Explanatory notes section===
    <references group="n">
    {{#tag:ref
    |AAAA <ref name="ref1">Ref #1</ref>
    |group="n"|name="expl_A"}}
    </references>
    ===References section===
    <references />
  ==2.3 Test case result==
  Failure. Error message
    "<ref> tag with name "ref1" 
    defined in <references> is not 
    used in prior text."
  The <ref> is not dealt with.

=#3=
  ==3.1: Issue==
  ref handler will carp and ignore cross-refs 
  to an existing, predefined, named <ref>s 
  (compare case #1/#2)
  ==3.2: Test case==
    ===Article text===
    Lorem ipsum<ref name="expl_A" group="n" />
    Carpe diem<ref name="ref1">Ref #1</ref>
    ===Explanatory notes section===
    <references group="n">
    {{#tag:ref
    |AAAA <ref name="ref1" />
    |group="n"|name="expl_A"}}
    </references>
    ===References section===
    <references />
  ==3.3 Test case result==
  Failure. Error message
    "<ref> tag with name "ref1" 
    defined in <references> is not 
    used in prior text."
  The <ref> is not dealt with.

=#4=
  ==4.1: Issue==
  A ref inside the <references> block that 
  is *only* linked from another ref in the 
  <references> block, is supposedly nonexistent.
  ==4.2: Test case==
    ===Article text===
    Lorem ipsum<ref name="expl_A" group="n" />
    ===Explanatory notes section===
    <references group="n">
    {{#tag:ref
    |BBBB
    |group="n"|name="expl_B"}}
    {{#tag:ref
    |AAAA link to B<ref name="expl_B" group="n" />
    |group="n"|name="expl_A"}}
    </references>
    ===References section===
    <references />
  ==4.3: Test case result==
  Failure. For one, it will twice 
  generate an inappropriate 
    "<ref> tag with name "expl_B" 
    defined in <references> is not 
    used in prior text." 
  (changing the order of the two 
  #tag:refs makes no difference)
  Secondly, the <ref name="expl_B" group="n" />
  is ignored.
  If however the "expl_A" is moved into the
  article text, everything is just fine.

=#5=
  ==5.1: Issue==
  Corollary to #4: a ref tag that is *also* 
  used outside the <references> block will 
  *still* not appear.
  ==5.2: Test case==
    ===Article text===
    Lorem ipsum<ref name="expl_A" group="n" />
    Carpe diem<ref name="expl_B" group="n" />
    ===Explanatory notes section===
    <references group="n">
    {{#tag:ref
    |Explanation B
    |group="n"|name="expl_B"}}
    {{#tag:ref
    |A link to B<ref name="expl_B" group="n" />
    |group="n"|name="expl_A"}}
    </references>
    ===References section===
    <references />
  ==5.3: Test case result==
  Failure. The <ref> inside the #tag:ref
  is "invisible". No message.

=#6=
  ==6.1: Issue==
  Ungraceful handling of refs that have 
  no backlinks
  ==6.2 Test case==
    ===Article text===
    Some text (no refs)
    ===References section===
    <references>
    {{#tag:ref
    |This is a ref without backlinks
    |name="some_name"}}
    </references>
  ==6.3 Test case result==
  The ref handler will emit an "error" that 
    "<ref> tag with name "expl_B" defined 
    in <references> is not used in prior text."
  This is unnecessary bitchiness that second
  guesses the editor. What the ref handler 
  really ought to do is print it without 
  backlinks (in a separate <ul>). If the 
  name has a typo, editors will figure it out.
  [the same should be done for <ref>s in a 
  <references> block that have no name]
  Editors ought not to be screamed at.

=#7=
  ==7.1: Issue==
  If a note defined outside the <references> block
  is also referenced from inside the <references> 
  block, the note "disappears" entirely.
  ==7.2: Test case==
    ===Article text===
    Lorem ipsum<ref name="expl_A" group="n" />
    similique sunt in culpa<ref 
                       name="expl_B" group="n" />
    cognito ergo poof.{{#tag:ref|AAAAA
                      |group="n"|name="expl_A"}}
    ===Explanatory notes section===
    <references group="n">
    {{#tag:ref|Link to expl. A.<ref 
                       name="expl_A" group="n" /> 
    |name="expl_B" |group="n"}}
    </references>
  ==7.3 Test case result==
  The note expl_A disappears. Instead,
  a spurious "error" message is emitted in 
  its place.
    "Invalid <ref> tag; no text was provided 
    for refs named expl_A"

=Notes=
A) These problems are all limited to tags inside 
   <references>...</references>. They don't apply
   outside the <references> block. 
B) The ref handler is much too emphatic. It probably 
   needs to deal with input gracefully, and not shake 
   its fist at editors so much. Please.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to