Как да направите сървър на Minecraft 1.6.2 Bukkit !!! [БЪРЗО ЛЕСНО!]

Опитвам се да намеря реални HTML страници, които действително са валидни (в смисъл, че се показват от съвременните браузъри), но не са в съответствие със спецификацията на HTML и се считат за невалидни. Всички мисли, връзки и т.н. са много добре дошли.

P. S. Опитах да използвам http://validator.w3.org/ и според него много страници, които съм опитвал (произволно), съдържат десетки до стотици грешки. Наистина ли има толкова много счупени страници в мрежата или този валидатор е нереално строг?

P. P. S. Причината за този въпрос е, че пиша прост HTML парсер и искам да го тествам на екстремни страници от реалния свят, за да гарантира, че той издържа на най-често срещаните грешки.

  • Това е странна молба или може би не е ясно обяснена. По-голямата част от страниците в мрежата се показват приемливо и повечето не отговарят на html спецификацията.
  • Добре, значи е нормално. Това е отговорът на един въпрос. Търся екстремни случаи на „нормална“ инвалидност. Може би някои видове грешки, които едва наскоро получиха поддръжка в съвременните браузъри? И още един въпрос: кои са най-често срещаните грешки, кои грешки определено трябва да поддържа и игнорира / коригира всеки парсер?

[В края на това има действително предложение, но има и куп проблеми с целия ви въпрос, които мисля, че трябва да бъдат преработени, така че изтърпете с мен.]

Тук няма такова нещо като „нереално строго“. Валидаторът не е предназначен да бъде либерален анализатор; това е валидатор (очевидно) и "валиден" има фиксирана техническа дефиниция. Той проверява правилата, определени от спецификациите и страниците, които не спазват тези правила, са невалидни, край на дискусията. Строгостта е цялата точка. Това е и причината, поне доскоро с HTML5, да посочихме DTD: правилата се променят понякога и затова беше необходимо да се посочи кой набор следва вашата страница. Вижте отговора ми на предишен въпрос за някои бележки по този въпрос.

Значи да. Наистина има толкова объркани страници в мрежата, доколкото валидиране е загрижен.

Дали тези страници се показват е съвсем отделен въпрос; смесвате понятия във въпроса си (поради което първият ви параграф всъщност няма смисъл). Те обикновено се показват, защото браузърите са склонни да имат изключително либерални анализатори, които се навеждат назад, за да се задоволят с всичко, което им хвърлят. Това е така, защото обикновено не се счита за справедливо да се наказва потребителят за лош код от страна на конструктора на сайтове.

Освен няколко доста тривиални като разликите между регистрите между съвпадащите тагове (

...

), Аз лично не мисля, че списък с "често срещани" грешки ще бъде много полезен или дори наистина съществува. Този списък ще бъде различен в зависимост от това кой гледате и ако планирате да създадете обикновен парсер, съжалявам, но е обречен, ако планирате да го насочите към произволен набор от „екстремни страници от реалния свят. " HTML кодерите - при различни нива на умения - например не допускат същите грешки като производителите на съдържание. Писателите на сайт, който управлявам, от време на време трябва да вмъкват частици маркировка и да правят грешки, които не мога да разбера как въобще са успели да напишат.

Ако вашият анализатор наистина трябва да бъде опростен и персонализиран, бихте направили по-добре да приспособите това, което той обработва, към общото в данните, които всъщност планирате да го подадете. Ако трябва да анализирате произволно съдържание от мрежата, вероятно трябва просто да използвате някой от съществуващите анализатори. Така или иначе, най-добрият източник на грешки, който да търсите, вероятно ще бъде да разгледате един от тестовия пакет на тези парсери и да добавите кошара от тях.Явно вече са направили изследването. (Но в този момент отново бих се наклонил към това да продължа и да използвам този парсер, вместо да напиша своя.)

  • Благодарим ви за подробния отговор. За съжаление, наистина трябва да напиша парсер, който да може да анализира всяка страница от мрежата. Защо? Изглежда, че НЯМА налични, с изключение на чудовищните WebKit и Gecko, от които не мога да направя глави или опашки (и това не са парсери, а пълни двигатели). Благодаря ви за идеята да използвате тестовия костюм, наистина не се сетих.
  • @VioletGiraffe: Искате да напишете парсер, но не и "пълен двигател", защото "няма НИКОЙ наличен". Но какво е W3C Validator? W3C Validator ще анализира всяка страница от мрежата и ще ви информира къде нарушава стандартите и няколко съвета защо. Което е почти всичко, което всеки „парсер“ може да направи. Ако дадена страница не спазва стандартите (т.е. не е валидна), е напълно субективно как трябва да се справи „либерален анализатор“ или „двигател“. Браузърите се различават значително в това отношение.
  • Ако трябваше да напишете парсер за „обработка на каквото и да било“, как бихте избрали да се справите с нестандартно маркиране? Като се има предвид, че тъй като е нестандартно, няма правилен или грешен начин за справяне с него.
  • Като казвам "пълен двигател" имам предвид ядрото на интерпретатора на Javascript, css интерпретатора, визуализатора ... Такива неща. Що се отнася до вашия коментар за това как да се справите с несъответстваща маркировка - това може да е моят първоначален въпрос, ако трябва да помисля известно време, вместо да публикувам въпрос веднага :) о, и като казвам "няма налични", искам да кажа, че няма добре (четене - еластичен) безплатни парсери в C ++. Да, аз съм доста мечтател ...

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?