It seems like if we need to cross reference the documentation xml with the type annotations in the source, what is the point in having docbuilder generate intermediary xml (with a constantly changing and non documented schema) at all? we could just generate the output format directly from the source.<br>
<br>the only reason I dont do now is that a good chunk of the documentation (the important modules like lists etc) are only available in the xml format and not in the source.<br><br>the old documentation used to take edoc formatted type annotations and embed them into the generated xml (like shown above). the format may be different but I cant see why that isnt far better than cross referencing stuff.<br>
<br>Cheers<br>Dale<br><br><div class="gmail_quote">On 13 June 2011 11:03, Lukas Larsson <span dir="ltr"><<a href="mailto:lukas.larsson@erlang-solutions.com">lukas.larsson@erlang-solutions.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Dale!<br>
<br>
All of the documentation is right now being reworked to generate type information from the specs in the source instead of manually writing them. <name name= "keymerge" arity= "3" /> tells docbuilder (I think) to generate the type description from the specs instead of the XML file. If you dig around in the source code of docbuilder/edoc there should be functions somewhere there which you can use to generate type information for erldocs.<br>

<font color="#888888"><br>
Lukas<br>
</font><div><div></div><div class="h5">----- Original Message -----<br>
From: "Dale Harvey" <<a href="mailto:dale@arandomurl.com">dale@arandomurl.com</a>><br>
To: "erlang-questions" <<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a>><br>
Sent: Sunday, 12 June, 2011 02:25:29 GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna<br>
Subject: [erlang-questions] Documentation Format Changes (erldocs)<br>
<br>
<br>
Hey all<br>
<br>
I was wondering about the changes in the format documentation sources, in the last release I noticed a few function definitions changed from<br>
<br>
<name> keymember(Key, N, TupleList) -> boolean() </name><br>
<fsummary> Test for membership of a list of tuples </fsummary><br>
<type><br>
<v> Key = term() </v><br>
<v> N = 1..tuple_size(Tuple) </v><br>
<v> TupleList = [Tuple] </v><br>
<v> &nbsp; Tuple = tuple() </v><br>
</type> to<br>
<br>
<name name= "keymerge" arity= "3" /><br>
<fsummary> Merge two key-sorted lists of tuples </fsummary><br>
<type_desc variable= "N" > 1..tuple_size(Tuple) </type_desc><br>
<a href="https://github.com/erlang/otp/blob/dev/lib/stdlib/doc/src/lists.xml#L299" target="_blank">https://github.com/erlang/otp/blob/dev/lib/stdlib/doc/src/lists.xml#L299</a> is the source for these changes, somehow the recent erlang documention ( <a href="http://www.erlang.org/doc/man/lists.html#keymerge-3" target="_blank">http://www.erlang.org/doc/man/lists.html#keymerge-3</a> ) shows the full parameter list information and I am quite confused at how that can be derived from the source xml.<br>

<br>
I was also just curious about the reason for the change and what was planned for going forward<br>
<br>
since <a href="http://erldocs.com/R14B03/stdlib/lists.html?i=0&search=lists%20keymerge#keymerge/3" target="_blank">http://erldocs.com/R14B03/stdlib/lists.html?i=0&search=lists%20keymerge#keymerge/3</a><br>
is a lot less useful than <a href="http://erldocs.com/R14B02/stdlib/lists.html?i=0&search=lists%20keymerge#keymerge/3" target="_blank">http://erldocs.com/R14B02/stdlib/lists.html?i=0&search=lists%20keymerge#keymerge/3</a><br>

<br>
Cheers, good work on the new release<br>
Dale<br>
<br>
</div></div><div><div></div><div class="h5">_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br>