установить разные значения для элемента в зависимости от того, содержит он текст или нет - PullRequest
0 голосов
/ 09 апреля 2019

Мне нужно время от времени вносить небольшие изменения в xpath для набора раскладок для моего босса. Мои знания в Xpath очень ограничены, поэтому прости меня, если я не могу описать все всесторонне.

Моя проблема:

Я хочу установить разные значения для высоты строки элемента «заголовок таблицы» в зависимости от того, содержит ли элемент «заголовок таблицы» какой-либо текст или нет. Я не могу проверить, является ли элемент «table-title» полностью пустым, потому что он может содержать элемент «meta-ref», даже если нет следующего текста.

Я работаю с {ctrl: If (x, 'y', 'z')}, чтобы установить значения в зависимости от того, выполнено ли условие или нет, при этом условие - "x", а значения - "y", если встретил и "z", если не встретил. Вот что я пробовал: {ctrl:If(table-title[contains(text(),'')],'0.1%','100%')}

Код, с которым я работаю, не имеет текста после </meta-ref>. Но чтобы показать, где появится текст, я добавил его сюда.

<table-container>
    <table-title>
        <meta-ref @name="Layoutmarker>'TableGrid'</meta-ref>This is a table title text.
    </table-title>
</table-container>

Я хочу, чтобы высота строки составляла 0,1%, когда в элементе «заголовок таблицы» нет текста, и 100%, если она есть. Я ожидаю, что результат будет 0.1%, но на самом деле это 100%, хотя текста нет.

1 Ответ

0 голосов
/ 09 апреля 2019

Извините за открытие этого номера. Я был в отчаянии, потому что не мог найти решение в течение нескольких дней, но вот оно:

{ctrl:If(self::table-title[not(text())],'0.1%','100%')}

Это успешно уменьшает высоту строки до 0,1%, когда заголовок таблицы не содержит текста.

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