I am in the process of deleting what was chapter 32 (CR) in P4 from
P5, and inserting SO W 08 into what was in P4 chapter 14 (SA). I have
some questions that need quick answers.
I am pretty sure we originally intended to allow something like
<ptr cref="14.2" decls="#madeUp"/>
with either
<refsDecl xml:id="madeUp">
<fragmentPattern re="([0-9]+)\.([0-9]+)"
pat="xpath(//div[$1]//egXML[$2])">
<refDesc>a canonical reference to an XML example is the
(sequential) division number followed by the (sequential)
<gi>egXML</gi> number within that division.</refDesc>
</refsDecl>
or
<refsDecl xml:id="madeUp">
<fragmentPattern re="([0-9]+)\.([0-9]+)"
pat="#xpath(//div[$1]//egXML[$2])"/>
...
(the only difference is the "#" in front of "xpath") to permit
software to generate the equivalent of
target="#xpath(//div[14]//egXML[2])"
Two questions come up.
1) Which to use, "#" included in the pat= value or not? More on this
below.
2) Could someone remind me why we used a special element, <refDesc>,
for the prose description, rather than either using %paraContent;
or ( p+ ) as the content of <fragmentPattern>? Right now I can't
think of a reason to create a new, special element over one of
these other methods.
so far so good, although we need to know which one. I vote for the
2nd ("#" included in the pag= value)
Furthermore, as (I think) the current thinking goes, something like
The <ref cref="05:02:id2822130" decls="#rng">element pattern</ref>
when teamed up with something like
<refsDecl xml:id="rng">
<fragmentPattern re="([0-9][0-9]):([0-9][0-9]):([A-Za-z0-9.-]+)"
pat="http://books.xmlschemata.org/relaxng/ch$1s$2.html#$3">
<refDesc>a canonical RelaxNG reference of the form 2-digit
number, colon, 2-digit number, colon, identifier is for a specific
spot in a particular chapter</refDesc>
</fragmentPattern>
<fragmentPattern re="([0-9][0-9]):([0-9][0-9])"
pat="http://books.xmlschemata.org/relaxng/ch$1s$2.html">
<refDesc>a canonical RelaxNG reference of the form 2-digit
number, colon, 2-digit number is for an entire
section</refDesc>
</fragmentPattern>
</refsDecl>
would (permit software to) produce the equivalent of
target="http://books.xmlschemata.org/relaxng/ch05s02.html#id2822130"
In the #madeUp example, the net result of cref=, re=, and pat= is a
fragment identifier. In the #rng example, the net result is a
complete absolute URI. This brings up two more questions.
3) If a complete URI, as opposed to just a fragment ID, can be
generated, shouldn't the name be something other than
<fragmentPattern>?
4) Are other combinations permissable? (I think the answer was "yes",
but don't recall for sure.) I.e.,
cref="duck/bill"
re="(.+)/(.+)"
pat="$1.html#$2"
xml:base="http://some.addr.com/animals/"
resulting in http://some.addr.com/animals/duck.html#bill.
If the answer to (4) is "yes", then I think it's a given that the answer
to (1) has to be that the "#" must be included in the value of pat=.
|