2011-09-23 13 views
15

Sto cercando un riferimento leggibile dalla macchina delle classi JavaScript (membri, metodi, parametri ...), in particolare relativo allo standard HTML5 (tela, archiviazione, ecc.).Riferimento leggibile dalla macchina (WebIDL) per JavaScript/HTML5?

Tutto quello che ho trovato finora sono le specifiche sul sito W3C, che includono una parte delle specifiche, f.i. http://dev.w3.org/html5/2dcontext/ contiene IDL Web per CanvasRenderingContext2D e altre pagine hanno altre porzioni.

Ma devo essere cieco poiché non sono riuscito a trovare alcun indice/riepilogo globale con tutti gli IDL validi ordinati e classificati per versione/bozze/ecc.

Qualcuno sa dove può essere trovato?

+0

Sarebbe bello avere un posto definitivo per esso. Dal momento che non sembra esistere ancora, forse sarebbe ragionevole avviare un progetto github/bitbucket scansionando siti come whatwg.org? In realtà ne potrei iniziare presto, insieme ai parser di OCaml e F # per WebIDL .. – t0yv0

+0

Il compilatore esidl da WebIDL a C++ ha ** [una raccolta di file IDL] (http://code.google.com/p/es-operating -Sistema/source/browse/trunk/esidl/dom /) **. C'è anche un raschietto. –

risposta

2

Domandi Ian Hickson (redattore delle specifiche al momento di questa risposta), qui è una sintesi a cura della sua risposta:

non c'è un documento unico che contiene tutti i frammenti IDL, no.

[in modo che i documenti di specifiche HTML costituiscono il riferimento per WebIDL]

FWIW, mi consiglia di utilizzare questa fonte:

http://whatwg.org/c

E 'più canonico rispetto alle copie del W3C.

Un'estrazione cieca [delle < pre class = > elementi "IDL"] dovrebbero praticamente funzionerà. Avrà bisogno di un po 'di massaggio, ma non molto. Assicurati di escludere i blocchi class = "idl extract".

Io in realtà fare un'estrazione cieca come parte del processo di generazione spec, per verificare che la sintassi IDL è corretta (o meglio, che tutti i errori sono intenzionali ... Io tanto uso sintassi che non è specchiato nella specifica WebIDL ancora).

0

Stai cercando questo? http://code.haskell.org/yc2js/W3C/

+0

I look aggiornati lo scorso ottobre 2009. Inoltre ha trovato un html5.idl all'indirizzo http://code.google.com/p/es-operating-system/source/browse/trunk/include/w3c/html5.idl?r=1669 –

+0

Sì, qualcosa del genere, ma da una fonte ufficiale, mantenuta e aggiornata. Ho visto altri IDL in altri progetti, ma non ho ancora trovato la fonte di riferimento originale ... –

1

Non sono sicuro se è WebIDL, ma la fonte WebKit ha un sacco .idl file mescolati con i file .cpp e .h. Puoi sfogliare la fonte online. Inizia da WebCore e scavare in alcune sottodirectory.

+0

Domanda, è, da dove vengono questi? Dov'è il repository ufficiale di tali IDL, gestito dal W3C? Molti di questi IDL sono bozze, il che significa che possono evolversi e la loro raccolta manuale è destinata a essere un processo soggetto a errori. –

+1

Potrebbe essere utile inviare una mail a Ian Hickson per chiedere. È l'editore della bozza di lavoro W3C a cui sei collegato (tra gli altri) e il suo indirizzo email è disponibile su quel documento. –

+0

Ho inviato una email, posterò la risposta (se presente) lì. –

3

HTML5 sta ancora cambiando, quindi qualsiasi barra di riferimento ufficiale delle specifiche è quasi inevitabilmente obsoleta.

La soluzione migliore è di prelevare i dati direttamente dalle specifiche. Analizzare il file e quindi estrarre tutti gli elementi pre con la classe idl. Questa è la tua lista leggibile dalla macchina. Ufficiale garantito e aggiornato.

+1

Sì, le specifiche cambiano, è una bozza. Ma le specifiche dichiarano esplicitamente che l'estrazione cieca dell'elemento IDL è sicura? Non si può dire quali siano le qualificazioni in linguaggio umano nel testo della specifica attorno a quegli elementi IDL, poiché un caso estremo sarebbe un elemento annotato con una dicitura come "questa bozza WebIDL è obsoleta, non fare affidamento su di essa". –

+1

La sezione delle convenzioni tipografiche [1.7.2] (http://dev.w3.org/html5/spec/introduction.html#typographic-conventions) dice che per le sezioni contrassegnate come indico che "Questa è una definizione IDL" , non "questa potrebbe essere una definizione IDL". Penso che sia buono come quello che otterrai. – Alohci

+2

Stai attento, però. Sembra che anche Google abbia problemi ad analizzare gli IDL: http://krijnhoetmer.nl/irc-logs/whatwg/20110618#l-287 – itorres

Problemi correlati