Nano Hash - криптовалюты, майнинг, программирование

Datapower - для анализа HTML

У меня есть ситуация, когда базовое приложение предоставляет уровень пользовательского интерфейса, который, в свою очередь, должен отображаться как портлет. Однако я не хочу, чтобы все части первоначально представленного пользовательского интерфейса отображались в портлете.

Предлагаемое решение: использование Datapower для анализа XML является нормой, и мне интересно, возможно ли проанализировать HTML. Я понимаю, что HTML не всегда может быть правильно сформирован. Но если в базовом приложении очень мало HTML-страниц, контракт может быть принудительно выполнен.

Кроме того, если удастся разобрать и извлечь данные из HTML с помощью DP, то полученный результат (возможно, и XML) можно будет использовать для создания HTML5 со всеми его преимуществами.

Итак, вопрос: целесообразно ли использовать Datapower для анализа HTML-страницы, чтобы извлечь из нее XML? Условие: количество HTML-страниц в приложении может варьироваться в зависимости от данных, но не для многих страниц.


Ответы:


1

Я подозреваю, что вы не сможете разобрать HTML с помощью DataPower. DataPower может анализировать правильно сформированный XML, но HTML — если только он явно не разработан как xHTML — скорее всего, будет полон тегов, которые нарушают правильность форматирования.

Многие веб-страницы заполнены такими тегами, как <br> или <ul><li>Item1<li>Item2<li>Item3</ul>, и все они приведут к сбою синтаксического анализа.

Если вы действительно хотите следовать предложенному вами подходу, вам, вероятно, потребуется что-то сделать на более гибкой платформе, такой как WAS, где вы сможете создать (или повторно использовать) синтаксический анализатор, который позаботится обо всем этом за вас.

Если подумать, это то, что делает ваш веб-браузер — у него есть все сложные правила, которые превращают плохо сформированные теги XML (то есть HTML) в допустимую структуру DOM. Похоже, вам может быть лучше выполнять манипуляции на уровне DOM, а не на уровне HTML, поскольку таким образом вы можете использовать существующие, хорошо протестированные решения для синтаксического анализа и сосредоточиться на структуре данных. Вы можете сделать это на стороне клиента, используя JavaScript, или вы можете посмотреть вариант JavaScript на стороне сервера, такой как Rhino или PhantomJS.

Однако все это может быть трудным путем. Подтвердили ли вы, есть ли в базовом приложении какие-либо API или веб-сервисы, которые ИТ-отдел использует для отображения страниц, что позволяет вам получать данные, не мешая существующему уровню представления?

Привет, Крис

31.03.2014

2

Вопрос синтаксического анализа и HTML-страницы возникает, когда вы хотите выполнить некоторую обработку над ней. В этом случае вы можете столкнуться с проблемами, потому что datapower по умолчанию не разрешает гиперссылки внутри правильно сформированного документа XML или HTML [это считается угрозой безопасности], однако это можно преодолеть с помощью соответствующих настроек в XML-менеджере.

Что касается разбора HTML-страниц, ожидается, что уровень Datapower и ESB обеспечит перевод формата сообщений, и это действительно так. Так что с точки зрения дизайна это хорошее место для перевода формата сообщения. Однако на практике вы столкнетесь с вышеупомянутой проблемой, когда попытаетесь разобрать HTML как XML-документ.

Синтаксический анализ может создать любую модель формата сообщения, которую вы пожелаете [теоретически], поэтому вы можете использовать XSLT для достижения желаемого.

  • Аджитабх
06.12.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..