私は XSLT の初心者であり、XSLT を使用して、米国特許商標庁の商標ファイルからいくつかのフィールドを抽出する必要があります。典型的なファイルの非常に単純化されたコピーを次に示します。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Transaction xmlns:ns2="urn:us:gov:doc:uspto:trademark:status" xmlns="http://www.wipo.int/standards/XMLSchema/trademarks">
<TradeMarkTransactionBody>
<TransactionContentDetails>
<TransactionCode>National Trademark Information</TransactionCode>
<TransactionData>
<TradeMarkDetails>
<TradeMark>
<RegistrationOfficeCode>US</RegistrationOfficeCode>
<ApplicationNumber>74631225</ApplicationNumber>
<ApplicationDate>1995-02-07-05:00</ApplicationDate>
<RegistrationNumber>2178784</RegistrationNumber>
<RegistrationDate>1998-08-04-04:00</RegistrationDate>
<FilingPlace>US</FilingPlace>
<MarkCurrentStatusDate>2008-08-11-04:00</MarkCurrentStatusDate>
<WordMarkSpecification>
<MarkVerbalElementText>JAVA </MarkVerbalElementText>
</WordMarkSpecification>
</TradeMark>
</TradeMarkDetails>
</TransactionData>
</TransactionContentDetails>
</TradeMarkTransactionBody>
</Transaction>
私は生産できるようにしたいと思います:
App number: 74631225
これが私の失敗した試みのいくつかです。試み #1:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="utf-8" />
<xsl:template match="/">
App number: <xsl:value-of select="/Transaction/TradeMarkTransactionBody/TransactionContentDetails/TransactionData/TradeMarkDetails/TradeMark/ApplicationNumber"/>
</xsl:template>
</xsl:stylesheet>
以下のみを生成します。
App number:
試み #2:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="utf-8" />
<xsl:template match="/Transaction/TradeMarkTransactionBody/TransactionContentDetails/TransactionData/TradeMarkDetails/TradeMark">
App number: <xsl:value-of select="ApplicationNumber"/>
</xsl:template>
</xsl:stylesheet>
生成:
National Trademark Information
US
74631225
1995-02-07-05:00
2178784
1998-08-04-04:00
US
2008-08-11-04:00
JAVA
どんな助けでも大歓迎です。この門をくぐり抜けて、少なくとも 1 つのフィールドが機能するようになったら、自分のプロジェクトの実際の内容に入りたいと思います。問題があれば、テストには MSXSL と Treebeard (Saxon を使用していると思います) の両方を使用しています。