在SDL Tridion 2011 SP1中使用核心服务创建架构

Pat*_*tan 4 tridion

我正在使用SDL Tridion 2011 SP1中的Core Service创建Schema.在创建Schema时,我使用了Schema的自定义命名空间URI.通常,当我们通过Tridion CME直接创建Schema时,我们将获得一个自动生成的名称空间URIuuid:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我使用此代码创建了一个Schema:

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
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出如何使用默认命名空间URI创建架构吗?

谢谢

Mih*_*riu 6

使用Core Service创建Schema所需的最少代码如下:

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);
}
Run Code Online (Sandbox Code Playgroud)

将使用默认命名空间创建架构.在这个例子中,它也不包含任何字段,但这不是你要求的.