1

私は以下のようなxmlを持っています

   <?xml version="1.0" standalone="yes"?>
  <epdata dbname="psyh">
<record plink="http://search.ebscohost.com/login.aspx?direct=true&amp;db=psyh&amp;AN=2009-00375-006&amp;site=ehost-live&amp;EPSource=esi">
    <item name="SubjectKeyword">life-threatening food refusal</item> 
    <item name="SubjectKeyword">life-threatening food refusal</item> 
            <item name="SubjectKeyword">nine-year-old girls</item> 
            <item name="SubjectKeyword">Maudsley model</item> 
    <item name="SubjectKeyword">family-based treatment</item> 
            <item name="SubjectKeyword">anorexia nervosa</item> 
            <item name="SubjectKeyword">eating disorders</item>
            <subitem name="ClassDescrip">Eating Disorders</subitem>
            <subitem name="ClassDescrip">Group & Family Therapy</subitem> 
            <subitem name="SubjMajDescrip">Anorexia Nervosa</subitem>
            <subitem name="SubjMajDescrip">Eating Behavior</subitem>
    <subitem name="SubjMajDescrip">Eating Disorders</subitem>
    <subitem name="SubjMajDescrip">Family Therapy</subitem>
    <subitem name="SubjMajDescrip">Food</subitem>
    <subitem name="SubjMinorDescrip">Threat</subitem> 
    <subitem name="SubjMinorDescrip">Food Refusal</subitem>

            </record>
            </epdata>

xslt 1.0 を使用して、以下のような出力が必要です

「生命を脅かす食物拒否; 9 歳の少女; モーズリー モデル; 家族ベースの治療; 拒食症; 摂食障害; グループ & 家族療法; 摂食行動; 家族療法; 食物; 脅威; 食物拒否」

4

1 に答える 1

0

この XSLT 1.0 変換:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>
 <xsl:strip-space elements="*"/>

 <xsl:key name="kElemByVal" match="record/*"
  use="translate(.,
                 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
                 'abcdefghijklmnopqrstuvwxyz')"/>

 <xsl:template match=
 "record/*
   [generate-id()
   =
    generate-id(key('kElemByVal',
               translate(.,
                 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
                 'abcdefghijklmnopqrstuvwxyz'))[1])]">
   <xsl:if test="not(position()=1)">; </xsl:if>
   <xsl:value-of select="."/>
 </xsl:template>
 <xsl:template match="text()"/>
</xsl:stylesheet>

提供された XML ドキュメントに適用した場合(1 つの不正を修正):

<epdata dbname="psyh">
    <record plink="http://search.ebscohost.com/login.aspx?direct=true&amp;db=psyh&amp;AN=2009-00375-006&amp;site=ehost-live&amp;EPSource=esi">
        <item name="SubjectKeyword">life-threatening food refusal</item>
        <item name="SubjectKeyword">life-threatening food refusal</item>
        <item name="SubjectKeyword">nine-year-old girls</item>
        <item name="SubjectKeyword">Maudsley model</item>
        <item name="SubjectKeyword">family-based treatment</item>
        <item name="SubjectKeyword">anorexia nervosa</item>
        <item name="SubjectKeyword">eating disorders</item>
        <subitem name="ClassDescrip">Eating Disorders</subitem>
        <subitem name="ClassDescrip">Group &amp; Family Therapy</subitem>
        <subitem name="SubjMajDescrip">Anorexia Nervosa</subitem>
        <subitem name="SubjMajDescrip">Eating Behavior</subitem>
        <subitem name="SubjMajDescrip">Eating Disorders</subitem>
        <subitem name="SubjMajDescrip">Family Therapy</subitem>
        <subitem name="SubjMajDescrip">Food</subitem>
        <subitem name="SubjMinorDescrip">Threat</subitem>
        <subitem name="SubjMinorDescrip">Food Refusal</subitem>
    </record>
</epdata>

必要な正しい結果が生成されます。

生命を脅かす食物拒否; 9歳の女の子; モーズリー モデル; 家族ベースの治療; 神経性無食欲症; 摂食障害; グループ&ファミリーセラピー; 摂食行動; 家族療法; 食べ物; 脅威; 食物拒否

于 2013-04-09T05:24:46.183 に答える