【问题标题】:Creation of Schema using Core Service in SDL Tridion 2011 SP1在 SDL Tridion 2011 SP1 中使用核心服务创建模式
【发布时间】:2012-04-09 05:01:40
【问题描述】:

我正在使用 SDL Tridion 2011 SP1 中的核心服务创建架构。在创建 Schema 时,我使用了 Schema 的自定义命名空间 URI。一般我们直接通过 Tridion CME 创建 Schema 时,会得到一个自动生成的以uuid:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX开头的命名空间URI

我已经使用此代码创建了一个 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

谁能指出如何使用默认命名空间 URI 创建架构?

谢谢

【问题讨论】:

    标签: tridion


    【解决方案1】:

    使用核心服务创建架构所需的最少代码如下:

    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-11
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-24
      • 2012-04-21
      • 1970-01-01
      相关资源
      最近更新 更多