Можно ли передавать параметры между таблицами стилей? - PullRequest
0 голосов
/ 15 марта 2020

Я создаю базу данных в XML и отображаю данные с помощью таблиц стилей xsl. Вот как разбивается XML:

<store>
    <storeid>999</storeid>
    <storename>Grocery Store</storename>
    <storenumber></storenumber>
    <client>THE CLIENT</client>
    <street>999 Avenue Ave</street>
    <city>New York</city>
    <state>NY</state>
    <zip>99999</zip>
    <phone>9999999999</phone>
    <personnel>
        <name></name>
        <phone></phone>
    </personnel>
    <equipment></equipment>
    <servicelog>
        <record></record>
        <date></date>
        <storename></storename>
        <problem></problem>
        <technician></technician>
        <resolved></resolved>
    </servicelog>
</store>

Я пытаюсь создать следующее: вместо отображения элемента «оборудование» в таблице данных вместе с остальными данными, я Мне бы хотелось, чтобы вместо этого отображалась ссылка. Эта ссылка откроет новое окно, в котором будут отображаться данные соответствующего оборудования для данного магазина. (Если щелкнуть ссылку на оборудование для первого «магазина», откроется новое окно, отображающее элемент «оборудование» только для этого магазина. Например: xslequipment

Надеюсь, что это четкое объяснение. Если Я оставил любую важную информацию, пожалуйста, дайте мне знать! Я также открыт для javascript решений. Спасибо за помощь! :)

1 Ответ

0 голосов
/ 16 марта 2020

Является ли это XSLT на стороне клиента или XSLT на стороне сервера?

На стороне сервера традиционный подход заключается в том, чтобы таблица стилей отображала элемент equipment как гиперссылку (элемент a) используя href URI, который сервер распознает как запрос на отображение соответствующего оборудования. URI может содержать ключ оборудования в качестве идентификатора фрагмента (после «#»), в качестве параметра запроса (после «?») Или в качестве части пути URL - это действительно не имеет значения, если сервер сторонний код знает, что делать, когда он видит этот URL-запрос.

Если вы работаете на стороне клиента, ссылка обычно будет создаваться с атрибутом onclick, который вызывает значение Javascript для XmlHttpRequest (Ajax запрос) к серверу, чтобы получить соответствующий ресурс, а затем, возможно, вызвать другое преобразование, чтобы отобразить этот ресурс как HTML.

Более современное решение на стороне клиента, более в соответствии с подходом «Web 2.0» можно было бы использовать Saxon- JS, который позволяет вам полностью обрабатывать события в таблице стилей XSLT, поэтому в одной таблице стилей вы можете определить правило шаблона с помощью match='equipment' mode='ixsl:onclick', который вызывает рендеринг оборудования и обновление страницы HTML при нажатии на соответствующую ссылку, без необходимости повторного запроса к серверу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...