сделать ось по умолчанию для всего выбора - PullRequest
0 голосов
/ 24 июня 2011

Я хочу сделать ось по умолчанию для всего , выберите .

После прочтения вышеприведенного предложения я знаю, что оно совершенно неясно, поэтому вот более длинное объяснение:

Я нахожу способ сократить этот кусок кода:

<xsl:variable name="v">
            <xsl:choose>
                <xsl:when test="self::name|self::history|self::area|self::title">qwerty</xsl:when>
            </xsl:choose>
        </xsl:variable>

Я говорю о части: self :: name | self :: history | self :: area | self :: title есть ли способ сократить его до чего-то вроде этого: self: :( name | history | area | title) ?

или что-нибудь еще, что вы, ребята, могли бы предложить?

Ответы [ 3 ]

0 голосов
/ 24 июня 2011

Если рассматриваемые элементы являются частью группы замещения в схеме, тогда вы можете написать self::schema-element(e), где e - глава группы замещения. Это очень полезный метод, когда у вас большое семейство сменных элементов. В XSD 1.1 элемент может принадлежать более чем одной группе замещения, поэтому вы даже можете ввести группы замещения специально для этой цели.

0 голосов
/ 24 июня 2011

Другой подход: всякий раз, когда вы видите xsl: выберите, спросите, можете ли вы вместо этого использовать xsl: apply-templates. Почему бы и нет:

<xsl:template match="name|history|area|title" mode="zingo">qwerty</xsl:template>
<xsl:template match="*" mode="zingo"/>

<xsl:apply-templates select="self::*" mode="zingo"/>
0 голосов
/ 24 июня 2011
select="self::name/following-sibling::*"

возможно ...

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