получить значение ребенка от родителя - PullRequest
1 голос
/ 09 февраля 2012

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

мой XML-файл выглядит так:

 <Tables>
    <Table>
      <Multi_entity>SPECIFIC</Multi_entity>
      <Table_name>CATEG</Table_name>
      <Is_temporary>FALSE</Is_temporary>
      <Tablespace>APSYS_LOCATION_1</Tablespace>
      <Column>
        <Column_name>CATEGI</Column_name>
        <Position>1</Position>
        <Type>Small</Type>
        <Size>22</Size>
        <Null>No</Null>
        <Default>Yes</Default>
        <Attribute>Precision=5</Attribute>
        <Attribute>Scale=0</Attribute>
      </Column>
      <Column>
        <Column_name>CATEGC</Column_name>
        <Position>2</Position>
        <Type>LongVarchar</Type>
        <Size>1</Size>
        <Null>No</Null>
        <Default>Yes</Default>
        <Attribute>Precision=0</Attribute>
        <Attribute>Scale=0</Attribute>
      </Column>
      <Column>
        <Column_name>CATEG_NAME</Column_name>
        <Position>3</Position>
        <Type>Varchar</Type>
        <Size>23</Size>
        <Null>No</Null>
        <Default>Yes</Default>
        <Attribute>Precision=0</Attribute>
        <Attribute>Scale=0</Attribute>
      </Column>
      <Column>
        <Column_name>CATEG_TYPE</Column_name>
        <Position>4</Position>
        <Type>Small</Type>
        <Size>22</Size>
        <Null>No</Null>
        <Default>Yes</Default>
        <Attribute>Precision=5</Attribute>
        <Attribute>Scale=0</Attribute>
      </Column>
    </Table>

из узла «Таблица», мне нужно знать, имеет ли один из «Столбец» значение «Тип» «LongVarchar».

Ответы [ 2 ]

3 голосов
/ 09 февраля 2012

Помогает ли

<xsl:template match="Table[Column/Type = 'LongVarchar']">
  <!-- now transform or output as neeed -->
</xsl:template>

?Это соответствует любому Table, имеющему Column с Type, являющимся этим значением LongVarchar.

1 голос
/ 13 февраля 2012

Мне удалось справиться со своей проблемой настолько легко, что я очень удивился ее простоте:

<xsl:when test="Column/Type='LongVarchar'">

Вот и все, и это прекрасно работает. Спасибо всем за помощь.

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