4

SDL Tridion2011SP1でコアサービスを使用してスキーマを作成しています。スキーマの作成では、スキーマにカスタム名前空間URIを使用しました。通常、Tridion CMEを介してスキーマを直接作成すると、名前空間URIが自動的に生成されます。uuid:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

このコードを使用してスキーマを作成しました。

Tridion.ContentManager.CoreService.Client.SchemaData schemas = new SchemaData
{
    Title = "coreservicesschema3",
    Description = "coreservicesschema",
    Id = "tcm:0-0-0",
    LocationInfo = new LocationInfo
    {
        OrganizationalItem =
            new LinkToOrganizationalItemData { IdRef = "tcm:7-18-2" }
    },

    RootElementName = "Content",
    NamespaceUri = "customnamespaceuri",
    Xsd = xsd.ToString(SaveOptions.None)
};
schemas = (SchemaData)client.Create(schemas, new ReadOptions());
Response.Write("<BR>" +"new schema id"+ schemas.Id);
Response.Write("<BR>" + "new schema Name" + schemas.Title);
//schema created

誰かがデフォルトの名前空間URIでスキーマを作成する方法を示すことができますか?

ありがとうございました

4

1 に答える 1

6

コアサービスを使用してスキーマを作成するために必要な最小限のコードは次のとおりです。

using (var client = new SessionAwareCoreServiceClient(netTcpBinding, remoteAddress))
{
    SchemaData schemaData = client.GetDefaultData(ItemType.Schema, folderId) as SchemaData;
    schemaData.Description = "description";
    schemaData = client.Save(schemaData, readOptions) as SchemaData;
    schemaData = client.CheckIn(schemaData.Id, readOptions) as SchemaData;

    Console.WriteLine("Schema: " + schemaData.LocationInfo.WebDavUrl);
}

スキーマはデフォルトの名前空間で作成されます。この例の場合、フィールドも含まれていませんが、それはあなたが求めていたものではありません。

于 2012-04-09T05:32:08.843 に答える