2

私は次のxmlを持っています:-

<?xml version="1.0" encoding="UTF-8"?>
<patent-assignment>
 <patent-assignors>
    <patent-assignor>
      <name>TSAI, YU-WEN</name>
    </patent-assignor>
  </patent-assignors>
  <patent-assignees>
    <patent-assignee>
      <name>FARADAY TECHNOLOGY CORP.</name>
    </patent-assignee>
  </patent-assignees>
</patent-assignment>

この xml ドキュメントを Marklogic にロードする際に、特許譲渡人の名前要素を譲受人名に、特許譲受人の名前要素を譲受人名に変更して、ロードした xml が次のようになるようにします。

<?xml version="1.0" encoding="UTF-8"?>
    <patent-assignment>
     <patent-assignors>
        <patent-assignor>
          <assignor-name>TSAI, YU-WEN</assignor-name>
        </patent-assignor>
      </patent-assignors>
      <patent-assignees>
        <patent-assignee>
          <assignee-name>FARADAY TECHNOLOGY CORP.</assignee-name>
        </patent-assignee>
      </patent-assignees>
    </patent-assignment>

どうすればこの Marklogic を実行できますか?

4

2 に答える 2

1

Information Studio を参照することをお勧めします。5 分間のウォークスルーへのリンクは次のとおりです。

http://community.marklogic.com/learn/5-minute-infostudio-walkthrough

Information Studio を使用すると、入力コレクターの選択、任意の数の変換の適用 (インターフェイス内から XSLT または XQuery コードを入力できます)、任意のターゲット データベースの選択、割り当てが必要な uri などの調整をすべて内部から行うことができます。そのインターフェース。

チッ!

于 2012-05-15T08:15:28.790 に答える
0

XSLT はこれに最適です。1 つの要素だけを変更したいので、スタイルシートを 2 つの単純なテンプレートを作成するだけで済みます。まず、恒等変換:

<xsl:template match="node() | @*">
<xsl:apply-templates match="node() | @*">
</xsl:template>

これは、要素が入ってくるのとまったく同じように単純に出力します。

次に、 name 要素のテンプレート:

<xsl:template match="name">
<xsl:choose>
<xsl:when test="local-name(parent::element())='patent-assignee'">
<patent-assignee>
<xsl:value-of select="."/>
</patent-assignee>
</xsl:when>
<xsl:when test="local-name(parent::element())='patent-assignor'">
<patent-assignor>
<xsl:value-of select="."/>
</patent-assignor>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:template> 

このスタイルシートは、Information Studio または recordloader で使用できます。recordloader から呼び出すには、プロパティ ファイルで次の行を使用します。

CONFIGURATION_CLASSNAME=com.marklogic.recordloader.xcc.DelimitedDataConfiguration
CONTENT_FACTORY_CLASSNAME = com.marklogic.recordloader.xcc.XccModuleContentFactory
CONTENT_MODULE_URI = /path/to/module.xqy

次に、module.xqy から xslt を呼び出します

于 2012-05-28T14:17:23.263 に答える